/* 会員募集LP（池上さんのモック 2026-11-06 を移植。提案帯と使っていない部品だけ外した） */
body{margin:0}
img{max-width:100%}
/* 配色（先方指定）：黒 70〜80％／金 10〜15％（差し色・文字色）／赤 5％（差し色）／白 5〜15％（文字・枠） */
:root{
  --black:#000000;
  --ink2:#111111;
  --white:#FFFFFF;
  --red:#E60012;
  --gold:#D9A93E;
  --gold-lt:#F3D27A;
  --mute:rgba(255,255,255,.66);
  --line:rgba(255,255,255,.16);
  --disp:Anton,'Dela Gothic One',sans-serif;
  --jp:'Dela Gothic One','Zen Kaku Gothic New',sans-serif;
  --body:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;
  color-scheme:dark;
}
html,body{background:var(--black);color:var(--white)}
body{font-family:var(--body)}
a{color:var(--white)}
button:focus-visible,a:focus-visible{outline:3px solid var(--gold-lt);outline-offset:3px}
.page{position:relative;overflow:clip;background:var(--black)}
.wrap{width:100%;max-width:1100px;margin:0 auto;box-sizing:border-box;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
section{position:relative}


/* header */
.hd{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd .wrap{height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hd img{height:22px;width:auto;display:block}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);font-size:13px;letter-spacing:.08em;padding:5px 10px 3px;background:var(--red);color:var(--white)}
.chip .dot{width:7px;height:7px;border-radius:4px;background:var(--white);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:.2}}
.chip-x{white-space:nowrap;flex:none;text-decoration:none;gap:7px;padding:7px 12px;border:1.5px solid var(--red);transition:background .2s,color .2s}
.chip-x .ja-chip{font-family:var(--body);font-weight:900;font-size:13px;letter-spacing:.04em}
.chip-x:hover{background:var(--white);color:var(--red);border-color:var(--white)}

/* 1. 動画 */
.movie{padding-block:22px 0}
.movie-frame{position:relative;border:2px solid var(--white);outline:1px solid var(--gold);outline-offset:5px;background:var(--ink2);aspect-ratio:16 / 9;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.movie-frame video{width:100%;height:100%;object-fit:cover;display:block}
.mv-dots{position:absolute;left:12px;bottom:14px;display:flex;gap:6px}
.mv-dots span{width:22px;height:4px;border-radius:2px;background:rgba(255,255,255,.4)}
.mv-dots span.on{background:var(--gold-lt)}
.mv-dots:empty,.mv-dots.one{display:none}
.snd{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:18px;border:1.5px solid var(--gold);background:rgba(0,0,0,.7);color:var(--gold-lt);font-family:var(--disp);font-size:13px;letter-spacing:.08em;cursor:pointer}
/* カウントダウンページへ（ティザーと同じボタン） */
.ctas{margin:32px auto 0;max-width:520px}
.cta{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 24px;box-sizing:border-box;border-radius:32px;text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.cta .en{font-family:var(--disp);font-size:17px;letter-spacing:.04em}
.cta .ja{font-size:11px;font-weight:700;display:block;margin-top:3px;letter-spacing:.06em}
.cta .t{text-align:left}
.cta svg{flex:none;transition:transform .3s}
.cta:hover svg{transform:translateX(5px)}
.cta.primary{background:var(--red);color:var(--white);border:2px solid var(--red)}
.cta.primary:hover{background:var(--white);color:var(--red);border-color:var(--white)}

/* 2. 会員募集案内開始 */
.title{padding-block:48px 24px}
.tbox{position:relative;border:2px solid var(--white);padding:26px 14px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.tbox::before{content:"";position:absolute;inset:6px;border:1px solid var(--gold);pointer-events:none}

.vh{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
.title-img{display:block;width:100%;max-width:820px;height:auto;margin:0 auto}
.h-img{display:block;height:clamp(36px,10vw,52px);width:auto;max-width:100%;margin:0 auto}
/* 見出し：金の英字＋白の日本語 */
.sh{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:26px;text-align:center}
.sh h2{margin:0;font-family:var(--disp);font-weight:400;font-size:clamp(34px,9.6vw,44px);line-height:1.05;letter-spacing:.04em}
.sh p{margin:0;font-size:13px;font-weight:900;letter-spacing:.12em;color:var(--white);display:flex;align-items:center;gap:10px}
.sh p::before,.sh p::after{content:"";width:18px;height:1px;background:var(--gold)}

.tap{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;font-weight:700;color:var(--mute)}
.tap svg{color:var(--gold-lt)}
/* 3. SCHEDULE（最大4枚程度） */
.sched{padding-block:48px 40px}
.img-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.zimg{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:100%;box-sizing:border-box;border:1.5px solid var(--white);background:var(--ink2);color:var(--white);cursor:zoom-in;font:inherit;padding:12px;text-align:center;transition:border-color .2s}
.zimg:hover{border-color:var(--gold-lt)}
.zimg.r45{aspect-ratio:4 / 5}
.zimg.r169{aspect-ratio:16 / 9}
.zimg.r169 small{display:none}
.zimg.r41{aspect-ratio:4 / 1;padding:6px}
.zimg.r41 small{display:none}
.zimg.has-img{padding:0;border-color:rgba(255,255,255,.35)}
.zimg.has-img img{object-fit:cover}
.zimg.has-img .zoom-ic{display:none}
.zimg.r41 .zoom-ic{right:6px;bottom:6px;width:28px;height:28px}
.zimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zimg strong{font-size:13px}
.zimg small{font-size:11px;color:var(--mute);line-height:1.5}
.zoom-ic{position:absolute;right:8px;bottom:8px;width:34px;height:34px;border-radius:17px;background:var(--black);border:1.5px solid var(--gold);color:var(--gold-lt);display:flex;align-items:center;justify-content:center}

/* 4. MACHINE LINEUP（11/17〜バナー画像） */
.machine{padding-block:40px 40px}
.mach-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}

/* 5. FOLLOW US */
.links{padding-block:40px 56px}
.link-grid{display:grid;grid-template-columns:repeat(var(--n,3),calc((100% - 20px) / 3));justify-content:center;gap:10px}
.lbtn{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px;box-sizing:border-box;border:1.5px solid var(--white);background:var(--black);color:var(--white);text-decoration:none;text-align:center;transition:background .2s,color .2s,border-color .2s;position:relative}
.lbtn .en{font-family:var(--disp);font-size:24px;letter-spacing:.04em;line-height:1}
.lbtn .ja{font-size:10px;font-weight:700;color:var(--gold-lt);line-height:1.4}
.lbtn svg{position:absolute;right:7px;top:7px}
.lbtn:hover{border-color:var(--gold-lt);background:#1a1407}
.lbtn.line{background:var(--red);border-color:var(--red)}
.lbtn.line .ja{color:var(--white)}
.lbtn.line:hover{background:#b8000e}

/* footer */
.foot{padding-block:48px 44px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;border-top:1px solid var(--line)}
.foot .asobe{width:min(60%,280px);height:auto}
.foot .logo{width:min(50%,220px);height:auto}
.foot .co{margin:-4px 0 0;font-size:13px;font-weight:400;letter-spacing:.06em;color:#D6D6D6;max-width:none}
.foot .addr{font-style:normal;font-size:13px;font-weight:400;letter-spacing:.06em;color:#D6D6D6;margin-top:-4px}
.foot p{margin:4px 0 0;font-size:11px;line-height:1.8;color:var(--mute);max-width:60ch}

/* lightbox */
.lb{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:64px 16px 24px;box-sizing:border-box}
.lb[hidden]{display:none}
.lb-stage{position:relative;width:100%;max-width:1100px;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;animation:lbIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes lbIn{from{opacity:0;transform:scale(.94)}}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;display:block;border:1.5px solid var(--white)}
.lb-ph{width:min(100%,560px);max-height:100%;background:var(--ink2);border:1.5px solid var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:900;font-size:14px;text-align:center}
.lb-ph small{font-weight:700;font-size:12px;color:var(--mute)}
.lb-foot{display:flex;align-items:center;gap:16px}
.lb-cap{font-weight:900;font-size:14px;min-width:10em;text-align:center}
.lb-nav,.lb-btn{width:48px;height:48px;border-radius:24px;border:1.5px solid var(--gold);background:var(--black);color:var(--gold-lt);display:flex;align-items:center;justify-content:center;cursor:pointer}
.lb-nav[hidden]{display:none}
.lb-btn{position:absolute;top:12px;right:12px;border-color:var(--white);color:var(--white)}

@media (max-width:374px){.hd img{height:18px}.chip-x{padding:6px 10px;gap:6px}.chip-x .ja-chip{font-size:12px}}
/* PC */
@media (min-width:768px){
  .hd .wrap{height:72px}
  .hd img{height:28px}
  .movie{padding-block:36px 0}
  .ctas{margin-top:40px}
  .cta{min-height:74px;padding:0 28px;border-radius:37px}
  .cta .en{font-size:20px}
  .cta .ja{font-size:12px}
  .title{padding-block:64px 32px}
  .tbox{padding:48px 32px 44px;gap:18px;max-width:880px;margin:0 auto;box-sizing:border-box}
  .sh h2{font-size:60px}
  .h-img{height:64px}
    .img-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:860px;margin:0 auto}
  .mach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .link-grid{max-width:760px;margin:0 auto;gap:18px;grid-template-columns:repeat(var(--n,3),calc((100% - 36px) / 3))}
  .lbtn{min-height:120px}
  .lbtn .en{font-size:32px}
  .lbtn .ja{font-size:12px}
}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
