/* =============================================
   FAQ
   ============================================= */

.p-faq {
  /* ページ先頭の開始間隔（上側）は共通CSS（customize.css の .p-page-bg padding-block-start /
     --page-content-gap）で一元管理。下側（CTA前の余白）はページ内部の指定として維持。 */
  padding-block-end: clamp(3rem, 8vw, 6rem);
}


.p-faq__lead {
  text-align: center;
  line-height: 2;
  margin-block-end: clamp(2.5rem, 6vw, 4rem);
  color: var(--cl-text);
}

/* リスト */
.p-faq__list {
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 0.9375rem; /* 15px */
  list-style: none;
  padding-inline-start: 0;
  margin-block: 0;
    margin-top: 80px;
}

/* アイテム */
.p-faq__item {
  border-radius: 0.75rem;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 8px rgba(28, 51, 111, 0.06);
}

/* Q ボタン */
.p-faq__q {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.975rem 3.1rem; /* 30px */
  font-weight: 600;
  color: #000;
  cursor: pointer;
  font-size: 1.5625rem; /* 26px → 24px → 25px（中間サイズ） */
  line-height: 1.5;
  width: 100%;
  background: #fff;
  border: none;
  text-align: left;
  font-family: "Noto Sans JP", "Zen Kaku Gothic New", sans-serif;
  transition: background 0.2s ease;
}

.p-faq__q:hover {
  background: #f8fafd;
}

/* 開閉シェブロン */
.p-faq__q::after {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 0.625rem;
  height: 0.625rem;
  border-right: 2px solid var(--color-01);
  border-bottom: 2px solid var(--color-01);
  transform: rotate(45deg);
  margin-block-start: 0.65em;
  margin-inline-start: auto;
  transition: transform 0.3s ease, margin-block-start 0.3s ease;
}

.p-faq__item.is-open .p-faq__q::after {
  transform: rotate(-135deg);
  margin-block-start: 0.85em;
}

.p-faq__q-text {
  flex: 1;
}

/* A パネル */
.p-faq__a {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 0rem 3.1rem 1.975rem;
   background: #fff;
  line-height: 1.85;
  color: var(--cl-text);
  font-size: 1rem; /* 16px */
}

.p-faq__a[hidden] {
  display: none;
}

.p-faq__a-text {
  flex: 1;
  margin-block: 0;
}

.p-faq__a-text small {
  font-size: inherit;
  color: inherit;
  display: inline;
}

/* Q/A マーク */
.p-faq__q-mark,
.p-faq__a-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.25rem;   /* 2rem → 2.25rem（+12.5%） */
  height: 2.25rem;  /* 2rem → 2.25rem（+12.5%） */
  border-radius: 50%;
  font-family: "Quicksand", sans-serif;
  font-weight: 600;
  font-size: 1.125rem; /* 18px ／ 変更なし */
  line-height: 1;
  margin-block-start: 0.15em;
  transform: translateY(-2px); /* ② 文字を2px上へ */
}

.p-faq__q-mark {
  background: var(--color-01);
  color: #fff;
}

.p-faq__a-mark {
  background: #fff;
  color: var(--color-01);
  border: 1.5px solid var(--color-01);
}

/* SP */
@media (max-width: 768px) {
  .p-faq__q {
    font-size: 1rem;
    padding: 1.25rem;
  }

  .p-faq__a {
    font-size: var(--fs-14, 0.875rem);
    padding: 1rem 1.25rem 1.25rem;
  }

  .p-faq__q-mark,
  .p-faq__a-mark {
    width: 2rem;    /* 1.75rem → 2rem（+14.3%） */
    height: 2rem;   /* 1.75rem → 2rem（+14.3%） */
    font-size: 1rem; /* 変更なし */
  }
}
