:root{--navy:#082f62;--blue:#156eae;--green:#398a53;--yellow:#f0bc2b;--orange:#dc8419;--ink:#173750;--muted:#637684;--paper:#fdfbf6;--soft:#eef6f7;--line:#dce5e5;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding-bottom:70px;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.shell{width:100%;padding-left:18px;padding-right:18px}.site-header{height:60px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;background:rgba(253,251,246,.96);border-bottom:1px solid #e6e0d5;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);line-height:1.2}.brand b{font-size:12px}.brand small{font:8px Georgia,serif;color:#768590}.header-cta{font-size:11px;font-weight:800;text-decoration:none;border-bottom:3px solid var(--yellow);padding:7px 2px}.hero{padding-top:54px;padding-bottom:58px;background:linear-gradient(180deg,#fffdf8,#f7f2e6)}.eyebrow,.section-title>span{display:block;margin:0 0 12px;color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.1em}.hero h1{margin:0;color:var(--navy);font-size:30px;line-height:1.47;letter-spacing:-.025em}.hero h1 em{font-style:normal;background:linear-gradient(transparent 69%,rgba(240,188,43,.52) 0)}.hero-copy{font-size:14px;line-height:1.85;color:#506a7b;margin:21px 0}.price-line{margin:27px 0;border-left:4px solid var(--yellow);padding-left:14px;display:flex;flex-direction:column}.price-line>span{font-size:11px;font-weight:800;color:var(--orange)}.price-line strong{font-size:42px;line-height:1.15;color:var(--navy);letter-spacing:-.04em}.price-line strong small{font-size:16px;margin-left:5px}.price-line>b{font-size:11px;margin-top:5px}.primary,.submit{display:flex;width:100%;align-items:center;justify-content:space-between;background:var(--navy);color:#fff;border:0;border-bottom:4px solid var(--yellow);padding:16px;font:800 13px inherit;text-decoration:none;cursor:pointer}.microcopy{text-align:center;color:var(--muted);font-size:10px;margin:10px 0 0}.section{padding-top:64px;padding-bottom:64px}.section-title{margin-bottom:29px}.section-title h2{margin:0;color:var(--navy);font-size:27px;line-height:1.5;letter-spacing:-.025em}.section-title>p{font-size:13px;line-height:1.85;color:var(--muted);margin:14px 0 0}.lesson{background:var(--soft)}.two-lessons{display:grid;gap:12px}.two-lessons article{background:#fff;border:1px solid var(--line);padding:22px 19px;position:relative}.two-lessons article:first-child{border-left:4px solid var(--blue)}.two-lessons article:last-child{border-left:4px solid var(--green)}.lesson-time{position:absolute;right:14px;top:13px;margin:0;padding:5px 8px;border:1px solid var(--line);font-size:10px;font-weight:800}.two-lessons h3{font:12px Georgia,serif;letter-spacing:.04em;color:var(--orange);margin:0 0 8px}.two-lessons article>b{display:block;color:var(--navy);font-size:17px;margin-bottom:16px}.two-lessons ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.two-lessons li{font-size:12px;line-height:1.55}.two-lessons li:before{content:"—";color:var(--yellow);margin-right:7px}.note{font-size:10px;line-height:1.65;color:var(--muted);margin:12px 0 0}.support{background:#fff}.support-list{border-top:1px solid var(--line)}.support-list article{display:grid;grid-template-columns:31px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.support-list i{width:27px;height:27px;display:grid;place-items:center;background:var(--yellow);border-radius:50%;font-style:normal;font-size:10px;font-weight:800;color:var(--navy)}.support-list h3{font-size:15px;color:var(--navy);margin:2px 0 7px}.support-list p{font-size:12px;line-height:1.75;color:var(--muted);margin:0}.more{margin-top:24px;border:1px solid var(--line);background:var(--paper)}.more summary{cursor:pointer;list-style:none;padding:16px 42px 16px 16px;color:var(--navy);font-size:12px;font-weight:800;position:relative}.more summary::-webkit-details-marker{display:none}.more summary:after{content:"＋";position:absolute;right:16px;color:var(--orange)}.more[open] summary:after{content:"−"}.detail-body{padding:0 17px 20px;border-top:1px solid var(--line)}.detail-body h3{font-size:13px;color:var(--navy);margin:20px 0 7px}.detail-body p{font-size:11px;line-height:1.85;color:var(--muted);margin:0}.about{background:var(--paper)}.profile{background:#fff;border-top:4px solid var(--yellow);padding:22px 19px}.role{font-size:10px;color:var(--orange);font-weight:800;margin:0}.profile h3{font-size:23px;color:var(--navy);margin:7px 0 13px}.profile h3 small{display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:3px}.profile>p:last-of-type{font-size:12px;line-height:1.85;color:var(--muted)}.profile ul{list-style:none;padding:15px 0 0;margin:17px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9px}.profile li{font-size:11px;font-weight:800;color:var(--navy)}.profile li:before{content:"●";font-size:6px;color:var(--green);margin-right:6px}.fee{margin-top:13px}.fee>div{background:var(--navy);color:#fff;padding:23px 20px;display:flex;flex-direction:column}.fee>div p{font-size:11px;font-weight:800;color:var(--yellow);margin:0}.fee>div strong{font-size:41px;line-height:1.2}.fee>div strong small{font-size:16px;margin-left:5px}.fee>div>b{font-size:10px}.fee dl{margin:0;background:#fff;border:1px solid var(--line)}.fee dl>div{display:grid;grid-template-columns:76px 1fr;gap:8px;padding:13px 15px;border-bottom:1px solid var(--line);font-size:10px;line-height:1.55}.fee dl>div:last-child{border:0}.fee dt{font-weight:800;color:var(--navy)}.fee dd{margin:0;color:var(--muted)}.fee .campaign{background:#fff7d9}.fee .campaign dd{color:var(--navy);font-weight:800}.contact{background:var(--navy);color:#fff}.contact .section-title>span{color:var(--yellow)}.contact .section-title h2{color:#fff}.contact .section-title>p{color:#d0dce5}.contact form{display:grid;gap:17px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;font-weight:800}.field label em{font-style:normal;color:var(--yellow);font-size:9px;margin-left:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd7df;border-radius:0;background:#fff;color:var(--ink);padding:13px;font:16px inherit;outline:none}.field textarea{resize:vertical;line-height:1.65}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 2px rgba(240,188,43,.25)}.consent{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.6;color:#d4dfe7}.consent input{margin-top:3px}.submit{background:#fff;color:var(--navy);margin-top:2px}.submit:disabled{opacity:.65;cursor:wait}.honey{position:absolute!important;left:-9999px!important}.form-status{min-height:1em;font-size:11px;line-height:1.7;margin:0}.form-status.success{color:#bfe9c9}.form-status.error{color:#ffd2c7}.direct-mail{text-align:center;color:#c7d4de;font-size:9px;line-height:1.7;margin:20px 0 0}.direct-mail a{color:#fff}.mobile-cta{position:fixed;z-index:30;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));padding:14px;background:var(--navy);border-bottom:4px solid var(--yellow);color:#fff;text-align:center;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 8px 25px rgba(8,47,98,.25)}footer{text-align:center;padding:38px 18px 27px;color:var(--navy)}footer>b,footer>span{display:block}footer>b{font-size:12px}footer>span{font:9px Georgia,serif;color:var(--muted);margin-top:3px}footer>p{font-size:9px;color:#98a2a8;margin-top:18px}
@media(min-width:760px){body{padding-bottom:0}.shell{max-width:1060px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}.site-header{height:72px;padding:0 max(28px,calc((100vw - 1060px)/2))}.brand b{font-size:15px}.brand small{font-size:9px}.header-cta{background:var(--navy);color:#fff;border:0;padding:11px 19px}.hero{padding-top:90px;padding-bottom:90px}.hero h1{font-size:52px}.hero-copy{font-size:16px;max-width:630px}.price-line{max-width:430px}.primary{max-width:430px}.microcopy{max-width:430px}.section{padding-top:90px;padding-bottom:90px}.section-title{max-width:720px;margin-bottom:42px}.section-title h2{font-size:41px}.section-title>p{font-size:15px}.two-lessons{grid-template-columns:1fr 1fr;gap:20px}.two-lessons article{padding:29px 27px}.support-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border:0}.support-list article{display:block;border:1px solid var(--line);padding:24px;min-height:190px}.support-list i{margin-bottom:24px}.more{margin-top:28px}.detail-body{display:grid;grid-template-columns:140px 1fr;padding:8px 25px 26px}.detail-body h3{grid-column:1}.detail-body p{grid-column:2;margin-top:18px}.about{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.about>.section-title{grid-column:1/-1}.profile{padding:30px}.fee{margin:0}.contact-shell{max-width:820px}.contact form{grid-template-columns:1fr 1fr;gap:19px}.full{grid-column:1/-1}.submit{max-width:390px}.direct-mail{text-align:left}.mobile-cta{display:none}footer{padding-bottom:50px}}

/* Typography alignment */
body{font-family:"Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;font-weight:400;line-break:strict;word-break:normal;font-kerning:normal}
.shell{padding-left:20px;padding-right:20px}
.brand{line-height:1.25}.brand b{font-weight:700}.brand small,.two-lessons h3,footer>span{font-family:inherit}
.eyebrow{margin-bottom:14px;letter-spacing:.05em;font-weight:700}
.hero{padding-top:50px;padding-bottom:52px}
.hero h1{font-size:28px;font-weight:700;line-height:1.5;letter-spacing:0;text-wrap:balance}
.hero h1 span,.hero h1 em{display:block}
.hero h1 em{width:max-content;max-width:100%;background:linear-gradient(transparent 72%,rgba(240,188,43,.52) 0)}
.hero-copy{max-width:32em;margin:20px 0 0;line-height:1.9}
.section{padding-top:60px;padding-bottom:60px}
.section-title{margin-bottom:28px}
.section-title h2{font-size:26px;font-weight:700;line-height:1.5;letter-spacing:0;text-wrap:balance}
.section-title>p{max-width:40em;line-height:1.9}
@media(min-width:760px){.shell{padding-left:30px;padding-right:30px}.hero{padding-top:86px;padding-bottom:86px}.hero h1{font-size:48px}.section{padding-top:86px;padding-bottom:86px}.section-title h2{font-size:38px}}
