@charset "UTF-8";
/* ============================================================
 * FAQページ (/faq/) 専用スタイル
 *   - 全ページ読み込み（style.css と同様 header.php で <link>）
 *   - 既存 .faqSection (トップFAQ) のトンマナを踏襲
 *   - クラス命名は BEM 風（faqCategory-title / faqItem-question 等）
 *   - カラー / 区切り線 / フォントは既存パレット内で完結
 * ============================================================ */

/* ラッパー（.contents 内側の最大幅は .faqSection-wrap に合わせる） */
.faqWrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 922px;
  width: 100%;
  padding-top: 60px;
  padding-bottom: 40px;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .faqWrapper {
    max-width: 90%;
  }
}
@media (max-width: 767px) {
  .faqWrapper {
    max-width: 92%;
    padding-top: 30px;
    padding-bottom: 20px;
  }
}

/* ===== カテゴリ ===== */
.faqCategory {
  margin-bottom: 60px;
  scroll-margin-top: 120px; /* 固定ヘッダー分のオフセット */
}
@media (max-width: 767px) {
  .faqCategory {
    margin-bottom: 40px;
    scroll-margin-top: 80px;
  }
}
.faqCategory:last-of-type {
  margin-bottom: 0;
}
.faqCategory-title {
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 2px solid #3E3EE1;
  font-size: 2.4rem;
  font-weight: bold;
  color: #1A1A1A;
}
@media (max-width: 767px) {
  .faqCategory-title {
    margin-bottom: 18px;
    padding-bottom: 10px;
    font-size: 1.8rem;
  }
}

/* ===== Q&A アイテム ===== */
.faqItem {
  border-bottom: 1px solid rgb(226, 226, 226);
}
.faqItem-question {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 20px 48px 20px 0;
  margin: 0;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.6;
  cursor: pointer;
  user-select: none;
  transition: color 0.2s;
}
@media (max-width: 767px) {
  .faqItem-question {
    padding: 16px 40px 16px 0;
    font-size: 1.5rem;
  }
}
.faqItem-question::before {
  content: "Q.";
  flex-shrink: 0;
  display: inline-block;
  width: 32px;
  font-family: "Poppins", Hiragino Kaku Gothic Pro, 游ゴシック体, Yu Gothic Medium, Yu Gothic, Meiryo, sans-serif;
  font-size: 2rem;
  font-weight: bold;
  color: #3E3EE1;
}
@media (max-width: 767px) {
  .faqItem-question::before {
    width: 26px;
    font-size: 1.7rem;
  }
}
/* 開閉アイコン（＋ / －） */
.faqItem-question::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  width: 16px;
  height: 16px;
  background-image:
    linear-gradient(#3E3EE1, #3E3EE1),
    linear-gradient(#3E3EE1, #3E3EE1);
  background-size: 100% 2px, 2px 100%;
  background-position: center, center;
  background-repeat: no-repeat;
  transform: translateY(-50%);
  transition: transform 0.25s;
}
.faqItem.is-open .faqItem-question::after {
  background-size: 100% 2px, 2px 0; /* 縦棒を消して "−" に */
}
@media (hover: hover) {
  .faqItem-question:hover {
    color: #3E3EE1;
  }
}

/* 回答 */
.faqItem-answer {
  display: none;
  gap: 12px;
  padding: 0 0 22px 0;
  font-size: 1.5rem;
  line-height: 1.85;
  color: #646466;
}
@media (max-width: 767px) {
  .faqItem-answer {
    padding-bottom: 18px;
    font-size: 1.4rem;
  }
}
.faqItem.is-open .faqItem-answer {
  display: flex;
  align-items: flex-start;
}
.faqItem-answer::before {
  content: "A.";
  flex-shrink: 0;
  display: inline-block;
  width: 32px;
  font-family: "Poppins", Hiragino Kaku Gothic Pro, 游ゴシック体, Yu Gothic Medium, Yu Gothic, Meiryo, sans-serif;
  font-size: 2rem;
  font-weight: bold;
  color: #888;
}
@media (max-width: 767px) {
  .faqItem-answer::before {
    width: 26px;
    font-size: 1.7rem;
  }
}
.faqItem-answer > *:first-child {
  margin-top: 0;
}
.faqItem-answer p {
  margin: 0 0 10px;
}
.faqItem-answer p:last-child {
  margin-bottom: 0;
}
.faqItem-answer a {
  color: #3E3EE1;
  text-decoration: underline;
}
.faqItem-answer ul,
.faqItem-answer ol {
  margin: 6px 0 10px;
  padding-left: 20px;
}
.faqItem-answer li {
  margin-bottom: 4px;
}
/* 回答ブロック全体をflex化したときに本文を1つの塊として扱うためのラッパー */
.faqItem-answer .faqItem-answer-body {
  flex: 1;
}
