/* v4: system Japanese fonts and mobile-first reading refinements */
:root{--font-jp:"Hiragino Kaku Gothic ProN","Hiragino Sans","ヒラギノ角ゴ ProN W3","Meiryo","メイリオ",sans-serif}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}
body{font-family:var(--font-jp)}
section[id]{scroll-margin-top:24px}
.hero h1 .hero-sentence{display:block;white-space:normal}
.hero h1 .hero-sentence:nth-child(2):after{display:none}
.hero h1 .hero-sentence+.hero-sentence{margin-top:.35em}
.hero h1 .phrase{display:inline-block;max-width:100%}
.gift-figure{margin:0 0 20px}
.gift-figure img{display:block;width:100%;height:auto;border-radius:12px}
.gift-figure figcaption{font-size:.75rem;color:var(--muted);text-align:right;margin-top:4px}
.gift-label{color:var(--green);font-size:.8125rem;letter-spacing:.04em;margin-bottom:8px}
.gift-title{font-size:1.3rem;line-height:1.65;margin-bottom:20px}
.gift-title span{display:block;font-size:1.6em;color:var(--green)}
.line-button{gap:8px;white-space:normal;line-height:1.6}
.line-button .cta-label{font-size:inherit}
.line-button .cta-label span{font-size:inherit;display:inline-block}
.consultation-card .consultation-followup{margin-top:20px}
@media(max-width:700px){
 body{font-size:.9375rem;line-height:1.85;letter-spacing:0}
 .wrap{width:calc(100% - 40px)}
 .section{padding-top:52px;padding-bottom:52px}
 .header{padding-top:20px;padding-bottom:20px;gap:12px}
 .brand{font-size:1.4rem}.brand span{font-size:.6875rem;letter-spacing:0}
 .header-link{font-size:.75rem;white-space:nowrap}
 .hero{padding-top:28px;padding-bottom:24px;gap:28px}
 .eyebrow{font-size:.8125rem;margin-bottom:20px}
 .hero h1{font-size:clamp(1.25rem,5.65vw,1.55rem);line-height:1.65;letter-spacing:-.025em}
 .hero h1>span:nth-child(2),.hero h1>span:nth-child(4){white-space:normal}
 .hero-sub{font-size:.875rem;line-height:1.9;margin-top:22px}
 .hero-actions{margin-top:24px;gap:14px}
 .hero-actions .secondary{font-size:.8125rem;line-height:1.7}
 h2,.closing h2{font-size:clamp(1.2rem,5.25vw,1.4375rem);line-height:1.65}
 h3,.support-item h3{font-size:1rem;line-height:1.7}
 .learn h2 br,.main-invitation h2 br,.consultation h2 br{display:none}
 .support-item{padding-top:20px;padding-bottom:20px}
 .support-item p{font-size:.9375rem;line-height:1.85}
 .environment .lead{font-size:1.0625rem;line-height:1.8}
 .kicker{font-size:.6875rem;line-height:1.7;letter-spacing:.025em}
 .checklist li,.learn-cta p:not(.note),.main-invitation p:not(.note):not(.kicker),.faq summary,details>p{font-size:.9375rem}
 .intro-strip{font-size:.9375rem}
 .empathy-bottom p:first-child,.story-conclusion,.closing-invitation{font-size:1rem}
 .credentials span,.tags li,.choices li{font-size:.8125rem}
 .button{font-size:.875rem;line-height:1.65;min-height:48px;padding:13px 15px;gap:10px}
 .button>span[aria-hidden]{font-size:1.15rem}
 .button small{font-size:.75rem}
 .consultation-card{padding:22px 18px}
 .gift-title{font-size:1rem;margin-bottom:16px}.gift-title span{font-size:1.5rem}
 .gift-label{font-size:.75rem}
 .gift-figure{margin-bottom:16px}
 .line-button{font-size:.8125rem;gap:6px;padding:13px 10px}
 .line-button .cta-label{flex:1}
 .final-secondary,.final-secondary .secondary{font-size:.8125rem;line-height:1.8}
 .sticky-cta{padding:9px 20px calc(9px + env(safe-area-inset-bottom))}
 .sticky-cta .button{min-height:44px;padding:10px 14px;font-size:.875rem}
 .profile-list,.profile p{font-size:.8125rem}
 .note{font-size:.75rem;line-height:1.75}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
