/* ⑤ v2：文字は固定し、紙面・階層・操作領域を整える。 */
.company-name,.clause{white-space:nowrap}
.indent-space{display:none}
.hero{overflow:clip}
.hero::before{inset:0 0 0 52%;background-position:right top;background-size:auto 100%}
.hero-art{margin-top:114px;padding:16px;background:#fbfcf7;box-shadow:none;border:1px solid #a8c3b1}
.hero-art::before{content:"";position:absolute;width:52px;height:4px;background:#b7791f;left:16px;top:-2px}
.hero-art .cap{margin-top:0;padding:12px 2px 0;border-top:1px solid var(--line);background:#fbfcf7}
.cond{line-height:1.85}
.cond .price,.cond .condition-key{font-family:inherit;font-size:16px;font-weight:700;line-height:inherit;color:var(--ink)}
.cond .ln{margin-top:20px;padding-top:18px}
.cond .ln:first-child{padding:15px 0 15px 14px;border-left:3px solid #b7791f;border-bottom:1px solid #bdcec0}
.cond .ln:nth-child(2){border-top:0;margin-top:16px;padding-top:0}
.cond a{display:flex;justify-content:flex-start;text-align:left;width:fit-content;max-width:100%;min-height:44px;margin-top:8px;line-height:1.6}
.cond a.cost-link{display:flex;flex-wrap:wrap;align-content:center;column-gap:0;white-space:normal}
.cond>a+br{display:none}
.final .cond a{justify-content:flex-start}
.cond .ln:last-of-type{margin-bottom:14px}
.ba-note,.pl{margin-top:24px;line-height:1.85}
.section-cost .plans{margin-top:24px;margin-bottom:24px}
.plans .name{font-size:21px;line-height:1.7;max-width:26em}
.plans .yen{font-size:27px}
.plans dl{margin-top:16px}
.cost-caution{font-weight:700;color:var(--ink)}
.qa{column-gap:48px}
.qa li{padding:24px 0 28px}
.qa li.main{padding:24px 28px;margin-bottom:0}
.qa b,.qa li.main b{font-size:20px;line-height:1.65;margin-bottom:14px}
.qa .a{line-height:1.85}
.qa .p{margin-top:18px}
.qa .p:first-child{margin-top:0}
.terms{padding:36px 0 0;background:transparent}
.terms .label,.terms h2,.terms .sum{margin-left:0;margin-right:0}
.terms .sum{margin-bottom:24px}
.trow,.trow.key{grid-template-columns:8em minmax(0,1fr);gap:28px;padding:26px 16px;margin:0;border-top:1px solid #b9cdbc}
.trow.key{background:#eff6ed}
.trow dt{font-size:16px;line-height:1.8;font-weight:700}
.trow dd{min-width:0}
.trow dd .c{font-size:18px;line-height:1.8}
.trow dd small{font-size:16px;line-height:1.85;margin-top:16px}
.trow small .d{margin:22px 0 0;padding:0 0 0 14px;border-left:2px solid #b7791f;background:transparent}
.trow small .d b{font-family:var(--round);font-size:16px;line-height:1.8;margin-bottom:10px}
.trow small .glossary-copy{display:block;text-indent:0}
@media(min-width:860px){
 .hero-grid{align-items:stretch}
 .hero-art{position:sticky;top:40px;align-self:start;display:block;margin-top:114px;margin-bottom:0;padding:24px 20px 0;background:#fbfcf7}
 .hero-illustration{flex:none}
 .hero-art .cap{background:#fbfcf7}
 .qa li:nth-child(2),.qa li:nth-child(4),.qa li:nth-child(6){padding-right:12px}
}
@media(max-width:859px){
 .hero{isolation:isolate}
 .hero::before{display:block;inset:80px 0 auto;height:700px;background-image:url('assets/frame-mobile.webp');background-size:100% auto;background-position:center top;z-index:0;mask-image:linear-gradient(transparent 0%,#000 5%,#000 55%,transparent 100%)}
 .hero-art{margin-top:32px;padding:16px 16px 0;background:#fbfcf7 url('assets/frame-mobile.webp') center/100% auto no-repeat;box-shadow:none}
 .hero-art .cap{margin:0 -16px;padding:14px 16px;border-top:1px solid #a8c3b1}
 .terms{padding:28px 0 0}
 .trow,.trow.key{grid-template-columns:1fr;gap:10px;padding:24px 14px}
 .trow dt{color:var(--main-deep)}
 .trow small .d{padding:0 0 0 12px}
 .qa{gap:0}
 .qa li.main{padding:24px 20px}
}
@media(max-width:480px){
 .hero::before{inset:80px 0 auto;height:700px;background-size:100% auto}
 .eyebrow{max-width:100%;background:#fbfcf7}
 h1{font-size:38px}
 .cond .price{font-size:16px}
 .cond .ln:first-child{padding-left:12px}
 .mid{padding:26px 0;background:transparent}
 .mid .cond,.final .cond{max-width:100%}
 .mid .cta{font-size:16px}
 .cond a.nb{white-space:normal}
 .qa li.main{padding:22px 16px}
 .qa b,.qa li.main b{font-size:20px}
 .qa .p{margin-top:18px}
 .qa .p:first-child{margin-top:0}
 .terms{padding:26px 0 0}
 .trow,.trow.key{padding:22px 12px}
 .trow dd .c{font-size:17px}
 .terms .trow .c .nb{white-space:normal}
 .trow small .d{padding-left:10px}
 .plans .name{font-size:20px}
 .plans .yen{font-size:25px}
}
@media(max-width:359px){
 h1{font-size:31px}
 .mid .cta{font-size:14.5px;gap:5px}
 .hero::before{inset:80px 0 auto;height:650px}
 .trow,.trow.key{padding:22px 10px}
 .trow small .d{padding-left:8px}
 .qa b,.qa li.main b{font-size:19px}
 .hero-art{padding-left:12px;padding-right:12px}
 .hero-art .cap{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
}
