/* ATEZ-LP layout (taste-neutral). 実測元: otaku-x.css。色・装飾は themes/*.css で上書き */
:root{
  --col:480px; --bp-pc:1024px; --bp-tab:481px;
  --wrap-x:18px; --sec-y:72px; --side-pad-y:40px; --side-pad-x:clamp(24px,3.4vw,60px);
  --fs-body:15px; --lh-body:1.85; --fs-eyebrow:13px; --ls-eyebrow:.14em;
  --fs-h1-l1:clamp(30px,8.9vw,40px); --fs-h1-l2:clamp(54px,16vw,72px);
  --fs-h2:clamp(27px,7.8vw,34px); --lh-h2:1.42; --fs-close:clamp(30px,8.8vw,40px);
  --fs-side-catch:clamp(18px,1.6vw,24px); --fs-index-ttl:28px; --fs-index:14.5px; --fs-index-num:11px;
  --fs-btn:18px; --btn-h:66px; --fs-stick-btn:16px; --stick-h:58px; --fs-small:13px;
  --gap-s:8px; --gap-m:14px; --gap-l:24px; --gap-xl:36px;
  /* theme slots */
  --c-bg:#e8e8e8; --c-surface:#fff; --c-surface-2:#f4f4f2; --c-ink:#1c1917; --c-mute:#6b6661;
  --c-accent:#333; --c-accent-ink:#fff; --c-invert:#1c1917; --c-invert-ink:#fff; --c-line:rgba(0,0,0,.1);
  --f-body:"Noto Sans JP",sans-serif; --f-head:"Noto Sans JP",sans-serif; --f-en:"Inter",sans-serif; --f-mono:ui-monospace,Menlo,monospace;
  --radius:10px; --radius-btn:999px; --border:2px solid var(--c-ink); --shadow:0 10px 40px rgba(0,0,0,.15);
}
*{box-sizing:border-box}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--f-body);font-weight:500;font-size:var(--fs-body);line-height:var(--lh-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.side{display:none}
.lp{position:relative;max-width:var(--col);margin:0 auto;background:var(--c-surface);overflow:hidden}
@media (min-width:1024px){
  .shell{display:grid;grid-template-columns:1fr var(--col) 1fr;min-height:100vh}
  .lp{border-inline:var(--border);box-shadow:var(--shadow)}
  .side{display:flex;position:sticky;top:0;height:100vh;flex-direction:column;justify-content:center;padding:var(--side-pad-y) var(--side-pad-x)}
  .side--l{align-items:flex-end;text-align:right;gap:20px}
  .side--r{align-items:flex-start;gap:14px}
}
.side__logo{font-family:var(--f-en);font-weight:900;font-size:32px;margin:0}
.side__catch{font-family:var(--f-head);font-weight:900;font-size:var(--fs-side-catch);line-height:1.5;margin:0}
.btns{width:min(320px,100%);display:grid;gap:12px}
.index__ttl{font-family:var(--f-en);font-weight:900;font-size:var(--fs-index-ttl);line-height:1}
.index{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:idx}
.index a{display:flex;gap:12px;align-items:baseline;text-decoration:none;font-weight:700;font-size:var(--fs-index);padding:5px 0;color:var(--c-mute);transition:color .25s,transform .25s}
.index a::before{counter-increment:idx;content:counter(idx,decimal-leading-zero);font-family:var(--f-mono);font-size:var(--fs-index-num)}
.index a:hover,.index a.is-current{color:var(--c-ink);transform:translateX(6px)}
.index a.is-current::before{color:var(--c-accent)}
.wrap{padding-inline:var(--wrap-x)}
.sec{padding-block:var(--sec-y)}
.sec--alt{background:var(--c-surface-2)}
.sec--inv{background:var(--c-invert);color:var(--c-invert-ink)}
.eyebrow{display:block;text-align:center;font-family:var(--f-en);font-weight:900;font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);color:var(--c-accent);margin:0}
.h2{margin:10px 0 0;font-family:var(--f-head);font-weight:900;font-size:var(--fs-h2);line-height:var(--lh-h2);text-align:center;text-wrap:balance}
.lead{margin:20px 0 0;text-align:center}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:var(--btn-h);padding:10px 22px;border-radius:var(--radius-btn);text-decoration:none;font-weight:900;font-size:var(--fs-btn);line-height:1.3;background:var(--c-accent);color:var(--c-accent-ink);border:var(--border)}
.btn--sub{background:var(--c-surface);color:var(--c-ink)}
.card{background:var(--c-surface);color:var(--c-ink);border:var(--border);border-radius:var(--radius);padding:20px}
.stack{display:grid;gap:var(--gap-m);margin-top:var(--gap-xl)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:var(--gap-xl)}
.ph{background:var(--c-surface-2);border:1px dashed var(--c-mute);border-radius:var(--radius);display:grid;place-items:center;color:var(--c-mute);font-size:var(--fs-small);aspect-ratio:16/9}
/* header */
.hd{position:sticky;top:0;z-index:40;padding:12px;background:var(--c-bg)}
.hd__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--c-invert);color:var(--c-invert-ink);border-radius:var(--radius);padding:12px 12px 12px 16px}
.hd__logo{font-family:var(--f-en);font-weight:900;font-size:23px;line-height:1}
.hd__cta{background:var(--c-accent);color:var(--c-accent-ink);text-decoration:none;font-weight:900;font-size:12.5px;padding:8px 14px;border-radius:var(--radius-btn)}
/* FV */
.fv{padding:22px 12px 34px}
.fv__card{background:var(--c-surface-2);border:var(--border);border-radius:calc(var(--radius)*3);padding:26px 16px}
.fv__lead{margin:0;font-weight:700;font-size:var(--fs-small)}
.fv__h1{margin:10px 0 0;line-height:1.1;font-family:var(--f-head)}
.fv__h1 .l1{display:block;font-weight:900;font-size:var(--fs-h1-l1)}
.fv__h1 .l2{display:block;font-weight:900;font-size:var(--fs-h1-l2);line-height:1.08;color:var(--c-accent)}
.fv .ph{margin-top:20px;aspect-ratio:4/3}
.fv .btns{margin:24px auto 0}
/* parts */
.num{text-align:center}.num b{display:block;font-family:var(--f-en);font-size:40px;line-height:1.1;color:var(--c-accent)}
.logos{display:flex;gap:10px;overflow:hidden;margin-top:var(--gap-l)}.logos span{flex:none;width:110px;height:44px;border-radius:6px;background:var(--c-surface-2);border:1px dashed var(--c-mute)}
.qa dt{font-weight:900}.qa dt::before{content:"Q. ";color:var(--c-accent)}.qa dd{margin:6px 0 0}
.step{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start}.step i{font-style:normal;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--c-accent);color:var(--c-accent-ink);font-family:var(--f-en);font-weight:900}
.price b{font-family:var(--f-en);font-size:32px}
.tbl{width:100%;border-collapse:collapse;margin-top:var(--gap-xl);font-size:14px}.tbl th,.tbl td{border:1px solid var(--c-line);padding:8px;text-align:center}
.close{padding:var(--sec-y) 12px}.close__h{font-family:var(--f-head);font-weight:900;font-size:var(--fs-close);line-height:1.4;text-align:center;margin:0}
.foot{padding:40px var(--wrap-x) 120px;background:var(--c-invert);color:var(--c-invert-ink);font-size:var(--fs-small);text-align:center}
.foot nav{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:16px}
dl{margin:0}ul.list{margin:var(--gap-xl) 0 0;padding-left:1.2em}
/* SP sticky CTA */
.stick{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1fr 60px;gap:8px;transform:translateY(130%);transition:transform .45s;pointer-events:none}
.stick.stick--solo{grid-template-columns:1fr}
.stick.is-on{transform:none}.stick .btn{pointer-events:auto;min-height:var(--stick-h);font-size:var(--fs-stick-btn);padding:6px 16px}
@media (min-width:481px){.stick{left:50%;right:auto;width:var(--col);margin-left:calc(var(--col) / -2)}}
@media (min-width:1024px){.stick{display:none}}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .8s}.js .rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}
