:root{--bg:#fff;--bg-2:#fbf6f5;--card:#fff;--line:#ebe1df;--txt:#1a1315;--sub:#6c5f61;--ac:#e0342a;--ac-deep:#b31e17;--ac-tint:#fdeeec;--ok:#1b7a57;--ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.34,1.56,.64,1);--disp:"Lilita One","M PLUS Rounded 1c",-apple-system,sans-serif;--maru:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",-apple-system,"Hiragino Sans",sans-serif;--body:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP", "Hiragino Kaku Gothic ProN",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body,p,li,td,th,div,span,b,small,summary,button,a,h1,h2,h3,h4{word-break:auto-phrase;line-break:strict;overflow-wrap:anywhere}h1,h2,h3,h4,.btn,.chip,.eyebrow,.stat-v,.opt b{text-wrap:balance}p,li{text-wrap:pretty}body{background:var(--bg);color:var(--txt);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.85}h1,h2,h3{font-family:var(--maru);letter-spacing:.01em;margin:0;font-weight:800;line-height:1.38}a{color:inherit}.num{font-variant-numeric:tabular-nums}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--ac);outline-offset:3px}.wrap{max-width:980px;margin:0 auto;padding:0 22px}.narrow{max-width:720px}.site-head{z-index:50;background:color-mix(in srgb,var(--ac) 94%,transparent);backdrop-filter:blur(12px);color:#fff;position:sticky;top:0}.site-head .in{align-items:center;gap:18px;height:62px;display:flex}.logo{font-family:var(--disp);letter-spacing:.02em;white-space:nowrap;color:#fff;font-size:19px;text-decoration:none}.logo span{color:#ffd2cd}.site-head nav{align-items:center;gap:18px;margin-left:auto;display:flex}.site-head nav a{color:#ffffffd1;white-space:nowrap;font-size:13.5px;text-decoration:none;transition:color .14s}.site-head nav a:hover,.site-head nav a[aria-current=page]{color:#fff}.site-head .btn-sm{color:var(--ac);font-family:var(--maru);background:#fff;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:800}.site-head .btn-sm:hover{color:var(--ac)}.site-head :focus-visible{outline-offset:3px;outline:2px solid #fff}.eyebrow{font-family:var(--maru);letter-spacing:.16em;color:var(--ac);margin:0 0 12px;font-size:11.5px;font-weight:800}.sec{padding:64px 0}.sec.tint{background:var(--bg-2)}.sec h2{margin-bottom:10px;font-size:clamp(22px,4.6vw,32px)}.sec .lead{color:var(--sub);max-width:62ch;margin:0 0 30px}.btn{background:var(--ac);color:#fff;font-family:var(--maru);cursor:pointer;transition:transform .12s var(--spring),box-shadow .12s ease;border:0;border-radius:14px;padding:15px 30px;font-size:16px;font-weight:800;text-decoration:none;display:inline-block}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #e0342a47}.btn:active{transform:translateY(0)scale(.985)}.btn.ghost{border:1.5px solid var(--line);color:var(--txt);background:0 0}.btn.ghost:hover{border-color:var(--ac);color:var(--ac);box-shadow:none}.btn.block{text-align:center;width:100%;display:block}.hero{padding:36px 0 40px;position:relative;overflow:hidden}@media (width>=940px){.hero{padding:76px 0 58px}}.hero.photo{background-image:url(/yuuki-akiba.jpg);background-position:50% 20%;background-repeat:no-repeat;background-size:cover}.hero.photo:after{content:"";pointer-events:none;background:linear-gradient(#ffffffe0 0%,#ffffffeb 45%,#fffffffb 100%);position:absolute;inset:0}.hero:before{content:"";pointer-events:none;z-index:2;background-image:radial-gradient(circle,#e0342a42 1.3px,#0000 1.4px);background-size:11px 11px;position:absolute;inset:0;mask-image:radial-gradient(70% 80% at 100% 0,#000,#0000 70%)}.hero>*{z-index:3;position:relative}.teacher{align-items:center;gap:24px;display:grid}@media (width>=820px){.teacher{grid-template-columns:220px 1fr;gap:34px}}.teacher .face{aspect-ratio:1;object-fit:cover;border:5px solid var(--ac);border-radius:50%;width:min(190px,60vw);margin:0 auto;display:block;box-shadow:0 10px 30px #d93b312e}.teacher .who{font-family:var(--maru);color:var(--sub);text-align:center;margin:12px 0 0;font-size:13px;font-weight:800}.teacher h2{margin-bottom:12px}.teacher p{color:var(--sub);margin:0 0 14px}.teacher p:last-child{margin-bottom:0}.teacher .facts{flex-wrap:wrap;gap:8px;margin:16px 0 0;display:flex}.teacher .facts span{font-family:var(--maru);background:var(--bg-2);border:1px solid var(--line);color:var(--txt);border-radius:999px;padding:5px 13px;font-size:11.5px;font-weight:800}.hero h1{margin:0 0 12px;font-size:clamp(26px,6.4vw,52px);line-height:1.28}.hero h1 em{color:var(--ac);font-style:normal}.hero .lead{color:var(--sub);max-width:56ch;margin:0 0 28px;font-size:16px}.hero .cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero .fine{color:var(--sub);margin:14px 0 0;font-size:13px}.hero-split{grid-template-columns:1fr;align-items:center;gap:30px;display:grid}@media (width>=940px){.hero-split{grid-template-columns:1.05fr .95fr;gap:44px}}.portrait{justify-self:center;position:relative}.portrait:before{content:"";background:radial-gradient(circle,#e0342a24,#0000 70%);border-radius:50%;position:absolute;inset:-14px}.portrait img,.portrait .illus{aspect-ratio:1;object-fit:cover;border:5px solid var(--ac);border-radius:50%;width:min(300px,64vw);display:block;position:relative;overflow:hidden;box-shadow:0 2px 6px #5a1e191a,0 18px 40px #5a1e1929}.portrait figcaption{text-align:center;font-family:var(--maru);color:var(--sub);margin-top:14px;font-size:13.5px;font-weight:800}.proof{background:var(--line);border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:1px;margin:40px 0 0;display:grid;overflow:hidden}.proof div{background:var(--card);text-align:center;padding:16px 12px}.stat-v{font-family:var(--disp);color:var(--ac-deep);font-size:clamp(20px,4vw,28px);line-height:1.1}.stat-k{letter-spacing:.1em;color:var(--sub);margin-top:4px;font-size:10.5px;font-weight:700}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.card{background:var(--card);border:1px solid var(--line);transition:transform .16s var(--ease),border-color .16s ease,box-shadow .16s ease;border-radius:18px;padding:22px;text-decoration:none;box-shadow:0 1px 2px #5a1e190a}.card:hover{border-color:var(--ac);transform:translateY(-3px);box-shadow:0 10px 26px #5a1e191a}.card h3{margin:0 0 8px;font-size:17px}.card p{color:var(--sub);margin:0;font-size:14.5px;line-height:1.75}.card .ico{margin:0 0 10px;font-size:24px;display:block}.reviews{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.rv{grid-template-columns:auto 1fr;align-items:start;gap:14px;margin:0;display:grid}.rv .av{border:2px solid var(--line);background:var(--bg-2);border-radius:50%;flex:none;width:58px;height:58px;overflow:hidden}.rv .bubble{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:17px 19px;position:relative;box-shadow:0 1px 2px #5a1e190a}.rv .bubble:before,.rv .bubble:after{content:"";border-style:solid;border-width:9px 9px 9px 0;width:0;height:0;position:absolute;top:19px;left:-9px}.rv .bubble:before{border-color:transparent var(--line) transparent transparent}.rv .bubble:after{border-color:transparent var(--card) transparent transparent;left:-7.5px}.rv .stars{color:var(--ac);letter-spacing:.12em;margin-bottom:7px;font-size:13px}.rv p{margin:0 0 12px;font-size:14.5px;line-height:1.8}.rv .who{color:var(--sub);font-size:12.5px;font-family:var(--maru);font-weight:700}.prose h2{color:var(--ac-deep);margin:34px 0 10px;font-size:20px}.prose h3{margin:26px 0 8px;font-size:17px}.prose p{color:var(--sub)}.prose ol,.prose ul{color:var(--sub);padding-left:1.3em}.prose li{margin:0 0 10px;line-height:1.8}.prose a{color:var(--ac)}.posts{flex-direction:column;gap:0;display:flex}.post{border-top:1px solid var(--line);transition:padding-left .16s var(--ease);padding:20px 0;text-decoration:none;display:block}.post:first-child{border-top:none}.post:hover{padding-left:8px}.post .meta{letter-spacing:.1em;color:var(--ac);font-size:11.5px;font-weight:800}.post h3{margin:5px 0;font-size:18px}.post p{color:var(--sub);margin:0;font-size:14px}.site-foot{border-top:1px solid var(--line);color:var(--sub);background:var(--bg-2);margin-top:40px;padding:38px 0 56px;font-size:13.5px}.site-foot .cols{flex-wrap:wrap;gap:34px;margin-bottom:22px;display:flex}.site-foot a{color:var(--sub);margin:0 0 7px;text-decoration:none;transition:color .14s;display:block}.site-foot a:hover{color:var(--ac)}.site-foot .h{font-family:var(--maru);color:var(--txt);letter-spacing:.08em;margin:0 0 10px;font-size:12.5px;font-weight:800}@media (width<=820px){.g3,.g2,.reviews{grid-template-columns:1fr}.hero-split{grid-template-columns:1fr;gap:30px}.proof{grid-template-columns:repeat(2,1fr)}.site-head nav a:not(.btn-sm){display:none}.sec{padding:48px 0}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.notes-split{align-items:start;gap:26px;display:grid}@media (width>=900px){.notes-split{grid-template-columns:1fr 1fr;align-items:center;gap:40px}}.notes-split .lead{margin-bottom:16px}.notes-split em{color:var(--ac);font-style:normal;font-weight:700}
