:root {
  --bg: #2a2f41;            /* ダーク背景（前回のまま） */
  --text: #e7e2c1;          /* 文字色統一 */
  --accent: #ad6299;        /* タイムテーブルボタン色 */
  --card-grad-left: rgba(47, 58, 98, 0.40);
  --card-grad-right: rgba(174, 143, 199, 0.40);
  --pill-bg: rgba(173, 98, 153, 0.2);   /* 20% */
  --pill-bg-hover: rgba(173, 98, 153, 0.6); /* 60% */
}

* { box-sizing: border-box; }

/* 全体 */
html, body {
  margin: 0;
  font-family: "IPEX明朝体", serif;
  background-color: #2A2F41;
  color: #E7E2C1;
  overflow-x: hidden;
  scroll-behavior: smooth;
}


p{
  text-align:left;
}

/* zenntai */
.container {
  max-width: 360px;
  margin: 0 auto;
  padding: 28px 16px 40px;
  text-align: center;
  color: #E7E2C1;
}

/* アンケートのお願い */
.section1-title {
  letter-spacing: .1em;
  margin: 0 0 18px;
  margin-top: 10rem;
  font-weight: 700;
  color: #E7E2C1;
  font-size: 2.0rem;
}

/* タイムテーブル見る（普通＋hoverで60%） */
.cta-btn {
  display: inline-block;
  background:  #ad6299;;
  color:#E7E2C1;
  border-radius: 12px;
  padding: 12px 18px;
  font-size: 1.5rem;
  text-decoration: none;
  font-weight: 700;

  transition: opacity ;
}
.cta-btn:hover { opacity: .6; }

/*ステージ一覧*/
.section-subtitle {
  margin: 22px 0 6px;
  opacity: .95;
  color: #e7e2c1;
}

/* 白い棒*/
.divider {
  border: 1px solid #E7E2C1;
  margin: 0 auto 32px auto;
  width: 90%;
  max-width: 1000px;
}


/* よくあるご質問 */
.section2-title {
  letter-spacing: .1em;
  margin: 0 0 18px;
  font-weight: 700;
  color: #E7E2C1;
}
.section2-subsubtitle{
  text-align:left;
}

.arrow-wrap {
  text-align: left;   /* 全体を左寄せ */
}
.arrow-line {
  display: inline-block;
  position: relative;
  padding-bottom: 6px; /* テキストと線の間隔 */
  font-size: 2.0rem;
}
.arrow-line::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;

  /* 下線をグラデーションに */
  background: linear-gradient(to right, #ad6299, #e7e2c1, #ffffff);
}
.arrow-line::before {
  content: "";
  position: absolute;
  right: 0;   /* 右端に配置 */
  bottom: -2px; 
  border-left: 6px solid #ffffff;  /* 矢印の色は下線の最後と同じに */
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}


body {
  background: #2a2f3b;
  font-family: sans-serif;
  color: #fff;
}

.faq-item {
  border-bottom: 1px solid #555;
  padding: 12px 0;
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

/* Qアイコン */
.faq-qicon {
  display: inline-block;
  width: 5.0rem;
  height: 5.0rem;
  background: #3c4153;       /* 四角 */
  color: #ad6299;            /* Q文字 */
  font-weight: bold;
  font-size: 3.5rem;         /* アイコン内の文字サイズ調整（見た目で調整OK） */
  text-align: center;
  line-height: 4.3rem;       /* アイコンの高さと合わせる */
  border-radius: 1.0rem;
  margin-right: 1rem;
}

.faq-question-text {
  font-size: 1.16rem;
}

/* プラス・マイナス */
.faq-toggle {
  font-size: 3.0rem;
  font-weight: bold;
  margin-left: 10px;
}

/* 答え（初期は非表示） */
.faq-answer {
  display: none;
  padding: 10px 0 0 42px; /* Qアイコン分インデント */
  color: #ddd;
}

/* 表示時 */
.faq-item.active .faq-answer {
  display: block;
}

.link {
  color: #ad6299; /* 通常の文字色（例） */
  text-decoration: none;
  transition: opacity 0.3s; /* なめらかに変化 */
}

.link:hover {
  opacity: 0.5; /* カーソルを当てた時に半透明 */
}

.bullet-points{
  text-align: left;
}
.arrow-line2 {
  display: inline-block;
  position: relative;
  padding-bottom: 6px; /* テキストと下線の間 */
  font-size: 2ch;
}

.arrow-line2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;

  /* 下線を指定の色に */
  background: #3c4153;
}

.arrow-line2::before {
  content: "";
  position: absolute;
  right: 0;     /* 右端に配置 */
  bottom: -2px;
  border-left: 6px solid #3c4153;  /* 矢印の色 (#3c4153) */
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

@media (max-width: 380px) {
  .stage-name { font-size: 26px; }
  .pill-btn { width: 84%; min-width: 0; }
}

@font-face{
  font-family:'IPEXMincho';
  src:url('fonts/IPEXMincho.woff2') format('woff2'),
  url('fonts/IPEXMincho.woff') format('woff'),
  url('fonts/IPEXMincho.ttf') format('truetype');
  font-weight:normal;
  font-style: normal;
}
body{
  font-family:'IPEXMincho',serif;
}

/* ▼タブレット用（459px以上） */
@media (min-width: 459px) {
  .container {
    max-width: 720px;   /* スマホより広め */
    padding: 40px 24px 60px;
  }
}

/* ▼PC用（959px以上） */
@media (min-width: 959px) {
  .container {
    max-width: 1000px;   /* 大画面に合わせる */
    padding: 50px 32px 80px;
  }
}

/* ナビバー全体 */
.navbar {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: rgba(173, 98, 153, 0.5); /* #ad6299, 透明度50% */
  display: flex;
  justify-content: center;
  padding: 10px 0;
  z-index: 999;
  font-family: "IPAex Mincho", serif; /* 明朝体 */
}

/* メニューリスト */
/*
.menu {
  display: flex;
  gap: 40px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu li a {
  text-decoration: none;
  display: flex;
  flex-direction: column; 
  align-items: center;
}

.menu li a .en {
  color: #e7e2c1; 
  font-size: 14pt;
}

.menu li a .jp {
  color: #b4b4b4;
  font-size: 10pt;
}

.menu li a:hover .en {
  text-decoration: underline;
}
*/

@media screen and (min-width: 1025px) {
  .section1-title {
  font-size: 3.0rem;
}

.arrow-line {
  font-size: 2.5rem;
}

.faq-question-text {
  font-size: 2rem;
}

/* プラス・マイナス */
.faq-toggle {
  font-size: 3.0rem;
}

p{
  font-size: 2rem;
}

.arrow-line2 {
  font-size: 2rem;
}

.section1-subtitle{
  font-size: 2rem;
}

.bullet-points{
  font-size: 2rem;
}
  

}