@charset "utf-8";
/* =========================================================
   下層ページ共通（2026-10 改訂デザイン）
   ヒーロー（Frame 744）・パンくず（Frame 851）・大見出し（Frame 978）・棒見出し（Frame 253）・FAQ（Frame 1321321214）など
   1rem = 100 design-px（style.css 参照）
   ========================================================= */
.lower { padding-top: var(--hdr-h); background: #352e2e; color: #fff; font-family: "Noto Sans JP", sans-serif; } /* 追従ヘッダーの下からヒーロー（Figma：ヘッダー 0–77 / ヒーロー 77–） */

/* ---------- ヒーロー（Frame 744：1440×802） ---------- */
.lhero { position: relative; height: 8.02rem; overflow: hidden; background: #e9e8e6; color: #352e2e; }
.lhero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lhero__veil { position: absolute; left: 0; bottom: 0; width: 14.4rem; height: 8.96rem; object-fit: cover; pointer-events: none; }
.lhero__in {
  position: absolute; left: calc(50% - .005rem); top: calc(50% - .1737rem); transform: translate(-50%, -50%);
  display: flex; flex-direction: column; align-items: center; gap: .29rem; text-align: center;
}
.lhero__head { display: flex; flex-direction: column; align-items: center; gap: .27rem; }
.lhero__ttls { display: flex; flex-direction: column; align-items: center; gap: .23rem; }
.lhero__label { font-weight: 500; font-size: .24568rem; line-height: .37796rem; letter-spacing: .034395rem; white-space: nowrap; }
.lhero__ttl { font-weight: 900; font-size: .7979rem; line-height: 1.10146rem; letter-spacing: .055853rem; white-space: pre; }
.lhero__ttl em { color: #fd6a05; }
.lhero__ttl .p { letter-spacing: -.1248rem; }
.lhero__lead { font-weight: 400; font-size: .17603rem; line-height: .39rem; letter-spacing: .026404rem; white-space: nowrap; }
.lhero__idx { display: flex; align-items: center; gap: .36rem; }
.lhero__idx > p { display: flex; flex-direction: column; align-items: center; gap: .04195rem; white-space: nowrap; }
.lhero__idx-sep { width: 0; height: 1.11rem; box-shadow: 0 0 0 .01rem #352e2e; }
.lhero__idx b { font-weight: 700; font-size: .34391rem; line-height: .47498rem; letter-spacing: .051586rem; }
.lhero__idx a { color: #fd6a05; font-weight: 900; font-size: .30192rem; line-height: .43077rem; letter-spacing: .045288rem; }
.lhero__idx small { font-size: .15101rem; line-height: .21546rem; letter-spacing: .022652rem; }
.lhero .fv__scroll { left: calc(50% - .38rem + .005rem); top: 7.00rem; }

/* ---------- パンくず（Frame 851） ---------- */
.crumb { height: .77rem; display: flex; align-items: center; justify-content: center; background: #352e2e; }
.crumb ol { width: 11rem; display: flex; align-items: center; gap: .17rem; color: #fff; font-weight: 500; font-size: .14rem; line-height: .22735rem; letter-spacing: .0196rem; white-space: nowrap; }
.crumb li { display: flex; align-items: center; gap: .17rem; }
.crumb li + li::before { content: ""; flex: none; width: .197033rem; height: .197033rem; background: url(../img/lower/crumb-arw.svg) no-repeat center / 100% 100%; }
.crumb [aria-current] { color: #f1a36e; text-decoration: underline; text-decoration-thickness: from-font; }

/* ---------- 大見出し（Frame 978：番号＋見出し＋リード） ---------- */
.secno { display: flex; flex-direction: column; align-items: center; gap: .29rem; text-align: center; }
.secno__n { display: flex; align-items: center; height: .74016rem; font-family: Montserrat, sans-serif; font-weight: 700; font-size: .95603rem; line-height: 2.28215rem; letter-spacing: .105164rem; color: #fd6a05; white-space: nowrap; }
.secno__h { display: flex; flex-direction: column; align-items: center; gap: .13rem; }
.secno__ttl { font-weight: 700; font-size: .43424rem; line-height: .64rem; letter-spacing: .030397rem; white-space: nowrap; }
.secno__lead { min-height: .40rem; width: 7.67rem; font-weight: 400; font-size: .17603rem; line-height: .39117rem; letter-spacing: .026404rem; }

/* ---------- 棒見出し（Frame 253：オレンジの縦棒＋見出し＋リード） ---------- */
.bh { width: 11rem; display: flex; flex-direction: column; align-items: flex-start; gap: .16rem; }
.bh__ttl { display: flex; align-items: stretch; gap: .21rem; }
.bh__ttl::before { content: ""; flex: none; width: .10rem; background: #fd6a05; }
.bh__ttl > span { display: flex; align-items: center; height: .38rem; font-weight: 700; font-size: .32rem; line-height: .74rem; letter-spacing: .0224rem; white-space: nowrap; }
.bh__lead { min-height: .40rem; font-weight: 400; font-size: .17603rem; line-height: .39117rem; letter-spacing: .026404rem; }
.bh--nowrap .bh__lead { white-space: nowrap; }

/* ---------- FAQ（Frame 1321321214 / アンサー差分 617:27048） ---------- */
.faq { display: flex; flex-direction: column; gap: .32rem; }
.faq__item { width: 9.76rem; background: #fff; border-radius: .21rem; color: #352e2e; }
.faq__q {
  display: flex; align-items: center; gap: .26rem; padding: .15rem .33rem; cursor: pointer; list-style: none;
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q > span, .faq__a > span { display: flex; align-items: flex-start; gap: .22rem; }
.faq__q > span::before, .faq__a > span::before {
  content: "Q"; flex: none; width: .45rem; height: .45rem; border-radius: 50%; background: #fd6a05;
  display: flex; align-items: center; justify-content: center; padding-left: .01rem;
  font-family: Poppins, Montserrat, sans-serif; font-weight: 700; font-size: .20762rem; line-height: .31637rem; letter-spacing: .014533rem; color: #fff;
}
.faq__a > span::before { content: "A"; background: #4b4344; }
.faq__q b { display: flex; align-items: center; width: 7.98rem; min-height: .45rem; font-weight: 700; font-size: .16rem; line-height: .32rem; letter-spacing: .0112rem; }
.faq__q i { position: relative; flex: none; width: .19rem; height: .19rem; margin-left: auto; }
.faq__q i::before, .faq__q i::after { content: ""; position: absolute; left: 0; top: calc(50% - .0068rem); width: 100%; height: .0136rem; background: #fd6a05; transition: transform .3s; }
.faq__q i::after { transform: rotate(90deg); }
.faq__item[open] .faq__q i::after { transform: rotate(0deg); }
.faq__item[open] .faq__q { padding-top: .20rem; padding-bottom: 0; }
.faq__a { padding: .22rem .33rem .20rem; }
.faq__a p { display: flex; align-items: center; width: 7.98rem; min-height: .45rem; font-weight: 400; font-size: .16rem; line-height: .26rem; letter-spacing: .0112rem; }

/* ---------- 下層ページのボタン（Frame 316：幅が文言で決まる版） ---------- */
.btn--wide { gap: .23rem; }
.btn--wide > span { width: auto; white-space: nowrap; }
