.lp-faq {
  font-size: 14px;
  font-size: 3.7333333333vw;
}
.lp-faq h4 {
  font-weight: 700;
}
.lp-faq .txt {
  padding-bottom: 4.2666666667vw;
}
.lp-faq .cmn__list {
  padding-bottom: 4.2666666667vw;
}
.lp-faq .qa__def--q {
  margin-top: 6.4vw;
  padding: 2.4vw 0 1.0666666667vw 6.4vw;
  font-size: 16px;
  font-size: 4.2666666667vw;
  font-weight: 700;
  background: url('../images/commons/icons/ico__faq--q.svg') 0 2.1333333333vw no-repeat;
  background-size: 4vw auto;
}
.lp-faq .qa__def--a {
  padding: 2.6666666667vw 0 0 6.4vw;
  background: url('../images/commons/icons/ico__faq--a.svg') 0 2.1333333333vw no-repeat;
  background-size: 4vw auto;
}

.lp-faq .qa__def--a a {
	font-weight: bold;
	color: #0000ff;
}

@media (min-width: 768px) {
  .lp-faq {
    font-size: 1.4rem;
  }
  .lp-faq h4 {
    padding-bottom: 12px;
  }
  .lp-faq .txt {
    padding-bottom: 32px;
  }
  .lp-faq .cmn__list {
    padding-bottom: 32px;
  }
  .lp-faq .qa__def {
    padding-bottom: 56px;
  }
  .lp-faq .qa__def--q {
    margin-top: 24px;
    padding: 8px 0 16px 40px;
    font-size: 1.6rem;
    background: url('../images/commons/icons/ico__faq--q.svg') 0 0 no-repeat;
    background-size: 24px auto;
  }
  .lp-faq .qa__def--a {
    margin-top: 8px;
    padding: 8px 0 24px 40px;
    background: url('../images/commons/icons/ico__faq--a.svg') 0 0 no-repeat;
    background-size: 24px auto;
  }
}

/* 目次全体のコンテナ */
.faq-toc {
  max-width: 600px; /* 見やすいように横幅を制限（お好みで調整してください） */
  margin: 3.0rem auto;
  padding: 24px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
}

/* 「目次」のメインタイトル */
.toc-title {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  margin-top: 0;
  margin-bottom: 20px;
  color: #333;
}

/* リスト全体のスタイル */
.toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column; /* 強制的に縦一列に並べる */
  gap: 8px; /* 質問同士の縦の隙間 */
}

/* 大会・チケットなどのサブタイトル */
.toc-subtitle {
  font-weight: bold;
  color: #495057;
  background-color: #e9ecef; /* 薄いグレーの背景で区切りをわかりやすく */
  padding: 6px 12px;
  margin-top: 16px; /* 前のブロックとの間隔 */
  margin-bottom: 8px;
  border-radius: 4px;
  font-size: 0.95rem;
}

/* 最初に出てくるサブタイトルだけ上の余白を無くす */
.toc-subtitle:first-child {
  margin-top: 0;
}

/* 質問リスト（li）の調整 */
.toc-list li {
  width: 100%; /* 横幅いっぱいに広げる */
}

/* 質問リンクの装飾 */
.toc-list a {
  display: block;
  padding: 10px 14px;
  color: #0066cc;
  text-decoration: none;
  font-size: 1.0rem;
  line-height: 30%;
  border-radius: 4px;
  transition: background-color 0.2s;
}

/* マウスを乗せたとき・タップしたときの反応 */
.toc-list a:hover {
  background-color: #e6f0fa; /* 薄い青背景 */
  text-decoration: underline;
}