@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700;800&display=swap');
:root{--ink:#233235;--sub:#647577;--teal:#168486;--teal-dark:#0d676b;--line:#dfeaea;--wash:#f0f7f6;--gold:#d9a23e;--paper:#fff;--font-en:'Space Grotesk',sans-serif;font-family:'Space Grotesk','Noto Sans JP',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #66d6d6;outline-offset:4px}h1,h2,h3,p,blockquote{margin:0}p{line-height:1.85}.site-header{min-height:86px;padding:16px max(24px,5vw);display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:25px;letter-spacing:-.07em;font-weight:800}.brand-mark{width:29px;height:26px;display:inline-flex;align-items:end;gap:4px}.brand-mark i{width:7px;background:var(--teal);transform:skewY(-20deg);border-radius:2px}.brand-mark i:first-child{height:12px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:25px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}.nav-plain:hover{color:var(--teal)}.nav-button{border:1px solid var(--teal);border-radius:6px;padding:12px 17px;color:var(--teal)}.nav-button:hover{background:var(--wash)}main{max-width:1190px;margin:0 auto;padding:0 30px 90px}.skip{position:absolute;left:-9999px;top:0;padding:10px;background:#fff;z-index:5}.skip:focus{left:10px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--teal);margin-bottom:14px}.hero{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.2fr);gap:clamp(34px,6vw,90px);align-items:center;padding:72px 0 86px}.portrait-frame{background:#edf4f2;border-radius:20px;padding:17px;overflow:hidden}.portrait-frame img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:10px}.portrait-footnote{display:flex;align-items:center;gap:10px;font-family:var(--font-en);font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--sub);margin-top:18px}.small-rule{width:28px;height:3px;background:var(--teal)}h1{font-family:var(--font-en);font-size:clamp(44px,5.2vw,70px);line-height:1.08;letter-spacing:-.06em}h1 span{font-family:'Noto Sans JP',sans-serif;display:block;font-size:17px;font-weight:500;letter-spacing:.02em;color:var(--sub);margin-top:12px}.hero-kicker{font-size:clamp(18px,2.1vw,26px);font-weight:800;line-height:1.6;letter-spacing:-.02em;margin:26px 0 16px}.hero-kicker em{font-style:normal;color:var(--teal)}.hero-description{font-size:14px;line-height:2.1;color:#45575a;max-width:600px}.credentials{display:flex;align-items:stretch;gap:0;margin:30px 0 28px;padding:20px 0;border-block:1px solid var(--line)}.credentials>div{flex:1;display:flex;flex-direction:column;gap:7px;padding:0 19px;border-right:1px solid var(--line)}.credentials>div:first-child{padding-left:0}.credentials>div:last-child{border-right:0;padding-right:0}.credentials strong{font-family:var(--font-en);font-size:clamp(28px,3vw,39px);line-height:1.1;font-weight:800;letter-spacing:-.055em}.credentials strong small{font-family:'Noto Sans JP',sans-serif;font-size:16px;letter-spacing:0;margin-left:3px}.credentials .plus{font-size:27px;color:var(--teal)}.credentials .cred-type strong{font-size:clamp(19px,2vw,27px);letter-spacing:-.02em;margin-top:9px}.cred-type strong span{color:var(--teal)}.credentials div>span{font-size:11px;font-weight:700;color:var(--sub)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;border-radius:7px;font-size:14px;font-weight:800;line-height:1.5;min-height:52px;padding:14px 22px;transition:background .2s}.btn-primary{color:#fff;background:var(--teal)}.btn-primary:hover{background:var(--teal-dark)}.text-link{font-size:12px;font-weight:700;color:var(--teal);text-decoration:underline;text-underline-offset:5px}.price-caption{font-size:12px;color:var(--sub);margin-top:13px}.approach{border-top:1px solid var(--line);padding:72px 0 78px}.section-intro{max-width:690px;margin-bottom:34px}.section-intro h2,.fit h2,.reviews h2,.lesson h2,.bottom-cta h2{font-size:clamp(25px,3vw,37px);line-height:1.45;letter-spacing:-.035em}.section-intro>p:last-child{font-size:14px;color:var(--sub);margin-top:13px}.strength-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.strength{border:1px solid var(--line);border-radius:12px;padding:27px 22px;background:#fff}.strength .num{display:block;color:var(--teal);font-size:12px;font-family:var(--font-en);font-weight:800;letter-spacing:.1em;margin-bottom:23px}.strength h3{font-size:16px;line-height:1.6;margin-bottom:13px}.strength p{font-size:12px;color:var(--sub);line-height:2}.fit{background:#f3f8f7;border-radius:17px;padding:40px 44px}.fit-inner{display:grid;grid-template-columns:1fr 1.25fr;gap:35px;align-items:start}.fit ul{margin:0;padding:0;list-style:none;display:grid;gap:14px}.fit li{font-size:13px;line-height:1.8;position:relative;padding-left:23px}.fit li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:800}.reviews{padding:88px 0 60px}.review-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.review-lead{font-size:13px;color:var(--sub);margin-top:12px}.star-emblem{display:flex;align-items:end;flex-direction:column;gap:7px}.star-emblem span{font-size:26px;letter-spacing:.11em;color:var(--gold);white-space:nowrap}.star-emblem small{color:var(--sub);font-size:10px;letter-spacing:.15em;font-weight:800}.review-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.review-card{grid-column:span 2;display:flex;flex-direction:column;border-radius:13px;border:1px solid var(--line);padding:24px;min-height:225px;background:#fff}.review-card.review-standout{grid-column:span 3;background:#f3faf9;border-color:#d0e6e4}.review-topic{color:var(--teal-dark);font-size:11px;letter-spacing:.04em;font-weight:800}.review-card blockquote{font-size:16px;line-height:2;letter-spacing:.01em;font-weight:700;flex:1;padding:20px 0 27px;overflow-wrap:anywhere}.review-card>a{align-self:flex-start;font-size:11px;color:var(--sub);text-decoration:underline;text-underline-offset:3px}.review-card>a:hover{color:var(--teal)}.review-disclaimer{font-size:11px;color:var(--sub);margin-top:20px}.lesson{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;border-top:1px solid var(--line);padding:65px 0 82px}.lesson>div>p:last-child{font-size:13px;color:var(--sub);margin-top:18px;max-width:400px}.lesson ol{list-style:none;margin:0;padding:0}.lesson li{display:flex;gap:20px;padding:0 0 22px;margin-bottom:20px;border-bottom:1px solid var(--line)}.lesson li:last-child{margin-bottom:0}.lesson li>span{font-family:var(--font-en);color:var(--teal);font-size:16px;font-weight:800}.lesson li strong{font-size:15px}.lesson li p{font-size:12px;color:var(--sub);margin-top:8px}.bottom-cta{border-radius:16px;background:var(--wash);padding:40px 46px;display:flex;gap:25px;align-items:center;justify-content:space-between}.bottom-cta>div:first-child>p:last-child{font-size:13px;color:var(--sub);margin-top:8px}.bottom-cta>div:last-child{text-align:center;flex-shrink:0}.bottom-cta>div:last-child>p{margin-top:10px;color:var(--sub);font-size:11px}footer{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:29px max(24px,5vw);border-top:1px solid var(--line);color:var(--sub);font-size:12px}
@media(max-width:1000px){.strength-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:34px}.credentials>div{padding:0 12px}}@media(max-width:780px){.hero{grid-template-columns:1fr;padding:36px 0 58px}.portrait-column{max-width:400px}.hero-kicker{margin-top:22px}.fit-inner,.lesson{grid-template-columns:1fr;gap:20px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-card,.review-card.review-standout{grid-column:span 1}.review-header{align-items:start}.reviews{padding-top:65px}.bottom-cta{align-items:flex-start;flex-direction:column}.bottom-cta>div:last-child{text-align:left}}@media(max-width:570px){main{padding:0 18px 55px}.site-header{padding:12px 18px;min-height:70px}.brand{font-size:21px}.site-header nav{gap:10px}.nav-plain{display:none}.nav-button{padding:10px 12px;font-size:11px}.hero{padding-top:26px}.hero-kicker{font-size:19px}.hero-description{font-size:13px}.credentials{gap:0}.credentials>div{padding:0 9px}.credentials strong{font-size:27px}.credentials .cred-type strong{font-size:17px;margin-top:7px}.credentials div>span{font-size:10px}.strength-grid,.review-grid{grid-template-columns:1fr}.strength{padding:23px}.review-card,.review-card.review-standout{grid-column:span 1;min-height:0}.review-header{align-items:flex-start;flex-direction:column;gap:16px}.star-emblem{align-items:start}.fit{padding:27px 23px}.approach{padding:55px 0}.reviews{padding:60px 0}.lesson{padding:50px 0}.bottom-cta{padding:27px 23px}.bottom-cta h2{font-size:25px}.hero-actions .btn{width:100%}.hero-actions{gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v3: Five-star visual directly below portrait, and in every testimonial. */
.portrait-stars{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:18px;padding:16px 12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.portrait-stars .stars{font-family:Arial,sans-serif;font-size:clamp(28px,3.5vw,37px);line-height:1.1;letter-spacing:.09em;color:var(--gold);white-space:nowrap}
.portrait-stars-label{font-family:var(--font-en);font-size:10px;font-weight:800;letter-spacing:.19em;color:var(--sub)}
.portrait-footnote{margin-top:16px}
.review-stars{margin-top:12px;color:var(--gold);font-family:Arial,sans-serif;font-size:19px;letter-spacing:.1em;line-height:1.2;white-space:nowrap}
.review-card blockquote{padding-top:14px;padding-bottom:8px}
@media(max-width:570px){.portrait-stars .stars{font-size:33px}}
