:root{--lime:#d9ff00;--bg:#090a0b;--panel:#17191b;--gray:#8b8f92}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#f7f7f4;font-family:"Noto Sans JP",Arial,sans-serif}main{max-width:1440px;margin:auto;overflow:hidden}
/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;min-height:min(800px,100svh);background:#0b0c0d;border-top:3px solid var(--lime);display:flex;align-items:center}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url('../hero-trainer.jpg') 58% center/cover no-repeat;filter:brightness(1.72) contrast(1.04)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,6,7,.88) 0%,rgba(5,6,7,.58) 38%,rgba(5,6,7,.18) 66%,rgba(5,6,7,0) 88%)}
.heroInner{width:min(1240px,calc(100% - 80px));margin:auto}.eyebrow{font-size:12px;letter-spacing:.32em;color:var(--lime);font-weight:800}.hero h1{font-size:clamp(52px,6vw,86px);line-height:1.27;letter-spacing:.02em;margin:24px 0;font-weight:900;text-shadow:0 2px 26px rgba(0,0,0,.65)}.hero h1 span{color:var(--lime);font-size:1.34em;margin:0 .08em}.lead{font-size:14px;line-height:2;color:#e2e2df;text-shadow:0 1px 18px rgba(0,0,0,.7)}.heroCta{display:inline-flex;gap:50px;margin-top:30px;background:var(--lime);color:#090a0b;padding:17px 24px;text-decoration:none;font-weight:900;transition:.2s}.heroCta:hover{filter:brightness(1.15);transform:translateY(-2px)}.heroNote{font-size:11px;color:#bfc2c4;margin-top:12px;text-shadow:0 1px 12px rgba(0,0,0,.8)}
/* ---------- sections ---------- */
.section{border-top:1px solid #35383a;padding:48px 5.5%}.split{display:grid;grid-template-columns:250px 1fr;gap:40px}.sectionTitle{display:flex;gap:12px;align-items:flex-start}.sectionTitle strong{color:var(--lime);font-size:50px;line-height:.85;letter-spacing:-.05em}.sectionTitle h2{font-size:22px;margin:0 0 18px;white-space:nowrap}.sectionTitle p{font-size:10px;letter-spacing:.24em;color:var(--gray);margin:0}.intro{font-size:13px;color:#b6b8b7;margin:0 0 30px}
.evalGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.evalCard{background:linear-gradient(145deg,#202326,#151719);padding:26px 16px;min-height:220px;border:1px solid #292c2e}.evalCard .ic{display:block;height:60px;color:var(--lime)}.evalCard .ic svg{width:40px;height:40px;stroke:currentColor;fill:none;stroke-width:1.6}.evalCard h3{font-size:16px}.evalCard p,.step p,.plan li,.trainerCopy p{font-size:12px;line-height:1.9;color:#c3c5c4}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.step{position:relative}.step:not(:last-child):after{content:"";position:absolute;top:24px;left:70px;right:-20px;height:1px;background:var(--lime)}.stepNo{font-size:52px;color:var(--lime);font-weight:900}.stepNo em{font-size:10px;display:block;text-transform:uppercase;letter-spacing:.1em;font-style:normal}.step h3{font-size:16px;margin-top:26px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.plan{background:linear-gradient(145deg,#202326,#141617);border:1px solid #2b2e30;padding:30px;position:relative;text-align:center;min-height:410px}.plan.featured{border:2px solid var(--lime)}.badge{position:absolute;right:0;top:0;background:var(--lime);color:#111;padding:8px;font-size:10px;font-weight:900}.plan h3{font-size:30px;letter-spacing:.05em;margin:0}.plan>small{color:#b4b6b8}.planDesc{color:var(--lime);font-size:12px;line-height:1.8;min-height:48px}.price{display:flex;justify-content:center;align-items:end;gap:6px;margin:22px 0}.price b{font-size:34px}.price small{text-align:left;white-space:nowrap}.plan ul{padding:0;list-style:none;text-align:left}.plan li{color:#d6d8d5}.plan li::first-letter{color:var(--lime)}.note{font-size:11px;color:var(--gray)}
.trainerCard{display:grid;grid-template-columns:40% 1fr;background:linear-gradient(120deg,#202326,#131516);min-height:360px}.trainerPhoto{background:url('../hero-trainer.jpg') 75% center/cover no-repeat;filter:grayscale(1) brightness(1.35);opacity:.85}.trainerCopy{padding:38px}.trainerCopy h3{font-size:26px;margin:6px 0}.kana{color:var(--lime)!important;margin-top:0}
.contact{border-top:1px solid #35383a;padding:45px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;flex-direction:column}.brand b{font-size:28px;letter-spacing:.2em}.brand span{font-size:10px;color:#b4b6b8;letter-spacing:.22em}.contact>div:last-child{text-align:center;min-width:50%}.contact p{font-size:13px}.contact a{display:flex;justify-content:center;gap:60px;background:#0f8a27;color:#fff;text-decoration:none;padding:17px 24px;font-weight:900}.contact small{display:block;margin-top:10px;color:var(--gray);font-size:11px}
footer{border-top:1px solid #222;padding:14px 5.5%;font-size:11px;color:var(--gray)}
/* ---------- sample notice(しるべーじゅ統一様式・BASE64トーン) ---------- */
.sample-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;padding:7px 14px;background:#111214;border-bottom:1px solid #2c2f31;font-size:11px;letter-spacing:.06em;color:#b4b8ba;text-align:center}
.sample-bar b{background:var(--lime);color:#111;font-size:10px;letter-spacing:.18em;padding:2px 8px;font-weight:900}
.sample-bar a{color:var(--lime)}
.sb-foot{border-top:1px solid #35383a;background:#101112;padding:50px 6vw;text-align:center}
.sb-foot .lbl{margin:0 0 14px;font-size:11px;letter-spacing:.28em;color:var(--lime);font-weight:800}
.sb-foot h2{margin:0 0 12px;font-size:17px;line-height:1.9;letter-spacing:.06em;font-weight:700}
.sb-foot p{margin:0 auto 24px;max-width:36em;font-size:12px;color:#b4b8ba}
.sb-foot .sb-btn{display:inline-block;background:var(--lime);color:#111;padding:14px 36px;font-size:13px;font-weight:900;text-decoration:none}
.sb-foot .lnk{margin-top:18px;font-size:11px}
.sb-foot .lnk a{color:#b4b8ba;margin:0 10px}
/* ---------- responsive ---------- */
@media(max-width:1280px){.evalGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.split{grid-template-columns:1fr}.sectionTitle{align-items:center}.sectionTitle p{display:none}.hero{min-height:700px}.plans{gap:12px}.plan{padding:24px 16px}.steps{grid-template-columns:repeat(2,1fr)}.step:not(:last-child):after{display:none}}
@media(max-width:700px){.hero{min-height:min(670px,100svh);}.hero::before{background-position:67% center;filter:brightness(1.8)}.hero::after{background:linear-gradient(90deg,rgba(5,6,7,.86) 0%,rgba(5,6,7,.5) 56%,rgba(5,6,7,.1) 100%)}.heroInner{width:calc(100% - 40px)}.hero h1{font-size:42px}.lead{font-size:12px}.section{padding:38px 20px}.sectionTitle strong{font-size:40px}.evalGrid{grid-template-columns:repeat(2,1fr)}.evalCard{min-height:190px}.steps,.plans{grid-template-columns:1fr}.step{padding-bottom:15px}.plan{min-height:auto}.trainerCard{grid-template-columns:1fr}.trainerPhoto{min-height:300px}.contact{flex-direction:column;align-items:stretch}.contact>div:last-child{min-width:0}.contact p{text-align:left}}
