
:root{
  --bg:#0b0c0e;--panel:#14161a;--panel2:#1b1e23;--paper:#f5f5f2;--white:#fff;
  --ink:#111318;--muted:#9ca3ad;--line:#2b3038;--accent:#c7ff32;--accent2:#edfbb6;
  --max:1160px;--radius:20px;--shadow:0 20px 60px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:#f8f8f5;font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:1000;background:#fff;color:#111;padding:10px 14px}
.demo-strip{background:var(--accent);color:#0b0c0e;text-align:center;padding:7px 12px;font-size:.76rem;font-weight:800;letter-spacing:.06em}
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,12,14,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-in{width:min(calc(100% - 28px),var(--max));margin:auto;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{font-size:1.05rem;font-weight:900;letter-spacing:.08em}.brand span{color:var(--accent)}
.brand small{display:block;color:var(--muted);font-size:.56rem;letter-spacing:.18em;font-weight:700}
.menu-btn{border:1px solid var(--line);background:var(--panel);color:#fff;border-radius:999px;padding:9px 14px}
.nav{display:none;position:absolute;left:14px;right:14px;top:72px;background:#111318;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow)}
.nav.open{display:grid}
.nav a{padding:11px;border-bottom:1px solid var(--line);font-size:.92rem}.nav a:last-child{border:0}
.nav .func{color:var(--accent);font-weight:800}
.container{width:min(calc(100% - 28px),var(--max));margin:auto}
.eyebrow{margin:0 0 8px;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:900}
.hero{padding:56px 0 42px;background:
 radial-gradient(circle at 80% 18%,rgba(199,255,50,.18),transparent 20%),
 linear-gradient(180deg,#101216,#0b0c0e)}
.hero-grid{display:grid;gap:26px;align-items:center}
.hero h1,.page-hero h1,.section h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.03}
.hero h1{font-size:clamp(2.8rem,14vw,6.8rem);margin:.15em 0;letter-spacing:-.045em}
.hero h1 span{color:var(--accent)}
.hero .lead{max-width:670px;color:#c5c8ce;font-size:1rem}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 17px;border-radius:999px;border:1px solid #3a3e46;font-weight:900}
.btn.primary{background:var(--accent);color:#0b0c0e;border-color:var(--accent)}
.btn.ghost{background:#14161a;color:#fff}
.gym-art{position:relative;min-height:330px;border-radius:28px;overflow:hidden;background:
 linear-gradient(145deg,rgba(199,255,50,.08),transparent 40%),
 repeating-linear-gradient(90deg,#171a1f 0,#171a1f 1px,#101216 1px,#101216 46px)}
.gym-art:before{content:"";position:absolute;width:170px;height:280px;border:18px solid var(--accent);border-bottom:0;border-radius:90px 90px 0 0;left:50%;top:54%;transform:translate(-50%,-50%) rotate(-10deg);opacity:.82}
.gym-art:after{content:"GYM\A DEMO";white-space:pre;position:absolute;right:18px;bottom:18px;font:700 3rem/.82 Arial,sans-serif;letter-spacing:-.08em;color:#fff}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}
.metric{border-top:1px solid #373b43;padding-top:10px}.metric strong{display:block;color:#fff;font-size:1rem}.metric small{color:var(--muted);font-size:.72rem}
.section{padding:54px 0}.section.light{background:var(--paper);color:var(--ink)}.section.panel{background:#101216}
.section h2{font-size:clamp(2rem,9vw,4.5rem);margin:.1em 0 .4em;letter-spacing:-.025em}
.intro{max-width:700px;color:var(--muted)}.light .intro{color:#686d75}
.grid{display:grid;gap:12px}.cards{margin-top:24px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.light .card{background:#fff;border-color:#dedfd9}
.card h3{margin:.25em 0}.card p{color:var(--muted);margin-bottom:0}.light .card p{color:#666b72}
.card .num{font:700 2rem Georgia,serif;color:var(--accent)}
.scroller{display:flex;gap:12px;overflow:auto;padding:4px 14px 10px;margin:22px -14px 0;scroll-snap-type:x mandatory}
.scroller .program-card{min-width:82%;scroll-snap-align:start}
.program-card{position:relative;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(145deg,#1d2127,#0e1013)}
.program-card:before{content:"";position:absolute;right:-30px;top:-30px;width:130px;height:130px;border-radius:50%;border:24px solid rgba(199,255,50,.16)}
.program-card>*{position:relative}.program-card .tag{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.12em}
.price-card.recommended{outline:2px solid var(--accent)}.price{font:700 2.2rem Georgia,serif}.price small{font:500 .82rem system-ui}
.badge{display:inline-block;border-radius:999px;background:var(--accent);color:#101216;padding:4px 9px;font-size:.68rem;font-weight:900}
.news-list{display:grid}.news-item{display:grid;grid-template-columns:7.2em 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.light .news-item{border-color:#ddd}.news-item time{font-size:.8rem;color:var(--muted)}
.page-hero{padding:44px 0 34px;background:linear-gradient(180deg,#121419,#0b0c0e)}
.page-hero h1{font-size:clamp(2.6rem,13vw,5.5rem);margin:.15em 0}
.tabs{display:flex;gap:8px;overflow:auto;margin:20px 0}.tab{white-space:nowrap;border:1px solid var(--line);background:var(--panel);color:#fff;border-radius:999px;padding:9px 13px}.tab.active{background:var(--accent);color:#101216;border-color:var(--accent)}
.info-grid{display:grid}.info-row{display:grid;grid-template-columns:7.5em 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.map-demo{min-height:260px;border-radius:22px;display:grid;place-items:center;text-align:center;color:#737981;background:repeating-linear-gradient(45deg,#ecece7,#ecece7 12px,#e3e4df 12px,#e3e4df 24px)}
.function-banner{border:1px solid rgba(199,255,50,.5);background:rgba(199,255,50,.08);border-radius:18px;padding:14px;margin:18px 0;color:#dff58e}
.bottom-cta{position:fixed;z-index:45;left:10px;right:10px;bottom:10px;background:rgba(20,22,26,.96);border:1px solid #343841;border-radius:18px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px;box-shadow:0 16px 40px rgba(0,0,0,.32)}
.bottom-cta .btn{min-height:42px;padding:7px 10px;font-size:.82rem}
.site-footer{padding:38px 0 92px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}
.footer-grid{display:grid;gap:12px}.footer-links{display:flex;flex-wrap:wrap;gap:12px}
.toast{position:fixed;z-index:200;left:50%;bottom:90px;transform:translate(-50%,20px);opacity:0;background:#fff;color:#111;padding:10px 16px;border-radius:999px;box-shadow:var(--shadow);transition:.2s}
.toast.show{transform:translate(-50%,0);opacity:1}
.empty{border:1px dashed #494e58;border-radius:16px;padding:18px;color:var(--muted)}
@media(min-width:760px){
 .menu-btn{display:none}.nav{display:flex!important;position:static;background:none;border:0;box-shadow:none;padding:0;gap:16px;align-items:center}
 .nav a{border:0;padding:7px 0;font-size:.82rem}.hero{padding:88px 0 70px}.hero-grid{grid-template-columns:1.08fr .92fr}.gym-art{min-height:520px}
 .section{padding:78px 0}.grid.cols2{grid-template-columns:repeat(2,1fr)}.grid.cols3{grid-template-columns:repeat(3,1fr)}.grid.cols4{grid-template-columns:repeat(4,1fr)}
 .scroller{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;margin:24px 0 0;padding:0}.scroller .program-card{min-width:0}
 .split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.bottom-cta{left:50%;right:auto;transform:translateX(-50%);width:520px}
 .footer-grid{grid-template-columns:1fr auto;align-items:end}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toast{transition:none}}
