@charset "utf-8";
/* =========================================================
   下層ページ共通の SP（767px 以下・SP基準 430）
   Figma に下層ページの SP 版は無いため、PC の構成と TOP の SP の流儀から推論
   ========================================================= */
.lower { padding-top: .82rem; }

/* ヒーロー */
.lhero { height: 6.60rem; }
.lhero__bg { object-position: 30% 50%; }
.lhero__veil { width: 4.3rem; height: 3.2rem; }
.lhero__in { top: calc(50% - .30rem); width: 3.70rem; gap: .26rem; }
.lhero__head { gap: .18rem; }
.lhero__ttls { gap: .10rem; }
.lhero__label { font-size: .16rem; line-height: .26rem; letter-spacing: .0224rem; }
.lhero__ttl { font-size: .25rem; line-height: .40rem; letter-spacing: .0125rem; white-space: normal; }
.lhero__ttl .p { letter-spacing: 0; }
.lhero__lead { font-size: .13rem; line-height: .24rem; letter-spacing: .013rem; white-space: normal; }
.lhero__lead br { display: none; }
.lhero__idx { gap: .10rem; }
.lhero__idx-sep { height: .62rem; }
.lhero__idx > p { gap: .02rem; }
.lhero__idx b { font-size: .18rem; line-height: .26rem; letter-spacing: .02rem; }
.lhero__idx a { font-size: .15rem; line-height: .22rem; letter-spacing: .015rem; }
.lhero__idx small { display: none; }
.lhero .fv__scroll { left: calc(50% - .005rem); top: 5.66rem; transform: translateX(-50%); color: #352e2e; }
.lhero .fv__scroll i { background: #352e2e; height: .60rem; }

/* パンくず */
.crumb { height: .56rem; }
.crumb ol { width: 3.70rem; gap: .10rem; font-size: .12rem; overflow: hidden; }
.crumb li { gap: .10rem; min-width: 0; }
.crumb li:not(:last-child) { flex: none; } /* 縮めるのは末尾（現在ページ名）だけ。前の項目が縮むと矢印と文字が重なる */
.crumb li:last-child { overflow: hidden; }
.crumb li:last-child > a { overflow: hidden; text-overflow: ellipsis; }
.crumb li + li::before { width: .16rem; height: .16rem; }

/* 大見出し・棒見出し */
.secno { gap: .14rem; }
.secno__n { height: .44rem; font-size: .56rem; line-height: 1rem; letter-spacing: .06rem; }
.secno__h { gap: .08rem; }
.secno__ttl { font-size: .28rem; line-height: .42rem; letter-spacing: .0196rem; white-space: normal; }
.secno__lead { width: 3.70rem; min-height: 0; font-size: .14rem; line-height: .26rem; letter-spacing: .014rem; }
.bh { width: 3.70rem; gap: .10rem; }
.bh__ttl { gap: .12rem; }
.bh__ttl::before { width: .07rem; }
.bh__ttl > span { height: auto; font-size: .21rem; line-height: .34rem; letter-spacing: .0147rem; white-space: normal; }
.bh__lead, .bh--nowrap .bh__lead { min-height: 0; font-size: .14rem; line-height: .26rem; letter-spacing: .014rem; white-space: normal; }

/* FAQ */
.faq { gap: .14rem; }
.faq__item { width: 3.70rem; border-radius: .14rem; }
.faq__q { gap: .12rem; padding: .14rem .16rem; }
.faq__q > span, .faq__a > span { gap: .12rem; }
.faq__q > span::before, .faq__a > span::before { width: .34rem; height: .34rem; font-size: .16rem; }
.faq__q b, .faq__a p { width: auto; min-height: .34rem; font-size: .14rem; line-height: .24rem; }
.faq__item[open] .faq__q { padding-top: .16rem; }
.faq__a { padding: .14rem .16rem .16rem; }
.faq__q i { width: .16rem; height: .16rem; }

.btn--wide > span { white-space: normal; }
