:root{--brand:#174c41;--ink:#293432;--muted:#5e6b68;--line:#dbe5e1;--cta:#167d55;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",YuGothic,Meiryo,sans-serif;--serif:"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:24px}body{margin:0;font-family:var(--sans);color:var(--ink);font-size:16px;line-height:1.9;background:#fff}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p+p{margin-top:1em}h1,h2{font-family:var(--serif);font-weight:600;color:var(--brand);line-height:1.55;letter-spacing:.025em}h1{font-size:clamp(30px,2.65vw,38px)}h2{font-size:clamp(28px,3vw,40px);margin-bottom:24px}h3{font-size:21px;line-height:1.65}a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #a66a12;outline-offset:5px}.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}.narrow{max-width:780px}.section{padding:96px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--brand);margin-bottom:20px}.fine{font-size:13px;color:var(--muted);line-height:1.8}.section-heading{margin-bottom:42px}.skip{position:absolute;top:-80px;left:10px;z-index:10;background:var(--brand);color:#fff;padding:8px}.skip:focus{top:10px}.header{border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:14px}.brand{text-decoration:none;line-height:1.5;color:var(--brand)}.brand span{display:block;font-size:17px;font-weight:600}.brand b{font-size:22px}.brand small{font-size:11px;letter-spacing:.09em}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 24px;min-height:52px;background:var(--cta);border:1px solid var(--cta);border-radius:7px;color:#fff;font-weight:700;text-decoration:none;text-align:center;line-height:1.6}.button:hover{background:#0e6544}.button.small{font-size:14px;padding:10px 18px}.button.large{min-height:64px;padding:18px 32px}.text-link{display:inline-flex;align-items:center;gap:22px;color:var(--brand);font-weight:700}.hero{background:#f5f9f7;padding:65px 0 70px}.hero-grid{display:grid;grid-template-columns:1.22fr 1fr;align-items:center;gap:50px}.intro{font-size:13px;color:var(--muted);margin-bottom:15px}.hero-message{font-size:23px;color:var(--brand);font-weight:600;line-height:1.65;margin:23px 0 18px}.hero-description{font-size:15px;line-height:1.9;margin-bottom:23px}.mobile-break{display:none}.hero-map{background:#fff;padding:28px;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px #1e4b3f09}.map-caption{font-family:var(--serif);color:var(--brand);font-size:21px;margin-bottom:18px}.mini-roadmap{list-style:none;padding:0;margin:0}.mini-roadmap li{position:relative;display:flex;gap:17px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);color:var(--phase-ink)}.mini-num{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:var(--phase);color:var(--number);font-size:19px;font-weight:700}.mini-roadmap small{display:block;font-size:12px;line-height:1.5}.mini-roadmap strong{display:block;font-size:17px;line-height:1.7}.map-support{border-left:3px solid var(--brand);background:#eaf3ef;margin:21px 0 12px;padding:12px 15px}.map-support strong,.map-support span{display:block}.map-support strong{font-size:15px;color:var(--brand)}.map-support span{font-size:12px}.phase1{--phase:#668eaf;--phase-ink:#355e80;--tint:#edf3f8;--number:#132f45}.phase2{--phase:#d6b95e;--phase-ink:#796019;--tint:#faf6e8;--number:#493c15}.phase3{--phase:#be7965;--phase-ink:#96513e;--tint:#faf0ec;--number:#381c14}.phase4{--phase:#71977c;--phase-ink:#41664b;--tint:#eef4ee;--number:#152e1c}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.principles article{border-top:1px solid #96b1a6;padding-top:20px}.principles span{font-size:13px;color:var(--muted)}.principles h3{font-family:var(--serif);font-size:26px;color:var(--brand);margin:18px 0}.principles p{font-size:15px}.roadmap-section{background:#f7f7f3}.roadmap-layout{display:grid;grid-template-columns:245px 1fr;gap:55px}.support-rail{border-left:3px solid var(--brand);background:#e8eee7;padding:30px 23px;display:flex;flex-direction:column;align-items:flex-start;color:var(--brand)}.support-rail h3{font-family:var(--serif);font-size:25px;margin-bottom:28px}.support-rail p{font-size:15px}.support-rail .eyebrow{font-size:12px}.support-rail a{font-size:14px;margin-top:26px}.rail-end{margin-top:auto;padding-top:30px;font-weight:700;font-size:14px}.journey-start{display:flex;align-items:center;gap:18px;margin:0 0 22px 28px;font-weight:700;color:var(--brand)}.steps{list-style:none;padding:0 0 0 29px;margin:0;border-left:1px solid #a5b6ad}.step{position:relative;background:var(--tint);border-top:5px solid var(--phase);padding:28px 34px 30px;margin-bottom:30px;border-radius:0 0 10px 10px}.step:before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--phase);left:-36px;top:28px;outline:6px solid #f7f7f3}.step-top{display:flex;gap:16px;justify-content:space-between;align-items:center;color:var(--phase-ink);margin-bottom:14px}.step-number{font-size:12px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.step-number b{font-size:32px;margin-left:6px;letter-spacing:0}.period{font-size:14px;font-weight:700}.step h3{color:var(--phase-ink);font-size:28px;margin-bottom:14px}.step p{font-size:15px}.step p.period{font-size:14px}.step .step-key{font-size:18px;font-weight:700;color:var(--phase-ink);border-top:1px solid color-mix(in srgb,var(--phase) 35%,transparent);padding-top:18px;margin-top:20px}.step a{display:inline-flex;gap:22px;font-size:14px;margin-top:20px;color:var(--phase-ink);font-weight:700}.journey-end{margin:10px 0 0 29px;padding:0 0 0 5px;color:var(--brand)}.journey-end>span{font-size:25px}.journey-end h3{font-family:var(--serif);font-size:24px;margin:15px 0}.journey-end p{font-size:15px}.phase-label{color:var(--phase-ink);font-size:13px;font-weight:700;letter-spacing:.06em;margin-bottom:20px;border-left:5px solid var(--phase);padding-left:12px}.phase-section h2{color:var(--phase-ink)}.curriculum{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;position:relative;padding:23px 44px 23px 0;font-size:18px;font-weight:600;line-height:1.7}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:10px;top:23px;font-weight:400;font-size:23px;line-height:1.3}details[open]>summary:after{content:"−"}details>div{padding:0 30px 24px 0}summary span{display:inline-block;color:var(--phase-ink);margin-right:20px;font-size:15px}.curriculum ul{margin:0;padding-left:23px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.two-column>*{min-width:0}.two-column figure{border-radius:12px;overflow:hidden;background:#f5f9f7}.two-column img{width:100%;height:auto}.two-column figcaption{padding:14px 18px;font-size:12px;color:var(--muted)}#accompany{background:var(--tint)}.practice-list{padding:0;list-style:none;margin:26px 0}.practice-list li{padding:10px 0 10px 18px;border-bottom:1px solid #ded6b9;position:relative}.practice-list li:before{content:"";position:absolute;left:0;top:22px;width:6px;height:6px;background:var(--phase-ink)}.emphasis{font-family:var(--serif);font-size:24px;color:var(--phase-ink);margin-top:28px}.assessment{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.assessment li{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.assessment li>span{color:var(--phase-ink);font-size:15px;font-weight:700;padding-top:4px}.assessment h3{font-size:18px;color:var(--phase-ink)}.assessment p{font-size:14px;margin-top:5px}.adjustment{margin-top:40px;padding:22px 26px;background:var(--tint);border-left:4px solid var(--phase)}.support-section{background:#174c41;color:#fff}.support-section .eyebrow,.support-section h2{color:#fff}.support-item{border-top:1px solid #668e83;margin-top:25px;padding-top:20px}.support-item>span{font-size:12px;color:#d0e4da}.support-item h3{font-size:21px;margin:7px 0}.support-item p{font-size:15px;color:#e0ece5}.support-section .two-column figure{background:#246456}.support-section figcaption{color:#fff}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.learning-grid article{background:var(--tint);border-top:3px solid var(--phase);padding:28px 24px}.learning-grid span{font-size:13px;color:var(--phase-ink);font-weight:700}.learning-grid h3{font-size:21px;margin:15px 0}.learning-grid p{font-size:15px}.faq{background:#f5f9f7}.faq summary{padding-left:36px;font-size:17px}.faq summary:before{content:"Q";position:absolute;left:0;color:var(--brand);font-family:var(--serif);font-size:21px}.faq details>div{padding-left:36px;font-size:15px}.final-cta{text-align:center}.final-cta .button{margin:28px 0 15px}.final-cta .text-link{margin-top:26px;font-size:14px}.final-cta p:not(.eyebrow):not(.fine){font-size:15px}footer{background:#17342e;color:#fff;padding:45px 0}.footer-inner{display:flex;justify-content:space-between;gap:28px}.footer-inner small,.footer-inner span{font-size:12px;color:#c4d2cb}.footer-inner p{font-size:17px;margin:5px 0}.footer-inner nav{display:flex;gap:25px;align-items:center;font-size:13px}
@media(max-width:900px){.hero-grid{gap:28px}.hero-map{padding:22px}.hero h1{font-size:31px}.mini-roadmap strong{font-size:15px}.two-column{gap:36px}.roadmap-layout{grid-template-columns:210px 1fr;gap:32px}.step{padding:25px}.step h3{font-size:25px}.principles{gap:24px}.principles h3{font-size:23px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.section{padding:62px 0}.header-inner{min-height:78px}.brand span{font-size:11px}.brand b{font-size:17px}.brand small{font-size:10px}.button.small{padding:9px 11px;font-size:12px;gap:7px;min-height:44px}.hero{padding:38px 0 40px}.hero-grid{grid-template-columns:1fr;gap:33px}.hero h1{font-size:clamp(26px,7.5vw,39px);letter-spacing:0;line-height:1.65}.mobile-break{display:block}.desktop-break{display:none}.eyebrow{font-size:10px;margin-bottom:16px}.intro{font-size:11px}.hero-message{font-size:22px;margin:19px 0 15px}.hero-description{font-size:14px}.hero .text-link{font-size:14px}.hero-map{padding:23px}.map-caption{font-size:20px}.mini-roadmap li{padding:12px 0}.mini-roadmap strong{font-size:16px}.mini-roadmap small{font-size:12px}.mini-num{font-size:18px}.map-support{padding:11px 12px}.map-support strong{font-size:14px}.map-support span{font-size:11px}.hero-map .fine{font-size:11px}.principles{grid-template-columns:1fr;gap:27px}.principles h3{font-size:25px;margin:12px 0}.principles h3 br{display:none}.principles p{font-size:16px}.section-heading{margin-bottom:30px}.roadmap-layout{display:flex;flex-direction:column;gap:25px}.support-rail{padding:21px 21px 18px;display:block;border-left-width:4px}.support-rail .eyebrow{display:none}.support-rail h3{font-family:var(--sans);font-size:18px;margin:0 0 10px}.support-rail br{display:none}.support-rail p{font-size:14px;margin:5px 0}.support-rail a{display:inline-block;margin-top:10px;font-size:13px}.rail-end{display:block;margin:12px 0 0;padding:10px 0 0;border-top:1px solid #bbcec0;font-size:13px}.journey{border-left:3px solid #b3c7b8;padding-left:16px}.journey-start{margin-left:12px}.steps{padding-left:14px}.step{padding:22px 19px;margin-bottom:25px}.step:before{left:-21px;width:11px;height:11px;outline-width:4px}.step-top{display:block;margin-bottom:13px}.step-number b{font-size:30px}.step p.period{margin-top:3px;font-size:13px}.step h3{font-size:24px;line-height:1.65}.step p{font-size:16px}.step .step-key{font-size:17px}.step a{font-size:13px;gap:10px}.journey-end{margin-left:14px;padding:0}.journey-end h3{font-size:22px}.journey-end p{font-size:15px}.phase-label{font-size:12px}.two-column{grid-template-columns:1fr;gap:30px}summary{font-size:16px;padding-right:30px}summary span{margin-right:12px}details>div{padding-right:10px}.curriculum ul{font-size:15px}.assessment p{font-size:15px}.adjustment{font-size:15px;padding:20px;margin-top:28px}.support-item h3{font-size:20px}.learning-grid{grid-template-columns:1fr;gap:17px}.learning-grid article{padding:23px}.learning-grid h3{margin:10px 0}.learning-grid p{font-size:16px}.faq summary{font-size:16px;padding-left:28px;padding-right:32px}.faq details>div{padding-left:28px}.final-cta .button{width:100%;font-size:15px;padding:17px 12px;gap:10px}.final-cta h2{font-size:28px}.footer-inner{display:block}.footer-inner nav{margin-top:25px;flex-wrap:wrap;gap:18px}.fine{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Education phases: retain the palette and give each phase a larger surface. */
.mini-roadmap li{background:var(--tint);border:0;border-left:4px solid var(--phase);border-radius:5px;padding:12px 14px;margin-bottom:9px;gap:14px}
.mini-num{flex-basis:46px;height:46px;font-size:23px}
.philosophy{padding:34px 0;background:#fff}
.approach-band{border-block:1px solid var(--line);padding-block:25px;text-align:center}
.approach-band h2{font-size:26px;margin:0 0 12px}
.approach-points{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 0;font-size:14px;color:var(--brand);margin:0}
.approach-points span+span:before{content:"／";margin:0 14px;color:#7b9287}
.step{border-top:0;overflow:visible;padding-top:0}
.step-top{margin:0 -34px 23px;padding:18px 34px;background:var(--phase);color:var(--number);border-radius:9px 9px 0 0}
.step-number{font-size:14px}.step-number b{font-size:43px}
.step p.period{font-size:16px}.step h3{font-size:30px}
.step:before{top:34px;width:15px;height:15px;left:-37px}
.phase-label{display:inline-block;border:0;border-radius:5px;padding:12px 20px;background:var(--phase);color:var(--number);font-size:14px;letter-spacing:.03em;margin-bottom:25px}
.topic-check{font-size:16px}.assessment-check{font-size:18px!important}
.map-support{padding:16px 14px;background:#eaf3ef}
.support-equation{display:flex;align-items:center;gap:14px;color:var(--brand)}
.support-equation>div{flex:1;min-width:0}.support-equation span{display:block;font-size:12px;line-height:1.6}
.support-equation strong{display:block;font-family:var(--sans);font-size:25px;line-height:1.5;font-weight:700;letter-spacing:0}
.support-equation .support-qualifier{font-size:12px;font-weight:600}
.support-plus{font-size:25px;font-weight:400}.support-continuity{font-size:13px!important;font-weight:700;color:var(--brand);margin:14px 0 0!important;line-height:1.7}
.support-rail .support-equation{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin:0 0 5px}
.support-rail .support-equation strong{font-size:28px}.support-rail .support-plus{line-height:1}
.support-rail .support-continuity{padding-bottom:20px;border-bottom:1px solid #bbcec0;margin-bottom:20px!important}
.support-section .support-equation{background:#fff;color:var(--brand);border-radius:8px;padding:20px;margin-top:28px;gap:17px}
.support-section .support-equation strong{font-size:29px}.support-section .support-equation>div:last-child strong{font-size:25px}
.support-section .support-continuity{color:#fff;font-size:15px!important}
.support-section .support-item{margin-top:20px;padding-top:17px}
@media(max-width:900px){.step-top{margin-inline:-25px;padding-inline:25px}.support-equation{gap:10px}.map-support .support-equation strong{font-size:21px}.support-section .support-equation{flex-wrap:wrap}.support-section .support-equation strong{font-size:25px}.support-section .support-equation>div:last-child strong{font-size:21px}}
@media(max-width:700px){
 .philosophy{padding:23px 0}.approach-band{padding-block:22px}.approach-band h2{font-size:23px;line-height:1.7;margin-bottom:16px}
 .approach-points{display:block;font-size:14px;line-height:2}.approach-points span{display:block}.approach-points span+span:before{content:none}
 .mini-roadmap li{padding:12px 10px;gap:12px}.mini-num{flex-basis:42px;height:42px;font-size:21px}.mini-roadmap strong{font-size:15px}
 .step{padding-top:0}.step-top{margin:0 -19px 20px;padding:14px 19px}.step-number b{font-size:40px}.step p.period{font-size:14px}.step h3{font-size:24px}.step:before{width:13px;height:13px;left:-22px;top:29px}
 .phase-label{display:block;font-size:12px;padding:12px 14px;margin-bottom:22px}
 .map-support{padding:13px 12px}.map-support .support-equation{gap:8px}.map-support .support-equation strong{font-size:21px}.map-support .support-equation>div:last-child strong{font-size:17px}.map-support .support-equation span{font-size:10px}.map-support .support-equation .support-qualifier{font-size:11px}.map-support .support-plus{font-size:19px}.map-support .support-continuity{font-size:11px!important}
 .support-rail .support-equation{flex-direction:row;align-items:center;gap:12px;margin:15px 0}.support-rail .support-equation strong{font-size:27px}.support-rail .support-equation>div:last-child strong{font-size:20px}.support-rail .support-equation span{font-size:11px}.support-rail .support-continuity{font-size:12px!important;padding-bottom:12px;margin-bottom:12px!important}
 .support-section .support-equation{padding:18px 15px;gap:12px;flex-wrap:nowrap}.support-section .support-equation strong{font-size:29px}.support-section .support-equation>div:last-child strong{font-size:21px}.support-section .support-equation span{font-size:11px}
 #accompany .two-column,#support .two-column{display:flex;flex-direction:column;align-items:stretch}.education-photo{width:100%}
}
