@charset "UTF-8";
:root{--ink:#102a32;--navy:#08222b;--gold:#efcb79;--teal:#287265;--mint:#9be0c8;--paper:#f7f7f0;--line:#d8e0dc;--muted:#506469;--white:#fff;--red:#a82920;--font:'Noto Sans JP','Yu Gothic',sans-serif;--container:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 var(--font);line-break:strict}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p+p{margin-top:20px}h1,h2,h3{font-weight:900;line-height:1.45;letter-spacing:-.04em;text-wrap:balance}h1{font-size:clamp(34px,4.7vw,62px)}h2{font-size:clamp(28px,3.1vw,42px)}h3{font-size:22px}small{font-size:13px}:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.section{max-width:var(--container);margin:auto;padding:72px 24px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--teal);margin-bottom:18px}.lead{font-size:22px;font-weight:700}.micro,.note{font-size:12px;line-height:1.8;margin-top:14px;color:var(--muted)}.note{font-size:11px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:60px;padding:17px 24px;text-decoration:none;border:0;font-weight:900;line-height:1.5;border-radius:4px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 7px 22px #0002}.button.primary{background:var(--gold);color:var(--navy)}.button span{font-size:24px}.button:disabled{opacity:.6;cursor:wait}.reviewbar{padding:7px 20px;background:#e8ede9;font-size:11px;display:flex;gap:8px 16px;justify-content:center;align-items:center;flex-wrap:wrap}.reviewbar nav{display:flex;gap:16px}.site-header{height:80px;background:var(--paper);border-bottom:1px solid var(--line);padding:0 20px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.brand{display:flex;gap:10px;font-weight:900;text-decoration:none;line-height:1.4;font-size:15px;align-items:center}.brand small{display:block;font-size:10px;letter-spacing:.05em;margin-top:5px;font-weight:500}.brand__mark{color:var(--teal);font-size:32px}.header-cta{background:var(--ink);color:var(--white);padding:9px 12px;text-decoration:none;font-size:11px;font-weight:700;border-radius:3px;white-space:nowrap}.hero{background:var(--navy);color:var(--white);position:relative;overflow:hidden}.hero__copy{padding:38px 24px;position:relative;z-index:2}.hero .eyebrow{color:var(--mint)}.hero h1{font-size:clamp(27px,3vw,41px);line-height:1.5}.hero__number{display:block;font-size:clamp(90px,10vw,145px);font-weight:900;line-height:1.2;color:var(--gold);letter-spacing:-.07em;margin:8px 0}.hero__number small{font-size:.27em;letter-spacing:-.04em;margin-left:10px}.hero__promise{font-size:23px;font-weight:700;line-height:1.6;margin:24px 0 12px}.hero .button{margin-top:25px;width:100%}.hero .micro,.hero .note{color:#bdd0d3}.hero__visual{position:relative;max-width:580px;margin:auto}.hero__portrait{aspect-ratio:1;object-fit:cover;object-position:top}.hero__name{position:absolute;bottom:24px;left:24px;padding:12px 20px;background:var(--navy);font-weight:900;font-size:26px}.hero__name small{display:block;font-size:12px;font-weight:500}.hero__seal{position:absolute;right:20px;top:20px;border:1px solid var(--gold);background:#092630e6;color:var(--gold);padding:15px;font-size:14px}.hero__seal b{font-size:20px}.credentials{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 35px;padding:23px;background:#e9eeea;color:var(--ink);font-size:12px;font-weight:700}.credentials span::before{content:'✓';color:var(--teal);margin-right:8px}.intro__body{margin-top:30px;max-width:650px}.intro strong{background:linear-gradient(transparent 68%,#d3e9dc 68%)}.dark{background:var(--navy);color:var(--white);max-width:none}.dark>*{max-width:1072px;margin-left:auto;margin-right:auto}.dark .eyebrow{color:var(--mint)}.dark .micro{color:#bdd0d3}.curriculum__grid{margin-top:35px}.curriculum figure img{border:1px solid #54717a}.curriculum figcaption{color:#bed0d5;font-size:12px;margin-top:12px}.lesson-list{padding:0;list-style:none;margin:30px 0 0}.lesson-list li{display:flex;gap:18px;padding:24px 0;border-bottom:1px solid #35515b}.lesson-list li>span{font-size:26px;color:var(--gold);font-weight:900}.lesson-list h3{font-size:19px}.lesson-list p{color:#bdcfd4;font-size:14px;margin-top:8px}.proof__grid{display:grid;gap:22px;margin-top:35px}.case{border:1px solid var(--line);background:var(--white);overflow:hidden}.case>img{aspect-ratio:16/9;object-fit:contain;background:var(--navy)}.case__body{padding:25px}.case h3 strong{display:block;color:var(--teal);font-size:45px;letter-spacing:-.06em}.case h3 strong span{font-size:25px}.case p{font-size:14px}.beforeafter{display:flex;align-items:center;justify-content:space-between;padding:20px 0;margin:18px 0;border-block:1px solid var(--line);font-size:20px;font-weight:900}.beforeafter small{display:block;font-size:11px;font-weight:500;color:var(--muted)}.beforeafter b{color:var(--teal)}.teacher{border-top:1px solid var(--line)}.teacher__intro{display:grid;gap:30px}.teacher__intro>img{max-width:350px;aspect-ratio:4/5;object-fit:cover;object-position:top}.teacher h2 small{display:block;font-size:13px;font-weight:500;letter-spacing:.08em;margin:12px 0 28px}.teacher p{max-width:620px}.learning{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}.learning img{aspect-ratio:4/3;object-fit:cover}.learning figcaption{font-size:11px;margin-top:10px}.register{display:grid;gap:32px;border-top:1px solid var(--line)}.register h2+p{margin-top:22px}.checklist{padding:0;list-style:none;font-size:14px}.checklist li{margin:14px 0}.checklist li:before{content:'✓';font-weight:900;color:var(--teal);margin-right:12px}.form-card{background:var(--white);border:1px solid var(--line);padding:28px 22px;box-shadow:0 14px 42px #102a3208}.form-card h3{margin-bottom:26px}label{display:block;font-size:14px;font-weight:700}input[type=email]{width:100%;height:55px;padding:12px;border:1px solid #8da39b;border-radius:3px;margin-top:10px;font-size:16px}.error{color:var(--red);font-size:12px;min-height:20px}.consent{display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.8;margin:18px 0;font-weight:400}.consent input{width:20px;height:20px;flex:none;accent-color:var(--teal)}.form-card .button{width:100%}.form__hp{position:absolute;left:-9999px}.preview-link{display:block;margin-top:20px;font-size:12px;color:var(--teal)}#form-status{font-size:13px;color:var(--red)}.faq h2{margin-bottom:30px}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:700;list-style:none;padding-right:28px;position:relative}summary:after{content:'＋';position:absolute;right:0;color:var(--teal)}details[open] summary:after{content:'−'}details p{padding-top:18px;font-size:14px;max-width:700px}.footer{background:var(--ink);color:var(--white);padding:50px 24px 110px}.footer>p{font-size:12px;margin:16px 0}.footer nav{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;margin-bottom:25px}.footer small{color:#b8cbd0}.sticky-cta{position:fixed;bottom:0;left:0;right:0;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#f7f7f0f5;border-top:1px solid var(--line);z-index:90}.sticky-cta .button{width:100%;min-height:48px;padding:10px}.watch-top{max-width:1200px;padding-top:42px}.watch-top h1{margin-bottom:15px}.player{margin-top:32px;background:#000;aspect-ratio:16/9;border:1px solid #1e424b;box-shadow:0 16px 45px #08222b18}.player video{display:block;width:100%;height:100%}.player-status{font-size:12px;color:var(--muted)}.text-button{border:0;border-bottom:1px solid var(--teal);background:none;color:var(--teal);padding:5px 0}.watch-offer{background:var(--navy);color:var(--white);padding:28px;display:grid;gap:25px;margin-top:28px}.watch-offer h2{font-size:27px}.watch-offer .eyebrow{color:var(--mint)}.watch-offer p{margin-top:16px}.watch-offer .micro{color:#bed0d5}.watch-offer .button{width:100%;font-size:15px}.chapter-list{margin-top:30px}.chapter-list button{display:flex;align-items:center;gap:18px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:19px 0;color:var(--ink);font-size:14px}.chapter-list span{color:var(--teal);font-size:13px;min-width:45px;font-variant-numeric:tabular-nums}.chapter-list b{margin-left:auto}.chapter-list button:hover{background:#e9eeea}.takeaway p{margin-top:25px;max-width:700px}.takeaway .button{margin-top:30px}.trial-hero__grid{display:grid;gap:30px;margin-top:35px}.trial-hero__grid>img{align-self:center;border:1px solid var(--line)}.price-box{border-top:3px solid var(--teal);padding:25px;background:var(--white)}.price-box>p{font-size:13px}.price{font-size:42px;font-weight:900;line-height:1.2;margin:22px 0}.price span{display:block;font-size:68px;color:var(--teal);letter-spacing:-.05em}.price small{font-size:16px;margin-left:6px}.offer-list{list-style:none;padding:0;margin:40px 0 0}.offer-list li{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:25px 0}.offer-list li>b{color:var(--teal);font-size:29px}.offer-list p{font-size:14px;margin-top:10px}.dark .offer-list li{border-color:#35515b}.dark .offer-list li>b{color:var(--gold)}.dark .offer-list p{color:#bfd0d5}.guarantee{border-bottom:1px solid var(--line)}.guarantee p{margin:24px 0}.guarantee a{font-size:13px}.final-cta{text-align:center}.final-cta p{margin-top:24px}.final-cta .button{margin-top:30px}.skip{position:fixed;top:-80px;z-index:200;background:var(--gold);padding:15px}.skip:focus{top:0}.motion-stop{display:none;position:fixed;bottom:80px;right:10px;z-index:110;font-size:11px;background:var(--white);border:1px solid var(--line);padding:8px}.js-reveal.is-inview{animation:reveal .55s both}@keyframes reveal{from{opacity:.25;transform:translateY(16px)}to{opacity:1;transform:none}}.is-motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){.motion-stop{display:block}}
@media(min-width:768px){.section{padding:88px 40px}.mobile{display:none}.site-header{padding-inline:40px}.hero{display:grid;grid-template-columns:1.1fr .9fr;padding-inline:max(0px,calc((100vw - 1200px)/2))}.hero__copy{padding:55px 35px 55px 40px}.hero__visual{margin:0;align-self:stretch;min-width:0}.hero__portrait{height:100%;object-fit:cover}.hero__seal{top:45px;right:22px}.hero__name{bottom:50px}.hero__copy>p:not(.hero__promise){font-size:13px}.proof__grid{grid-template-columns:1.3fr 1fr}.teacher__intro{grid-template-columns:300px 1fr;gap:50px}.register{grid-template-columns:1fr 1fr;align-items:center;gap:50px}.watch-offer{grid-template-columns:1fr 1fr;align-items:center;padding:35px}.trial-hero__grid{grid-template-columns:1.2fr 1fr}.sticky-cta{display:none}.footer{padding:55px 40px}.curriculum__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}.lesson-list{margin:0}.brand{font-size:20px}.header-cta{font-size:14px}.learning{margin-left:350px}.hero__number{font-size:110px}}
@media(min-width:1024px){.hero__number{font-size:145px}.hero__copy>p:not(.hero__promise){font-size:15px}.hero__copy{padding-block:65px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.intro>.eyebrow{grid-column:1/-1}.intro__body{margin-top:0}.intro>.offer-list{grid-column:1/-1}.intro h2{font-size:36px}.reviewbar{font-size:12px}}

.mobile-coach{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-size:13px;font-weight:700}.mobile-coach img{width:46px;height:46px;object-fit:cover;object-position:top;border-radius:50%;flex:none}.mobile-coach small{display:block;font-size:10px;color:#bdd0d3;font-weight:400;line-height:1.6;margin-top:4px}.case:not(.case--lead)>img{max-width:360px;margin:auto}.hero__visual{width:100%;max-width:400px}.hero__portrait{height:auto;aspect-ratio:4/5}.hero__seal{right:12px;top:12px}.hero__name{bottom:20px;left:15px}
@media(max-width:767px){.hero__copy{padding-top:25px}.hero h1{font-size:25px}.hero__number{font-size:86px}.hero__promise{font-size:20px;margin-top:18px}.hero__copy>p:not(.hero__promise):not(.eyebrow){font-size:13px}.hero__copy>.note{font-size:10px!important}.hero .button{margin-top:20px}}
@media(min-width:768px){.mobile-coach{display:none}.hero__visual{align-self:center;margin:auto;width:calc(100% - 30px)}.hero__copy{padding-block:45px}.hero__number{font-size:110px}.hero__seal{top:20px}}
.hero__seal{top:auto;bottom:-22px;right:-5px;font-size:11px;padding:8px 12px}.hero__seal b{font-size:16px}.hero__name{bottom:25px}
