@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#082b37;--deep:#051c26;--teal:#097e85;--mint:#c8ebe5;--gold:#efcd81;--ink:#203b43;--muted:#5c747b;--paper:#f4f8f6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.95;overflow-wrap:break-word}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #cb8c28;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-feature-settings:'palt';letter-spacing:.025em}h2{font-size:clamp(29px,3.5vw,46px);line-height:1.6;font-weight:800}h3{font-size:21px;line-height:1.7}em{font-style:normal;color:var(--gold)}p+p{margin-top:22px}img{max-width:100%;display:block}.wrap{max-width:1160px;margin:auto;padding:0 40px}.narrow{max-width:840px;margin:auto;padding:0 32px}.section{padding:110px 0}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;color:var(--teal);margin-bottom:20px}.eyebrow.light{color:var(--mint)}.lead{font-size:20px;line-height:2}.note{font-size:12px;line-height:1.9;color:var(--muted)}.teal{color:var(--teal)}.header{height:84px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:#fff}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:11px;line-height:1.55;letter-spacing:.06em}.brand b{font-size:15px;letter-spacing:.17em}.brand-symbol{font-family:Georgia,serif;font-size:42px;color:var(--teal);line-height:1}.brand-symbol span{font-size:23px}.header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}.header nav a{text-decoration:none}.nav-cta{padding:11px 22px;border:1px solid #bed0d3}.nav-cta span{margin-left:20px}.hero{position:relative;background:var(--deep);color:#fff;overflow:hidden}.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 82% 35%,#197e8480,transparent 55%),linear-gradient(120deg,#051c26,#0d3942);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;min-height:690px;padding-top:60px;padding-bottom:65px;gap:20px}.hero-copy{position:relative;z-index:2}.hero .eyebrow{font-size:11px;letter-spacing:.03em}.hero .eyebrow span{display:inline-block;margin-left:8px;border:1px solid #6daaa4;padding:2px 10px}.hero h1{font-size:clamp(37px,4.3vw,60px);line-height:1.47;font-weight:900;letter-spacing:-.015em;white-space:nowrap}.hero-lead{font-size:21px;margin-top:26px;line-height:1.9;font-weight:600}.hero-description{color:#bed4d6;font-size:14px;margin:22px 0 30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;min-height:62px;padding:16px 25px;text-decoration:none;font-weight:800;font-size:16px;line-height:1.6;border-radius:3px;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0002}.button.gold{color:#233b3d;background:linear-gradient(110deg,#f6dfa6,#e9bd63);border-bottom:3px solid #b4863c}.button span{font-size:23px}.hero-date{font-size:11px;color:#bad0d0;margin-top:16px}.hero-date strong{color:#fff;font-weight:500}.hero-art{height:510px;position:relative;align-self:center}.portrait-frame{position:absolute;width:315px;height:410px;right:10px;top:30px;overflow:hidden;border-radius:150px 150px 8px 8px;border:1px solid #d8bd7880;box-shadow:0 25px 60px #0005}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 15%}.art-word{position:absolute;right:-45px;top:0;font-size:55px;line-height:1.2;font-weight:900;letter-spacing:.04em;color:#bce7db14;transform:rotate(90deg);transform-origin:60% 80%}.orbit{position:absolute;border:1px solid #66b9b347;border-radius:50%;width:460px;height:460px;right:-45px;top:0;transform:rotate(-25deg)}.orbit-two{width:560px;height:330px;right:-90px;top:70px}.orbit-one:after{content:'';position:absolute;width:12px;height:12px;background:var(--gold);border-radius:50%;top:50px;left:40px;box-shadow:0 0 25px #efcd81}.teacher-label{position:absolute;bottom:18px;right:-3px;background:#f2ead8;color:var(--navy);width:280px;padding:15px 25px;transform:rotate(-3deg);box-shadow:0 8px 30px #0003}.teacher-label small{font-size:11px;display:block}.teacher-label strong{font-size:28px;display:block;font-weight:900}.teacher-label>span{font-size:13px}.art-seal{position:absolute;left:-5px;bottom:75px;border:1px solid #ceba83;border-radius:50%;width:125px;height:125px;background:#10363c;display:grid;place-items:center;transform:rotate(-10deg);color:var(--gold);text-align:center;font-size:17px;font-weight:700;box-shadow:inset 0 0 0 5px #10363c,inset 0 0 0 6px #ceba834f}.hero-bottom{position:relative;border-top:1px solid #ffffff24;display:flex;justify-content:center;gap:65px;padding:20px;font-size:13px;color:#d5e5e3}.hero-bottom b{font-family:Georgia,serif;color:var(--gold);font-size:22px;margin-right:10px}.intro{text-align:center;background:var(--paper)}.intro .lead{margin:30px 0}.wishes{list-style:none;text-align:left;margin:35px auto;padding:0;max-width:590px}.wishes li{padding:15px 0 15px 34px;border-bottom:1px solid #d4e1df;position:relative;font-weight:600}.wishes li:before{content:'✓';position:absolute;left:0;color:var(--teal)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.section-top>p{font-size:14px;padding-bottom:8px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.lesson{position:relative;padding:24px 25px 30px;border-top:2px solid var(--teal);background:var(--paper)}.number{font-family:Georgia,serif;font-size:38px;color:#a4bfbc}.lesson h3{font-size:19px;margin:10px 0 16px}.lesson p:last-child{font-size:14px;color:var(--muted)}.small-label{font-size:10px;letter-spacing:.16em;color:var(--teal);font-weight:800}.lesson-graphic{height:115px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.molecules i{width:74px;height:74px;display:grid;place-items:center;border:1px solid #59a3a4;border-radius:50%;font:35px Georgia;background:linear-gradient(145deg,#fff,#b2d9d6);box-shadow:6px 6px 20px #32747418}.molecules i+i{margin-left:-8px}.graphic-steps{gap:6px}.graphic-steps i{font-size:11px;font-style:normal;background:#dbe9e6;border:1px solid #bdcfca;padding:16px 8px;border-radius:3px}.speech i{font-style:normal;border:1px solid #81afaa;background:#e5efec;width:64px;height:56px;text-align:center;font-size:30px;line-height:1.7;border-radius:20px 20px 20px 0}.speech i+i{margin:25px 0 0 12px;background:#d5e7e0;border-radius:20px 20px 0 20px}.statement{padding:90px 0;text-align:center;background:var(--navy);color:#fff;position:relative}.statement h2{margin-bottom:28px}.statement p:not(.eyebrow){color:#c3d6d7}.section-lead{margin-top:20px;color:var(--muted)}.inclusions{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin-top:50px}.feature{display:flex;gap:20px;padding:32px 0;border-top:1px solid #cddbd8}.feature-no{font:italic 30px Georgia;color:#99b1ad}.feature h3{margin:7px 0 15px}.feature p{font-size:14px;max-width:610px}.feature p.note{font-size:12px}.tag{font-size:10px;letter-spacing:.14em;color:var(--teal);font-weight:700}.feature.major{grid-column:1/-1;background:var(--paper);padding:35px;margin-bottom:8px;border-top:0;align-items:center}.major h3{font-size:28px}.major>div:first-of-type{max-width:540px}.kit-label{flex-shrink:0;border:1px solid #aac5bb;width:225px;min-height:230px;padding:28px;background:linear-gradient(130deg,#e7f0e9,#c5dbcf);color:#426b62;font-size:10px;letter-spacing:.18em;margin-left:auto;box-shadow:12px 12px 0 #e5ede7;transform:rotate(-3deg)}.kit-label b{display:block;font:700 40px/1.1 Georgia;margin:18px 0}.kit-label span{font-size:10px;letter-spacing:.04em}.teacher{background:#e9f1ee}.teacher-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.teacher-title{background:var(--navy);color:white;padding:40px}.teacher-title h2{font-size:35px}.teacher-name{border-top:1px solid #fff3;padding-top:25px;margin-top:35px;font-size:23px;font-weight:700}.teacher-name span{display:block;font-size:12px;font-weight:400;color:#c2d3d2}.teacher-story .lead{font-size:22px;font-weight:700}.teacher-story p:not(.lead){font-size:15px}.teacher-story .note{font-size:12px!important}.flow-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:0;margin:45px 0 24px}.flow-grid li{border-top:2px solid #aacac2;padding-top:20px}.flow-grid span{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.08em}.flow-grid h3{font-size:17px;margin:14px 0}.flow-grid p{font-size:13px;color:var(--muted)}.offer{background:radial-gradient(ellipse at 0 100%,#125863,var(--deep) 75%);color:white}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.offer-message h2{font-size:39px}.offer-message>p:not(.eyebrow){margin-top:30px;color:#c5d7d8;font-size:15px}.offer-message ul{list-style:none;padding:25px 0 0;margin:25px 0 0;border-top:1px solid #fff3;font-size:14px}.offer-message li{padding:4px 0}.offer-message li:before{content:'✓';color:var(--gold);margin-right:13px}.price-card{background:#fff;color:var(--ink);padding:35px;border:1px solid #e2c87e;box-shadow:0 18px 50px #0003;text-align:center}.price-ribbon{font-size:17px;font-weight:800;color:#866531;border-bottom:1px solid #e2d5b7;padding-bottom:15px}.regular{font-size:14px;color:#788583;margin-top:26px}.price{font-size:64px;letter-spacing:-.06em;line-height:1.35;font-weight:900;margin-top:5px}.price>span{font-size:22px;letter-spacing:0;display:inline-flex;flex-direction:column;align-items:center;margin-left:7px}.price small{font-size:11px}.price-caption{font-size:11px;color:var(--muted);margin-top:8px}.deadline{background:#f5f3eb;padding:14px 8px;margin:26px 0}.deadline>span{font-size:11px;display:block}.deadline strong{display:block;font-size:18px;color:#8b5c2b}.deadline small{font-size:12px;margin-left:3px}.price-card .button{display:flex;font-size:15px;padding:16px 18px}.payment-note{font-size:11px;text-align:left;margin-top:20px;color:var(--muted)}.price-card .note{font-size:10px;margin-top:18px}.faq h2{margin-bottom:40px}.faq details{border-top:1px solid #d2dedb;padding:0}.faq details:last-child{border-bottom:1px solid #d2dedb}.faq summary{cursor:pointer;list-style:none;font-size:16px;font-weight:700;padding:23px 35px 23px 35px;position:relative;line-height:1.8}.faq summary:before{content:'Q';position:absolute;left:0;font:24px Georgia;color:var(--teal)}.faq summary:after{content:'+';position:absolute;right:0;font-size:24px;color:var(--teal)}.faq summary::-webkit-details-marker{display:none}.faq details[open] summary:after{content:'−'}.faq details>p{font-size:14px;padding:0 15px 25px 35px;color:var(--muted)}.important{padding:50px 0;background:var(--paper)}.important h2{font-size:18px;margin-bottom:20px}.important p{font-size:12px;color:var(--muted)}.closing{text-align:center;padding:75px 25px}.closing p{font-size:24px;font-weight:700;line-height:1.9;margin-bottom:30px}footer{text-align:center;background:var(--deep);color:#cadadb;padding:45px 20px 110px;font-size:12px}footer .brand-symbol{color:#b6dbd2}footer p{margin:20px 0 8px}footer small{font-size:10px;color:#8ba6a9}.sticky{position:fixed;bottom:0;left:0;right:0;background:#fffef9f5;border-top:1px solid #dbc99d;padding:12px 5%;display:flex;justify-content:center;align-items:center;gap:40px;z-index:10;box-shadow:0 -5px 30px #05263018;backdrop-filter:blur(12px)}.sticky[hidden]{display:none}.sticky small{display:block;font-size:10px;line-height:1.2}.sticky strong{display:block;font-size:29px;line-height:1.3;letter-spacing:-.04em}.sticky strong span{font-size:14px;margin-left:4px}.sticky .button{min-height:49px;font-size:14px;padding:10px 25px;min-width:260px}
@media(max-width:900px){.wrap{padding:0 25px}.hero-grid{grid-template-columns:1.15fr .85fr;padding-top:50px;padding-bottom:50px;min-height:620px}.hero h1{font-size:42px}.hero-art{height:440px}.portrait-frame{width:245px;height:335px;right:0;top:35px}.teacher-label{width:230px;bottom:20px;padding:12px 20px}.teacher-label strong{font-size:25px}.art-seal{width:95px;height:95px;left:-25px;font-size:14px}.hero-bottom{gap:25px;font-size:11px}.hero-description{font-size:13px}.hero .eyebrow{font-size:9px}.lesson-grid{gap:13px}.lesson{padding:20px 18px}.lesson h3{font-size:17px}.section-top{gap:25px}.section-top>p{max-width:42%}.teacher-grid{gap:30px}.teacher-title{padding:28px}.offer-grid{gap:30px}.offer-message h2{font-size:33px}.price-card{padding:25px}.price{font-size:54px}.kit-label{width:195px}.feature.major{padding:25px}.flow-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){body{font-size:15px}.header{height:68px;padding:0 20px}.brand{font-size:9px;gap:8px}.brand b{font-size:11px}.brand-symbol{font-size:33px}.brand-symbol span{font-size:18px}.header nav{gap:0}.header nav>a:not(.nav-cta){display:none}.nav-cta{font-size:11px;padding:8px 11px}.nav-cta span{margin-left:8px}.wrap,.narrow{padding:0 24px}.section{padding:70px 0}.eyebrow{font-size:10px;margin-bottom:17px}h2{font-size:29px;line-height:1.65;letter-spacing:0}.desktop{display:none}.hero-grid{display:flex;flex-direction:column;padding-top:34px;padding-bottom:28px;gap:0}.hero-copy{width:100%}.hero .eyebrow{font-size:9px;line-height:2}.hero .eyebrow span{padding:0 6px;margin-left:5px}.hero h1{font-size:clamp(25px,7.7vw,45px);line-height:1.55;letter-spacing:-.03em}.hero-lead{font-size:17px;line-height:1.85;margin-top:20px}.hero-description{font-size:12px;line-height:1.9;margin:18px 0 22px;max-width:340px}.hero .button{font-size:13px;padding:14px 18px;min-height:56px;width:100%;gap:8px}.hero-date{font-size:9px;line-height:1.8;margin-top:13px}.hero-art{width:100%;height:300px;margin-top:10px}.portrait-frame{width:188px;height:250px;right:33px;top:16px;border-radius:100px 100px 4px 4px}.teacher-label{width:197px;right:0;bottom:0;padding:10px 19px}.teacher-label strong{font-size:22px}.teacher-label small{font-size:9px}.teacher-label>span{font-size:11px}.art-seal{width:100px;height:100px;left:14px;bottom:32px}.orbit{width:310px;height:310px;right:5px;top:0}.orbit-two{width:365px;height:200px;right:-25px;top:60px}.art-word{font-size:40px;top:90px;left:-7px;right:auto;transform:none;line-height:1.3}.hero-bottom{padding:16px 24px;display:block}.hero-bottom>div{font-size:11px;line-height:2.2}.hero-bottom b{font-size:17px;margin-right:12px}.intro .lead{font-size:16px;line-height:2;margin:25px 0}.wishes{margin:25px 0;text-align:left}.wishes li{font-size:13px;padding-left:26px}.intro p:last-child{font-size:14px}.section-top{display:block;margin-bottom:30px}.section-top>p{max-width:none;margin-top:23px;font-size:14px}.lesson-grid{grid-template-columns:1fr;gap:22px}.lesson{padding:22px 24px 27px}.lesson-graphic{height:85px;margin-bottom:8px}.lesson .number{position:absolute;font-size:30px}.lesson h3{font-size:21px}.lesson p:last-child{font-size:14px}.statement{padding:65px 0}.statement h2{font-size:28px}.statement p:not(.eyebrow){font-size:13px}.section-lead{font-size:14px}.inclusions{display:block;margin-top:30px}.feature{gap:15px;padding:26px 0}.feature.major{display:block;padding:25px}.feature.major .feature-no{display:block;margin-bottom:10px}.major h3{font-size:25px}.feature h3{font-size:20px}.feature p{font-size:14px}.kit-label{display:none}.teacher-grid{display:block}.teacher-title{padding:30px;margin-bottom:30px}.teacher-title h2{font-size:30px}.teacher-name{margin-top:25px;padding-top:20px}.teacher-story .lead{font-size:20px}.teacher-story p:not(.lead){font-size:14px}.flow-grid{grid-template-columns:1fr;gap:24px;margin-top:30px}.flow-grid li{padding-top:16px}.flow-grid h3{font-size:18px;margin:8px 0}.flow-grid p{font-size:14px}.offer-grid{display:block}.offer-message h2{font-size:31px}.offer-message>p:not(.eyebrow){font-size:14px;margin-top:24px}.offer-message ul{margin-bottom:35px}.price-card{padding:25px 20px}.price{font-size:59px}.price-card .button{font-size:13px;padding:15px}.deadline strong{font-size:17px}.deadline small{font-size:11px}.payment-note{font-size:11px}.faq summary{font-size:14px;padding-top:20px;padding-bottom:20px;padding-left:30px}.faq details>p{padding-left:30px;font-size:13px}.important{padding:40px 0}.important h2{font-size:17px}.closing{padding:55px 24px}.closing p{font-size:20px}.closing .button{font-size:13px;width:100%;gap:10px}.sticky{padding:10px 18px;gap:18px}.sticky strong{font-size:25px}.sticky small{font-size:8px}.sticky .button{min-width:0;flex:1;max-width:240px;padding:9px 15px;font-size:12px;min-height:47px}.sticky .button span{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
