/* School comparison. STAR PROJECT 20261020 typography/star entrance adapted to the approved school copy. */
@font-face{font-family:Gonta;src:url("fonts/fz-gontakana.otf") format("opentype");font-display:swap}
:root{--pink:#ee82a7;--pink-light:#ffd3e1;--paper:#fff9ef;--ink:#241a22;--yellow:#faed57;--muted:#70485c;--ja:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--en:Gonta,Impact,"Arial Narrow",sans-serif;--space-page:40px;--space-section:80px;--space-between:32px;--space-inside:20px;--space-copy:24px;--space-small:16px;color-scheme:light;scroll-padding-top:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--pink);font:500 16px/1.95 var(--ja);overflow-wrap:anywhere}h1,h2,h3,p,figure,ol{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}svg{flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}img{max-width:100%}a,button,summary{-webkit-tap-highlight-color:transparent}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.page-shell{padding-inline:var(--space-page)}.wrap{max-width:1120px;margin-inline:auto;min-width:0}.section{padding-block:var(--space-section)}.paper{background:var(--paper)}.skip{position:fixed;top:-90px;left:16px;z-index:20;padding:10px 18px;background:var(--yellow)}.skip:focus{top:12px}.topline{display:flex;justify-content:space-between;gap:16px;padding:7px max(20px,calc((100vw - 1120px)/2));background:var(--ink);color:var(--paper);font-size:10px;font-weight:800;letter-spacing:.08em}.topline span:first-child{font-family:var(--en);font-size:13px;letter-spacing:.13em}.masthead{padding-block:24px}.masthead-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;min-height:44px;font-size:20px;font-weight:900;line-height:1.4;letter-spacing:-.04em}.brand-star{font-size:45px;line-height:1}.brand small{display:block;font:11px/1.5 var(--en);letter-spacing:.17em}.nav-cta{display:flex;align-items:center;gap:14px;min-height:44px;font-size:12px;font-weight:800}.nav-cta span{font-size:23px}.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:40px;padding-top:32px;padding-bottom:64px}.hero-copy{min-width:0;position:relative;z-index:1}.tag{display:inline-block;padding:3px 12px;background:var(--yellow);font-size:13px;font-weight:900;transform:rotate(-2deg)}h1{font-size:clamp(40px,4.8vw,68px);font-weight:900;line-height:1.25;letter-spacing:-.07em;margin-top:32px;transform:skewX(-3deg) rotate(-1deg)}h1>span{display:block;width:fit-content}.headline-who{font-size:.64em;line-height:1.7;letter-spacing:-.045em}.hero-last{color:var(--paper);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:4px 5px 0 var(--ink);transform-origin:20% 70%}.hero-description{margin-top:32px;font-size:17px;font-weight:600;line-height:1.9}.hero-school{margin-top:20px;font-size:14px;font-weight:900}.cta{display:flex;align-items:center;justify-content:center;gap:20px;width:min(100%,420px);min-height:64px;margin-top:24px;padding:16px 20px;background:var(--ink);color:var(--paper);border:0;border-radius:0;box-shadow:5px 5px 0 var(--paper);font-size:14px;font-weight:800;text-align:center;cursor:pointer;transition:translate .16s,box-shadow .16s,background .16s}.cta:hover{translate:2px 2px;box-shadow:3px 3px 0 var(--paper)}.cta:active{translate:4px 4px;box-shadow:1px 1px 0 var(--paper)}.hero-visual{position:relative;min-width:0;padding:12px 8px}.school-banner{position:relative;z-index:1;transform:rotate(1.2deg);box-shadow:7px 8px 0 var(--ink)}.school-banner img{display:block;width:100%;height:auto;object-fit:contain}.hero-star{position:absolute;right:0;top:-24px;font-size:76px;line-height:1;color:var(--yellow);transform:rotate(13deg);z-index:2}.visual-sticker{position:relative;z-index:2;width:fit-content;margin:20px 0 0 auto;padding:5px 12px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:900;transform:rotate(-4deg)}.ribbon{overflow:hidden;background:var(--yellow);padding-block:12px;border-block:3px solid var(--ink)}.ribbon>div{width:max-content;font:22px/1.2 var(--en);letter-spacing:.04em}.ribbon span{margin-inline:24px}.section-en{font:22px/1.2 var(--en);letter-spacing:.03em;color:var(--muted);margin-bottom:16px}.center-head{text-align:center}h2{font-size:clamp(28px,3vw,40px);font-weight:900;line-height:1.5;letter-spacing:-.055em}.skills{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-between);margin-top:40px}.skills li{position:relative;min-width:0;padding-top:24px;border-top:3px solid var(--ink)}.skill-heading{display:flex;align-items:center;gap:12px}.skill-star{display:inline-block;font-size:34px;line-height:1;color:var(--pink);-webkit-text-stroke:1px var(--ink);transform-origin:50% 55%}.skill-heading h3{font-size:28px;font-weight:900;letter-spacing:-.05em;line-height:1.4}.skills li>p{margin-top:var(--space-small);font-size:16px;line-height:1.95}.skill-word{display:block;margin-top:24px;font:36px/1 var(--en);color:#dca6bc}.photo-slot{display:grid;justify-items:center;align-content:center;aspect-ratio:16/9;border:2px dashed #b27a92;color:var(--muted);background:rgba(255,249,239,.4);min-width:0;position:relative}.photo-slot figcaption{text-align:center;font-size:14px;font-weight:700;line-height:1.8}.photo-slot small{display:block;font:10px/2 var(--en);letter-spacing:.15em}.slot-mark{font-size:30px;line-height:1.4}.class-photo{width:min(100%,720px);margin:48px auto 0;background:#f8e8ed}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.community-copy .section-en{display:flex;align-items:center;gap:12px}.community-copy .section-en span{font-family:var(--ja);font-size:32px;line-height:1;color:var(--yellow)}.prose{margin-top:var(--space-copy);line-height:2.1}.community-visual{padding:8px}.community-visual .photo-slot{transform:rotate(-2deg);box-shadow:8px 8px 0 #c65c8533}.mission-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:56px;align-items:center;max-width:960px}.mission-sign{text-align:center}.mission-sign>span{display:block;color:var(--pink);font-size:150px;line-height:1;transform:rotate(-10deg);-webkit-text-stroke:3px var(--ink)}.mission-sign small{display:block;margin-top:20px;font:24px/1.15 var(--en);transform:rotate(-5deg)}.mission-last{margin-top:var(--space-copy);font-weight:900;font-size:18px}.questions{max-width:800px;margin:40px auto 0;border-top:2px solid var(--ink)}details{border-bottom:2px solid var(--ink)}summary{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:16px;align-items:start;padding-block:var(--space-inside);list-style:none;cursor:pointer;font-weight:800;line-height:28px;min-height:68px}summary::-webkit-details-marker{display:none}.faq-question{min-width:0}.faq-icon{display:grid;place-items:center;width:28px;height:28px}.faq-icon svg{transition:rotate .2s}details[open] .faq-icon svg{rotate:45deg}details>p{padding:0 44px 24px 0;font-size:15px;line-height:2}.join{background:var(--ink);color:var(--paper);text-align:center}.join-inner{position:relative}.join .section-en{color:var(--pink)}.join h2{font-size:62px;line-height:1.4;letter-spacing:-.05em}.join h2>span{font-size:.48em;letter-spacing:-.02em}.join-description{margin-top:24px;font-size:16px}.join-star{position:absolute;top:24px;right:8%;font-size:64px;line-height:1;color:var(--yellow);transform:rotate(12deg)}.join .cta{margin:32px auto 0;background:var(--pink-light);color:var(--ink);box-shadow:none}.join .cta:disabled{opacity:1;background:#e5bacb;color:#3e2d36;cursor:default;translate:none;box-shadow:none}.join-note{margin-top:16px;font-size:12px;color:#ead3dc}.back-top{display:inline-flex;gap:12px;align-items:center;min-height:44px;margin-top:28px;font-size:12px}.join :focus-visible{outline-color:var(--yellow)}.footer{padding-block:24px;background:var(--paper)}.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}.footer p{font-size:16px;font-weight:900}.footer small{font-size:10px}.footer small span{display:block;font-family:var(--en);font-size:14px;line-height:1.4;letter-spacing:.04em}
/* Existing adopted A entrance remains short and finite. */
.motion-a .headline-who{animation:schoolDrop .44s .06s both cubic-bezier(.22,1,.36,1)}.motion-a .hero-last{animation:schoolSlam .56s .22s both}
@keyframes schoolDrop{0%{opacity:.35;translate:0 -20px;scale:1.015 .96}55%{opacity:1;translate:0 2px;scale:1.015 .975}100%{opacity:1;translate:0 0;scale:1}}
@keyframes schoolSlam{0%{opacity:.3;scale:1.12}30%{opacity:1;scale:.99 1.015;translate:0 1px}48%{scale:1.015 .985;translate:2px 0}68%{scale:1;translate:-1px 0}100%{opacity:1;scale:1;translate:0 0}}
.motion-a .reveal.is-in{animation:schoolSectionRise .48s both cubic-bezier(.33,1,.68,1)}
@keyframes schoolSectionRise{from{opacity:.55;translate:0 12px}to{opacity:1;translate:0 0}}
/* STAR PROJECT 20261020 starPop: same keyframes; the visible baseline keeps no-JS content readable. */
.motion-a .skills.is-in li:nth-child(1) .skill-star{animation:starPop .45s .1s both cubic-bezier(.34,1.56,.64,1)}.motion-a .skills.is-in li:nth-child(2) .skill-star{animation:starPop .45s .25s both cubic-bezier(.34,1.56,.64,1)}.motion-a .skills.is-in li:nth-child(3) .skill-star{animation:starPop .45s .4s both cubic-bezier(.34,1.56,.64,1)}
@keyframes starPop{0%{opacity:0;scale:.2;rotate:-40deg}50%{opacity:1}100%{opacity:1;scale:1;rotate:0deg}}
/* Motion Prompt #008/#024/#074 · MIT (c) 2026 Shohei Ohtaki · adapted via STAR PROJECT. */
@media(max-width:959px){:root{--space-page:32px}.hero{grid-template-columns:1fr;gap:40px;padding-top:24px}.hero-copy{max-width:640px;width:100%;margin:auto}.hero h1{font-size:68px}.hero-visual{max-width:580px;width:100%;margin-inline:auto}.hero-star{font-size:68px}.section-grid{gap:32px}.community h2{font-size:28px}.skills{gap:var(--space-between)}.skill-heading{gap:8px}.skill-heading h3{font-size:23px}.skill-star{font-size:28px}.mission-grid{gap:32px;grid-template-columns:.6fr 1.4fr}.mission-sign>span{font-size:112px}.mission-sign small{font-size:20px}.mission-copy h2{font-size:28px}.join-star{right:0}}
@media(max-width:639px){:root{--space-page:20px;--space-section:56px;--space-between:24px}.topline{padding:7px var(--space-page)}.topline span:last-child{display:none}.masthead{padding-block:16px}.brand{font-size:15px;gap:6px}.brand-star{font-size:30px}.brand small{font-size:9px}.nav-cta{font-size:10px;gap:6px}.nav-cta span{font-size:19px}.hero{gap:32px;padding-top:16px;padding-bottom:40px}.tag{font-size:11px;padding:3px 8px}.hero h1{font-size:clamp(32px,10.6vw,64px);line-height:1.3;letter-spacing:-.07em;margin-top:28px}.headline-who{font-size:.7em;line-height:1.6}.hero-last{-webkit-text-stroke:3px var(--ink);text-shadow:3px 4px 0 var(--ink)}.hero-description{font-size:16px;margin-top:24px}.hero-school{font-size:13px;margin-top:16px}.hero .cta{font-size:13px;gap:12px;min-height:60px;margin-top:20px;padding:14px}.hero-visual{padding:8px 6px}.hero-star{font-size:44px;top:-15px;right:2px}.school-banner{box-shadow:5px 6px 0 var(--ink);transform:rotate(1deg)}.visual-sticker{font-size:12px;margin-top:16px}.ribbon{padding-block:10px}.ribbon>div{font-size:18px}.ribbon span{margin-inline:16px}.section-en{font-size:19px;margin-bottom:12px}h2{font-size:27px}.skills{grid-template-columns:1fr;margin-top:32px}.skills li{padding-top:20px;padding-right:0}.skill-heading{gap:12px}.skill-heading h3{font-size:27px}.skill-star{font-size:30px}.skill-word{font-size:28px;margin-top:16px}.skills li>p{max-width:25em}.class-photo{margin-top:32px}.section-grid{grid-template-columns:1fr;gap:32px}.community h2{font-size:28px}.community-copy .section-en{font-size:19px}.community-copy .section-en span{font-size:28px}.community-visual{padding:4px}.community-visual .photo-slot{box-shadow:6px 6px 0 #c65c8533}.prose{line-height:2}.mission-grid{grid-template-columns:1fr;gap:28px}.mission-sign{display:flex;align-items:center;justify-content:center;gap:20px}.mission-sign>span{font-size:72px;-webkit-text-stroke:2px var(--ink)}.mission-sign small{font-size:18px;margin:0;text-align:left}.mission-copy h2{font-size:26px}.mission-last{font-size:16px}.questions{margin-top:28px}summary{font-size:14px;gap:12px}details>p{font-size:14px;padding-right:28px}.join .section-en{font-size:19px}.join h2{font-size:52px}.join h2>span{font-size:.42em}.join-description{font-size:14px}.join-star{display:none}.join .cta{font-size:14px;min-height:60px;width:100%}.footer .wrap{flex-direction:column;text-align:center;gap:8px}.footer small span{display:inline;margin-left:6px}}
@media(max-width:359px){:root{--space-page:16px}.brand{font-size:13px}.brand-star{font-size:27px}.nav-cta{font-size:9px}.hero h1{font-size:32px}.hero .cta{font-size:12px;gap:8px}.mission-copy h2{font-size:24px}.join h2>span{font-size:.36em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.motion-still *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media print{.topline,.nav-cta,.ribbon,.skip{display:none}*,*::before,*::after{animation:none!important;transition:none!important}.section,.hero{break-inside:avoid}.join{color:var(--ink);background:var(--paper)}}
/* Keep auxiliary English intact at tablet/small-phone widths. */
.skill-word{font-size:clamp(24px,3.2vw,36px);white-space:nowrap;overflow-wrap:normal}.brand small{white-space:nowrap}@media(max-width:639px){.skill-word{font-size:28px}}@media(max-width:359px){.brand small{font-size:8px}}
/* A clipped skip link stays out of the full-document capture bounds until focused. */
.skip{top:12px;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{width:auto;height:auto;padding:10px 18px;clip-path:none}
