@charset "utf-8";
/* 初めての方へ：SP（推論） */
.fst { gap: .90rem; padding-top: .60rem; }
.fst__blk { width: 100%; gap: .50rem; padding: 0 .30rem; }
.fst__in, .fst__part { width: 3.70rem; gap: .36rem; }

.sit { width: 3.70rem; flex-direction: column; flex-wrap: nowrap; gap: .24rem; }
.sit__card { width: 3.70rem; height: auto; }
.sit__head { height: auto; min-height: .90rem; gap: .16rem; padding: .16rem .20rem; justify-content: flex-start; }
.sit__head b { width: .52rem; height: .52rem; font-size: .28rem; }
.sit__head h4, .sit__head h4.s { width: auto; font-size: .19rem; line-height: .30rem; letter-spacing: .0133rem; white-space: normal; }
.sit__head h4 br { display: none; }
.sit__body { height: auto; gap: .18rem; padding: .20rem .20rem .24rem; }
.sit__lbl { font-size: .15rem; line-height: .32rem; }
.sit__list li, .sit__txt { width: auto; font-size: .14rem; line-height: .24rem; letter-spacing: .014rem; }
.sit__list li::before { top: .095rem; }
.sit__rec { padding-top: .18rem; font-size: .16rem; flex-wrap: wrap; }

.stage { gap: .52rem; }
.stage li { width: 3.70rem; height: auto; flex-direction: column; align-items: flex-start; gap: .12rem; padding: .18rem .18rem .20rem; }
.stage li:not(:last-child)::after { left: calc(50% - .18rem); width: .36rem; height: .20rem; top: calc(100% + .16rem); }
.stage__h { width: auto; flex-direction: row; align-items: baseline; gap: .12rem; font-size: .20rem; line-height: .32rem; }
.stage__h b { font-size: .16rem; line-height: .28rem; }
.stage__rows { padding-left: 0; padding-top: .12rem; gap: .10rem; }
.stage__rows::before { left: 0; right: 0; top: 0; width: auto; height: 0; transform: none; }
.stage__rows p { align-items: flex-start; gap: .10rem; font-size: .14rem; line-height: .24rem; white-space: normal; }
.stage__rows i { min-width: .82rem; padding: .02rem .10rem; font-size: .12rem; line-height: .20rem; }
.stage li.is-last { height: auto; padding: 0 0 .20rem; box-shadow: inset 0 0 0 .04rem #fd6a05; }
.stage li.is-last .stage__h { align-self: stretch; padding: .14rem .18rem; font-size: .22rem; line-height: .34rem; }
.stage li.is-last .stage__h b { margin: 0; font-size: .17rem; }
.stage li.is-last .stage__rows { padding: 0 .18rem; }

.team { flex-direction: column; gap: .30rem; }
.team__tbl { width: 3.70rem; font-size: .13rem; line-height: .22rem; }
.team__tbl th, .team__tbl td { height: auto; padding: .10rem .12rem; white-space: normal; }
.team__tbl th { width: 1.10rem; }
.team__tbl td { width: auto; }
.memo { width: 3.70rem; padding: 0 .18rem .22rem; }
.memo__rings { width: 3.20rem; height: .305rem; }
.memo__ttl { height: auto; font-size: .19rem; line-height: .34rem; }
.memo__list li, .memo__list li.s, .memo__note { width: auto; height: auto !important; font-size: .135rem; line-height: .23rem; letter-spacing: .015rem; }

.fsvc { gap: .70rem; }
.fsvc__item { width: 3.70rem; gap: .31rem; align-items: stretch; }
.fsvc__item .btn { align-self: center; }
.term { margin-top: .30rem; gap: .24rem; }
.term__ttl { font-size: .26rem; line-height: .36rem; }
.term__row { flex-wrap: wrap; gap: .24rem .30rem; width: 3.70rem; }
.term__row li { width: 1.70rem; height: .86rem; gap: .08rem; }
.term__row li:nth-child(3)::before { display: none; }
.term__row li + li::before { left: calc(-.15rem - .156881rem); scale: .7; } /* SP の列間 .30 の中央 */
.term__row b, .term__row li.s b { height: auto; font-size: .16rem; line-height: .24rem; }
.term__row span, .term__row li.s span { height: auto; font-size: .115rem; line-height: .18rem; }

.vcards { flex-direction: column; flex-wrap: nowrap; gap: .30rem; width: 3.70rem; }
.vcard { width: 3.70rem; }
.vcard__img { width: 3.70rem; height: 2.08rem; }
.vcard__ttl { font-size: .18rem; line-height: .29rem; text-align: left; }
.vcard__voice b { font-size: .17rem; }
.vcard__voice > span { font-size: .14rem; line-height: .26rem; }

.gain { width: 3.70rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .40rem .14rem; }
.gain li { width: auto; padding: .38rem .06rem .18rem; }
.gain b { left: calc(50% - .21rem); top: -.21rem; width: .42rem; height: .42rem; font-size: .24rem; }
.gain h4 { font-size: .19rem; line-height: .26rem; }
.gain p { width: auto; height: auto; font-size: .12rem; line-height: .20rem; letter-spacing: .012rem; }
.fst__blk > .cta { display: none; }

.pkg { gap: .50rem; padding: .70rem .30rem; }
.pkg__part { width: 3.70rem; gap: .36rem; }
.pkg__vs { flex-direction: column; gap: .24rem; }
.pbox, .pbox--or { width: 3.70rem; height: auto; align-items: center; gap: .20rem; padding: .26rem .16rem; }
.pbox__ttl { height: auto; font-size: .17rem; line-height: .28rem; }
.pbox__fig { zoom: .72; }
.pkg__txt { width: 3.70rem; gap: .22rem; font-size: .14rem; line-height: .26rem; letter-spacing: .014rem; }
.pkg__two { flex-direction: column; gap: .24rem; }
.pcard, .pcard--or { width: 3.70rem !important; height: auto !important; gap: .16rem; padding: .26rem .22rem; }
.pcard h4 { height: auto; font-size: .19rem; line-height: .30rem; white-space: normal; }
.pcard__txt { gap: .20rem; padding-top: .16rem; font-size: .14rem; line-height: .26rem; letter-spacing: .014rem; }
.pkg > .cta { display: none; }

/* 進め方 A〜D（SP）：スクロールでカードが上に重なっていく（参考 lemon-tart.co.jp）。前のカードの見出しが少し残る */
.sit__card { position: sticky; top: calc(.16rem + var(--stk, 0) * .70rem); box-shadow: 0 -.06rem .16rem rgba(0,0,0,.25); }
.sit__card:nth-of-type(2) { --stk: 1; }
.sit__card:nth-of-type(3) { --stk: 2; }
.sit__card:nth-of-type(4) { --stk: 3; }
