/* Pricing page — editorial price list, intentionally distinct from card grids. */
.pricing-page .skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;padding:.6em 1em}
.pricing-page .skip-link:focus{left:1rem}
.pricing-page .site-header{background:#faf8f4;box-shadow:0 1px 0 #e4e0d7}
.pr-hero{background:#242423;color:#fbfaf7;padding:calc(var(--header-h) + 2.2rem) 0 0;position:relative;overflow:hidden}
.pr-hero::after{content:"";position:absolute;width:min(72vw,980px);height:min(72vw,980px);right:-31%;bottom:-90%;border:1px solid rgba(255,255,255,.09);border-radius:50%;pointer-events:none}
.pr-crumb{display:flex;gap:.75rem;color:#c6c2b9;font-size:.76rem;letter-spacing:.04em;margin-bottom:clamp(3rem,6.5vw,6rem)}
.pr-crumb a:hover{text-decoration:underline}
.pr-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:clamp(3rem,9vw,8rem);align-items:end;padding-bottom:clamp(4rem,9vw,8rem)}
.pr-kicker,.pr-section-no,.pr-choice-num,.pr-block-index,.pr-disc-label{font-family:var(--font-en);font-size:.72rem;font-weight:700;letter-spacing:.16em}
.pr-kicker{color:#f09382;margin-bottom:2rem;display:flex;gap:2rem}
.pr-kicker span{color:#9a978f}
.pr-hero h1{font-size:clamp(2.8rem,5.3vw,4.25rem);font-weight:600;letter-spacing:-.075em;line-height:1.18;max-width:10em}
.pr-hero-copy{font-size:clamp(1rem,1.15vw,1.12rem);line-height:2;max-width:34em;color:#d0cec8;margin-top:2.25rem}
.pr-hero-link{display:inline-flex;align-items:center;gap:3rem;border-bottom:1px solid #e76c58;padding:1.1rem 0 .65rem;margin-top:2rem;color:#fff;font-size:.95rem;font-weight:700}
.pr-hero-link span{font-size:1.25rem;color:#e76c58}
.pr-hero-index{border-top:1px solid #6d6c69;padding-top:1.15rem}
.pr-hero-index p{font-size:.8rem;color:#aba9a3;margin:0 0 1.5rem}
.pr-hero-index a{display:grid;grid-template-columns:2rem 1fr 1.3rem;align-items:center;gap:1rem;border-bottom:1px solid #50504e;padding:1rem 0;font-size:.97rem}
.pr-hero-index a span:first-child{font-family:var(--font-en);font-size:.75rem;color:#625f59}
.pr-hero-index a span:last-child{text-align:right;color:#e76c58}
.pr-hero-index a:hover{color:#f29b8b}
.pr-hero-foot{display:flex;flex-wrap:wrap;gap:.7rem 2.6rem;border-top:1px solid #50504e;padding:1.15rem 0;color:#c1bdb6;font-size:.76rem}
.pr-hero-foot span::before{content:"/";color:#e76c58;margin-right:.7rem}
.pr-section{padding:clamp(5rem,10vw,10rem) 0;scroll-margin-top:var(--header-h)}
.pr-section-top{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1rem clamp(2rem,5vw,5rem);padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.pr-section-no{color:#b23a2e;padding-top:.65rem}
.pr-section-top h2{font-size:clamp(2rem,3.5vw,3.75rem);font-weight:600;line-height:1.3;letter-spacing:-.06em;color:#242423}
.pr-section-top h2 em,.pr-discount h3 em{font-style:normal;color:#b23a2e}
.pr-section-top>p{grid-column:2;color:#68655e;font-size:.93rem}
.pr-choose{background:#f5f2eb}
.pr-choice-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c9c4ba;border-bottom:1px solid #c9c4ba}
.pr-choice{min-height:19rem;padding:2.2rem clamp(1.2rem,3vw,3rem) 2.3rem 0;display:flex;flex-direction:column;align-items:flex-start}
.pr-choice+.pr-choice{border-left:1px solid #c9c4ba;padding-left:clamp(1.2rem,3vw,3rem)}
.pr-choice-num{color:#a09b92}
.pr-choice h3{font-size:clamp(1.7rem,2.4vw,2.5rem);font-weight:600;line-height:1.3;letter-spacing:-.055em;margin:.9rem 0 .7rem}
.pr-choice p{max-width:24rem;font-size:.94rem;line-height:1.9;color:#625e57}
.pr-choice a{margin-top:auto;padding-top:1.5rem;color:#ac382d;font-size:.85rem;font-weight:700;border-bottom:1px solid #b23a2e}
.pr-monthly{background:#faf8f4}
.pr-price-block{margin-bottom:clamp(4rem,8vw,8rem);scroll-margin-top:calc(var(--header-h) + 2rem)}
.pr-price-block:last-child{margin-bottom:0}
.pr-block-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1.7rem}
.pr-block-index{color:#ad3d32}
.pr-block-heading h3{font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.2;font-weight:600;letter-spacing:-.06em;margin-top:.55rem}
.pr-block-heading>p{font-size:.85rem;color:#746e65;max-width:21rem}
.pr-price-head,.pr-price-row{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(250px,1.3fr) minmax(145px,.55fr);gap:clamp(1rem,3vw,3rem);align-items:center}
.pr-price-head{font-size:.68rem;letter-spacing:.1em;color:#777169;border-top:2px solid #242423;border-bottom:1px solid #d4d0c8;padding:.8rem .5rem}
.pr-price-head span:last-child{text-align:right}
.pr-price-row{min-height:8.5rem;border-bottom:1px solid #d4d0c8;padding:1.25rem .5rem}
.pr-service strong{display:block;font-size:1.15rem;line-height:1.35;font-weight:650}
.pr-service span{display:block;font-size:.76rem;color:#ae4a40;margin-top:.4rem}
.pr-price-row p{font-size:.85rem;line-height:1.75;color:#605b54}
.pr-amount{text-align:right;white-space:nowrap}
.pr-amount strong{font-family:var(--font-en);font-size:clamp(1.5rem,2.2vw,2.25rem);font-weight:600;letter-spacing:-.055em;line-height:1.15}
.pr-amount small{font-family:var(--font-ja);font-size:.7rem;letter-spacing:0;margin-left:.13rem}
.pr-amount>span{display:block;color:#777169;font-size:.7rem}
.pr-inline-note{color:#625e57;font-size:.8rem;line-height:1.8;padding-top:1.1rem}
.pr-inline-note::before{content:"※ ";color:#b23a2e}
.pr-inline-note a{color:#ab382e;border-bottom:1px solid currentColor}
.pr-conditions{background:#f1eee7}
.pr-condition-layout{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid #292826}
.pr-discount{padding:clamp(2rem,4vw,4rem) clamp(1.5rem,5vw,5rem) clamp(2rem,4vw,4rem) 0}
.pr-disc-label{color:#b23a2e}
.pr-discount h3{font-size:clamp(1.6rem,2.4vw,2.7rem);line-height:1.35;letter-spacing:-.06em;margin:1.7rem 0}
.pr-discount>p{font-size:.9rem;color:#625e57;line-height:1.9;max-width:30rem}
.pr-example{border-top:1px solid #c9c4ba;border-bottom:1px solid #c9c4ba;margin-top:3rem;padding:1.15rem 0;display:grid;gap:.25rem}
.pr-example span:first-child{font-size:.78rem;color:#625e57}
.pr-example strong{font-size:clamp(1.5rem,2vw,2rem);letter-spacing:-.045em}
.pr-example small{font-size:.65rem;letter-spacing:0}
.pr-example span:last-child{font-size:.72rem;color:#767067}
.pr-terms-list{border-left:1px solid #c9c4ba;padding:clamp(2rem,4vw,4rem) 0 clamp(2rem,4vw,4rem) clamp(1.5rem,5vw,5rem)}
.pr-terms-list h3{font-size:1.2rem;margin-bottom:1.4rem}
.pr-terms-list dl{margin:0}
.pr-terms-list dl>div{border-top:1px solid #c9c4ba;padding:1rem 0;display:grid;grid-template-columns:7.5rem 1fr;gap:1rem}
.pr-terms-list dt{font-size:.8rem;font-weight:700}
.pr-terms-list dd{margin:0;font-size:.79rem;color:#625e57;line-height:1.85}
.pr-terms-list>a{display:inline-block;margin-top:1.5rem;border-bottom:1px solid #b23a2e;color:#ac382d;font-size:.8rem;font-weight:700}
.pr-ai-note{margin-top:1.5rem;font-size:.76rem;line-height:1.8;color:#625e57}
.pr-ai-note a{color:#ac382d;border-bottom:1px solid currentColor}
.pr-diagnosis{padding:clamp(5rem,10vw,10rem) 0;background:#242423;color:#fff}
.pr-diagnosis .pr-section-no{color:#ec816e}
.pr-diagnosis h2{font-size:clamp(2.2rem,4vw,4.4rem);line-height:1.3;letter-spacing:-.07em;font-weight:600;margin:2rem 0 1.5rem}
.pr-diagnosis p{max-width:32rem;color:#c6c3bc;font-size:.93rem;line-height:1.9;margin-bottom:2rem}
.pricing-page .site-footer{position:relative;z-index:2}
@media(max-width:800px){.pr-hero-grid{grid-template-columns:1fr;gap:3rem}.pr-hero-index{max-width:30rem}.pr-section-top{grid-template-columns:1fr;gap:.8rem}.pr-section-top>p{grid-column:1}.pr-price-head,.pr-price-row{grid-template-columns:minmax(130px,.85fr) minmax(160px,1.2fr) minmax(110px,.6fr);gap:1rem}}
@media(max-width:600px){.pr-hero{padding-top:calc(var(--header-h) + 1.3rem)}.pr-hero h1{font-size:clamp(2.05rem,9vw,2.6rem)}.pr-section-top h2{font-size:clamp(1.75rem,7.5vw,2.25rem)}.pr-choose .pr-section-top h2 em{display:block}.pr-diagnosis h2{font-size:clamp(1.75rem,8vw,2.2rem)}.pr-hero-grid{padding-bottom:4rem}.pr-choice-grid,.pr-condition-layout{grid-template-columns:1fr}.pr-choice{min-height:16rem;padding:1.8rem 0}.pr-choice+.pr-choice{border-left:0;border-top:1px solid #c9c4ba;padding-left:0}.pr-block-heading{display:block}.pr-block-heading>p{margin-top:.8rem}.pr-price-head{display:none}.pr-price-row{grid-template-columns:1fr auto;gap:.5rem 1rem;min-height:0;padding:1.35rem 0}.pr-price-row p{grid-column:1/-1;grid-row:2}.pr-amount{grid-column:2;grid-row:1}.pr-amount strong{font-size:1.6rem}.pr-discount{padding-right:0}.pr-terms-list{border-left:0;border-top:1px solid #c9c4ba;padding-left:0}.pr-terms-list dl>div{grid-template-columns:6rem 1fr}}
@media(prefers-reduced-motion:reduce){.pricing-page *, .pricing-page *::before,.pricing-page *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
