@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#172124;--muted:#626967;--blue:#3048e8;--lime:#ddf588;--paper:#fff;--line:#e2e6e4;--soft:#f4f6f4;--radius:26px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans","Noto Sans JP",sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ea771e;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.45}button{color:inherit}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;left:20px;top:-80px;background:var(--ink);color:#fff;padding:12px;z-index:100}.skip:focus{top:10px}.header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{font-size:39px;font-weight:700;letter-spacing:-2px;line-height:1;display:inline-flex;align-items:baseline;gap:3px}.brand span{width:8px;height:8px;background:var(--blue);border-radius:50%}.nav{display:flex;align-items:center;gap:29px;font-size:14px;font-weight:600}.nav a:not(.button):hover{color:var(--blue)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:30px;padding:7px 15px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 25px;border-radius:50px;background:var(--ink);color:#fff;border:1px solid transparent;line-height:1.5;font-size:14px;font-weight:600;transition:background .18s,transform .18s;text-align:center}.button:hover{background:var(--blue);transform:translateY(-2px)}.button.blue{background:var(--blue)}.button.blue:hover{background:#2639bd}.button.light{background:#fff;color:var(--ink)}.button.outline{background:transparent;border-color:var(--line);color:var(--ink)}.button.lime{background:var(--lime);color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:13px}.eyebrow:before{content:"";width:23px;height:2px;background:currentColor}.hero{padding:65px 0 36px;position:relative}.hero h1{font-size:clamp(52px,7.5vw,102px);letter-spacing:-.065em;font-weight:800;margin:24px 0 22px;line-height:1.2}.hero h1 em{font-style:normal;color:var(--blue)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}.hero p{font-size:16px;line-height:2}.hero .actions{margin:0}.hero-note{display:block;font-size:12px;color:var(--muted);letter-spacing:.1em;margin-top:18px}.product-grid{display:grid;grid-template-columns:1.17fr 1fr;gap:20px;margin-top:30px}.product-card{border-radius:var(--radius);padding:30px 35px 26px;overflow:hidden;position:relative;min-height:370px}.product-card.english{background:var(--blue);color:white}.product-card.math{background:var(--lime)}.card-label{display:flex;justify-content:space-between;align-items:center;gap:15px}.pill{display:inline-flex;border:1px solid currentColor;border-radius:20px;padding:3px 11px;font-size:12px;line-height:1.7}.product-brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;letter-spacing:-.04em}.product-brand img{width:34px;height:34px;border-radius:9px}.product-card h2{font-size:27px;font-weight:600;letter-spacing:-.035em;margin-top:28px}.product-card .card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:13px}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px;font-weight:600}.word-art{display:flex;align-items:center;justify-content:center;gap:8px;height:124px}.word-art span{font-size:clamp(30px,4vw,58px);letter-spacing:-.04em;font-weight:500}.word-art .part{border-bottom:2px solid #a9bbff;padding-bottom:3px}.word-art .word-hint{font-size:12px;display:block;text-align:center;font-weight:400;letter-spacing:.02em;margin-top:3px}.word-art .plus{font-size:30px;opacity:.65}.equation-art{height:124px;display:flex;align-items:center;justify-content:center;gap:12px;font-family:Georgia,serif;font-size:40px}.equation-art .step{background:rgba(255,255,255,.68);padding:3px 14px;border-radius:10px}.equation-art .eq{font-size:24px}.under-hero{display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:.07em;color:var(--muted);padding:21px 0 0}.section{padding:92px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}.section h2,.section-head h2{font-size:38px;letter-spacing:-.05em;font-weight:700;margin-top:15px}.section-intro{color:var(--muted);margin-top:18px;max-width:640px}.coaching-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.photo-frame{height:480px;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--soft)}.photo-frame img{height:100%;width:100%;object-fit:cover;object-position:67% center}.photo-caption{position:absolute;bottom:22px;left:22px;background:#fff;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600}.coaching-copy h2{font-size:39px}.coaching-copy p{color:var(--muted);margin-top:22px}.check-list{margin:24px 0 0;padding:0;list-style:none}.check-list li{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}.check-list li:before{content:"✓";color:var(--blue);margin-right:15px}.soft{background:var(--soft)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.article-card{display:block}.article-cover{height:190px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:44px;letter-spacing:-.03em;overflow:hidden;background:#e6ebfa}.article-cover.math{background:#e6eecf}.article-cover.dark{background:#1e3230;color:#fff}.article-cover small{font-family:"DM Sans",sans-serif;font-size:15px;display:block;letter-spacing:.06em}.article-meta{display:flex;gap:14px;font-size:12px;color:var(--muted);margin:18px 0 9px}.article-meta span:first-child{color:var(--blue);font-weight:600}.article-card h3{font-size:19px;line-height:1.65}.article-card:hover h3{color:var(--blue)}.article-card:hover .article-cover{outline:2px solid var(--blue);outline-offset:3px}.studio-band{background:#192b28;color:#fff;border-radius:var(--radius);padding:50px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.studio-band h2{font-size:38px}.studio-band p{color:#c2ceca;margin-top:15px}.studio-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.studio-tags span{border:1px solid #54716a;border-radius:6px;padding:6px 12px;font-size:13px}.cta{border-top:1px solid var(--line);padding:66px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:32px}.footer{padding:46px 0 24px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer p{font-size:13px;color:var(--muted);margin-top:15px}.footer-links{display:flex;flex-wrap:wrap;gap:24px;font-size:13px;align-items:center}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);margin-top:52px}.page-hero{padding:66px 0 50px;max-width:880px}.page-hero h1{font-size:clamp(35px,4.8vw,60px);letter-spacing:-.05em;line-height:1.45;margin:22px 0}.page-hero p{color:var(--muted);font-size:17px;max-width:740px}.page-hero .pill{margin-top:18px}.breadcrumbs{font-size:12px;color:var(--muted);margin-top:24px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px}.panel{border:1px solid var(--line);border-radius:22px;padding:32px}.panel h2,.panel h3{font-size:23px;margin:0 0 18px}.panel p{color:var(--muted)}.panel.blue{background:var(--blue);color:white;border:0}.panel.blue p{color:#e2e6ff}.panel.lime{background:var(--lime);border:0}.spaced{margin-top:30px}.number{font-size:14px;color:var(--blue);font-weight:600}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:30px}.flow article{padding:24px 0;border-top:1px solid var(--line)}.flow h3{font-size:19px;margin:20px 0 12px}.flow p{font-size:14px;color:var(--muted)}.notice{padding:19px 24px;border-left:3px solid var(--blue);background:var(--soft);font-size:14px;line-height:1.9;margin:25px 0}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.tabs a,.tabs button{border:1px solid var(--line);border-radius:30px;padding:9px 22px;font-size:14px;background:white}.tabs .active{background:var(--ink);color:white}.reading{display:grid;grid-template-columns:minmax(0,750px) 250px;gap:80px;align-items:start}.prose{font-size:17px;line-height:2.1;min-width:0}.prose h2{font-size:27px;margin:45px 0 20px;scroll-margin-top:30px}.prose h3{font-size:21px;margin:28px 0 14px}.prose p{margin:18px 0}.prose ul,.prose ol{padding-left:24px}.prose li{margin:9px 0}.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.prose .formula{font-family:Georgia,"Noto Sans JP",serif;font-size:24px;background:var(--soft);padding:24px;border-radius:14px;line-height:2;overflow-x:auto}.prose table,.data-table{border-collapse:collapse;width:100%;margin:25px 0;font-size:14px;line-height:1.9}.prose th,.prose td,.data-table td,.data-table th{padding:16px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose th,.data-table th{background:var(--soft)}.toc{position:sticky;top:30px;border-top:2px solid var(--ink);padding-top:20px;font-size:14px}.toc strong{display:block;margin-bottom:18px}.toc a{display:block;color:var(--muted);margin:13px 0}.toc .button{color:white;margin-top:30px}.quiz{margin-top:35px;border:1px solid var(--line);border-radius:20px;padding:28px;background:#fafbf8}.quiz h2,.quiz h3{font-size:21px;margin:8px 0 20px}.quiz-options{display:grid;gap:11px;margin-top:20px}.quiz-options button{padding:14px 18px;text-align:left;border:1px solid #cdd3d0;background:white;border-radius:10px;font-size:16px}.quiz-options button:hover{border-color:var(--blue);background:#f0f2ff}.quiz-options button[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.feedback{margin-top:18px;font-size:15px}.feedback:empty{display:none}.feedback.good{color:#19613b}.feedback.wrong{color:#9b4a12}.small{font-size:13px;color:var(--muted)}.diagnostic{max-width:800px;margin:0 auto 90px}.diagnostic fieldset{padding:0;border:0;margin:0 0 35px}.diagnostic legend{font-size:21px;font-weight:600;margin-bottom:16px}.radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.radio-card{border:1px solid var(--line);border-radius:12px;padding:15px 18px;display:flex;gap:12px;align-items:center;font-size:15px;cursor:pointer}.radio-card:has(input:checked){border-color:var(--blue);background:#f0f3ff}.radio-card input{accent-color:var(--blue);width:17px;height:17px}.result{border-radius:20px;background:#eff4de;padding:32px;margin-top:32px}.result h2{font-size:25px}.result p{margin-top:14px}.result[hidden]{display:none}.form{max-width:760px}.form label{display:block;font-weight:600;font-size:14px;margin:22px 0 8px}.form input:not([type=checkbox]),.form select,.form textarea{width:100%;border:1px solid #bfc8c3;border-radius:10px;padding:13px 16px;background:white;color:var(--ink)}.form textarea{min-height:160px;resize:vertical}.form .checkbox-label{display:flex;gap:10px;align-items:flex-start;font-weight:400}.form .checkbox-label input{margin-top:6px}.form .checkbox-label a{text-decoration:underline}.form-status{margin-top:20px;font-size:14px;color:var(--blue)}.hidden{display:none!important}details{border-bottom:1px solid var(--line);padding:23px 0}summary{font-weight:600;cursor:pointer}details p{color:var(--muted);padding-top:17px;max-width:850px}.product-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}.product-detail .app-large{width:200px;margin:auto;border-radius:45px;box-shadow:0 25px 70px #15231a15}.article-author{font-size:13px;color:var(--muted);margin-top:24px}.table-scroll{overflow-x:auto}.strategy{max-width:950px}.strategy h2{margin-top:50px}.strategy .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.strategy .metric{background:var(--soft);padding:24px;border-radius:16px}.strategy .metric strong{font-size:27px;display:block}.not-found{text-align:center;padding:120px 0}.no-js{padding:16px;background:#fff5cd}.page-end{margin-bottom:80px}
@media(min-width:1500px){.hero{padding-top:80px}.hero h1{font-size:112px}.product-card{min-height:390px}}
@media(max-width:1020px){.wrap{width:calc(100% - 56px)}.nav{gap:18px}.nav a{font-size:12px}.header{height:84px}.coaching-section{gap:38px}.photo-frame{height:430px}.coaching-copy h2{font-size:30px}.reading{gap:35px;grid-template-columns:minmax(0,1fr) 210px}.product-card{padding:28px}.studio-band{gap:35px;padding:38px}.flow{grid-template-columns:1fr 1fr}.article-grid{gap:20px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:76px}.brand{font-size:34px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:24px;background:#fff;border-bottom:1px solid var(--line);z-index:50;box-shadow:0 15px 20px #15231a08}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{font-size:15px;padding:14px}.hero{padding:45px 0 22px}.hero h1{font-size:clamp(45px,10vw,72px);margin:26px 0;letter-spacing:-.07em}.hero-bottom{display:block}.hero p{font-size:14px;line-height:2}.hero .actions{margin-top:24px}.hero-note{font-size:12px}.product-grid{grid-template-columns:1fr;margin-top:14px;gap:16px}.product-card{min-height:325px;padding:24px}.product-card h2{font-size:26px;margin-top:24px}.word-art span{font-size:45px}.word-art{height:106px}.equation-art{height:106px;font-size:35px}.product-card .card-bottom{font-size:12px}.under-hero{font-size:10px}.section{padding:60px 0}.section-head{align-items:flex-start}.section h2,.section-head h2{font-size:28px}.section-head .text-link{font-size:12px;white-space:nowrap;margin-top:24px}.coaching-section{grid-template-columns:1fr;gap:32px}.photo-frame{height:320px}.coaching-copy h2{font-size:31px}.article-grid{grid-template-columns:1fr;gap:30px}.article-cover{height:190px}.article-card h3{font-size:19px}.studio-band{grid-template-columns:1fr;gap:20px;padding:28px}.studio-band h2{font-size:30px}.cta{display:block;padding:45px 0}.cta h2{font-size:27px}.cta .button{margin-top:22px}.footer-top{display:block}.footer-links{margin-top:30px;gap:18px}.footer-bottom{display:block;margin-top:32px}.footer-bottom div{margin-top:14px}.page-hero{padding:45px 0 32px}.page-hero h1{font-size:34px}.page-hero p{font-size:16px}.two-col{grid-template-columns:1fr;gap:20px}.panel{padding:25px}.flow{grid-template-columns:1fr 1fr;gap:20px}.flow h3{font-size:17px}.flow p{font-size:13px}.reading{display:block}.toc{position:static;margin-top:50px}.prose{font-size:16px}.prose h2{font-size:24px}.prose .formula{font-size:20px;padding:18px}.quiz{padding:22px}.radio-grid{grid-template-columns:1fr}.diagnostic legend{font-size:19px}.product-detail{grid-template-columns:1fr;gap:30px}.product-detail .app-large{width:140px}.strategy .metrics{grid-template-columns:1fr}.data-table{min-width:580px}.section-intro{font-size:15px}.result{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.company-list{margin:0}.company-list dt{font-size:13px;color:var(--muted);padding-top:16px}.company-list dd{margin:4px 0 0;padding-bottom:18px;border-bottom:1px solid var(--line)}.article-cover{gap:0}
@media(max-width:760px){.word-art{gap:4px}.word-art span{font-size:clamp(22px,8vw,34px)}.word-art .plus{font-size:20px}.word-art .word-hint{font-size:12px}.equation-art{font-size:clamp(22px,7.5vw,32px);gap:7px}.equation-art .step{padding:4px 8px}.equation-art .eq{font-size:20px}.under-hero{font-size:12px;flex-wrap:wrap}.table-scroll .data-table{min-width:0}}
.flow p{font-size:16px}
@media(max-width:1020px){.nav a{font-size:14px}}
@media(max-width:760px){.hero p,.section-intro{font-size:16px}}
.service-gateway{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;background:#f2f6f3;border:1px solid #dbe4de;border-radius:24px;padding:40px}.service-gateway h3{font-size:36px;letter-spacing:-.03em;color:#214c3f;margin:18px 0 12px}.service-gateway p{max-width:760px;color:var(--muted)}.service-gateway .pill{color:#214c3f}.service-gateway .button{background:#214c3f}
@media(max-width:760px){.service-gateway{grid-template-columns:1fr;padding:26px;gap:24px}.service-gateway h3{font-size:30px}}
