:root { --green:#10772d; --green-bright:#2fae55; --orange:#e77a2b; --red:#e5382b; --paper:#fbfaf7; --ink:#171a19; --frame-top:62px; --frame-bottom:58px; --frame-side:42px; }
*,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;overflow-x:hidden} a{color:inherit} img{display:block;max-width:100%} a:focus-visible{outline:3px solid var(--orange);outline-offset:4px} .spread{scroll-margin-top:1rem}
.frame__edge,.frame__brand,.frame__chapter,.frame__count,.frame__nav,.frame__progress,.frame__bottom-nav{position:fixed;z-index:30}.frame__edge{background:var(--paper);pointer-events:none}.frame__edge--top{inset:0 0 auto;height:var(--frame-top);border-bottom:1px solid var(--green)}.frame__edge--bottom{inset:auto 0 0;height:var(--frame-bottom);border-top:1px solid var(--green)}.frame__edge--left{inset:var(--frame-top) auto var(--frame-bottom) 0;width:var(--frame-side);border-right:1px solid var(--green)}.frame__edge--right{inset:var(--frame-top) 0 var(--frame-bottom) auto;width:var(--frame-side);border-left:1px solid var(--green)}
.frame__brand{top:0;left:var(--frame-side);height:var(--frame-top);display:flex;align-items:center;color:var(--green);font-weight:900;letter-spacing:.06em;text-decoration:none}.frame__brand small{margin-left:.5rem;color:var(--ink);font-size:1rem;letter-spacing:.08em}.frame__chapter{top:0;left:50%;height:var(--frame-top);display:flex;align-items:center;transform:translateX(-50%);font:500 1rem "DM Mono",monospace;letter-spacing:.08em;color:var(--ink);text-transform:uppercase}.frame__count{top:0;right:var(--frame-side);height:var(--frame-top);display:flex;align-items:center;font:500 1rem "DM Mono",monospace;color:var(--ink)}.frame__count b{margin-right:.3rem;color:var(--green);font-size:1.1rem}.frame__nav{left:var(--frame-side);bottom:0;height:var(--frame-bottom);display:flex;align-items:center;gap:1.1rem}.frame__nav a,.frame__bottom-nav{font:500 1rem "DM Mono",monospace;letter-spacing:.08em;text-decoration:none}.frame__nav a{color:var(--ink)}.frame__nav a:hover{color:var(--green)}.frame__progress{right:11px;top:50%;width:3px;height:25vh;transform:translateY(-50%);background:var(--green)}.frame__progress i{display:block;width:100%;height:33%;background:var(--green);transition:height .4s ease}.frame__bottom-nav{right:var(--frame-side);bottom:0;height:var(--frame-bottom);display:flex;align-items:center;gap:1rem;color:var(--ink)}.frame__bottom-nav a{color:var(--green);text-decoration:none}.frame__bottom-nav span{font-size:1rem;color:var(--ink)}
.spread{position:relative;min-height:100svh;padding:calc(var(--frame-top) + 3.8rem) calc(var(--frame-side) + 4rem) calc(var(--frame-bottom) + 3rem);overflow:hidden}.spread--hero{display:grid;align-content:end;color:#fff;background:var(--paper)}.hero__photo,.hero__veil{position:absolute;inset:var(--frame-top) var(--frame-side) var(--frame-bottom)}.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:52% center}.hero__veil{background:linear-gradient(90deg, rgb(23 26 25 / .65), transparent 72%)}.hero__meta{position:absolute;top:calc(var(--frame-top) + 1.2rem);left:calc(var(--frame-side) + 1rem);right:calc(var(--frame-side) + 1rem);display:flex;justify-content:space-between;font:500 1rem "DM Mono",monospace;letter-spacing:.08em;color:#fff}.hero__kicker{position:relative;z-index:1;margin:0 0 1.1rem;border-left:3px solid var(--green-bright);padding-left:.8rem;font-weight:900;letter-spacing:.08em}.hero__title{position:relative;z-index:1;margin:0;font:800 clamp(4.6rem,11vw,11rem)/.92 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.07em}.hero__title em{color:#fff;font-style:normal}.hero__stamp{position:absolute;right:10%;top:31%;z-index:1;border:1px solid #fff;padding:1rem .85rem;text-align:center;font:700 1rem/1.2 "DM Mono",monospace;letter-spacing:.08em}.hero__stamp b{color:var(--green-bright);font-size:1.5rem}.hero__stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:1.3rem;margin-top:2rem;font-size:1rem;font-weight:700}.hero__stats span{border-top:1px solid #fff;padding-top:.55rem}.hero__stats b{margin-right:.25rem;color:#fff;font:700 1.45rem "DM Mono",monospace}.hero__lead{position:absolute;right:9%;bottom:12%;z-index:1;font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;font-size:clamp(1rem,1.6vw,1.5rem);line-height:1.7;text-align:right}
.spread--results{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.65fr);grid-template-rows:auto 1fr auto;gap:1.5rem;background:var(--green);color:#fff}.results__topline{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid #fff;padding-bottom:1rem;font:500 1rem "DM Mono",monospace;letter-spacing:.08em}.results__copy{align-self:center}.eyebrow{margin:0;color:#fff;font-size:1rem;font-weight:900;letter-spacing:.1em}.results__copy h2{margin:.4rem 0 0;font:800 clamp(9rem,24vw,25rem)/.75 "DM Mono",monospace;letter-spacing:-.1em;color:#fff}.results__copy h2 span{margin-left:.5rem;font:700 clamp(1.5rem,4vw,3rem) "Zen Kaku Gothic New",sans-serif;letter-spacing:0}.results__caption{margin:1rem 0 0;font-size:clamp(1.2rem,2vw,2rem);font-weight:900}.results__body{max-width:27rem;margin-top:1.2rem;color:#fff;font-size:1rem;line-height:1.8}.results__photo{align-self:center;margin:0;transform:rotate(2deg);border:9px solid var(--paper);box-shadow:none;background:var(--paper);color:var(--ink)}.results__photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.results__photo figcaption{padding:.35rem .55rem;font:500 1rem "DM Mono",monospace;letter-spacing:.08em}.results__side{align-self:end;display:flex;gap:2rem;flex-wrap:wrap;border-top:1px solid #fff;padding-top:1rem}.results__side p{margin:0;font-size:1rem;line-height:1.5}.results__side b{font:700 1.45rem "DM Mono",monospace;color:#fff}.results__side small{max-width:19rem;color:#fff;font-size:1rem}.results__handwrite{position:absolute;right:8%;bottom:12%;width:min(16rem,22vw);padding:.55rem;background:var(--paper);color:var(--ink);transform:rotate(-5deg);box-shadow:none}.results__handwrite img{width:100%;filter:sepia(.18)}.results__handwrite span{display:block;padding-top:.3rem;font:500 1rem "DM Mono",monospace}
.spread--courses{display:grid;grid-template-columns:minmax(15rem,.8fr) 1fr 1fr;grid-template-rows:1fr auto;gap:1rem;background:var(--paper)}.courses__header{align-self:center;padding:1rem 2rem 1rem 0}.courses__header h2{margin:.7rem 0;font:800 clamp(3.5rem,7vw,8rem)/.95 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.08em}.courses__header>p:last-child{max-width:18rem;color:var(--ink);font-size:1rem}.door{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:65vh;overflow:hidden;padding:2rem;color:#fff;text-decoration:none}.door__photo,.door__shade{position:absolute;inset:0}.door__photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.door:hover .door__photo img{transform:scale(1.06)}.door__shade{background:linear-gradient(0deg, rgb(23 26 25 / .78), transparent 78%)}.door--middle{background:var(--green)}.door--high{background:var(--green)}.door__label,.door h3,.door__arrow{position:relative;z-index:1}.door__label{font:500 1rem "DM Mono",monospace;letter-spacing:.1em}.door h3{margin:.5rem 0 0;font:800 clamp(2rem,3.8vw,4.5rem)/.98 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.06em}.door h3 em{font-style:normal;color:#fff}.door__arrow{align-self:flex-end;margin-top:2rem;font:500 1rem "DM Mono",monospace}.courses__foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--green);padding-top:1rem;font-size:1rem}.courses__foot span{color:var(--ink)}.courses__foot a{color:var(--green);font-weight:900;text-decoration:none}
@media(max-width:899px){:root{--frame-top:54px;--frame-bottom:58px;--frame-side:12px}.frame__chapter{display:none}.frame__brand{left:var(--frame-side);font-size:1rem}.frame__brand small{display:none}.frame__count{right:var(--frame-side)}.frame__nav{display:none}.frame__bottom-nav{right:var(--frame-side);left:var(--frame-side);justify-content:space-between}.spread{padding:calc(var(--frame-top) + 2rem) calc(var(--frame-side) + 1.25rem) calc(var(--frame-bottom) + 2rem);min-height:100svh}.hero__photo,.hero__veil{inset:var(--frame-top) var(--frame-side) var(--frame-bottom)}.hero__meta{top:calc(var(--frame-top) + .8rem);left:calc(var(--frame-side) + .6rem);right:calc(var(--frame-side) + .6rem);font-size:1rem}.hero__title{font-size:clamp(3.7rem,16vw,7rem)}.hero__stamp{right:8%;top:25%;font-size:1rem;padding:.7rem .55rem}.hero__stats{gap:.6rem;margin-top:1.2rem;font-size:1rem}.hero__stats b{font-size:1.1rem}.hero__lead{top:48% !important;right:8%;bottom:auto !important;max-width:15rem;font-size:1rem}.spread--results{display:block;padding-top:calc(var(--frame-top) + 2.5rem)}.results__topline{margin-bottom:1.5rem}.results__copy h2{font-size:clamp(8rem,36vw,14rem)}.results__caption{font-size:1.1rem}.results__body{font-size:1rem}.results__photo{width:82%;margin:2rem 0 0 auto}.results__side{margin-top:2.5rem;gap:1rem}.results__side small{display:block}.results__handwrite{right:4%;bottom:15%;width:9rem}.spread--courses{display:flex;flex-direction:column;padding-top:calc(var(--frame-top) + 2.5rem)}.courses__header{padding:0}.courses__header h2{font-size:clamp(3.4rem,15vw,6rem)}.door{min-height:38vh;padding:1.25rem}.door h3{font-size:clamp(2.4rem,11vw,4.5rem)}.courses__foot{gap:1rem;align-items:flex-start;flex-direction:column}.courses__foot span{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.door__photo img{transition:none}.frame__progress i{transition:none}}

/* V2 chapter extensions */
.spread--method,.spread--voices,.spread--message{min-height:100svh}
@media(min-width:900px){.method__intro h2,.voices__head h2{font-size:clamp(3.5rem,5.2vw,6.2rem);line-height:.98;letter-spacing:-.06em;white-space:normal}.method__intro,.voices__head{min-width:0}.method__intro h2{max-width:14ch}.voices__head h2{max-width:9ch}}
.spread--method,.spread--voices{background:var(--paper);color:var(--ink)}.spread--method{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:center}.method__intro h2,.voices__head h2{margin:0;font:800 clamp(4rem,9vw,9rem)/.9 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.08em}.method__intro em,.voices__head em,.message__content em{color:var(--green);font-style:normal}.method__list{display:grid;gap:1rem}.method__list article{border-top:1px solid var(--green);padding:1rem 0}.method__list b{font:500 1rem "DM Mono",monospace;color:var(--green)}.method__list h3{margin:.35rem 0;font-size:1.3rem}.method__list p{max-width:34rem;margin:0;line-height:1.8}.spread--voices{display:grid;grid-template-columns:.7fr 1.3fr;gap:5rem;align-content:center}.voices__quote{max-width:40rem;padding:2rem 0;border-top:1px solid var(--green);border-bottom:1px solid var(--green)}.voices__quote blockquote{margin:0;font:700 clamp(1.4rem,2.4vw,2.6rem)/1.45 "Zen Kaku Gothic New","Hiragino Sans",sans-serif}.voices__quote cite{display:block;margin-top:1rem;font:500 1rem "DM Mono",monospace}.voices__photo{position:absolute;right:8%;bottom:10%;width:18rem;margin:0;transform:rotate(3deg);background:#fff;padding:.6rem;box-shadow:0 1rem 2rem #17231b1c}.voices__photo img{width:100%;display:block}.voices__photo figcaption{font-size:1rem;padding:.5rem}.spread--message{position:relative;display:grid;align-items:end;color:#fff;background:var(--paper)}.message__photo,.message__veil{position:absolute;inset:var(--frame-top) var(--frame-side) var(--frame-bottom)}.message__photo img{width:100%;height:100%;object-fit:cover}.message__veil{background:linear-gradient(90deg, rgb(23 26 25 / .65), transparent 80%)}.message__content{position:relative;z-index:1;max-width:42rem}.message__content h2{margin:.5rem 0 1.5rem;font:800 clamp(3rem,7vw,7rem)/.95 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.06em}.message__content p{max-width:34rem;line-height:1.9}.message__cta{display:inline-block;margin-top:1rem;border-bottom:1px solid currentColor;padding-bottom:.35rem;color:#fff}@media(max-width:899px){.spread--method,.spread--voices{display:block;padding-top:calc(var(--frame-top) + 2.5rem)}.method__intro h2,.voices__head h2{font-size:clamp(4.5rem,18vw,7rem)}.method__list{margin-top:2rem}.method__list h3{font-size:1rem}.method__list p{font-size:1rem}.spread--voices{position:relative}.voices__quote{margin-top:2rem}.voices__quote blockquote{font-size:1.3rem}.voices__photo{position:relative;right:auto;bottom:auto;width:65%;margin:2rem 0 0 auto}.spread--message{display:block;padding-top:calc(var(--frame-top) + 2.5rem)}.message__content{padding-top:26vh}.message__content h2{font-size:clamp(3.2rem,14vw,5.5rem)}.message__content p{font-size:1rem}}
.spread--method,.spread--voices{min-height:100svh}@media(min-width:900px){.method__intro h2,.voices__head h2{font-size:clamp(3.5rem,5.2vw,6.2rem);line-height:.98;letter-spacing:-.06em;max-width:14ch}.voices__head h2{max-width:9ch}}
@media(max-width:899px){.hero__photo img{object-position:72% center}}
.hero__kicker{font-family:"Shippori Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.2rem,2vw,2rem);line-height:1.05}.hero__kicker strong{display:inline-block;font-size:clamp(2rem,4.8vw,5rem);letter-spacing:-.08em}.hero__stats{position:relative;z-index:2;max-width:42rem}.hero__stats b{font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;font-size:clamp(1rem,1.35vw,1.35rem);letter-spacing:.02em;color:var(--green-bright)}.hero__stats span{white-space:nowrap}@media(max-width:899px){.hero__stats{gap:.45rem;max-width:20rem}.hero__stats span{white-space:normal}.hero__stats b{font-size:1rem}.hero__kicker{font-size:1rem}.hero__kicker strong{font-size:2.45rem}}
.hero__title em,.results__side b,.door h3 em,.eyebrow{color:var(--green-bright)}
.spread--pathways{display:grid;grid-template-columns:minmax(14rem,.55fr) 1fr 1fr;gap:1rem;background:var(--paper)}.pathways__header{align-self:center}.pathways__header h2{margin:.7rem 0;font:800 clamp(3.7rem,7vw,7.5rem)/.92 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.08em}.pathway{position:relative;display:flex;align-items:flex-end;min-height:68vh;overflow:hidden;padding:2rem;color:#fff;text-decoration:none}.pathway>img,.pathway__veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pathway__veil{background:linear-gradient(0deg, rgb(23 26 25 / .78), transparent 72%)}.pathway__content{position:relative;z-index:1}.pathway__content span{font:500 1rem "DM Mono",monospace;letter-spacing:.08em}.pathway__content h3{margin:.75rem 0 1.5rem;font:800 clamp(2rem,3.3vw,4rem)/1.05 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.06em}.pathway__content h3 em{color:var(--green-bright);font-style:normal}.pathway__content b{font:500 1rem "DM Mono",monospace}.spread--classroom{display:grid;grid-template-columns:.55fr 1.15fr .55fr;gap:1.2rem;align-items:center;background:var(--paper)}.classroom__head h2{margin:.7rem 0;font:800 clamp(3.7rem,7vw,7rem)/.92 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.08em}.classroom__head>p:last-child{color:var(--ink);line-height:1.8}.classroom__main,.classroom__sub{margin:0;background:#fff;padding:.65rem;box-shadow:0 1rem 2rem #17231b1c}.classroom__main{transform:rotate(-1.5deg)}.classroom__sub{align-self:end;transform:rotate(3deg)}.classroom__main img,.classroom__sub img{width:100%;height:100%;object-fit:cover}.classroom__main img{aspect-ratio:4/3}.classroom__sub img{aspect-ratio:3/4}.classroom__main figcaption,.classroom__sub figcaption{padding:.55rem;font-size:1rem}@media(max-width:899px){.spread--pathways{display:flex;flex-direction:column}.pathways__header h2{font-size:clamp(3.6rem,15vw,6rem)}.pathway{min-height:42vh;padding:1.25rem}.pathway__content h3{font-size:clamp(2rem,9vw,3.5rem)}.spread--classroom{display:block}.classroom__head h2{font-size:clamp(3.5rem,15vw,5.5rem)}.classroom__main{margin-top:2rem}.classroom__sub{width:65%;margin:1.5rem 0 0 auto}}
.course-story{padding:var(--frame-top) var(--frame-side) var(--frame-bottom)}.course-story>section{min-height:calc(100svh - var(--frame-top) - var(--frame-bottom));padding:6rem 7vw}.course-result{display:flex;flex-direction:column;justify-content:center;background:var(--green);color:#fff}.course-result h1{max-width:14ch;margin:1rem 0;font:800 clamp(4rem,9vw,9rem)/.92 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.08em}.course-result h1 em{color:var(--green-bright);font-style:normal}.course-proof{display:grid;grid-template-columns:.7fr 1fr .55fr;gap:3rem;align-items:center;background:var(--paper)}.course-proof__head h2,.course-system>h2{margin:.8rem 0;font:800 clamp(3rem,6vw,6rem)/.95 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.07em}.course-proof blockquote{margin:0;border-block:1px solid var(--green);padding:2rem 0;font:700 clamp(1.4rem,2.4vw,2.5rem)/1.55 "Zen Kaku Gothic New","Hiragino Sans",sans-serif}.course-proof cite{display:block;margin-top:1rem;font:500 1rem "DM Mono",monospace}.course-proof figure{margin:0;background:#fff;padding:.6rem;transform:rotate(2deg);box-shadow:0 1rem 2rem #17231b1c}.course-proof figure img{width:100%;aspect-ratio:3/4;object-fit:cover}.course-proof figcaption{padding:.5rem;font-size:1rem}.course-system{background:var(--paper)}.course-system .detail-grid{margin-top:3rem}@media(max-width:899px){.course-story{padding:var(--frame-top) var(--frame-side) var(--frame-bottom)}.course-story>section{min-height:auto;padding:4rem 1.25rem}.course-result{min-height:calc(100svh - var(--frame-top) - var(--frame-bottom))}.course-result h1{font-size:clamp(3.5rem,15vw,6rem)}.course-proof{display:block}.course-proof blockquote{margin-top:2rem}.course-proof figure{width:70%;margin:2rem 0 0 auto}.course-proof__head h2,.course-system>h2{font-size:clamp(3rem,13vw,5rem)}}
.spread--pathways{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;padding-top:calc(var(--frame-top) + 2.4rem)}.pathways__header{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--green);padding-bottom:1rem}.pathways__header h2{margin:0;font-size:clamp(2rem,3.4vw,4rem);line-height:1.1;letter-spacing:-.05em}.pathway{min-height:62vh}.pathway__course{display:block;font:800 clamp(1.8rem,2.6vw,3rem)/1.1 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.04em}.pathway__content small{display:block;margin-top:.45rem;font-size:1rem;font-weight:700}.pathway__content h3{font-size:clamp(2rem,2.7vw,3.2rem);line-height:1.13}.pathway__content b{display:inline-block;font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;font-size:clamp(1rem,1.15vw,1.2rem);line-height:1.5}.frame__nav a{font-size:1rem}@media(max-width:899px){.spread--pathways{display:flex;padding-top:calc(var(--frame-top) + 2rem)}.pathways__header{display:block}.pathways__header h2{margin-top:.5rem;font-size:2rem}.pathway__course{font-size:2rem}.pathway__content small{font-size:1rem}.pathway__content h3{font-size:clamp(2rem,8.5vw,3.1rem)}.pathway__content b{font-size:1rem}}
.spread--pathways{display:block;padding-top:calc(var(--frame-top) + 2.4rem);background:var(--paper);overflow:visible}.spread--pathways .pathways__header{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--green);padding-bottom:1.2rem;margin-bottom:1.2rem}.pathway-block{display:grid;grid-template-columns:1fr 1.1fr auto;gap:2rem;align-items:center;margin-bottom:1.2rem;padding:2rem 2.4rem;background:var(--paper);border-left:8px solid var(--green)}.pathway-block--high{border-left-color:var(--orange);background:var(--paper)}.pathway-block__result h3{margin:.4rem 0;font:800 clamp(2rem,3vw,3.5rem)/1 "Zen Kaku Gothic New","Hiragino Sans",sans-serif}.pathway-block__result h4{margin:.8rem 0;font:800 clamp(2.1rem,3.1vw,3.8rem)/1.05 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.06em}.pathway-block__result h4 em{color:var(--green);font-style:normal}.pathway-block--high .pathway-block__result h4 em{color:var(--orange)}.pathway-block__result>p:last-child{margin:0;color:var(--ink);font-size:1rem;line-height:1.6}.pathway-block__proof{display:grid;grid-template-columns:10rem 1fr;gap:1.2rem;align-items:center}.pathway-block__proof figure{margin:0;background:#fff;padding:.5rem;transform:rotate(-2deg);box-shadow:0 1rem 2rem #17231b1c}.pathway-block__proof figure img{width:100%;aspect-ratio:1/1;object-fit:cover}.pathway-block__proof figcaption{padding:.4rem;font-size:1rem}.pathway-block__proof h5{margin:0 0 .5rem;font-size:1.25rem}.pathway-block__proof blockquote{margin:0;font-size:1.05rem;line-height:1.65}.pathway-block__proof p{margin:.65rem 0 0;font-size:1rem;font-weight:700}.pathway-block__cta{display:block;min-width:16rem;padding:1rem 1.2rem;background:var(--green);color:#fff;text-align:center;font-size:1.1rem;font-weight:900;text-decoration:none}.pathway-block--high .pathway-block__cta{background:var(--green)}@media(max-width:899px){.spread--pathways .pathways__header{display:block}.spread--pathways .pathways__header h2{font-size:2rem}.pathway-block{display:block;margin-bottom:1.25rem;padding:1.5rem 1.25rem;border-left-width:6px}.pathway-block__result h3{font-size:2.2rem}.pathway-block__result h4{font-size:2.35rem}.pathway-block__result>p:last-child{font-size:1rem}.pathway-block__proof{grid-template-columns:7.5rem 1fr;gap:1rem;margin-top:1.5rem}.pathway-block__proof h5{font-size:1.1rem}.pathway-block__proof blockquote{font-size:1rem}.pathway-block__proof p{font-size:1rem}.pathway-block__cta{width:100%;margin-top:1.5rem;font-size:1rem}}
.spread--pathways .eyebrow{font-size:1.15rem}.pathway__course{font-size:clamp(2.2rem,3vw,3.5rem)}.pathway__content small{font-size:1.25rem}.pathway__content h3{font-size:clamp(2.45rem,3vw,3.6rem)}.pathway__content b{font-size:clamp(1.2rem,1.35vw,1.4rem)}.frame__nav a{font-size:1rem}.frame__bottom-nav,.frame__bottom-nav a{font-size:1rem}.frame__bottom-nav span{font-size:1rem}@media(max-width:899px){.spread--pathways .eyebrow{font-size:1.05rem}.pathway__course{font-size:2.3rem}.pathway__content small{font-size:1.15rem}.pathway__content h3{font-size:clamp(2.25rem,9vw,3.3rem)}.pathway__content b{font-size:1.15rem}}
.letter{max-width:48rem;margin:3rem auto 0;font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;font-size:1.15rem;line-height:2}.letter h2{margin-top:4rem;color:var(--green);font-size:2rem}.message-detail .detail-hero{max-width:58rem;margin-inline:auto}
.detail-page{background:var(--paper);min-height:100svh}.detail-page .frame__bottom-nav{left:var(--frame-side);right:auto}.detail-main{min-height:100svh;padding:calc(var(--frame-top) + 5rem) calc(var(--frame-side) + 6vw) calc(var(--frame-bottom) + 4rem)}.detail-hero{border-bottom:1px solid var(--green);padding-bottom:3rem}.detail-hero h1{margin:.7rem 0;font:800 clamp(4rem,10vw,10rem)/.9 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.08em}.detail-hero h1 em{color:var(--green);font-style:normal}.detail-hero>p:last-child{color:var(--ink);font-size:1rem}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.detail-grid article{border-top:3px solid var(--green);padding-top:1rem}.detail-grid b{font:500 1rem "DM Mono",monospace;color:var(--green)}.detail-grid h2{font-size:1.25rem;line-height:1.45}.detail-grid p{color:var(--ink);line-height:1.9}.detail-cta{display:inline-block;margin-top:3rem;border-bottom:1px solid var(--green);padding-bottom:.4rem;color:var(--green);font-weight:900;text-decoration:none}@media(max-width:899px){.detail-main{padding:calc(var(--frame-top) + 3rem) calc(var(--frame-side) + 1.25rem) calc(var(--frame-bottom) + 3rem)}.detail-hero h1{font-size:clamp(4rem,18vw,7rem)}.detail-grid{grid-template-columns:1fr;gap:2rem;margin-top:2rem}.detail-grid h2{font-size:1.1rem}}

/* Chapter architecture: result/proof and course guide are separate screens */
.spread--proof-chapter{display:grid;grid-template-rows:auto minmax(0,1fr);gap:2rem;align-items:stretch;background:var(--paper)}.proof-chapter__headline{display:grid;grid-template-columns:minmax(9rem,.22fr) minmax(0,1fr) minmax(15rem,.3fr);gap:2rem;align-items:end;border-bottom:1px solid var(--green);padding-bottom:1.5rem}.proof-chapter__headline>p{margin:0;color:var(--green);font-size:1.35rem;font-weight:900}.proof-chapter__headline h2{margin:0;font:800 clamp(3.3rem,4.9vw,6rem)/1 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.07em}.proof-chapter__headline h2 em{color:var(--green);font-style:normal}.proof-chapter__headline>span{display:block;font-size:1.1rem;line-height:1.7}.proof-chapter__grid{display:grid;grid-template-columns:1.05fr 1.45fr .9fr .9fr;gap:1rem;min-height:0}.proof-item{display:flex;flex-direction:column;justify-content:center;min-width:0;margin:0;border-top:6px solid var(--green);padding:clamp(1.2rem,2vw,2rem);background:#fff}.proof-item h3{margin:0 0 1rem;font-size:1.3rem}.proof-item p,.proof-item blockquote{margin:0;font-size:1.1rem;line-height:1.75}.proof-item blockquote{font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;font-weight:700}.proof-item strong{color:var(--green);font-size:clamp(2rem,2.65vw,3.4rem);line-height:1.12}.proof-item--image{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:.65rem;transform:rotate(-1deg);box-shadow:0 1rem 2rem #17231b1c}.proof-item--image img{width:100%;height:100%;min-height:0;object-fit:cover}.proof-item--image figcaption{padding:.65rem .35rem .2rem;font-size:1rem;font-weight:700}.spread--proof-high{background:var(--paper)}.spread--proof-high .proof-chapter__headline>p,.spread--proof-high .proof-chapter__headline h2 em,.spread--proof-high .proof-item strong{color:var(--green)}.spread--proof-high .proof-item{border-top-color:var(--green)}
.spread--guide-chapter{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,6rem);align-items:center;background:var(--paper)}.guide-chapter__visual{height:calc(100svh - var(--frame-top) - var(--frame-bottom) - 7rem);min-height:32rem;overflow:hidden}.guide-chapter__visual img{width:100%;height:100%;object-fit:cover}.guide-chapter__division{margin:0;color:var(--green);font-size:1.35rem;font-weight:900}.guide-chapter__content h2{margin:.5rem 0 1.2rem;font:800 clamp(4rem,7vw,8rem)/.9 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.08em}.guide-chapter__lead{margin:0 0 1.5rem;font-size:1.3rem;font-weight:700;line-height:1.7}.guide-chapter__points{border-top:1px solid var(--green)}.guide-chapter__points article{display:grid;grid-template-columns:3rem 1fr;align-items:center;border-bottom:1px solid var(--green);padding:1rem 0}.guide-chapter__points b{color:var(--green);font-size:1.1rem}.guide-chapter__points h3{margin:0;font-size:1.25rem}.guide-chapter__content>a{display:block;margin-top:1.5rem;padding:1.15rem 1.4rem;background:var(--green);color:#fff;font-size:1.15rem;font-weight:900;text-align:center;text-decoration:none}.spread--guide-high{background:var(--paper)}.spread--guide-high .guide-chapter__division,.spread--guide-high .guide-chapter__points b{color:var(--green)}.spread--guide-high .guide-chapter__content>a{background:var(--paper)}
@media(max-width:1100px) and (min-width:900px){.proof-chapter__headline{grid-template-columns:8rem 1fr;gap:1rem}.proof-chapter__headline>span{grid-column:2}.proof-chapter__headline h2{font-size:3.8rem}.proof-chapter__grid{grid-template-columns:1fr 1.2fr 1fr}.proof-item--parent{grid-column:1/-1}.spread--guide-chapter{gap:2rem}.guide-chapter__content h2{font-size:4.3rem}}
@media(max-width:899px){.spread--proof-chapter,.spread--guide-chapter{display:block;overflow:visible;padding-top:calc(var(--frame-top) + 2.5rem)}.proof-chapter__headline{display:block;padding-bottom:1.5rem}.proof-chapter__headline h2{margin-top:1rem;font-size:clamp(3rem,12vw,4.8rem)}.proof-chapter__headline>span{margin-top:1rem;font-size:1.05rem}.proof-chapter__grid{display:block;margin-top:2rem}.proof-item{margin-top:1rem}.proof-item h3{font-size:1.25rem}.proof-item p,.proof-item blockquote{font-size:1.05rem}.proof-item--image{display:block;transform:none}.proof-item--image img{height:auto;max-height:24rem}.guide-chapter__visual{height:42vh;min-height:18rem;margin-bottom:2rem}.guide-chapter__content h2{font-size:clamp(3.8rem,16vw,6rem)}.guide-chapter__lead{font-size:1.15rem}.guide-chapter__points h3{font-size:1.1rem}.guide-chapter__content>a{font-size:1.05rem;line-height:1.6}}

/* Admission steps and name origin */
.spread--steps{display:grid;grid-template-rows:auto 1fr auto;gap:2rem;background:var(--paper)}.steps__head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--green);padding-bottom:1.2rem}.steps__head p{margin:0;color:var(--green);font-size:1.2rem;font-weight:900;letter-spacing:.1em}.steps__head h2{margin:0;font:800 clamp(3rem,5vw,5.5rem)/1 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.06em}.steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,3rem);min-height:0;margin:0;padding:0;list-style:none}.steps__grid li{display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;align-content:start;min-width:0}.steps__grid img{width:100%;height:100%;min-height:0;object-fit:cover}.steps__grid p{margin:1rem 0 .4rem;color:var(--green);font-size:1.1rem;font-weight:900;letter-spacing:.08em}.steps__grid h3{margin:0 0 .6rem;font-size:1.55rem}.steps__grid span{font-size:1.1rem;line-height:1.75}.steps__note{margin:0;font-size:1.05rem}.spread--name-origin{display:grid;grid-template-columns:minmax(18rem,.6fr) minmax(38rem,1.4fr);gap:clamp(3rem,7vw,8rem);align-items:center;background:var(--paper)}.name-origin__mark{display:grid;place-items:center}.name-origin__mark::before{content:"";width:min(25vw,20rem);aspect-ratio:1;border:clamp(1.3rem,2.5vw,2.6rem) solid var(--green);border-radius:50%}.name-origin__mark span{position:absolute;width:clamp(2rem,4vw,4rem);aspect-ratio:1;border-radius:50%;background:var(--green)}.name-origin__eyebrow{margin:0;color:var(--green);font-size:1.2rem;font-weight:900;letter-spacing:.1em}.name-origin__content h2{margin:.8rem 0 1.5rem;font:800 clamp(3.7rem,6.5vw,7.5rem)/.95 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.08em}.name-origin__body{max-width:50rem}.name-origin__body p{font-size:1.15rem;line-height:1.9}.name-origin__body strong{color:var(--green)}.name-origin__content>a{display:inline-block;margin-top:1rem;border-bottom:2px solid var(--green);padding-bottom:.4rem;color:var(--green);font-size:1.15rem;font-weight:900;text-decoration:none}
@media(max-width:1100px) and (min-width:900px){.frame__nav{gap:.65rem}.frame__nav a{font-size:1rem}.steps__grid{gap:1.2rem}.spread--name-origin{grid-template-columns:16rem 1fr;gap:2rem}.name-origin__content h2{font-size:4.3rem}}
@media(max-width:899px){.spread--steps,.spread--name-origin{display:block;overflow:visible;padding-top:calc(var(--frame-top) + 2.5rem)}.steps__head{display:block}.steps__head h2{margin-top:.5rem;font-size:clamp(3rem,12vw,4.8rem)}.steps__grid{display:block;margin-top:2rem}.steps__grid li{display:block;margin-bottom:2.5rem}.steps__grid img{height:auto;max-height:20rem}.steps__grid p,.steps__grid span{font-size:1.05rem}.steps__note{font-size:1rem}.name-origin__mark{margin:0 auto 2rem}.name-origin__mark::before{width:9rem;border-width:1rem}.name-origin__mark span{width:2rem}.name-origin__content h2{font-size:clamp(3.5rem,15vw,5.5rem)}.name-origin__body p,.name-origin__content>a{font-size:1.05rem}}

/* Persistent contact and dedicated contact chapter */
.frame__contact{position:fixed;z-index:40;right:calc(var(--frame-side) + 1rem);bottom:calc(var(--frame-bottom) + 1rem);display:flex;flex-direction:column;min-width:16rem;padding:.8rem 1.1rem;background:var(--green);color:#fff;text-align:right;text-decoration:none;box-shadow:none}.frame__contact span{font-size:1rem;font-weight:700}.frame__contact strong{font:700 1.65rem "DM Mono",monospace;letter-spacing:.03em}.spread--contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,7vw,8rem);align-items:center;background:var(--green);color:#fff}.contact__intro>p{margin:0;color:#fff;font-size:1.2rem;font-weight:900;letter-spacing:.1em}.contact__intro h2{margin:.7rem 0 1.5rem;font:800 clamp(4rem,7vw,8rem)/.92 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.08em}.contact__intro>span{display:block;max-width:35rem;font-size:1.2rem;line-height:1.8}.contact__details{border-left:1px solid #fff;padding-left:clamp(2rem,5vw,5rem)}.contact__school{margin:0;font:700 1.5rem/1.5 "Zen Kaku Gothic New","Hiragino Sans",sans-serif}.contact__school strong{font-size:clamp(3.2rem,5vw,6rem);letter-spacing:-.06em}.contact__phone{display:block;margin:2rem 0;border-block:1px solid #fff;padding:1.5rem 0;color:#fff;font:700 clamp(2.6rem,5vw,5.5rem)/1 "DM Mono",monospace;text-decoration:none}.contact__phone small{display:block;margin-bottom:.7rem;font:700 1.1rem "Zen Kaku Gothic New",sans-serif}.contact__details address{font-size:1.2rem;font-style:normal;line-height:1.8}.contact__notice{font-size:1.15rem;font-weight:700}
@media(max-width:899px){.frame__contact{right:calc(var(--frame-side) + .5rem);bottom:calc(var(--frame-bottom) + .5rem);min-width:0;padding:.65rem .8rem}.frame__contact span{font-size:1rem}.frame__contact strong{font-size:1.15rem}.spread--contact{display:block;overflow:visible;padding-top:calc(var(--frame-top) + 2.5rem)}.contact__intro h2{font-size:clamp(3.5rem,15vw,5.5rem)}.contact__intro>span{font-size:1.05rem}.contact__details{margin-top:2.5rem;border-left:0;border-top:1px solid #fff;padding:2rem 0 0}.contact__school{font-size:1.2rem}.contact__school strong{font-size:3rem}.contact__phone{font-size:clamp(2.1rem,10vw,3rem)}.contact__phone small,.contact__details address,.contact__notice{font-size:1.05rem}}

/* Contact form: the frame stays still and only the form body scrolls. */
.spread--contact-form{display:grid;grid-template-rows:auto minmax(0,1fr);gap:1.5rem;height:100svh;background:var(--paper);overflow:hidden}.contact-form__head{display:grid;grid-template-columns:8rem 1fr minmax(18rem,.5fr);gap:1.5rem;align-items:end;border-bottom:1px solid var(--green);padding-bottom:1rem}.contact-form__head>p{margin:0;color:var(--green);font-size:1.2rem;font-weight:900;letter-spacing:.1em}.contact-form__head h2{margin:0;font:800 clamp(2.7rem,4.2vw,5rem)/1 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.06em}.contact-form__head>span{font-size:1.1rem;line-height:1.7}.contact-form__scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 1rem 3rem 0;scrollbar-gutter:stable}.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 2rem;max-width:75rem;margin:0 auto}.inquiry-form__row{display:flex;flex-direction:column;gap:.55rem}.inquiry-form__row--wide{grid-column:1/-1}.inquiry-form label{font-size:1.1rem;font-weight:900}.inquiry-form label b{display:inline-block;margin-left:.6rem;padding:.15rem .45rem;background:var(--green);color:#fff;font-size:1rem}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;border:1px solid var(--green);border-radius:0;padding:.9rem 1rem;background:#fff;color:var(--ink);font:500 1.1rem "Zen Kaku Gothic New",sans-serif}.inquiry-form textarea{resize:vertical;line-height:1.7}.inquiry-form small{font-size:1rem;line-height:1.6}.inquiry-form__hp{position:absolute;left:-9999px}.inquiry-form button{grid-column:1/-1;justify-self:end;min-width:16rem;border:0;padding:1rem 2rem;background:var(--green);color:#fff;font-size:1.2rem;font-weight:900;cursor:pointer}.inquiry-form button span{margin-left:1rem}
@media(max-width:899px){.spread--contact-form{display:grid;height:100svh;overflow:hidden;padding-top:calc(var(--frame-top) + 2rem)}.contact-form__head{display:block}.contact-form__head h2{margin:.5rem 0;font-size:clamp(2.8rem,11vw,4.2rem)}.contact-form__head>span{font-size:1.05rem}.contact-form__scroll{padding-right:.4rem}.inquiry-form{grid-template-columns:1fr;gap:1.2rem}.inquiry-form__row--wide,.inquiry-form button{grid-column:1}.inquiry-form label,.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:1.05rem}.inquiry-form small{font-size:1rem}.inquiry-form button{justify-self:stretch;font-size:1.1rem}}

/* Form composition refinement */
.frame__nav{max-width:calc(100vw - (var(--frame-side) * 2) - 27rem);overflow:hidden}.is-contact-context .frame__contact{opacity:0;visibility:hidden;transform:translateY(1rem);pointer-events:none}.frame__contact{transition:opacity .25s ease,transform .25s ease,visibility .25s}.spread--contact-form{grid-template-columns:minmax(20rem,.62fr) minmax(34rem,1.38fr);grid-template-rows:1fr;gap:clamp(2rem,4vw,5rem)}.contact-form__head{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:0;border-right:1px solid var(--green);padding:0 clamp(2rem,4vw,4rem) 0 0}.contact-form__head h2{margin:1rem 0 1.5rem;font-size:clamp(4rem,6vw,7rem);line-height:.92}.contact-form__head>span{max-width:24rem}.contact-form__scroll{background:#fff;padding:clamp(1.5rem,3vw,3rem);box-shadow:none}.inquiry-form{grid-template-columns:1fr;max-width:48rem}.inquiry-form__row--wide,.inquiry-form button{grid-column:1}.inquiry-form button{justify-self:stretch;margin-top:.5rem}
@media(max-width:899px){.frame__nav{max-width:none}.spread--contact-form{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:1rem}.contact-form__head{display:block;border-right:0;border-bottom:1px solid var(--green);padding:0 0 1rem}.contact-form__head h2{font-size:clamp(2.8rem,11vw,4.2rem);line-height:1}.contact-form__scroll{padding:1.25rem}}

/* Unified contact chapter */
.spread--contact{grid-template-columns:minmax(20rem,.62fr) minmax(34rem,1.38fr);gap:clamp(2rem,4vw,5rem);overflow:hidden}.spread--contact .contact__details{border:0;padding:0}.contact__form{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;height:100%;min-height:0;background:#fff;color:var(--ink);padding:clamp(1.5rem,3vw,3rem);box-shadow:none}.contact__form .contact-form__head{display:block;border:0;border-bottom:1px solid var(--green);padding:0 0 1rem}.contact__form .contact-form__head h2{margin:.35rem 0;font-size:clamp(2.4rem,3.4vw,4rem);line-height:1}.contact__form .contact-form__head>span{font-size:1.05rem}.contact__form .contact-form__scroll{box-shadow:none;padding:1.25rem .75rem 2rem 0}.contact__form .inquiry-form{max-width:none}.contact__form .inquiry-form input,.contact__form .inquiry-form select,.contact__form .inquiry-form textarea{background:#fbfaf7}
body:has(#contact:target) .frame__contact{opacity:0;visibility:hidden;transform:translateY(1rem);pointer-events:none}
@media(min-width:900px){.spread--contact{height:100svh;min-height:100svh;align-items:stretch}.spread--contact .contact__details{align-self:center}.spread--contact .contact__form{height:auto;min-height:0}.spread--contact .contact-form__scroll{min-height:0;overflow-y:auto}}
@media(max-width:899px){.spread--contact{display:block;overflow:visible}.contact__form{height:auto;margin-top:2.5rem;padding:1.25rem}.contact__form .contact-form__scroll{overflow:visible;padding-right:0}.contact__form .contact-form__head h2{font-size:2.5rem}}
@media(max-width:899px){.hero__meta{font-size:1rem}.hero__stats,.hero__stats b{font-size:1rem}.eyebrow{font-size:1.05rem}.method__list p,.classroom__main figcaption,.classroom__sub figcaption,.inquiry-form small{font-size:1rem}}

/* Responsive type balance: keep large editorial type without one-character wraps. */
.contact__phone{font-size:clamp(2.2rem,3vw,4rem);white-space:nowrap}.contact__school strong{font-size:clamp(2.8rem,3.8vw,5rem)}.spread--contact{grid-template-columns:minmax(15rem,.62fr) minmax(0,1.38fr)}.classroom__head h2{font-size:clamp(3.5rem,5vw,4.5rem)}
@media(max-width:1199px) and (min-width:900px){.spread--contact{gap:2rem;padding-left:calc(var(--frame-side) + 2rem);padding-right:calc(var(--frame-side) + 2rem)}.spread--classroom{grid-template-columns:minmax(15rem,.7fr) minmax(0,1.3fr)}.classroom__sub{display:none}.classroom__head h2{font-size:3rem;line-height:1}}
.frame__nav a{flex:0 0 auto;white-space:nowrap}@media(max-width:1199px) and (min-width:900px){.frame__nav{display:none}}

/* Section background rhythm */
.spread--proof-middle{background:var(--paper)}
.spread--guide-middle{background:var(--paper)}
.spread--proof-high{background:var(--paper)}
.spread--guide-high{background:var(--paper)}
.spread--method{background:var(--paper)}
.spread--classroom{background:var(--paper)}
.spread--name-origin{background:var(--paper)}
.spread--steps{background:var(--paper)}
.spread--contact{background:var(--green)}

/* Name-origin brand illustration */
.name-origin__mark{margin:0}.name-origin__mark::before,.name-origin__mark>span{display:none}.name-origin__mark img{width:100%;height:auto;max-width:34rem;margin:auto}
@media(max-width:899px){.name-origin__mark{margin:0 auto 2rem}.name-origin__mark img{max-width:30rem}}

.name-origin__visual{display:grid;grid-template-rows:auto minmax(0,1fr);gap:1.25rem;align-self:stretch;min-height:0}.name-origin__visual .name-origin__mark{align-self:start}.name-origin__visual .name-origin__mark img{max-width:30rem}.name-origin__photo{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;margin:0;overflow:hidden;border:clamp(.45rem,.7vw,.7rem) solid #fff;background:#fff;box-shadow:0 1rem 2rem #17231b1c;transform:rotate(-1.5deg)}.name-origin__photo img{width:100%;height:100%;min-height:0;object-fit:cover}.name-origin__photo figcaption{padding:.75rem;color:var(--ink);font-size:1rem;font-weight:700;line-height:1.5}
@media(max-width:899px){.name-origin__visual{display:block}.name-origin__visual .name-origin__mark{margin:0 auto 1.5rem}.name-origin__photo{display:block;margin-bottom:2rem;transform:none}.name-origin__photo img{height:auto;max-height:24rem}.name-origin__photo figcaption{font-size:1.05rem}}

/* スマホでは人物を大きく見せ、AI画像右下の生成マークをトリミング範囲外にする */
@media(max-width:899px){
  .proof-item--study img,.spread--proof-high .proof-item--image img,.name-origin__photo img{display:block;width:100%;height:min(120vw,32rem);max-height:none;object-fit:cover}
  .proof-item--study img{object-position:50% 50%}
  .spread--proof-high .proof-item--image img{object-position:51% 30%}
  .name-origin__photo img{object-position:45% 44%}
}

/* Middle-school proof: result / student evidence / study image / parent evidence */
.spread--proof-middle .proof-chapter__grid{grid-template-columns:1.05fr 1.65fr .95fr 1.2fr}
.spread--proof-middle .proof-item{justify-content:flex-start;padding:clamp(1rem,1.45vw,1.5rem)}
.proof-item__label{margin:0 0 auto!important;color:var(--green);font-weight:900}
.proof-item--number strong{margin:auto 0;color:var(--green);font:800 clamp(2.2rem,3vw,3.8rem)/1.05 "Zen Kaku Gothic New","Hiragino Sans",sans-serif}
.proof-item--number strong span{display:block;margin-bottom:.5rem;color:var(--ink);font-size:.62em}
.proof-item--number>b{border-top:1px solid var(--green);padding-top:1rem;color:var(--ink);font-size:clamp(1.1rem,1.35vw,1.45rem)}
.proof-item--student h3,.proof-item--parent h3{margin-bottom:.65rem}
.proof-voice-list{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:.55rem;min-height:0}
.proof-voice-list figure{display:grid;grid-template-columns:minmax(6rem,.78fr) minmax(0,1.22fr);gap:.7rem;min-height:0;margin:0;border-top:1px solid var(--green);padding-top:.55rem;align-items:center}
.proof-voice-list figure:first-child{border-top:0;padding-top:0}
.proof-voice-list img{width:100%;height:100%;min-height:3.6rem;max-height:6.2rem;object-fit:cover;background:var(--paper)}
.proof-voice-list figcaption{font-size:clamp(1rem,1vw,1.12rem);font-weight:700;line-height:1.55}
.proof-item--study{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:.65rem!important;box-shadow:0 1rem 2rem #17231b1c;transform:rotate(-1deg)}
.proof-item--study img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.proof-item--study figcaption{padding:.65rem .35rem .2rem;font-size:1rem;font-weight:700}
.proof-parent-list{display:grid;grid-template-rows:repeat(3,1fr);min-height:0}
.proof-parent-list blockquote{display:flex;flex-direction:column;justify-content:center;margin:0;border-top:1px solid var(--green);padding:.6rem 0}
.proof-parent-list blockquote:first-child{border-top:0;padding-top:0}
.proof-parent-list strong{color:var(--green);font-size:clamp(1.05rem,1.15vw,1.28rem);line-height:1.35}
.proof-parent-list p{margin:.35rem 0 0;font-size:1rem;line-height:1.5}
@media(max-width:1100px) and (min-width:900px){.spread--proof-middle .proof-chapter__grid{grid-template-columns:1fr 1.5fr 1fr}.spread--proof-middle .proof-item--parent{grid-column:1/-1}.proof-parent-list{grid-template-columns:repeat(3,1fr);grid-template-rows:none;gap:1rem}.proof-parent-list blockquote{border-top:0;border-left:1px solid var(--green);padding:.5rem 1rem}.proof-parent-list blockquote:first-child{border-left:0}}
@media(max-width:899px){.proof-item--number strong{font-size:clamp(2.6rem,11vw,4rem)}.proof-voice-list{display:block}.proof-voice-list figure{grid-template-columns:1fr;margin-top:1rem}.proof-voice-list img{height:auto;max-height:9rem}.proof-item--study{display:block;transform:none}.proof-item--study img{height:auto;max-height:28rem}.proof-parent-list{display:block}.proof-parent-list blockquote{padding:1rem 0}.proof-parent-list strong{font-size:1.25rem}.proof-parent-list p{font-size:1.05rem}}

.spread--proof-middle .proof-parent-list{grid-template-rows:repeat(2,1fr)}
.spread--guide-middle .guide-chapter__content h2{font-size:clamp(3.7rem,5.4vw,6rem);line-height:.92}
.guide-chapter__points article{align-items:start;padding:.8rem 0}
.guide-chapter__points h3{margin:0 0 .3rem}
.guide-chapter__points p{margin:0;font-size:1rem;line-height:1.55}
@media(max-width:1100px) and (min-width:900px){.spread--proof-middle .proof-parent-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:899px){.spread--guide-middle .guide-chapter__content h2{font-size:clamp(3.4rem,14vw,5.2rem)}.guide-chapter__points p{font-size:1.05rem;line-height:1.65}}

.proof-item--number>strong{display:flex;flex:1;flex-direction:column;justify-content:center;gap:clamp(1rem,2vh,1.6rem);margin:0}
.proof-item--number>strong span{margin:0;color:var(--ink);font-size:clamp(1.65rem,1.9vw,2.2rem);line-height:1.2}
.proof-item--number>strong em,.proof-item--number>strong b{display:block;color:var(--green);font:800 clamp(1.8rem,2.15vw,2.65rem)/1.12 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;font-style:normal;letter-spacing:-.045em}
.proof-item--number>strong b{border-top:1px solid var(--green);padding-top:clamp(1rem,2vh,1.6rem)}
.spread--guide-middle .guide-chapter__content h2{font-size:clamp(3.4rem,4.45vw,5.2rem);white-space:nowrap}
@media(min-width:900px){.spread--guide-middle .guide-chapter__content>a{margin-right:14rem}}
@media(max-width:1100px) and (min-width:900px){.spread--guide-middle .guide-chapter__content h2{font-size:3.5rem}}
@media(max-width:899px){.proof-item--number>strong{gap:1.4rem}.proof-item--number>strong em,.proof-item--number>strong b{font-size:clamp(2rem,8vw,3rem)}.spread--guide-middle .guide-chapter__content h2{font-size:clamp(2.6rem,10vw,4rem);white-space:nowrap}}

.proof-chapter__headline>p{font:800 clamp(2.5rem,3.2vw,4rem)/1 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.06em;white-space:nowrap}
@media(max-width:899px){.proof-chapter__headline>p{font-size:clamp(2.4rem,10vw,3.5rem)}}

/* High-school proof: one story, one image, and the admissions record */
.spread--proof-high .proof-chapter__grid{grid-template-columns:1.65fr .82fr 1.18fr}
.proof-item--high-story{justify-content:flex-start}
.proof-item--high-story h3{margin:0;color:var(--green);font:800 clamp(2.1rem,2.7vw,3.4rem)/1.08 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.055em}
.proof-high-story__label{margin:.8rem 0 .5rem!important;color:var(--green);font-weight:900;letter-spacing:.08em}
.proof-item--high-story blockquote{font-size:clamp(1rem,1.05vw,1.16rem);line-height:1.72}
.proof-item--high-story cite{display:block;margin-top:auto;padding-top:.7rem;border-top:1px solid var(--green);font-size:1rem;font-style:normal;font-weight:700;line-height:1.5}
.proof-item--results{justify-content:flex-start}
.proof-item--results h3{margin-bottom:.5rem;color:var(--green);font:800 clamp(1.8rem,2.2vw,2.6rem)/1 "Zen Kaku Gothic New","Hiragino Sans",sans-serif}
.proof-results-list{margin:0;padding:0;list-style:none}
.proof-results-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem;border-top:1px solid var(--green);padding:.65rem 0}
.proof-results-list strong{color:var(--green);font-size:clamp(1.1rem,1.25vw,1.4rem)}
.proof-results-list span{font-size:1rem;font-weight:700;white-space:nowrap}
.proof-results-note{margin-top:auto!important;border-top:2px solid var(--green);padding-top:.75rem;color:var(--green);font-size:1.15rem!important;font-weight:900}
@media(max-width:1100px) and (min-width:900px){.spread--proof-high .proof-chapter__grid{grid-template-columns:1.4fr .8fr}.spread--proof-high .proof-item--results{grid-column:1/-1}.proof-results-list{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem}.proof-results-list li{display:block}.proof-results-note{margin-top:.5rem!important}}
@media(max-width:899px){.proof-item--high-story h3{font-size:clamp(2.4rem,10vw,3.8rem)}.proof-item--high-story blockquote{font-size:1.05rem}.proof-item--high-story cite{font-size:1rem}.proof-results-list span{font-size:1.05rem}}

.spread--guide-high .guide-chapter__content h2{font-size:clamp(3.4rem,4.45vw,5.2rem);white-space:nowrap}
.spread--guide-high .guide-chapter__lead{margin-bottom:.8rem}
.spread--guide-high .guide-chapter__points article{padding:.55rem 0}
.spread--guide-high .guide-chapter__points h3{font-size:clamp(1.05rem,1.12vw,1.25rem)}
.spread--guide-high .guide-chapter__points p{font-size:1rem;line-height:1.45}
.spread--guide-high .guide-chapter__content>a{margin-top:.8rem}
@media(min-width:900px){.spread--guide-high .guide-chapter__content>a{margin-right:14rem}}
@media(max-width:1100px) and (min-width:900px){.spread--guide-high .guide-chapter__content h2{font-size:3.5rem}}
@media(max-width:899px){.spread--guide-high .guide-chapter__content h2{font-size:clamp(2.6rem,10vw,4rem);white-space:nowrap}.spread--guide-high .guide-chapter__points article{padding:.85rem 0}.spread--guide-high .guide-chapter__points p{font-size:1.05rem;line-height:1.65}}

/* 中学部「自分のペースで、集中して学ぶ。」スマホ専用トリミング */
@media(max-width:899px){.spread--proof-middle .proof-item--study img{width:100%;height:min(120vw,32rem);max-height:none;object-fit:cover;object-position:50% 50%}}

.steps__image-crop{min-height:0;overflow:hidden}.steps__image-crop img{display:block;width:100%;height:100%;object-fit:cover}.steps__image-crop--interview img{height:200%;max-height:none;object-position:center bottom;transform:translateY(-50%)}
@media(max-width:899px){.steps__image-crop--interview{height:min(48vw,13rem)}}

/* Three-photo classroom layout */
.spread--classroom{grid-template-columns:.62fr 1fr .72fr .72fr;gap:1rem}
.classroom__third{align-self:start;transform:rotate(-2deg)}
.classroom__third img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover}
.classroom__third figcaption{padding:.55rem;font-size:1rem}
@media(max-width:1199px) and (min-width:900px){.spread--classroom{grid-template-columns:.7fr 1fr 1fr 1fr}.spread--classroom .classroom__sub{display:block}.classroom__main img,.classroom__sub img,.classroom__third img{aspect-ratio:3/4}.classroom__head h2{font-size:3rem}}
@media(max-width:899px){.classroom__sub,.classroom__third{width:100%;margin:1.5rem 0 0;transform:none}.classroom__main img,.classroom__sub img,.classroom__third img{height:auto;aspect-ratio:4/3}.classroom__third figcaption{font-size:1rem}}
@media(max-width:899px){
  .proof-chapter__headline h2{font-size:clamp(2.5rem,8.5vw,3.5rem);line-height:1.08;letter-spacing:-.04em}
  .guide-chapter__content h2{font-size:clamp(3.1rem,11vw,4.6rem);line-height:.98}
  .method__intro h2{font-size:clamp(3.4rem,12vw,4.8rem);line-height:.96}
  .classroom__head h2{font-size:clamp(3rem,10vw,4.2rem);line-height:1}
  .name-origin__content h2{font-size:clamp(2.8rem,9vw,4rem);line-height:1.02;letter-spacing:-.05em}
  .steps__head h2{font-size:clamp(2.6rem,8.5vw,3.6rem);line-height:1.05}
  .contact__school strong{font-size:clamp(2.6rem,9vw,3.5rem)}
  .contact__phone{font-size:clamp(2rem,7.5vw,2.8rem)}
  .contact__form .contact-form__head h2{font-size:clamp(2.1rem,7vw,3rem);line-height:1.08}
}

/* Results page divisions */
.results-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.results-sections article{min-width:0;overflow-wrap:anywhere}
.results-sections ul{padding-left:1.25rem;line-height:1.9}
.results-sections blockquote{margin:1rem 0;color:var(--ink);line-height:1.9}
.results-sections .middle-results{border-color:var(--orange)}
.results-sections .middle-results>b,.results-sections .middle-results h2,.results-sections .middle-results h3{color:var(--green)}
.results-sections .high-results{border-color:var(--green)}
.results-sections .high-results>b,.results-sections .high-results h2,.results-sections .high-results h3{color:var(--green)}
.results-sections .student-voices,.results-sections .high-story,.results-sections .public-results,.results-sections .public-voices{grid-column:1/-1}
.results-sections .student-voices li{margin:.65rem 0;line-height:1.9}
.results-sections .source-note{font-size:1rem;color:var(--ink)}
@media(max-width:899px){.results-sections{grid-template-columns:minmax(0,1fr)}}

/* Results page: preserve current-site voice scans at native size. */
.results-sections .public-voices figure{margin:1rem 0;text-align:center}
.results-sections .public-voices img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}
.results-sections .high-story .story-result{font-weight:800}

/* Tuition and access pages */
.detail-site-nav{display:flex;flex-wrap:wrap;gap:.65rem 1.4rem;margin:4rem 0 0;border-top:1px solid var(--green);padding:1.5rem 0;color:var(--ink);font-size:1rem}.detail-site-nav a{color:var(--green);font-weight:700;text-decoration:none}.detail-site-nav--home{margin:0 calc(var(--frame-side) + 6vw);padding-bottom:calc(var(--frame-bottom) + 1rem)}
.fee-main{max-width:90rem;margin-inline:auto}.fee-section{margin-top:4rem;border-top:1px solid var(--green);padding-top:2rem}.fee-section h2{margin:0 0 1.3rem;font:800 clamp(1.35rem,2.2vw,2rem)/1.5 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:-.03em}.fee-section--middle h2{color:var(--green)}.fee-section--high h2{color:var(--green)}.fee-table-wrap{max-width:100%;margin:0 0 2.5rem;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--green);background:#fff}.fee-table{width:100%;min-width:760px;border-collapse:collapse;font-size:1rem;line-height:1.65}.fee-table--high{min-width:680px}.fee-table th,.fee-table td{border:1px solid var(--green);padding:.85rem .7rem;text-align:center;vertical-align:middle}.fee-table th{background:var(--paper);font-size:1rem}.fee-table--middle tr:not(:first-child) td:first-child{color:var(--green);font-weight:900}.fee-table--high tr:not(:first-child) td:first-child,.fee-table--high tr:not(:first-child) td:nth-child(2){color:var(--green);font-weight:700}.fee-notes{margin:1rem 0 2.5rem;padding:1.25rem 1.5rem;border-left:4px solid var(--green);background:var(--paper)}.fee-section--high .fee-notes{border-left-color:var(--green);background:var(--paper)}.fee-notes p{margin:.35rem 0;line-height:1.85}.access-map{width:100%;margin:2rem 0 3rem;aspect-ratio:4/3;max-height:38rem}.access-map iframe{display:block;width:100%;height:100%;border:0}.access-info{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.access-info article{min-width:0;border-top:3px solid var(--green);padding:1rem;background:#fff}.access-info h2{font-size:1.15rem}.access-info a{color:var(--green);font-weight:900}@media(max-width:899px){.detail-site-nav--home{margin-inline:calc(var(--frame-side) + 1.25rem)}.fee-main{padding-inline:calc(var(--frame-side) + 1.25rem)}.fee-table{font-size:1rem}.fee-table th,.fee-table td{padding:.75rem .55rem}.access-info{grid-template-columns:1fr}.access-map{aspect-ratio:4/3;max-height:none}}

/* Hero: 説明文を右下の絶対配置から大見出し下の左列へ移し、右下固定の緑の枠(.frame__contact)と重ならないようにする */
@media(min-width:900px){.hero__kicker,.hero__stats,.hero__title,.hero__lead{justify-self:start}.hero__lead{position:relative;right:auto;bottom:auto;margin-top:1.6rem;text-align:left}}
@media(min-width:900px) and (max-height:820px){.spread--hero{padding-bottom:calc(var(--frame-bottom) + 1rem + 83px + 1.5rem)}}
@media(max-width:899px){.hero__lead{position:absolute}}

/* Hero(スマホ幅): 文字の塊の下余白を、右下固定の緑の枠(下 .5rem + 高さ約64px)+余裕の分だけ確保し、枠と重ならないよう上げる */
@media(max-width:899px){.spread--hero{padding-bottom:calc(var(--frame-bottom) + .5rem + 64px + 1rem)}}

/* Hero(スマホ幅): 説明文を絶対配置から grid の流れへ戻し、order で先頭(kicker の上)に置く。kicker・title・stats・緑の枠と重ならない */
@media(max-width:899px){.hero__lead{position:relative !important;top:auto !important;right:auto !important;bottom:auto !important;order:-1;max-width:15rem;margin:0 0 1rem;text-align:left;text-shadow:none}}

/* Comparison edition: reuse V2 layout and components; restrict accents to their roles. */
.frame__chapter,.frame__nav a,.frame__bottom-nav{font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;letter-spacing:0}
h1,h2,h3{overflow-wrap:anywhere}
.hero__title em,.hero__stats b{color:#fff}
.spread--guide-middle .guide-chapter__division,.spread--proof-middle .proof-item__label{color:var(--ink);border-left:3px solid var(--orange);padding-left:1rem}
.spread--guide-middle .guide-chapter__points b{color:var(--orange)}
.classroom__head>p:last-child,.results-sections blockquote{color:var(--ink)}
.contact__notice,.contact__details address,.contact__phone small{color:#fff}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Text remains opaque while only the separate photo veil is translucent. */

.spread--proof-high .proof-item--high-story h3,.spread--proof-high .proof-high-story__label,.spread--proof-high .proof-item--results h3,.spread--proof-high .proof-results-list strong,.spread--proof-high .proof-results-note{color:var(--green)}
.results-sections .middle-results h2,.results-sections .middle-results h3,.fee-section--middle h2{color:var(--ink)}
.results-sections .middle-results>b{color:var(--orange)}
.spread--proof-middle .proof-item,.spread--guide-middle .guide-chapter__visual{border-color:var(--orange)}

.spread--guide-high .guide-chapter__content>a{background:var(--green);color:#fff}

/* Keep the original lead band; shade the photo beneath other copy. */
.hero__title em,.door h3 em,.message__content em,.pathway__content h3 em{color:#fff}

/* Mobile hero: content-sized rows keep Ink bands apart at every viewport height. */
@media(max-width:899px){
  .frame__contact span,.frame__contact strong{line-height:1.4}
  .spread--hero{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:.5rem;height:auto;max-height:none;overflow:visible;padding-top:calc(var(--frame-top) + 1rem);}
  .spread--hero .hero__lead{position:relative!important;inset:auto!important;order:-1;width:fit-content;max-width:100%;margin:0;padding:.5rem;font-size:1rem;line-height:1.8;text-align:left}
  .spread--hero .hero__kicker,.spread--hero .hero__stats,.spread--hero .hero__title{flex:none;margin:0;max-width:100%}
  .spread--hero .hero__kicker{font-size:1rem;line-height:1.8}
  .spread--hero .hero__kicker strong{font-size:2rem}
  .spread--hero .hero__stats{flex-direction:column;gap:.5rem;font-size:1rem;line-height:1.8}
  .spread--hero .hero__stats b{font-size:1rem;line-height:inherit}
  .spread--hero .hero__title{font-size:clamp(2.9rem,12.5vw,4.15rem);line-height:1.1;overflow:visible}
}

/* FIX5: V2 directional veils, using only Ink alpha. Fade beyond the copy. */
.hero__veil,.message__veil{background:linear-gradient(90deg,rgb(23 26 25 / .88) 0%,rgb(23 26 25 / .78) 72%,rgb(23 26 25 / 0) 90%)}
.door__shade,.pathway__veil{background:linear-gradient(0deg,rgb(23 26 25 / .9) 0%,rgb(23 26 25 / .78) 65%,rgb(23 26 25 / 0) 100%)}
.hero__lead{background:var(--ink);padding:.5rem;width:fit-content;max-width:100%}
.hero__kicker,.hero__stats,.hero__title{max-width:55%}
.message__content{max-width:55%}
@media(min-width:900px){
 .spread--hero{height:auto;max-height:none;overflow:visible;min-height:100svh;}
 .hero__title{font-size:clamp(4.6rem,8vw,8rem);line-height:1.1}
 .hero__kicker strong{font-size:clamp(2rem,3.5vw,4rem)}
 .hero__stats{gap:.5rem 1rem;margin-top:1rem}
 .hero__lead{margin-top:1rem}
}
@media(max-width:899px){
 .hero__veil,.message__veil{background:linear-gradient(90deg,rgb(23 26 25 / .88),rgb(23 26 25 / .78) 85%,rgb(23 26 25 / 0) 100%)}
 .hero__kicker,.hero__stats,.hero__title,.message__content{max-width:85%}
}

@media(min-width:900px){
 .spread--hero{padding-top:calc(var(--frame-top) + 1rem);padding-bottom:calc(var(--frame-bottom) + 1rem);gap:.5rem}
 .spread--hero .hero__kicker,.spread--hero .hero__stats,.spread--hero .hero__title,.spread--hero .hero__lead{margin:0}
 .spread--hero .hero__lead{position:relative;inset:auto;text-align:left;line-height:1.8}
 #site-viewport .spread--hero{padding:1rem 4vw;min-height:100%;gap:.5rem}
 .spread--hero .hero__title{font-size:clamp(4.6rem,7vw,7rem);line-height:1.1;overflow:visible}
}

/* FIX5: restore the photo/copy overlay; shade only the very bottom.
   Keep the upper 80% clear so both hero photographs retain bright faces. */
@media(max-width:899px){
  .spread--hero .hero__veil{
    background:linear-gradient(0deg,rgb(23 26 25 / .45) 0%,rgb(23 26 25 / 0) 20%);
  }
}

/* FIX5: keep the hero lead white without its black backing band. */
.spread--hero .hero__lead{background:transparent;padding:0}

/* Inquiry destination link reuses the existing green submit button treatment. */
.contact-form__button{display:inline-block;box-sizing:border-box;min-width:16rem;margin:.5rem 0 1.25rem;padding:1rem 2rem;background:var(--green);color:#fff;font-size:1.2rem;font-weight:900;text-align:center;text-decoration:none}
.contact-form__intro,.contact-form__guidance{line-height:1.7}
.contact-form__phone{display:block;color:inherit;font-weight:700}
@media(max-width:899px){.contact-form__button{display:block;width:100%;min-width:0;font-size:1.1rem}.contact-form__intro,.contact-form__guidance{font-size:1rem}}
