:root{--navy:#073765;--blue:#05a9df;--teal:#14bdb4;--pink:#ff567c;--yellow:#fff08a;--sky:#eefaff;--text:#12385d;--muted:#5c7186;--white:#fff;--shadow:0 18px 50px rgba(7,55,101,.13);--radius:26px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:"Noto Sans JP",sans-serif;line-height:1.75;background:#fff}a{color:inherit}img{display:block;max-width:100%}h1,h2,p{margin-top:0}.container{width:min(1160px,calc(100% - 48px));margin:auto}.narrow{width:min(780px,calc(100% - 48px))}.section-pad{padding:78px 0}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);box-shadow:0 2px 16px rgba(7,55,101,.08);backdrop-filter:blur(12px)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;width:min(1240px,calc(100% - 40px));margin:auto}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:1.14rem;color:var(--navy);white-space:nowrap}.brand-logo{display:block;width:32px;height:32px;flex:0 0 32px}.back-link{text-decoration:none;font-weight:700;color:var(--navy);border:1px solid #cde4ee;border-radius:999px;padding:9px 18px}.back-link:hover{background:#eefaff}
.hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#f7fdff 8%,#e5f8ff 58%,#eefff9);padding:105px 0 110px}.hero-inner{position:relative;text-align:center;z-index:1}.eyebrow,.section-kicker{color:var(--teal);font-weight:900;letter-spacing:.18em;font-size:.82rem;margin-bottom:10px}.hero h1{font-family:"M PLUS Rounded 1c",sans-serif;color:var(--navy);font-size:clamp(3rem,6.2vw,5.6rem);line-height:1.12;letter-spacing:-.04em;margin-bottom:24px}.hero h1 span{color:var(--blue)}.lead{font-size:1.13rem;font-weight:600;color:#3f617e}.hero-chips{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:30px}.hero-chips span{background:#fff;border:1px solid #cce9f3;border-radius:999px;padding:8px 18px;font-weight:700;box-shadow:0 7px 20px rgba(7,90,130,.07)}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px)}.hero-orb--one{width:430px;height:430px;background:rgba(5,169,223,.11);left:-130px;top:-130px}.hero-orb--two{width:350px;height:350px;background:rgba(20,189,180,.12);right:-80px;bottom:-150px}
.intro{text-align:center}.section-kicker{text-align:center}.intro h2,.contact h2{font-family:"M PLUS Rounded 1c",sans-serif;color:var(--navy);font-size:clamp(2rem,4vw,3.2rem);line-height:1.3;margin-bottom:20px}.intro h2 span{color:var(--blue)}.intro-copy{color:var(--muted);font-weight:500;margin:0}
.programs{background:#f5fbfe}.program-list{display:grid;gap:48px}.program-card{display:grid;grid-template-columns:1.02fr .98fr;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid #d8ebf3}.program-card:nth-child(even){grid-template-columns:.98fr 1.02fr}.program-card:nth-child(even) .program-image{order:2}.program-image{position:relative;min-height:560px;background:#dceff5}.program-image img{width:100%;height:100%;object-fit:cover}.status{position:absolute;left:24px;top:24px;padding:8px 18px;border-radius:999px;color:#fff;font-weight:900;letter-spacing:.06em;box-shadow:0 8px 20px rgba(4,46,74,.15)}.available{background:linear-gradient(135deg,var(--teal),#0ca7c8)}.preparing{background:linear-gradient(135deg,#718397,#52677d)}.program-body{padding:52px 48px;display:flex;flex-direction:column;align-items:flex-start}.number{color:var(--blue);font-weight:900;letter-spacing:.14em;font-size:.76rem;margin-bottom:8px}.program-body h2{font-family:"M PLUS Rounded 1c",sans-serif;font-size:clamp(2rem,3.6vw,3rem);line-height:1.2;color:var(--navy);text-align:left;margin-bottom:18px}.price{display:flex;align-items:flex-end;color:var(--navy);margin-bottom:18px}.price small{font-size:.95rem;font-weight:700;margin:0 7px 10px 0}.price strong{font-family:"M PLUS Rounded 1c",sans-serif;color:var(--pink);font-size:3.2rem;line-height:1}.price span{font-weight:900;margin:0 0 7px 4px}.subheading{font-size:1.22rem;font-weight:900;color:#078ec5;line-height:1.5;margin-bottom:18px}.description{font-weight:500;color:#49677f}.program-body ul{list-style:none;padding:0;margin:4px 0 27px;width:100%;display:grid;gap:9px}.program-body li{position:relative;background:#f0faff;border-radius:12px;padding:11px 14px 11px 44px;font-weight:700}.program-body li:before{content:'✓';position:absolute;left:14px;top:10px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff;font-size:.8rem}.cta-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:58px;padding:13px 27px;border-radius:999px;background:linear-gradient(135deg,#07a8dd,#0879c3);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 12px 25px rgba(5,143,203,.25);margin-top:auto}.cta-button:hover{transform:translateY(-2px);filter:saturate(1.1)}.coming-soon{width:100%;margin-top:auto;text-align:center;background:#edf2f6;color:#52677d;border:1px solid #d4dee6;border-radius:999px;padding:14px 18px;font-weight:900}.mobile-only{display:none}
.contact{padding:70px 0;background:linear-gradient(135deg,#e9faff,#f1fff9)}.contact-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.contact .section-kicker{text-align:left}.contact h2{text-align:left;font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:10px}.contact p{margin-bottom:0}.cta-button--line{background:linear-gradient(135deg,#0fc144,#00a931);box-shadow:0 12px 26px rgba(7,185,62,.25);white-space:nowrap}footer{background:var(--navy);color:#fff;padding:30px 0}footer .container{display:flex;align-items:center;justify-content:space-between}footer .brand{color:#fff}footer p{margin:0;font-size:.8rem}
@media(max-width:850px){.program-card,.program-card:nth-child(even){grid-template-columns:1fr}.program-card:nth-child(even) .program-image{order:0}.program-image{min-height:360px}.program-body{padding:38px 34px}.contact-inner{grid-template-columns:1fr;text-align:center}.contact .section-kicker,.contact h2{text-align:center}.contact .cta-button{justify-self:center}}
@media(max-width:560px){.container,.narrow{width:calc(100% - 30px)}.section-pad{padding:55px 0}.header-inner{height:66px;width:calc(100% - 24px)}.brand{font-size:.9rem}.brand-logo{width:27px;height:27px;flex-basis:27px}.back-link{font-size:.72rem;padding:7px 11px}.hero{padding:76px 0 80px}.hero h1{font-size:2.65rem}.lead{font-size:.95rem}.lead br{display:none}.hero-chips span{font-size:.78rem;padding:7px 12px}.intro h2{font-size:2rem}.program-list{gap:30px}.program-image{min-height:245px}.status{left:16px;top:16px;font-size:.78rem}.program-body{padding:30px 22px}.program-body h2{font-size:2rem}.mobile-only{display:block}.price strong{font-size:2.7rem}.subheading{font-size:1.05rem}.description{font-size:.92rem}.program-body li{font-size:.86rem}.cta-button{width:100%}.contact{padding:55px 0}.contact h2{font-size:1.75rem}footer .container{display:grid;gap:12px;justify-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta-button{transition:none}}
.entry{background:#fff}.entry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.entry-copy{position:sticky;top:110px}.entry-copy .section-kicker{text-align:left}.entry-copy h2{font-family:"M PLUS Rounded 1c",sans-serif;color:var(--navy);font-size:clamp(2rem,3.4vw,3rem);line-height:1.3;margin-bottom:20px}.entry-copy h2 span{color:var(--blue)}.plan-note{display:grid;gap:2px;margin-top:24px;padding:18px 20px;border-left:5px solid var(--blue);background:#eefaff;border-radius:0 14px 14px 0}.plan-note b{font-size:1.25rem;color:var(--navy)}.plan-note span{font-size:.86rem;color:var(--muted)}.entry-card{background:#fff;border:1px solid #d4e8f1;border-radius:24px;padding:34px;box-shadow:var(--shadow)}.entry-card form>label{display:block;font-weight:800;margin-bottom:8px}.entry-card em{font-style:normal;background:var(--pink);color:#fff;border-radius:5px;padding:2px 6px;font-size:.7rem;margin-left:5px}.entry-card input[type="text"]{width:100%;height:58px;border:2px solid #c9e0e9;border-radius:12px;padding:0 16px;font-size:1rem;text-transform:uppercase;color:var(--navy);background:#fff}.entry-card input[type="text"]:focus{outline:3px solid rgba(5,169,223,.18);border-color:var(--blue)}.entry-card form>small{display:block;color:var(--muted);margin-top:7px}.form-button{width:100%;border:0;border-radius:999px;min-height:60px;padding:13px 25px;margin-top:24px;background:linear-gradient(135deg,#07a8dd,#0879c3);color:#fff;font-weight:900;font-size:1rem;cursor:pointer;box-shadow:0 12px 25px rgba(5,143,203,.23)}.form-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.sub-button{border:1px solid #9bcbdc;border-radius:999px;background:#fff;color:var(--navy);font-weight:800;padding:11px 18px;cursor:pointer;margin-top:12px}.form-message,.notice{border-radius:12px;padding:12px 14px;margin:16px 0 0;font-weight:700;font-size:.9rem}.form-message.error,.notice.warning{background:#fff0f2;color:#9c2940;border:1px solid #efb4bf}.form-message.success{background:#ebfbf5;color:#087d59;border:1px solid #a9e5d2}.checkout-panel{margin-top:24px;padding-top:24px;border-top:1px solid #d9e9ef}.verified-badge{display:inline-flex;background:#e8fbf3;color:#07845d;border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:900}.checkout-panel h3{font-size:1.35rem;margin:18px 0 4px}.checkout-price{display:flex;align-items:end;color:var(--navy);margin-bottom:18px}.checkout-price strong{font-family:"M PLUS Rounded 1c",sans-serif;font-size:3rem;line-height:1;color:var(--pink)}.checkout-price span{font-weight:800;margin:0 0 6px 6px}.terms-summary{padding:0;margin:0 0 18px;list-style:none;display:grid;gap:8px}.terms-summary li{position:relative;padding-left:25px;font-size:.88rem}.terms-summary li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:900}.consent{display:flex!important;align-items:flex-start;gap:10px;background:#f2faff;padding:14px;border-radius:12px;cursor:pointer}.consent input{margin-top:6px;transform:scale(1.25)}.consent span{font-size:.9rem}.secure-note{display:block;text-align:center;color:var(--muted);margin-top:10px}.member-portal{margin-top:28px;border-top:1px solid #d9e9ef;padding-top:20px}.member-portal summary{cursor:pointer;font-weight:800;color:var(--navy)}.member-portal form{padding-top:16px}.notice{margin:0 0 18px}.completion-page{min-height:100vh;background:linear-gradient(145deg,#edfaff,#f4fff9);display:grid;grid-template-rows:auto 1fr auto}.completion-main{display:grid;place-items:center;padding:50px 16px}.completion-card{width:min(620px,100%);background:#fff;border:1px solid #d8eaf1;border-radius:26px;padding:50px 38px;text-align:center;box-shadow:var(--shadow)}.completion-check{width:92px;height:92px;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%;background:#e5faf2;color:#07845d;font-size:2.8rem;font-weight:900}.completion-card h1{font-family:"M PLUS Rounded 1c",sans-serif;color:var(--navy);font-size:2.2rem;line-height:1.3}.completion-card p{color:var(--muted)}.completion-card .cta-button{margin-top:16px}
@media(max-width:850px){.entry-layout{grid-template-columns:1fr;gap:30px}.entry-copy{position:static;text-align:center}.entry-copy .section-kicker{text-align:center}}
@media(max-width:560px){.entry-card{padding:25px 18px}.completion-card{padding:38px 22px}.completion-card h1{font-size:1.8rem}}
.entry-card input[type="email"]{width:100%;height:58px;border:2px solid #c9e0e9;border-radius:12px;padding:0 16px;font-size:1rem;color:var(--navy);background:#fff}.entry-card input[type="email"]:focus{outline:3px solid rgba(5,169,223,.18);border-color:var(--blue)}.member-portal label:not(:first-child){margin-top:14px}


/* Common legal and navigation footer */
footer .footer-content{width:min(1240px,calc(100% - 32px));margin:0 auto;display:grid;gap:14px;justify-items:center;text-align:center}
footer .footer-brand{color:#fff;text-decoration:none;font-weight:900}
footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px}
footer .footer-links a{color:rgba(255,255,255,.88);font-size:.8rem;text-decoration:none}
footer .footer-links a:hover,footer .footer-links a:focus-visible{color:#fff;text-decoration:underline}
footer .footer-content p{margin:0;font-size:.78rem}
@media(max-width:600px){footer .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px}}


.completion-page .completion-check{background:#eef4f8;color:#073765}
