:root{
--l-color:#000000;
--lin-color:#ebfffe;
}

#head-in{
    display:none;
}
#article-header{
display:none;
}
div[itemprop="breadcrumb"]{
   display:none;
}
.grid{
background-color: transparent;
}
body{
background-color:#FFFFFF;

background-position: center center;
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
}
a.external{
    color: #00d4cd !important;
}
div#footer,footer,div#copyright{
background-color: transparent;
}
div#sns-bottoms{
display:none;
}
div#mobile-buttons{
display:none;}
div#footer{
border:0;
}
div#nav{display:none;}
li.track-container { line-height: 1.3; }
li.track-container {
    width:100%;
    margin-bottom: 2em;
}


body {
  background: #000000;

}

h1 {
  display: inline-block;
  text-align: center;
  font-family: arial;
  position: relative;
  margin: 1em 0 0;
  color: #fff;
  z-index: 2;
}


* {
  box-sizing: content-box;
}



.starry_sky {
  background: -webkit-linear-gradient(top, rgb(0, 0, 0) 50%, rgb(25, 19, 39)80%, rgb(43, 32, 72));
  background-attachment: fixed;
  top:0;
  left:0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: fixed;
  overflow: hidden;
  z-index: -1000;
}

.constellation {
  background-attachment: scroll;
  background-attachment: fixed;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  animation: rotate 600s infinite linear;
  z-index: -999;
}

.star {
  background-color: white;
  border-radius: 50%;
  position: absolute;
  animation-name: star;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  z-index: -998;
}

.star.style1 {
  animation-duration: 0.5s;
  animation-name: star;
}

.star.style2 {
  animation-duration: 1s;
  animation-name: star;
}

.star.style3 {
  animation-duration: 1.5s;
  animation-name: star;
}

.star.style4 {
  animation-duration: 2s;
  animation-name: starFeat;
}

.star.tam1 {
  width: 1px;
  height: 1px;
}

.star.tam2 {
  width: 2px;
  height: 2px;
}

.star.tam3 {
  width: 3px;
  height: 3px;
}

.star.opacity1 {
  opacity: 1;
}

.star.opacity2 {
  opacity: .5;
}

.star.opacity3 {
  opacity: .1;
}

@keyframes star {
  0% {
    box-shadow: 0 0 10px 0px rgba(255, 255, 255, 0.05);
  }
  50% {
    box-shadow: 0 0 10px 2px rgba(255, 255, 255, 0.4);
  }
  100% {
    box-shadow: 0 0 10px 0px rgba(255, 255, 255, 0.05);
  }
}

@keyframes starFeat {
  0% {
    background-color: #FFFFFF;
    box-shadow: 0 0 10px 0px rgba(255, 255, 255, 1);
  }
  20% {
    background-color: #FFC4C4;
    box-shadow: 0 0 10px 0px rgb(255, 196, 196, 1);
  }
  80% {
    background-color: #C4CFFF;
    box-shadow: 0 0 10px 0px rgb(196, 207, 255, 1);
  }
  100% {
    background-color: #FFFFFF;
    box-shadow: 0 0 10px 0px rgba(255, 255, 255, 0.2);
  }
}

.input-text {
      display: block;
	  width:100%;
		max-width: 480px;
		margin-left: auto;
  margin-right: auto;
  justify-content: center;
  position: relative;
	  background-color: transparent;

      height: 36px;
      border-width: 0 0 1px 0;
      border-color: #fff;
	  text-align: center;
	  
      font-family: Lusitana, serif;
      font-size: 18px;
      line-height: 26px;
      font-weight: 400;
      color: #fff; /* Added text color for input */
      
      &:focus {
         outline: none;
      }
      margin: 8px auto;
      
}
.label {
      position: absolute;
	  width:100%;
	  text-align: center;
      bottom: 11px;
      font-family: "Jost", sans-serif;
	  font-optical-sizing: auto;
      font-weight: 400;
      font-style: normal;
      font-size: 18px;
      line-height: 26px;
      font-weight: 400;
      color: #fff;
      cursor: text;
      transition: transform .2s ease-in-out;
}
.submit-btn {
      display: block;
	  width:100px;
	  margin-left: auto;
      margin-right: auto;
	  
      background-color: transparent;
      color: #fff;
      font-family: "Jost", sans-serif;
      font-optical-sizing: auto;
      font-weight: 400;
      font-style: normal;
      text-transform: uppercase;
      letter-spacing: 2px;
      font-size: 16px;
      line-height: 24px;
      padding: 8px 16px;
      border: 1px solid #fff;
	  border-radius: 5px;
      cursor: pointer;
   }

.kaisei-decol-regular {
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
  color: #fff; /* Added default color for this class */
}

.has-text-align-center {
    text-align: center;
}


.Question-Images{
 max-width: 500px;
padding:5px;
	margin-bottom: 5px;
	margin-left: auto;
    margin-right: auto;
}

.arrow-R{
display:flex;
width:75%;
margin-left: auto;
}
.arrow-L{
display:flex;
width:75%;
margin-right: auto;
}

.accordion-002 {
    max-width: 500px;
	padding:5px;
	margin-bottom: 5px;
	margin-left: auto;
    margin-right: auto;
    border: 1px solid #ffffff;
    border-radius: 5px;
}

.accordion-002 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2214%22%20cy%3D%2214%22%20r%3D%2214%22%20style%3D%22fill%3A%23000000%3B%22%2F%3E%0A%3C%2Fsvg%3E');
    background-position: right calc(2em - 7px) center;
    background-size: 22px;
    background-repeat: no-repeat;
    color: #ffffff;
    font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
    cursor: pointer;
	-webkit-text-stroke: 2px black;
  text-stroke: 2px black;
  paint-order: stroke;
}

.accordion-002 summary::-webkit-details-marker {
    display: none;
}

.accordion-002 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 5px;
    height: 5px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-002[open] summary::after {
    transform: rotate(225deg);
}

.accordion-002 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 0 2em 1.5em;
	font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
    color: #ffffff;
    transition: transform .5s, opacity .5s;
}

.accordion-002[open] p {
    transform: none;
    opacity: 1;
}

.accordion-log {
	display:none;
}

.Question-light {
  max-width: 200px;
  height: 50px;
  margin:auto;
  padding: auto 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
  background-color: transparent;
  border-radius: 25px;
}

.light {
  position: relative;
  width: 30px;
  height: 30px;
  line-height: 30px; /* For vertical centering of text */
  border-radius: 50%;
}

.light {
  text-align: center;
  background-color: var(--l-color);
  color: var(--lin-color);
  box-shadow: 0 0 20px 4px var(--l-color);
      font-family: "Jost", sans-serif;
      font-optical-sizing: auto;
      font-weight: 400;
      font-style: normal;
      text-transform: uppercase;
      font-size: 16px;
}

.wrapover{
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    display: none;
    background-color: rgba(0, 0, 0, 0);
}

.wrapover.active {
    display: block;
    animation: correct-answer 2s ease-in-out;
}

.glitch.active{
	animation : glitch-a 2s both;
	/* animation : glitch-it 2s both; */ /* Commented out as glitch-it is also applied directly to .glitch:before/after */
}


.popup-content {
	display: inline-block;
	position: fixed;
	width: 75%;
	z-index: 1100;
	background: transparent;
	padding: 2%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.glitch-wrapper {
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   
   flex-direction:column;
   background-color: transparent;
}

.glitch {
   position: relative;
   font-family: "Jost", sans-serif;
   font-optical-sizing: auto;
   font-weight: 400;
   font-size: 50px;

   color: #FFFFFF;
   letter-spacing: 3px;
   z-index: 1201;
   opacity: 0;
}

.glitch-small {
   position: relative;
   font-family: "Jost", sans-serif;
   font-optical-sizing: auto;
   font-weight: 400;
   font-size: 30px;

   color: #FFFFFF;
   letter-spacing: 3px;
   z-index: 1201;
   opacity: 0;
}

.glitch:before,
.glitch:after {
   display: block;
   content: attr(data-text);
   position: absolute;
   top: 0;
   left: 0; /* Adjusted from auto for consistency */
   right:0; /* Adjusted from auto for consistency */
   width: 100%; /* Ensure pseudo-elements cover the text */
   opacity: 0;
}

.glitch:before {
   animation: glitch-it 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
   color: #00FFFF;
   z-index: -1;
}

.glitch:after {
   animation: glitch-it 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse both infinite;
   color: #FF00FF;
   z-index: -2;
}

@keyframes glitch-a {
   0% {
	  opacity:0;
   }
   20% {
	  opacity:0.6;
   }
   40% {
	opacity:0.8;
   }
   60% {
	  opacity:0.8;
   }
   80% {
	  opacity:0.6;
   }
   to {
	  opacity:0;
   }
}

@keyframes glitch-it {
   0% {
      transform: translate(0);
	  opacity:0;
   }
   20% {
      transform: translate(-2px, 2px);
	  opacity:0.6;
   }
   40% {
      transform: translate(-2px, -2px);
	opacity:0.8;
   }
   60% {
      transform: translate(2px, 2px);
	  opacity:0.8;
   }
   80% {
      transform: translate(2px, -2px);
	  opacity:0.6;
   }
   to {
      transform: translate(0);
	  opacity:0;
   }
}

@keyframes correct-answer {
    0% {
        background-color: rgba(0, 0, 0, .0);
    }
    25% {
        background-color: rgba(0, 0, 0, .8);
    }
    75% {
        background-color: rgba(0, 0, 0, .8);
    }
    100% {
        background-color: rgba(0, 0, 0, .0);
    }
}

.fit-picture{ width:100%; max-width:500px; height: auto; /* 高さを自動調整して縦横比を維持 */ }
.arrow-picture{ width:30%; margin-left: auto; margin-right: auto; max-width:500px; height: auto; /* 高さを自動調整して縦横比を維持 */ }

.top-picture{ display:block; width:100%; max-width:500px; height: auto; /* 高さを自動調整して縦横比を維持 */ margin:auto; }
/* ポップアップ用スタイル (既存のものはそのまま、または調整) */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex; /* JSで none から flex に変更して表示 */
    justify-content: center;
    align-items: center;
    z-index: 2000;
    color: #333;
}

.popup-content-dialog {
    background-color: #fff;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    min-width: 300px; /* ポップアップの最小幅 */
    max-width: 90%;   /* ポップアップの最大幅 */
}

.popup-content-dialog p {
    margin-bottom: 25px; /* ボタンとのスペースを少し確保 */
    font-size: 1.2em;
    color: #333;
}

/* ボタンコンテナのスタイル変更: 縦並びにする */
.popup-buttons {
    display: flex;
    flex-direction: column; /* ボタンを縦方向に並べる */
    align-items: center;   /* ボタンをコンテナ内で中央揃え（横方向） */
    gap: 15px;             /* 各ボタンの間のスペース */
}

/* ポップアップ内の各ボタンの共通スタイル */
button.popup-btn {
    width: 80%;            /* ポップアップの幅に対して80%の幅 */
    max-width: 280px;      /* ボタンの最大幅を設定 */
    padding: 12px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1em;
    font-family: "Jost", sans-serif; /* フォントファミリーを継承または指定 */
    text-transform: uppercase;     /* 大文字化 */
    letter-spacing: 1px;         /* 文字間隔 */
    border: 1px solid transparent; /* ボーダーを初期化 */
    box-sizing: border-box;      /* paddingとborderをwidth/heightに含める */
    transition: background-color 0.3s ease, transform 0.1s ease;
    display: flex; /* ボタン内のロゴとテキストを中央揃えにしやすくする */
    align-items: center;
    justify-content: center;
}

button.popup-btn:hover {
    opacity: 0.85; /* ホバー時の透明度 */
}
button.popup-btn:active {
    transform: scale(0.98); /* クリック時の簡単なフィードバック */
}

/* X (Twitter) ポストボタン固有のスタイル（例） */
button.popup-btn.x-btn {
    background-color: #000000; /* Xのブランドカラー（黒） */
    color: #ffffff;
}
button.popup-btn.x-btn:hover {
    background-color: #222222; /* ホバー時の色を少し明るく */
}
.x-logo-placeholder {
    margin-right: 8px; /* ロゴとテキストの間のスペース */
    font-size: 1.2em;  /* ロゴのサイズ調整 */
    line-height: 1;  /* 行の高さを調整して中央揃えしやすく */
}
/* 実際のSVGやimgタグを使う場合は、以下のようにサイズ調整の例 */
/*
.x-logo-img {
    width: 1.2em;
    height: 1.2em;
    margin-right: 8px;
}
*/


/* 購入ボタンのスタイル（例）*/
button.popup-btn#purchaseButton {
    background-color: #007bff; /* 青系の色 */
    color: white;
}
button.popup-btn#purchaseButton:hover {
    background-color: #0056b3;
}

/* やり直すボタンのスタイル（例） */
button.popup-btn#retryButton {
    background-color: #6c757d; /* グレー系の色 */
    color: white;
}
button.popup-btn#retryButton:hover {
    background-color: #545b62;
}

/* ... 既存の .popup-btn スタイルや他のスタイルが上部にあると仮定 ... */

/* 無効化されたボタンの共通スタイル */
button.popup-btn:disabled,
button.popup-btn[disabled] { /* 属性セレクタも追加して確実性を高める */
    background-color: #cccccc !important; /* 背景色をグレーに（!importantで他の指定を上書き） */
    color: #666666 !important;           /* 文字色を薄く */
    cursor: not-allowed !important;       /* カーソルを変更 */
    opacity: 0.7 !important;              /* 少し透明に */
    /* transform: none !important; */    /* active時のtransformを無効化する場合 */
}

/* もし特定のボタンの無効化スタイルをさらに細かく制御したい場合 (例: 購入ボタン) */
/*
button.popup-btn#purchaseButton:disabled,
button.popup-btn#purchaseButton[disabled] {
    border: 1px dashed #999999 !important;
}
*/	