:root{--blue:#1d60c8;--blue-dark:#133d8a;--blue-mid:#2d72e0;--blue-pale:#e4effe;--blue-bg:#f2f7fe;--blue-rule:#c0d5f5;--white:#fff;--ink:#0c1e36;--ink-mid:#3a5472;--ink-light:#6b88a8}.page-wrapper{background:var(--white);color:var(--ink);font-family:Noto Sans JP,sans-serif;overflow-x:hidden;overflow-y:hidden!important}.hero{background:var(--blue-bg);border-bottom:1px solid var(--blue-rule);grid-template-columns:1fr 420px;align-items:center;gap:64px;padding:80px 6% 88px;display:grid}.hero-headline{color:var(--ink);letter-spacing:-.01em;font-size:clamp(2rem,4vw,3.1rem);font-weight:800;line-height:1.22}.hero-headline em{color:var(--blue);font-style:normal}.hero-left h3{color:var(--ink-light);margin-bottom:14px;font-size:.9rem}.hero-sub{color:var(--ink-mid);max-width:480px;margin-top:22px;font-size:.95rem;line-height:1.95}.hero-btns{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.btn-primary{background:var(--blue);color:var(--white);cursor:pointer;border:none;border-radius:4px;padding:14px 30px;font-family:inherit;font-size:.92rem;font-weight:700;text-decoration:none;transition:background .2s,transform .15s;display:inline-block}.btn-primary:hover{background:var(--blue-dark);text-decoration:none;transform:translateY(-1px)}.btn-ghost{border:1.5px solid var(--blue-rule);color:var(--ink-mid);background:var(--white);cursor:pointer;border-radius:4px;padding:13px 24px;font-family:inherit;font-size:.88rem;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.btn-ghost:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}.hero-card{background:var(--white);border:1px solid var(--blue-rule);border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #1d60c817}.hero-card-head{background:var(--blue);padding:18px 24px}.hero-card-head-title{letter-spacing:.12em;color:#ffffffe6;text-transform:uppercase;font-family:Space Mono,monospace;font-size:.68rem}.hero-card-body{padding:8px 0}.hero-card-item{border-bottom:1px solid var(--blue-bg);align-items:center;gap:16px;padding:14px 24px;display:flex}.hero-card-item:last-child{border-bottom:none}.card-check{background:var(--blue-pale);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.card-check svg{width:10px;height:10px;stroke:var(--blue);stroke-width:2.5px;fill:none}.hero-card-item span{color:var(--ink);font-size:.88rem;font-weight:500}section{padding:88px 6%!important}.lbl{letter-spacing:.2em;color:var(--blue);text-transform:uppercase;margin-bottom:12px;font-family:Space Mono,monospace;font-size:.62rem}.sec-title{color:var(--ink);letter-spacing:-.01em;margin-bottom:14px;font-family:Noto Serif JP,serif;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;line-height:1.28}.sec-desc{color:var(--ink-mid);max-width:560px;font-size:.92rem;line-height:1.95}.problem-section{background:var(--white)}.problem-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;display:grid}.prob-card{background:var(--blue-bg);border:1px solid var(--blue-rule);border-radius:6px;padding:28px 24px}.prob-num{letter-spacing:.1em;color:var(--blue);margin-bottom:14px;font-family:Space Mono,monospace;font-size:.62rem;display:block}.prob-card h3{color:var(--ink);margin-bottom:10px;font-size:.95rem;font-weight:700;line-height:1.4}.prob-card p{color:var(--ink-mid);font-size:.84rem;line-height:1.85}.features-section{background:var(--blue-bg)}.features-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:48px;display:grid}.feat-card{background:var(--white);border:1px solid var(--blue-rule);border-radius:6px;padding:30px 26px;position:relative;overflow:hidden}.feat-card:before{content:"";background:var(--blue);transform-origin:0;height:3px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.feat-card:hover:before{transform:scaleX(1)}.feat-n{color:var(--blue-pale);margin-bottom:14px;font-size:1.6rem;font-weight:800;line-height:1}.feat-card h3{color:var(--ink);margin-bottom:10px;font-size:.93rem;font-weight:700;line-height:1.5}.feat-card p{color:var(--ink-mid);font-size:.83rem;line-height:1.88}.curriculum-section{background:var(--white)}.week-strip{border:1px solid var(--blue-rule);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;display:grid;overflow:hidden}.week-col{border-right:1px solid var(--blue-rule)}.week-col:last-child{border-right:none}.week-col:hover{background:var(--blue-bg)}.week-col-head{background:var(--blue);padding:16px 18px}.week-col:hover .week-col-head{background:var(--blue-dark)}.wk-title{color:var(--white);font-size:.88rem;font-weight:700;line-height:1.35}.week-col-body{padding:18px}.week-col-body ul{list-style:none}.week-col-body li{color:var(--ink-mid);border-bottom:1px solid var(--blue-bg);padding:5px 0 5px 11px;font-size:.79rem;line-height:1.55;position:relative}.week-col-body li:before{content:"";background:var(--blue-mid);border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.week-col-body li:last-child{border-bottom:none}.curr-meta{border:1px solid var(--blue-rule);background:var(--blue-bg);border-radius:6px;grid-template-columns:repeat(4,1fr);gap:0;margin-top:16px;display:grid;overflow:hidden}.curr-meta-cell{border-right:1px solid var(--blue-rule);padding:18px 20px}.curr-meta-cell:last-child{border-right:none}.curr-meta-lbl{letter-spacing:.14em;color:var(--blue);text-transform:uppercase;margin-bottom:6px;font-family:Space Mono,monospace;font-size:.58rem}.curr-meta-val{color:var(--ink);font-size:.84rem;font-weight:500;line-height:1.55}.outcomes-section{background:var(--blue-bg)}.out-inner{grid-template-columns:1fr 1fr;align-items:start;gap:56px;margin-top:48px;display:grid}.out-list{list-style:none}.out-list li{border-bottom:1px solid var(--blue-rule);color:var(--ink);align-items:flex-start;gap:12px;padding:15px 0;font-size:.9rem;line-height:1.6;display:flex}.ck{background:var(--blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;display:flex}.ck svg{stroke:#fff;stroke-width:2.5px;fill:none;width:9px;height:9px}.sup-card{background:var(--white);border:1px solid var(--blue-rule);border-radius:8px;overflow:hidden}.sup-card-head{background:var(--blue);letter-spacing:.12em;color:#ffffffe6;text-transform:uppercase;padding:16px 24px;font-family:Space Mono,monospace;font-size:.68rem}.sup-card-body{padding:8px 0}.sup-row{border-bottom:1px solid var(--blue-bg);color:var(--ink-mid);align-items:center;gap:14px;padding:13px 24px;font-size:.87rem;display:flex}.sup-row:last-child{border-bottom:none}.sup-dot{background:var(--blue);border-radius:50%;flex-shrink:0;width:6px;height:6px}.alt-option{border-top:1px solid var(--blue-rule);border-bottom:1px solid var(--blue-rule);text-align:center;background:#f7faff;padding:30px 6% 35px}.alt-inner{max-width:520px;margin:0 auto}.alt-option h3{color:var(--ink);margin-bottom:12px;font-size:1.2rem;font-weight:700}.alt-option p{color:var(--ink-mid);margin-bottom:24px;font-size:.95rem;line-height:1.8}.alt-btn{background:var(--blue);color:#fff;border-radius:4px;padding:12px 26px;font-weight:700;text-decoration:none;display:inline-block}.alt-btn:hover{background:var(--blue-dark);text-decoration:none}.pricing-section{background:var(--white)}.pricing-box{border:1px solid var(--blue-rule);border-radius:8px;max-width:620px;margin-top:48px;overflow:hidden;box-shadow:0 4px 32px #1d60c812}.pricing-box-head{background:var(--blue-bg);border-bottom:1px solid var(--blue-rule);padding:28px 36px}.pricing-name{color:var(--ink);margin-bottom:16px;font-size:1.05rem;font-weight:700}.price-num{color:var(--blue-dark);letter-spacing:-.02em;font-size:2.8rem;font-weight:800;line-height:1}.price-suffix{color:var(--ink-light);margin-left:6px;font-size:.82rem;font-weight:400}.price-dur{color:var(--ink-light);margin-top:6px;font-size:.8rem}.pricing-box-body{padding:28px 36px 32px}.pricing-box-body p{color:var(--ink-mid);margin-bottom:24px;font-size:.87rem;line-height:1.88}.pricing-box-body .btn-primary{text-align:center;width:100%;padding:16px;font-size:.92rem}.pricing-note{color:var(--ink-light);text-align:center;margin-top:12px;font-size:.74rem}.faq-section{background:var(--white);margin-top:20px}.faq-wrap{max-width:700px;margin-top:48px}.faq-item{border-bottom:1px solid var(--blue-rule)}.faq-q{cursor:pointer;color:var(--ink);user-select:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:.93rem;font-weight:500;line-height:1.5;transition:color .2s;display:flex}.faq-q:hover{color:var(--blue)}.faq-icon{background:var(--white);border:1px solid var(--blue-rule);width:24px;height:24px;color:var(--blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;transition:transform .3s,background .2s;display:flex}.faq-a{max-height:0;transition:max-height .35s;overflow:hidden}.faq-a-inner{color:var(--ink-mid);padding:0 0 18px;font-size:.87rem;line-height:1.92}.faq-item.open .faq-icon{background:var(--blue-pale);transform:rotate(45deg)}.faq-item.open .faq-a{max-height:300px}.cta-toggle{text-align:center;background:var(--blue-bg);padding:72px 6%}.cta-lead{color:var(--ink-mid);margin-bottom:20px;font-size:.9rem}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:32px;display:flex}.btn-primary.active{transform:translateY(-1px);box-shadow:0 4px 14px #1d60c833}.btn-ghost.active{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.cta-display{max-width:720px;margin:0 auto}.cta-panel{animation:.4s fadeUp}.cta-section{background:var(--blue);text-align:center;padding:80px 6%}.cta-section .lbl{color:#fff9}.cta-section h2{color:var(--white);letter-spacing:-.01em;margin-bottom:16px;font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:800;line-height:1.25}.cta-section p{color:#ffffffc7;max-width:460px;margin:0 auto 40px;font-size:.93rem;line-height:1.95}.cta-form{text-align:left;background:var(--white);border-radius:8px;max-width:540px;margin:0 auto;padding:40px;box-shadow:0 12px 48px #00000026}.form-group{margin-bottom:24px}.form-group label{color:var(--ink);margin-bottom:8px;font-size:.82rem;font-weight:700;display:block}.form-group input,.form-group textarea{border:1px solid var(--blue-rule);width:100%;color:var(--ink);box-sizing:border-box;border-radius:4px;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--blue);outline:none}.form-group textarea{resize:vertical;min-height:120px}.form-submit{background:var(--blue);width:100%;color:var(--white);cursor:pointer;border:none;border-radius:4px;padding:16px;font-family:inherit;font-size:1rem;font-weight:700;transition:background .2s,transform .15s}.form-submit:hover{background:var(--blue-dark);transform:translateY(-1px)}.form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-error{color:red;margin-bottom:10px;font-size:14px}footer{background:var(--ink);padding:32px 6%!important}footer p{color:#ffffff47;font-size:.9rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.hero{grid-template-columns:1fr;gap:44px}.problem-grid{grid-template-columns:1fr}.features-grid,.week-strip,.curr-meta{grid-template-columns:repeat(2,1fr)}.out-inner{grid-template-columns:1fr;gap:36px}}@media (width<=620px){.features-grid,.week-strip,.curr-meta{grid-template-columns:1fr}section{padding:64px 5%!important}nav{padding:0 5%}.pricing-box-head{flex-direction:column;align-items:flex-start}.cta-form{padding:24px}}
