@font-face{font-family:'IDrive Noto Sans JP';src:url('assets/fonts/NotoSansJP-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IDrive Noto Sans JP';src:url('assets/fonts/NotoSansJP-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{font-family:'IDrive Noto Sans JP','Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-synthesis:none}
body{font-size:14px;line-height:1.9;font-weight:400;letter-spacing:0}button,input,select{font:inherit;letter-spacing:0}h1,h2,h3,b,strong,legend{font-weight:700;letter-spacing:0}h1{font-size:36px;line-height:1.4}h2{font-size:24px;line-height:1.6;color:var(--heading)}h3{font-size:18px;line-height:1.6}small,.note{font-size:12px;line-height:1.8}.preview-strip{font-size:10px;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:.08em;font-weight:700;line-height:1.6}.button,.header-consult,.hero-months button{font-size:14px;font-weight:700;line-height:1.5}.hero-kicker{font-size:16px;line-height:1.6;font-weight:700}.hero-kicker>span{font-size:18px}.hero-description{font-size:14px;line-height:1.9}.hero-caption{font-size:10px}.hero-stamp{font-size:14px;line-height:1.8}.hero-stamp strong{font-size:20px}.hero-stamp span{font-size:10px;letter-spacing:.08em}.search-title h2{font-size:18px;line-height:1.6;color:var(--ink)}.search-year{font-size:12px}.select-field,legend{font-size:12px;font-weight:700;line-height:1.6}.license-options span,select{font-size:14px;line-height:1.5}.advanced summary{font-size:12px;font-weight:700}.advanced summary span{font-size:12px;font-weight:400}.text-button{font-size:13px;font-weight:700;line-height:1.7}.reasons strong{font-size:12px;line-height:1.5}.reason-icon{font-size:20px;font-weight:700}.data-note{font-size:12px;line-height:1.8}.data-note>span{font-weight:700}.result-toolbar{font-size:13px;line-height:1.5}#result-status strong{font-size:25px;line-height:1.4}.sort-field{font-size:12px}.sort-field select{font-size:12px}.school-location{font-size:12px;line-height:1.6;font-weight:700}.school-location span:last-child{font-size:10px;letter-spacing:.08em;font-weight:400}.school-head h3{font-size:18px;line-height:1.6}.school-head p{font-size:12px;line-height:1.8}.plan-tags{font-size:12px;line-height:1.6}.plan-name{font-size:12px;line-height:1.8}.date-row strong{font-size:23px;line-height:1.5}.date-row em{font-size:12px;font-weight:400}.price-amount{font-size:24px;line-height:1.3;font-weight:700}.price-amount small{font-size:13px;font-weight:400}.plan-fees,.plan-footnote{font-size:12px;line-height:1.8}.plan-detail{font-size:13px;font-weight:700;line-height:1.5}.help-inline strong{font-size:15px}.help-inline p{font-size:13px;line-height:1.8}.life-grid figcaption{font-size:15px;font-weight:700;line-height:1.7}.life-grid figcaption small{font-size:12px;font-weight:400}.life-side figcaption{font-size:13px}.lifestyle h3{font-size:18px}.lifestyle-links strong{font-size:15px}.lifestyle-links button>span{font-size:18px}.benefit-card h3{font-size:16px;line-height:1.7}.benefit-card p,.benefit-card>a,.benefit-card details{font-size:14px;line-height:1.9}.benefit-card summary{font-weight:700}.guide-grid article>span{font-size:25px;line-height:1.4}.guide-grid h3{font-size:16px;line-height:1.7}.guide-grid p{font-size:14px}.support-copy p{font-size:14px}.support-copy .eyebrow{font-size:10px}.flow p{font-size:13px;line-height:1.8}.flow .note{font-size:12px}.faq-list summary{font-size:15px;line-height:1.7;font-weight:700}.faq-list summary>span{font-size:20px}.faq-list p{font-size:14px;line-height:1.9}footer p{font-size:12px}dialog h2{font-size:22px;line-height:1.6}dialog dl{font-size:14px;line-height:1.8}.dialog-note{font-size:12px;line-height:1.8}
@media(min-width:541px){h1{font-size:42px}h2{font-size:26px}.hero-kicker{font-size:17px}.hero-description{font-size:15px}.reasons strong{font-size:13px}}
@media(min-width:801px){body{font-size:15px}h1{font-size:48px}h2{font-size:28px}.hero-kicker{font-size:18px}.desktop-nav{font-size:13px;font-weight:700}.search-title h2{font-size:20px}.reasons strong{font-size:15px}.hero-description{font-size:15px}.faq-list summary{font-size:16px}.support-copy p{font-size:15px}}
.plan-apply{font-size:13px;line-height:1.5;font-weight:700}
.school-placeholder>span{font-size:13px;line-height:1.7}
.school-placeholder small{font-size:12px;line-height:1.6}
.plan-card .date-row strong{font-size:20px;line-height:1.5}
.plan-card .school-head p{font-size:12px;line-height:1.7}
.school-photo figcaption,.benefit-art figcaption,.closing-scene figcaption{font-size:12px;line-height:1.6;font-weight:400}
.benefit-label{font-size:22px;line-height:1.5;font-weight:700}
@media(min-width:541px){.closing-copy h2{font-size:24px}}
@media(min-width:801px){.closing-copy h2{font-size:28px}}
.fixed-cta-button{font-size:14px;font-weight:700;line-height:1.5;letter-spacing:0}
.conversation-label{font-size:12px;font-weight:700;line-height:1.7}
.conversation-label span{font-size:18px;line-height:1}
.conversation-bubble{font-size:14px;line-height:1.7;font-weight:400}
.conversation-note{font-size:12px;line-height:1.8}
.phone-desk h3{font-size:16px;line-height:1.7}
.phone-desk .phone-number{font-size:24px;font-weight:700;line-height:1.5}
.phone-desk p{font-size:13px;line-height:1.8}
@media(max-width:360px){h1{font-size:32px}.hero-months button{font-size:13px}.search-title h2{font-size:16px}.reasons strong{font-size:12px}}

.hero-school-link{font-size:14px;font-weight:700;line-height:1.5}
.selector-heading h3{font-size:16px;line-height:1.6}
.selector-heading>span{font-size:12px;line-height:1.6}
.choice-options span{font-size:14px;font-weight:700;line-height:1.5}
.school-recommendation>strong{font-size:14px;line-height:1.6;font-weight:700}
.school-recommendation>small{font-size:12px;line-height:1.6}

.chat-title{font-size:14px;font-weight:700;line-height:1.5}
.chat-example,.chat-sender,.chat-note{font-size:12px;line-height:1.7}
.chat-avatar{font-size:11px;font-weight:700;line-height:1}
.chat-bubble{font-size:14px;line-height:1.8}

.school-entry-month{font-size:13px;font-weight:700;line-height:1.7}
.school-entry-month>small{font-weight:400}
.entry-dates strong{font-size:20px;line-height:1.4}
.entry-price>strong{font-size:22px;line-height:1.4}
.entry-price strong small{font-size:13px;font-weight:400}
.entry-apply{font-size:13px;line-height:1.5}

/* Spring editorial type hierarchy. */
.hero-prelude{font-size:12px;font-weight:700;line-height:1.6}
.hero .hero-headline{font-size:39px;line-height:1.4}
.hero-stamp{font-size:12px;line-height:1.7}
.hero-stamp strong{font-size:17px}
.hero-stamp span{font-size:9px;letter-spacing:.06em}
.spring-ribbon{font-size:12px;line-height:1.7}
.intro-heading{font-size:15px;line-height:1.7}
.life-display{font-size:clamp(36px,10vw,100px);font-weight:700;line-height:1.15;letter-spacing:-.045em}
@media(max-width:360px){.hero .hero-headline{font-size:34px}.hero-description{font-size:13px}.spring-ribbon{gap:8px;font-size:11px}.spring-ribbon span:after{margin-left:6px}.hero-stamp{font-size:11px}}
@media(min-width:541px){.hero .hero-headline{font-size:46px}.intro-heading{font-size:18px}.spring-ribbon{font-size:14px}}
@media(min-width:801px){.hero .hero-headline{font-size:52px}.hero-prelude{font-size:14px}.hero-stamp{font-size:14px}.hero-stamp strong{font-size:20px}.hero-stamp span{font-size:10px}.life-section h2{font-size:32px;line-height:1.6}}

.fixed-cta-button{font-size:13px;line-height:1.5}

/* Unified FV typography. */
.hero-kicker>span:first-child{font-size:28px;line-height:1.4;letter-spacing:-.035em}
.hero-kicker .hero-season{font-size:15px;line-height:1.4}
.hero-season small{font-size:11px;font-weight:400;letter-spacing:.08em}
.hero .hero-headline{font-size:clamp(34px,10.6vw,44px);line-height:1.5}
.hero-prelude{font-size:13px;font-weight:400;line-height:1.8}
.hero-description{font-size:12px;line-height:1.8}
.hero-caption{font-size:9px;line-height:1.6}
@media(max-width:360px){.hero .hero-headline{font-size:33px}.hero-description{font-size:11px}.hero-prelude{font-size:12px}}
@media(min-width:541px){.hero .hero-headline{font-size:52px}.hero-prelude{font-size:15px}}
@media(min-width:801px){.hero .hero-headline{font-size:62px}.hero-kicker>span:first-child{font-size:36px}.hero-kicker .hero-season{font-size:18px}.hero-season small{font-size:12px}.hero-description{font-size:13px}.hero-caption{font-size:10px}}

.demo-school-photo .school-photo-label,.plan-card .demo-school-photo figcaption{font-size:10px;line-height:1.6;font-weight:400}

.curated-intro>span{font-size:12px;line-height:1.8}

.support-panel .chat-title{font-size:13px}.support-panel .chat-example{font-size:10px}.support-panel .chat-note{font-size:11px;line-height:1.7}

.school-consult-link{font-size:13px;line-height:1.7;font-weight:700}

.idplus-heading p{font-size:12px;line-height:1.7;font-weight:700}
.idplus-heading p span{font-size:10px;font-weight:400}
.benefit-phase{font-size:11px;font-weight:700;line-height:1.6}
.benefit-phase>span{font-size:10px;line-height:1}
.benefit-stage h3{font-size:18px;line-height:1.5}
.benefit-stage-copy>p:last-child{font-size:12px;line-height:1.8}
.benefit-details-link{font-size:12px;font-weight:700;line-height:1.7}
.guarantee-heading h3{font-size:24px;line-height:1.4}
.guarantee-lead{font-size:11px;line-height:1.8}
.benefit-guarantee>p,.benefit-guarantee details{font-size:13px;line-height:1.8}
.benefit-guarantee summary{font-weight:700}
.benefits-note{font-size:11px;line-height:1.8}
@media(max-width:360px){.benefit-stage h3{font-size:17px}.idplus-heading p{font-size:11px}}

.service-brand>span{font-size:12px;line-height:1.7;font-weight:700}.roadservice-name small{font-size:11px;line-height:1.6;font-weight:400}

.guide-grid article>span{font-size:18px;font-weight:400;line-height:1.4}.flow>.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.1em}.flow>h3{font-size:20px;line-height:1.5}.flow li>span{font-size:13px;font-weight:700}.flow li strong{font-size:14px;line-height:1.7}

.faq-topics a{font-size:12px;font-weight:700;line-height:1.6}.faq-group h3{font-size:15px;line-height:1.6}.faq-intro,.faq-detail-link{font-size:13px;line-height:1.8}

/* Keep the longer, concrete closing message readable on small screens. */
@media(max-width:540px){.closing-copy h2{font-size:clamp(18px,5.2vw,26px);line-height:1.7}}
