.narrow { width: min(790px, calc(100% - 40px)); }
.price-lead { background: #fff; text-align: center; }
.price-lead h2, .price-steps h2, .price-note h2 { margin: 0; color: var(--navy); font-family: 'Noto Serif JP', serif; font-size: clamp(27px, 3.4vw, 42px); font-weight: 600; letter-spacing: .06em; line-height: 1.6; }
.price-lead p:not(.section-kicker) { margin: 29px auto 0; text-align: left; }
.price-steps { background: var(--pale); }
.price-steps ol { margin: 42px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.price-steps li { display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.price-steps li > span { color: var(--blue); font-size: 12px; letter-spacing: .15em; padding-top: 5px; }
.price-steps h3 { margin: 0; color: var(--navy); font-family: 'Noto Serif JP', serif; font-size: 21px; font-weight: 600; }
.price-steps p { margin: 8px 0 0; }
.price-note { background: var(--navy); color: #edf4f5; text-align: center; }
.price-note .section-kicker { color: #9cc5d5; }
.price-note h2 { color: #fff; }
.price-note p:not(.section-kicker) { margin: 26px 0 0; }
@media(max-width:720px) { .price-lead h2 br, .price-note h2 br { display: none; } .price-steps ol { margin-top: 28px; } .price-steps li { grid-template-columns: 52px 1fr; gap: 13px; } .price-steps h3 { font-size: 19px; } }
