@charset "utf-8";

:root{
  --void:#000; --ink:#05070a; --gun:#0c1015; --panel:#12171d; --panel2:#181f26;
  --line:#262e37; --line-lt:#39434e;
  --cyber:#00c8ff; --holo:#00ff9c; --alert:#ff2038; --gold:#d4af37; --gold-lt:#f7e6a2;
  --txt:#e9eef3; --txt2:#aab5c0; --dim:#7c8894;
  --jp:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --tech:"Chakra Petch","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--void); color:var(--txt);
  font-family:var(--jp); font-size:15px; line-height:1.9; letter-spacing:.03em;
  font-feature-settings:"palt";
  background-image:
    linear-gradient(rgba(0,200,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,200,255,.045) 1px,transparent 1px);
  background-size:56px 56px;
  background-attachment:fixed;
}

.siteheader{
  background:linear-gradient(180deg,#0b0f13,#05070a);
  border-bottom:1px solid var(--line);
  box-shadow:0 0 30px rgba(0,200,255,.12);
  padding:14px 20px; display:flex; align-items:center; gap:12px;
}
.siteheader::before{
  content:""; width:3px; height:22px; background:var(--alert);
  box-shadow:0 0 12px var(--alert); flex:none;
}
.siteheader img{width:30px; height:30px; border-radius:50%; border:1px solid var(--line-lt);}
.siteheader b{color:var(--txt); font-size:14.5px; font-weight:900; letter-spacing:.05em;}

main{max-width:660px; margin:0 auto; padding:40px 18px 80px;}

h1{
  font-size:clamp(20px,3.4vw,26px); font-weight:900; line-height:1.55;
  border-left:3px solid var(--cyber); padding-left:15px; margin:0 0 6px;
  text-shadow:0 0 26px rgba(0,200,255,.3);
}
.lead{font-size:14px; color:var(--txt2); line-height:2;}

.card{
  position:relative;
  background:linear-gradient(160deg,var(--panel2),var(--panel));
  border:1px solid var(--line);
  padding:26px 24px; margin-top:20px;
}
.card::before,.card::after{
  content:""; position:absolute; width:13px; height:13px;
  border:1px solid var(--cyber); opacity:.75;
}
.card::before{top:-1px; left:-1px; border-right:none; border-bottom:none;}
.card::after{bottom:-1px; right:-1px; border-left:none; border-top:none;}

label.fl{
  display:block; font-weight:900; font-size:13px; margin:24px 0 8px; letter-spacing:.05em;
}
label.fl:first-child{margin-top:0;}
.req{
  display:inline-block; background:var(--alert); color:#fff;
  font-family:var(--tech); font-size:10px; font-weight:700; letter-spacing:.12em;
  padding:2px 8px; margin-left:8px; vertical-align:2px;
}
input[type=text],input[type=email],input[type=password],select,textarea{
  width:100%; font-size:16px; padding:13px 14px;
  border:1px solid var(--line-lt); background:#0a0e12; color:var(--txt);
  font-family:inherit; transition:border-color .18s, box-shadow .18s;
}
input::placeholder{color:#5b6672;}
input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--cyber); box-shadow:0 0 0 1px var(--cyber),0 0 18px rgba(0,200,255,.22);
}
.err{color:#ff6274; font-size:12.5px; font-weight:700; margin-top:6px;}

.radio-grid{display:grid; gap:10px; margin-top:8px;}
.radio-card{
  display:flex; align-items:center; gap:13px;
  border:1px solid var(--line-lt); background:#0a0e12;
  padding:15px 17px; cursor:pointer; transition:border-color .18s, background .18s, box-shadow .18s;
}
.radio-card:hover{border-color:#4d5b68;}
.radio-card:has(input:checked){
  border-color:var(--cyber); background:rgba(0,200,255,.07);
  box-shadow:inset 0 0 26px rgba(0,200,255,.09);
}
.radio-card input{accent-color:var(--cyber); width:18px; height:18px; flex:none;}
.radio-card .rc-name{font-weight:900; font-size:14.5px;}
.radio-card .rc-price{
  margin-left:auto; font-family:var(--tech); font-weight:700; font-size:17px;
  white-space:nowrap; color:var(--gold-lt);
}
.radio-card .rc-price small{font-family:var(--jp); font-size:11px; color:var(--dim); margin-left:3px;}

.agree{
  display:flex; align-items:flex-start; gap:11px; margin-top:26px;
  font-size:13.5px; font-weight:700; line-height:1.85;
}
.agree input{width:18px; height:18px; accent-color:var(--holo); flex:none; margin-top:4px;}
.agree a{color:var(--cyber);}

.btn{
  position:relative; display:block; width:100%; margin-top:28px;
  background:linear-gradient(180deg,#ff3550,#c2001d); color:#fff;
  font-weight:900; font-size:17px; padding:17px; letter-spacing:.06em;
  border:1px solid rgba(255,180,190,.55); cursor:pointer; font-family:inherit;
  box-shadow:0 0 30px rgba(255,32,56,.42), inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .2s, box-shadow .2s;
}
.btn:hover{transform:translateY(-2px); box-shadow:0 0 48px rgba(255,32,56,.72), inset 0 1px 0 rgba(255,255,255,.4);}
.btn:active{transform:translateY(1px);}

.note{font-size:12px; color:var(--dim); margin-top:16px; line-height:1.85;}

.remain-box{
  display:inline-block; font-family:var(--tech); font-weight:700; font-size:14px;
  background:rgba(255,32,56,.1); border:1px solid rgba(255,32,56,.5);
  color:#ff8090; padding:6px 15px; letter-spacing:.06em;
  box-shadow:0 0 18px rgba(255,32,56,.25);
}

.alert{
  border:1px solid rgba(255,32,56,.5); background:rgba(255,32,56,.07);
  padding:18px 20px; font-weight:700; color:#ff8090; line-height:1.9;
  box-shadow:inset 0 0 40px rgba(255,32,56,.08);
}

.bankbox{
  background:#080c10; border:1px solid var(--gold); color:var(--gold-lt);
  padding:18px 20px; white-space:pre-wrap; font-weight:700; margin-top:12px;
  font-size:14px; line-height:2; box-shadow:inset 0 0 40px rgba(212,175,55,.07);
}

.kv{width:100%; border-collapse:collapse; margin-top:14px;}
.kv th,.kv td{border:1px solid var(--line); padding:12px 14px; text-align:left; font-size:14px;}
.kv th{
  background:#0e1319; width:36%; white-space:nowrap;
  font-family:var(--tech); font-size:11.5px; letter-spacing:.1em; color:var(--cyber); font-weight:600;
}
.kv td{color:var(--txt2);}
.kv td b{color:var(--txt); font-family:var(--tech); font-size:1.08em;}

.back{display:inline-block; margin-top:28px; color:var(--cyber); font-weight:900; text-decoration:none;}
.back:hover{text-decoration:underline;}

.pp-btn{
  display:inline-block; background:linear-gradient(180deg,#ffd24d,#f0a500); color:#10161c;
  font-weight:900; padding:15px 34px; text-decoration:none; margin-top:12px;
  border:1px solid #ffe08a; box-shadow:0 0 26px rgba(240,165,0,.4);
  transition:transform .2s, box-shadow .2s;
}
.pp-btn:hover{transform:translateY(-2px); box-shadow:0 0 40px rgba(240,165,0,.65);}

@media(max-width:520px){
  main{padding:28px 14px 70px;}
  .kv th,.kv td{display:block; width:100%;}
  .kv th{border-bottom:none;}
  .radio-card{flex-wrap:wrap;}
  .radio-card .rc-price{margin-left:31px;}
}

body.waitlist-page{--holo:#f1d180;--cyber:#bdd5bf;--dim:#b5c3b9;--line:#34483b;background:#09110f;background-image:none;color:#f1f4ed;}
.waitlist-page .siteheader{background:#0f1a13;box-shadow:none;}
.waitlist-page .siteheader:before{background:#f1d180;box-shadow:none;}
.waitlist-page h1{border:0;padding:0;text-shadow:none;margin-bottom:20px;}
.waitlist-page .card{background:#142219;border:1px solid #4b604c;border-radius:14px;}
.waitlist-page .card:before,.waitlist-page .card:after{display:none;}
.waitlist-page .alert{background:#1c3022;border:1px solid #465e49;color:#d7e5d6;box-shadow:none;}
.waitlist-page .btn{background:linear-gradient(120deg,#f3d780,#dfb851);color:#172313;border:1px solid #e4c66b;border-radius:8px;box-shadow:none;text-shadow:none;min-height:52px;}
.waitlist-page .btn:hover{box-shadow:0 6px 20px #d4af3722;}
.waitlist-page input[type=email]{border-radius:7px;background:#0b160f;border-color:#61735f;}
.waitlist-page input[type=email]:focus{outline:2px solid #c1d9c2;outline-offset:2px;box-shadow:none;}
.waitlist-page .back,.waitlist-page .note a{color:#bdd5bf;}

.waitlist-page .deadline-notice{padding:14px 16px;margin:20px 0;border:1px solid #b89a4c;color:#f4e3b4;background:#d8b35e10;font-size:15px;line-height:1.8;}
