@charset "UTF-8";

#header{
	height: 70px;/*高さ指定*/
	width:100%;/*横幅指定*/
	/*以下はレイアウトのためのCSS*/
	display: flex;
	justify-content: space-between;
	align-items: center;
	background:#333;
	color:#fff;
	text-align: center;
	padding: 20px;
}

/*JSを使いfixedクラスが付与された際の設定*/
#header.fixed{
	position: fixed;/*fixedを設定して固定*/
  z-index: 999;/*最前面へ*/
  top:0;/*位置指定*/
  left:0;/*位置指定*/
}


/* 全体のスタイル */
body {
    font-family: Arial, sans-serif;
    line-height: 1.5;
    color: #333333;
    margin-left: 5%;
    margin-right: 5%;
  }
  


  .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
  }
  
  .logo {
    font-size: 24px;
    font-weight: bold;
    color: #333333;
  }

  nav{
    overflow-x: auto;
  }

  nav ul{
    list-style: none;
    display: flex;
    width:max-content;
    margin: 0 auto;
    justify-content: center;
  }
 /*
  nav ul li{
    font-size: 18px;
    text-decoration: none;
    display: block;
    padding:5px;
    transition:all 0.3s;
  }
*/
  nav ul li a{
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    display: inline-block;
    padding: 10px 25px;
    height: auto;
    font-size: 15px;
    text-decoration: none;
  }
  
  nav ul li.current-page a {
    color: #ccc; /* ここに希望の色を指定 */
}
  nav ul li a:hover{
    color:#fff; 
  }

  /* ジャンルメニューのスタイル */
  .genre-menu {
    margin-top: 20px;
  }
  
  .genre-menu h2 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .genre-menu ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
  }
  
  .genre-menu li {
    margin-bottom: 10px;
  }
  
  .genre-menu a {
    text-decoration: none;
    color: #333333;
  }
  
  /* コンテンツのスタイル */
  .content {
    margin-top: 20px;
  }
  
  .content h2 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .content p {
    margin-bottom: 10px;
  }
  
  /* フッターのスタイル */
  footer {
    background-color: #f5f5f5;
    padding: 20px;
    text-align: center;
    font-size: 14px;
    color: #666666;
  }


/* パンくずリストのスタイル */
.breadcrumb {
  background-color: #f5f5f5;
  padding: 10px;
  color: #666666;
}

.breadcrumb a {
  color: #666666;
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

  /* h2要素のスタイル */
h2 {
  color: #333333;
  font-size: 24px;
  margin-bottom: 30px;
  }
  
/* li要素のスタイル */
li {
  margin-bottom: 5px;
}

/* リンクのスタイル */
a {
  color: #0066cc;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}
  
img {
  max-width: 100%;
  height: auto;
  border: 2px black solid;
  }

#twitter-feed {
  text-align: center;
  height: 400px; /* ここで表示領域の高さを設定します */
  max-width: 100%;
  width: 800px;
  overflow-y: scroll; /* 垂直方向のスクロールバーを使用する */
 }




/*==================================================
アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area{
  list-style: none;
  width: 96%;
  max-width: 500px;
  margin:0 auto;
}

.accordion-area li{
  margin: 10px 0;
}

.accordion-area section {
border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.title {
  position: relative;/*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size:1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all .5s ease;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
  position: absolute;
  content:'';
  width: 15px;
  height: 2px;
  background-color: #333;
}
.title::before{
  top:48%;
  left: 15px;
  transform: rotate(0deg);
  
}
.title::after{    
  top:48%;
  left: 15px;
  transform: rotate(90deg);

}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
  transform: rotate(45deg);
}

.title.close::after{
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
  display: none;/*はじめは非表示*/
  background: #f3f3f3;
  margin:0 3% 3% 3%;
  padding: 3%;
}

/*========= レイアウトのためのCSS ===============*/


.center {
  text-align: center;
}

#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 50px;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #3f98ef;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  color: #3f98ef;
}

details[open] summary ~ * {
  animation: open 0.5s ease-in-out;
}
@keyframes open {
  0%   { height: 0; }
  100% { height: 100%; }
}

details[open] p {
  animation: grow 0.8s ease-in-out;
}
@keyframes grow {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}

details summary:after {
  content: "+";
  color: black;
  position: absolute;
  font-size: 1.75rem;
  line-height: 0;
  margin-top: 0.75rem;
  right: 0;
  font-weight: 200;
  transform-origin: center 17%;
  font-size: 2rem;
  display:inline-block;
  height:1rem;
  transition: 800ms linear;
}
details[open] summary:after {
  transform: rotate(945deg);
}

details summary::-webkit-details-marker {
  display: none;
}

details summary {
  width: 100%;
  padding: 0.5rem 0;
  border-top: 1px solid black;
  position: relative;
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 300;
  list-style: none;
}

details summary {
  outline: 0;
}
details p {
  font-size: 0.95rem;
  margin: 0 0 1rem;
  padding-top: 1rem;
}
html,
.root {
  padding: 0;
  margin: 0;
  font-size: 18px;
}

h1{
  font-size: 32px;
}

#quiz-container {
  text-align: center;
  margin-top: 50px;
}

#question, #answer {
  max-width: 80%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#show-answer-button{
  text-align: center;
}

.button-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.button-style {
  display: block;
  width: 80%; /* ボタンの幅を80%に設定 */
  height: 50px; /* ボタンの高さを50pxに設定 */
  margin: 20px auto; /* 上下のマージンを20pxにし、左右は自動（中央寄せ） */
  background-color: #4CAF50; /* ボタンの背景色を設定 */
  color: white; /* ボタンの文字色を白に設定 */
  border: none; /* ボタンの枠線を無くす */
  cursor: pointer; /* マウスカーソルを指マークに変更 */
  font-size: 18px; /* フォントサイズを18pxに設定 */
  max-width: 500px;
}

.button-style:hover {
  background-color: #45a049; /* ボタンにマウスが乗ったときの背景色を設定 */
}

/*　画像の拡大＋テキスト出現　*/

.zoomInText{/*テキストの基点となる位置を定義*/
	position: relative;
}

.zoomInText span.mask{
	position: relative;
	transition: .3s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
	display: block;/*画像をくくるspanタグをブロック要素にする*/
    line-height: 0;/*行の高さを0にする*/
    overflow:hidden;/*拡大してはみ出る要素を隠す*/
}

.zoomInText:hover span.mask::before{/*hoverした時の変化*/
	content:"";
	position: absolute;
	z-index:2;
	top:10px;
	left:10px;
	width: calc(100% - 20px);
    height: calc(100% - 20px);
	background:rgba(0,0,0,0.5);/*背景色*/
}

.zoomInText img{
	transform: scale(1);
	filter: blur(0);
	transition: .3s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}

.zoomInText:hover img{/*hoverした時の変化*/
	transform: scale(1.2);/*拡大の値を変更したい場合はこの数値を変更*/
	filter: blur(2px);/*ぼかし具合を変更したい場合はこの数値を変更*/
}

.zoomInText span.cap{
	opacity:0;
	transition: .5s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
	position: absolute;
	z-index:3;/*テキストを前面に出す*/
	top: 50%;
    left: 50%;
	transform: translate(-50%,-50%);
	color: #fff;/*テキストの色を変えたい場合はここを修正*/
    line-height: 1.5;/*行の高さを1.5にする*/
}

.zoomInText:hover span.cap{/*hoverした時の変化*/
	opacity:1;
}

p.warning{
  color : red;
}
@media screen and (max-width: 600px) {
  #header{
    height: 50px;/*高さ指定*/
    padding: 10px;
  }

  nav ul li{
    font-size: 12px;
  }

  .content h2 {
    font-size: 20px;
  }

  .genre-menu h2 {
    font-size: 18px;
  }

  footer {
    font-size: 12px;
  }
}

.bcard-wrapper{
    display: block;
    width: 100%;
    max-width: 500px;
    margin: 10px 0px;
    border-radius: 3px;
    padding: 12px;
    border: 1px solid #e0e0e0;
}
.bcard-site,.bcard-url{
    font-size: 12px;
    line-height: 1.3;
    overflow: hidden;
    max-height: 15px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.bcard-header {
    position: relative;
    height: 30px;
    margin-bottom: 5px;
    display: block;
}
.withgfav{padding-left: 23px;}
.bcard-favicon {position: absolute;
    top: 0px; left:0px; width:16px; height:16px;}
.bcard-main{
    overflow: hidden;
    position: relative;
    display: block;
}
.withogimg{
    padding-right: 110px;
    height: 100px;
}
 .bcard-img {
width: 100px;
height: 100px; 
position: absolute;
    top: 0;
    right: 0;
    background-size:cover;
    background-position:center center;
}
 .bcard-title{
    font-size: 17px;
    margin: 0 0 2px;
    line-height: 1.4;
    max-height: 47px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-weight: bold;
}
 .bcard-description {
    line-height: 1.5;
    font-size: 12px;
    max-height: 72px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.bcard-title a{color:#424242;}
.bcard-url a{color:#9e9e9e;}
.bcard-title a:hover,.bcard-url a:hover,.bcard-site a:hover{text-decoration:underline;}
