
:root{--red:#e60012;--red-dark:#b8000e;--red-soft:#fff1f1;--ink:#1f1f1f;--sub:#5c5c5c;--line:#d9d9d9;--bg:#ffffff;--panel:#f7f7f7;--land:#e9e9e9;--land-line:#ffffff}
*{box-sizing:border-box}
body{margin:0;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;color:var(--ink);background:var(--bg);line-height:1.8}
a{color:var(--red-dark)}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
header.site{position:sticky;top:0;z-index:100;border-bottom:4px solid var(--accent,var(--red));background:#FAF7F2}
.hd-cta{margin-left:auto;display:inline-block;padding:10px 20px;border-radius:999px;background:var(--cta-bg,var(--red));color:var(--cta-fg,#FAF7F2);font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}

/* 受講生ログイン：体験授業と同じ形、薄い緑で控えめに（影なし） */
.hd-login{margin-left:auto;display:inline-block;padding:10px 20px;border-radius:999px;border:2px solid #8FCBA0;background:#E3F4E8;color:#1E4D33;font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.hd-login:focus-visible{background:#CDEBD7;border-color:#6DB985}
.hd-login+.hd-cta{margin-left:0}
@media (max-width:640px){body header.site .wrap{gap:8px} body header.site .wrap > a:first-child img{height:30px;width:30px;object-fit:cover;object-position:left center} body header.site .hd-login{padding:7px 10px;font-size:13px;border-width:1.5px} body header.site .hd-cta{padding:7px 10px;font-size:13px}}
@media (max-width:375px){body header.site .wrap{gap:6px;padding:0 10px} body header.site .hd-login,body header.site .hd-cta{padding:6px 8px} body header.site .hd-menu{width:40px}}
@media (max-width:640px){header.site .wrap{gap:10px;padding:0 12px} header.site .hd-cta{padding:8px 12px}}
@media (max-width:360px){header.site img{height:20px}}
@media (max-width:640px){header.site .wrap{height:64px} header.site img{height:26px} .hd-cta{padding:8px 14px;font-size:14px}}
header.site .wrap{display:flex;align-items:center;gap:14px;height:76px}
header.site img{height:34px;width:auto;display:block}
/* ハンバーガーメニュー */
.hd-menu{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:52px;height:52px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer;transition:background .15s}

.hd-menu:focus-visible{outline:3px solid #1E4D8C;outline-offset:2px}
.hd-menu .bars{display:flex;flex-direction:column;gap:6px;width:26px}
.hd-menu .bars i{display:block;height:3px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s}
.hd-menu[aria-expanded="true"] .bars i:nth-child(1){transform:translateY(9px) rotate(45deg)}
.hd-menu[aria-expanded="true"] .bars i:nth-child(2){opacity:0}
.hd-menu[aria-expanded="true"] .bars i:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.hd-menu .lbl{font-size:13px;font-weight:700;line-height:1;letter-spacing:.06em}
.hd-menu .lbl::before{content:"MENU"}
.hd-menu[aria-expanded="true"] .lbl::before{content:"CLOSE"}
header.site{--hd-h:76px}
.gnav{position:absolute;top:100%;left:0;right:0;pointer-events:none}
header.site .gnav .wrap{display:flex;justify-content:flex-end;align-items:flex-start;height:auto}
.gnav ul{pointer-events:auto;list-style:none;margin:4px 0 0;padding:8px 0;width:300px;background:#FFFCF7;border:2px solid var(--ink);border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.gnav li+li{border-top:1px solid #E2DACB}
.gnav a,.gnav .dummy{display:block;padding:14px 22px;font-size:16px;font-weight:700;color:var(--ink);text-decoration:none}
.gnav a{transition:background .15s}.gnav a:focus-visible{background:#F1ECE3}
.gnav a[aria-current="page"]{box-shadow:inset 4px 0 0 var(--accent,var(--red))}
.gnav .dummy{color:var(--sub);cursor:default}
.gnav a.ext::after{content:"↗";margin-left:8px;font-weight:500;color:var(--sub)}
@media (max-width:640px){.gnav .wrap{padding:0 12px} .gnav ul{width:100%} .hd-menu{width:44px;height:48px} .hd-menu .lbl{letter-spacing:0} header.site .wrap > a:first-child img{height:22px}}
/* フッター（ページ最下部） */
footer.site{margin-top:64px;background:var(--ft-bg,#484848);color:#FAF7F2;padding:40px 0 20px}
footer.site a{color:#FAF7F2}
.ft{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ft-h{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(250,247,242,.25);font-size:13px;font-weight:700;letter-spacing:.12em;opacity:.75}
.ft-tel{display:block;margin-top:16px;font-size:20px;font-weight:700;letter-spacing:.03em;text-decoration:none;line-height:1.4}
.ft-hours{margin:2px 0 0;font-size:14px;opacity:.85}
.ft-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ft-list a{font-size:16px;font-weight:700}
.ft-list span{display:block;font-size:14px;opacity:.85}
footer.site a.ft-form{display:inline-block;padding:12px 26px;border-radius:6px;background:#FAF7F2;color:var(--ink);font-size:16px;font-weight:700;text-decoration:none;transition:opacity .15s}footer.site a.ft-form:focus-visible{opacity:.85}
.ft-form::after{content:"›";margin-left:10px}
.ft-copy{margin:36px 0 0;padding-top:16px;border-top:1px solid rgba(250,247,242,.2);font-size:13px;text-align:center}
footer.site a:not(.ft-tel):not(.ft-form){text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .2s}footer.site a:not(.ft-form):focus-visible{text-decoration-color:currentColor}
@media (max-width:760px){.ft{grid-template-columns:1fr;gap:28px}}
h1,h2,h3{line-height:1.4;font-family:"Zen Maru Gothic",sans-serif;font-weight:700}
.reg{font-size:1em;position:relative;top:.42em;margin-left:.05em;font-weight:inherit}:where(img){height:auto}html{overflow-x:hidden}@supports (overflow:clip){html{overflow-x:clip}}