/* ==========================================================
   タカシプレゼンツ 究極2ウィーク（スワイプ型LP） v2
   トークンはカワサキクラブ本LPと共通
   ========================================================== */

:root{
  --bg:#0c0a09;
  --bg-alt:#140d0b;
  --panel:#1a1210;
  --panel-deep:#110c0a;
  --board:#080605;
  --text:#f4ede4;
  --text-sub:#d8cdc0;
  --text-muted:#b9aea2;
  --text-footer:#9a8f84;
  --gold:#e2b857;
  --gold-light:#f5dc92;
  --gold-dark:#c9973a;
  --red:#c1121f;
  --red-light:#ff4d57;
  --line:#3a2a16;
  --line-card:#4a3519;
  --line-strong:#6b4e22;
  --x-line:#2f3336;
  --cta-text:#1a0d05;
  --app-w:520px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --f-mincho:'Shippori Mincho B1',serif;
  --f-gothic:'Zen Kaku Gothic New',sans-serif;
  --f-en:'Oswald',sans-serif;
  --f-sign:'Yuji Syuku','Shippori Mincho B1',serif;
  --grad-gold-text:linear-gradient(100deg,#f5dc92 0%,#e2b857 40%,#fff4d2 55%,#c9973a 100%);
  --grad-gold-btn:linear-gradient(180deg,#f8e2a0,#e2b857 55%,#c9973a);
  --marker-red:linear-gradient(transparent 62%,rgba(193,18,31,.85) 62%);
}

*{box-sizing:border-box;}
html,body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;}
body{font-family:var(--f-gothic);line-height:1.9;}
a{color:inherit;}
a:hover{color:var(--gold-light);}
img{display:block;max-width:100%;height:auto;}
.nw{white-space:nowrap;}
.gold{color:var(--gold-light);}
.gold-text{background:var(--grad-gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
.marker{background:var(--marker-red);padding:0 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;}

/* 締切前後の出し分け */
[data-closed-only]{display:none;}
.is-closed [data-closed-only]{display:revert;}
.is-closed [data-open-only]{display:none !important;}

/* ==========================================================
   スワイプレイアウト
   ========================================================== */
body.swipe{height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,#2a1609 0%,var(--bg) 60%) var(--bg);}
.app{
  position:relative;display:grid;grid-template-rows:auto 1fr auto;
  width:100%;max-width:var(--app-w);height:100dvh;margin:0 auto;
  background:var(--bg);overflow:hidden;
}
@media (min-width:600px){
  .app{border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 0 80px rgba(0,0,0,.6);}
}

/* ---- topbar ---- */
.topbar{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 16px 11px;padding-top:max(10px,env(safe-area-inset-top));
  background:rgba(12,10,9,.94);border-bottom:1px solid var(--line);z-index:3;
}
.brand{display:flex;flex-direction:column;line-height:1.2;text-decoration:none;}
.brand-ja{font-family:var(--f-mincho);font-weight:800;font-size:16px;letter-spacing:.12em;color:var(--gold-light);}
.brand-en{font-family:var(--f-en);font-size:9px;letter-spacing:.3em;color:var(--text-muted);}
.topbar-timer{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:4px 10px 4px 9px;border-radius:999px;background:rgba(193,18,31,.12);border:1px solid rgba(255,77,87,.35);}
.topbar-timer-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;color:var(--red-light);letter-spacing:.06em;}
.topbar-timer-label::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red-light);box-shadow:0 0 8px var(--red-light);}
.topbar-timer-value{font-family:var(--f-en);font-size:17px;font-weight:700;letter-spacing:.04em;line-height:1.2;color:var(--text);font-variant-numeric:tabular-nums;}
.is-final .topbar-timer-value{color:var(--red-light);}
.is-closed .topbar-timer{background:transparent;border-color:var(--line-strong);}
.is-closed .topbar-timer-value{font-family:var(--f-gothic);font-size:13px;font-weight:900;color:var(--text-muted);}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--line);}
.progress-bar{display:block;height:100%;background:var(--grad-gold-btn);transform-origin:left;transform:scaleX(0);transition:transform .45s var(--ease);}

/* ---- deck / page ---- */
.deck{
  display:flex;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
  scrollbar-width:none;outline:none;
}
.deck::-webkit-scrollbar{display:none;}
.page{
  position:relative;flex:0 0 100%;min-width:0;height:100%;
  scroll-snap-align:start;scroll-snap-stop:always;
  overflow-y:auto;overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;background:var(--bg);
  scrollbar-width:thin;scrollbar-color:#4a3519 transparent;
}
.page-inner{position:relative;z-index:1;padding:26px 20px 44px;}
.page-inner > * + *{margin-top:16px;}
.page-inner p{margin-left:0;margin-right:0;margin-bottom:0;color:var(--text-sub);font-size:15px;}
.page-inner p + p{margin-top:14px;}

/* 初回スワイプ誘導：次ページの端をチラ見せ */
.deck.is-peek .page{animation:peek 1.5s var(--ease) 1;}
@keyframes peek{0%,100%{transform:none;}35%,60%{transform:translateX(-64px);}}

/* ページ切替：未表示のページだけ、表示時に下から静かに立ち上がる */
@media (prefers-reduced-motion:no-preference){
  .js .page:not(.is-seen) .page-inner > *{opacity:0;transform:translate3d(0,14px,0);}
  .js .page.is-seen .page-inner > *{transition:opacity .6s var(--ease),transform .6s var(--ease);}
  .js .page.is-seen .page-inner > :nth-child(2){transition-delay:.05s;}
  .js .page.is-seen .page-inner > :nth-child(3){transition-delay:.1s;}
  .js .page.is-seen .page-inner > :nth-child(4){transition-delay:.15s;}
  .js .page.is-seen .page-inner > :nth-child(5){transition-delay:.2s;}
  .js .page.is-seen .page-inner > :nth-child(6){transition-delay:.25s;}
  .js .page.is-seen .page-inner > :nth-child(n+7){transition-delay:.3s;}
}

/* ---- 共通テキスト ---- */
.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--f-en);font-size:12px;letter-spacing:.3em;line-height:1.4;color:var(--gold) !important;}
.eyebrow::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-strong),transparent);transform-origin:left;transform:scaleX(0);transition:transform .9s var(--ease) .2s;}
.is-seen .eyebrow::after,html:not(.js) .eyebrow::after{transform:scaleX(1);}
.eyebrow--red{color:var(--red-light) !important;}
.eyebrow--red::after{background:linear-gradient(90deg,rgba(193,18,31,.7),transparent);}
.h2{margin:0;font-family:var(--f-mincho);font-weight:800;font-size:clamp(23px,6.6vw,29px);line-height:1.5;color:var(--text);text-wrap:balance;}
.h2 em{font-style:normal;color:var(--gold-light);}
.page--premium .h2 em{color:var(--red-light);}
.h2 small{display:block;margin-top:6px;font-family:var(--f-gothic);font-size:14px;font-weight:700;color:var(--text-muted);}
.lead{font-family:var(--f-mincho);font-weight:800;font-size:21px !important;line-height:1.7;color:var(--text) !important;}
.lead--gold{margin-top:28px !important;font-size:30px !important;line-height:1.4;color:var(--gold-light) !important;}
.statement{font-family:var(--f-mincho);font-weight:800;font-size:23px !important;line-height:1.75;color:var(--text) !important;margin-top:20px !important;margin-bottom:20px !important;}
.statement--sm{font-size:18px !important;}
strong.gold{font-weight:700;background:linear-gradient(transparent 70%,rgba(226,184,87,.22) 70%);}

/* ---- CTA ---- */
.btn-gold{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;
  padding:16px 20px;border-radius:999px;
  background:var(--grad-gold-btn);color:var(--cta-text);
  font-size:17px;font-weight:900;letter-spacing:.04em;text-decoration:none;line-height:1.3;
  box-shadow:0 10px 30px rgba(226,184,87,.28),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(120,70,10,.35);
  transition:transform .15s ease,filter .2s ease;
}
.btn-gold:hover{color:var(--cta-text);filter:brightness(1.06);}
.btn-gold:active{transform:scale(.98);}
.btn-gold .en{font-family:var(--f-en);font-size:20px;}
.page-inner .btn-gold{margin-top:24px;}
@media (prefers-reduced-motion:no-preference){
  .pulse{animation:pulse 2.2s ease-in-out infinite;}
}
@keyframes pulse{
  0%,100%{box-shadow:0 10px 30px rgba(226,184,87,.28),inset 0 1px 0 rgba(255,255,255,.6),0 0 0 0 rgba(226,184,87,.45);}
  50%{box-shadow:0 10px 30px rgba(226,184,87,.28),inset 0 1px 0 rgba(255,255,255,.6),0 0 0 12px rgba(226,184,87,0);}
}

/* ==========================================================
   01 hero
   ========================================================== */
.page--hero{
  background:
    radial-gradient(70% 34% at 10% -4%,rgba(255,228,170,.2),transparent 70%),
    radial-gradient(70% 34% at 90% -4%,rgba(255,228,170,.2),transparent 70%),
    radial-gradient(100% 42% at 50% 112%,rgba(38,96,56,.55),transparent 72%),
    linear-gradient(180deg,#0c0a09 0%,#110b09 52%,#09100b 100%);
}
.hero-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.hero-fx::before{ /* ターフの刈り目 */
  content:"";position:absolute;left:-60%;right:-60%;bottom:-6%;height:44%;
  background:repeating-linear-gradient(90deg,rgba(130,210,150,.07) 0 38px,transparent 38px 76px);
  transform:perspective(300px) rotateX(60deg);transform-origin:50% 100%;
  -webkit-mask-image:linear-gradient(to top,#000 10%,transparent 85%);mask-image:linear-gradient(to top,#000 10%,transparent 85%);
}
.hero-fx::after{ /* 内ラチ */
  content:"";position:absolute;left:-30%;right:-30%;bottom:27%;height:140px;
  border-top:1px solid rgba(255,255,255,.16);border-radius:50% 50% 0 0/100% 100% 0 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);
}
.hero-fx span{ /* 照明の光芒 */
  position:absolute;top:-8%;width:46%;height:72%;
  background:linear-gradient(180deg,rgba(255,232,180,.16),transparent 78%);
  clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);filter:blur(6px);
}
.hero-fx span:first-child{left:-8%;transform:rotate(-24deg);transform-origin:50% 0;}
.hero-fx span:last-child{right:-8%;transform:rotate(24deg);transform-origin:50% 0;}
@media (prefers-reduced-motion:no-preference){
  .hero-fx span{animation:beam 6s ease-in-out infinite;}
  .hero-fx span:last-child{animation-delay:-3s;}
}
@keyframes beam{0%,100%{opacity:.7;}50%{opacity:1;}}

.page--hero .page-inner{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:100%;padding:20px 20px 16px;}
.page--hero .page-inner > * + *{margin-top:0;}
.page--hero .kicker{margin-top:auto !important;}
.kicker{display:flex;align-items:center;gap:12px;font-size:12px !important;font-weight:700;letter-spacing:.36em;line-height:1.4;color:var(--gold-light) !important;padding-left:.36em;}
.kicker::before,.kicker::after{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.kicker::after{transform:scaleX(-1);}
.hero-title{margin:8px 0 0 !important;display:flex;flex-direction:column;align-items:center;font-family:var(--f-mincho);font-weight:800;line-height:1;}
.hero-title-sub{font-size:24px;letter-spacing:.7em;padding-left:.7em;color:var(--text);}
.hero-title-main{display:flex;align-items:baseline;font-size:clamp(44px,13vw,56px);letter-spacing:.03em;margin-top:-2px;filter:drop-shadow(0 6px 22px rgba(226,184,87,.22));background-size:220% 100%;background-position:0 0;}
.hero-2{font-family:var(--f-en);font-weight:700;font-size:1.95em;line-height:.95;margin-right:.04em;letter-spacing:0;}
@media (prefers-reduced-motion:no-preference){
  .js .hero-title-main{animation:goldsweep 2.6s .3s var(--ease) both;}
}
@keyframes goldsweep{from{background-position:100% 0;}to{background-position:0 0;}}
.hero-catch{
  margin-top:10px !important;padding:5px 26px 6px;
  background:linear-gradient(180deg,#d41a28,#9b0d17);
  clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%);
  font-family:var(--f-mincho);font-weight:800;font-size:clamp(21px,6.2vw,26px) !important;line-height:1.35;letter-spacing:.06em;
  color:#fff !important;text-shadow:0 1px 0 rgba(0,0,0,.35);
}
.hero-tagline{margin-top:8px !important;font-weight:700;font-size:14px !important;letter-spacing:.1em;line-height:1.6;color:var(--gold-light) !important;}

.hero-entry{width:100%;margin-top:12px !important;display:flex;flex-direction:column;align-items:center;}
.hero-photo{position:relative;z-index:2;width:78px;}
.hero-photo img{width:78px;height:78px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);box-shadow:0 0 0 4px #160c0b,0 0 0 5px rgba(226,184,87,.4),0 10px 24px rgba(0,0,0,.6);}
.countdown-box{
  position:relative;width:100%;margin-top:-28px;padding:34px 12px 12px;border-radius:16px;
  background:linear-gradient(170deg,rgba(62,12,16,.94),rgba(20,8,8,.96));
  border:1px solid rgba(255,77,87,.45);
  box-shadow:0 18px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);
}
.cd-head{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.countdown-label{font-size:13px !important;font-weight:900;letter-spacing:.2em;line-height:1.5;color:var(--red-light) !important;}
.countdown-label--closed{color:var(--text) !important;font-size:16px !important;letter-spacing:.1em;}
.cd-tonight{display:none;align-items:center;gap:6px;padding:2px 9px;border-radius:4px;background:var(--red);color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em;line-height:1.6;}
.cd-tonight::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;}
.is-tonight .cd-tonight{display:inline-flex;}
.cd{display:flex;align-items:flex-start;justify-content:center;gap:5px;margin-top:8px !important;}
.cd-unit{display:flex;flex-direction:column;align-items:center;gap:3px;}
.cd-unit--d{display:none;margin-right:6px;}
.has-days .cd-unit--d{display:flex;}
.cd-num{
  position:relative;min-width:66px;padding:5px 6px 4px;border-radius:8px;
  background:linear-gradient(180deg,#1f1414 0 50%,#170f0f 50% 100%);
  border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 -2px 0 rgba(0,0,0,.45),0 4px 10px rgba(0,0,0,.35);
  font-family:var(--f-en);font-weight:700;font-size:38px;line-height:1.05;letter-spacing:.02em;color:var(--text);font-variant-numeric:tabular-nums;
}
.cd-unit--d .cd-num{min-width:44px;color:var(--gold-light);}
.cd-num::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.55);}
.cd-lbl{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--text-muted);line-height:1.4;}
.cd-sep{font-family:var(--f-en);font-weight:700;font-size:28px;line-height:1.5;color:var(--red-light);}
@media (prefers-reduced-motion:no-preference){
  .cd-sep{animation:blink 1s steps(1) infinite;}
  .cd-tonight::before,.topbar-timer-label::before{animation:blink 1.2s steps(1) infinite;}
}
@keyframes blink{50%{opacity:.25;}}
.is-final .cd-num{color:#fff;border-color:rgba(255,77,87,.7);background:linear-gradient(180deg,#4a1015 0 50%,#3a0b10 50% 100%);}
.cd-closed{
  display:none;margin:10px auto 2px !important;width:max-content;padding:2px 22px 4px;
  border:3px double var(--red-light);border-radius:6px;transform:rotate(-4deg);
  font-family:var(--f-mincho);font-weight:800;font-size:34px !important;letter-spacing:.14em;line-height:1.3;color:var(--red-light) !important;
}
.is-closed .cd-closed{display:block;}
.countdown-deadline{margin-top:8px !important;font-size:12px !important;line-height:1.5;color:var(--text-muted) !important;}
.page--hero .btn-gold{margin-top:14px;}
.swipe-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto !important;padding-top:14px;font-size:12px !important;font-weight:700;letter-spacing:.14em;line-height:1.4;color:var(--text-muted) !important;}
.chev{display:inline-flex;color:var(--gold);font-family:var(--f-en);font-size:20px;line-height:1;}
.chev i{font-style:normal;margin-left:-2px;}
@media (prefers-reduced-motion:no-preference){
  .chev i{animation:chev 1.4s ease-in-out infinite;}
  .chev i:nth-child(2){animation-delay:.15s;}
  .chev i:nth-child(3){animation-delay:.3s;}
}
@keyframes chev{0%,100%{opacity:.25;transform:translateX(0);}50%{opacity:1;transform:translateX(3px);}}

/* ==========================================================
   02 front
   ========================================================== */
.reasons{list-style:none;margin:18px 0;padding:0;display:grid;gap:10px;}
.reasons li{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:12px;background:linear-gradient(160deg,#1f1612,#140e0c);border:1px solid var(--line-card);line-height:1.6;}
.reasons strong{color:var(--text);font-size:15px;}
.reasons-no{flex:0 0 auto;font-family:var(--f-en);font-size:26px;font-weight:700;line-height:1;color:var(--gold);}

/* ==========================================================
   的中実績
   ========================================================== */
.hit{
  position:relative;margin-top:20px !important;border-radius:16px;overflow:hidden;
  background:linear-gradient(165deg,#1e1612,#110c0a);border:1px solid var(--line-card);
  box-shadow:0 14px 34px rgba(0,0,0,.35);
}
.hit--featured{border-color:var(--gold);box-shadow:0 0 0 1px rgba(226,184,87,.15),0 0 36px rgba(226,184,87,.16);}
.hit--premium{border-color:rgba(255,77,87,.5);background:linear-gradient(165deg,#2a1111,#120a0a);}
.hit-flag{
  margin:0 !important;padding:7px 12px;text-align:center;
  background:linear-gradient(90deg,#9b0d17,#d41a28 50%,#9b0d17);
  font-size:13px !important;font-weight:900;letter-spacing:.1em;color:#fff !important;
}
.hit-head{display:flex;align-items:center;gap:10px;padding:14px 16px 0;}
.hit-head::after{ /* 的中スタンプ */
  content:"的中";flex:0 0 auto;margin-left:auto;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  border:2px solid var(--red-light);color:var(--red-light);font-family:var(--f-mincho);font-weight:800;font-size:14px;letter-spacing:.06em;
  transform:rotate(-14deg);opacity:.9;
}
.hit-badge{flex:0 0 auto;padding:2px 8px;border-radius:4px;border:1px solid var(--gold);font-size:11px;font-weight:900;letter-spacing:.1em;line-height:1.6;color:var(--gold-light);}
.hit--premium .hit-badge{border-color:var(--red);background:var(--red);color:#fff;}
.hit-race{margin:0;font-family:var(--f-mincho);font-weight:800;font-size:20px;line-height:1.4;color:var(--text);}
.hit-pick{margin:6px 0 0 !important;padding:0 16px;font-size:14px !important;font-weight:700;color:var(--gold-light) !important;}
.hit-board{
  position:relative;margin:12px 12px 0;padding:4px 14px;border-radius:10px;
  background:var(--board);border:1px solid #2a1f12;
  box-shadow:inset 0 0 0 1px rgba(226,184,87,.06),inset 0 12px 30px rgba(0,0,0,.6);
}
.hit-board::before{content:"PAYOUT";position:absolute;top:-8px;left:12px;padding:0 6px;background:var(--board);font-family:var(--f-en);font-size:10px;letter-spacing:.3em;line-height:16px;color:var(--gold);border-radius:3px;}
.hit--premium .hit-board{border-color:rgba(193,18,31,.4);}
.hit--premium .hit-board::before{color:var(--red-light);}
.hit-pay{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 !important;padding:12px 0;}
.hit-pay + .hit-pay{border-top:1px dashed #3a2a16;}
.hit-type{display:flex;flex-direction:column;align-items:flex-start;gap:5px;}
.hit-kind{padding:2px 9px;border-radius:4px;background:var(--gold);color:var(--cta-text);font-size:13px;font-weight:900;line-height:1.5;white-space:nowrap;}
.hit-type small{padding:1px 8px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;font-weight:900;line-height:1.6;white-space:nowrap;}
.hit-money{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;justify-content:flex-end;text-align:right;}
.hit-amount{font-family:var(--f-en);font-weight:700;font-size:40px;line-height:1;letter-spacing:.01em;background:var(--grad-gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums;}
.hit--featured .hit-amount{font-size:56px;}
.hit-yen{font-weight:900;font-size:14px;color:var(--text);white-space:nowrap;}

/* X埋め込み：widgets.js 読み込み前はスケルトン＋リンク、読み込み後は公式ウィジェット。全面リンクで元投稿へ */
.x-frame{position:relative;margin:12px;border-radius:12px;background:#000;border:1px solid var(--x-line);overflow:hidden;}
.x-frame-head{display:flex;align-items:center;gap:7px;margin:0 !important;padding:9px 12px;border-bottom:1px solid var(--x-line);font-size:12px !important;font-weight:700;line-height:1.4;color:#e7e9ea !important;}
.x-frame-head span{margin-left:auto;font-weight:500;color:#8b98a5;}
.x-frame .twitter-tweet{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:230px;margin:0 !important;padding:14px;overflow:hidden;
  background:
    radial-gradient(circle at 34px 34px,#1d1f23 20px,transparent 21px) no-repeat,
    linear-gradient(#1d1f23,#1d1f23) 64px 22px/42% 11px no-repeat,
    linear-gradient(#1d1f23,#1d1f23) 64px 42px/26% 9px no-repeat,
    linear-gradient(#1d1f23,#1d1f23) 14px 76px/calc(100% - 28px) 10px no-repeat,
    linear-gradient(#1d1f23,#1d1f23) 14px 96px/72% 10px no-repeat,
    linear-gradient(#16181c,#16181c) 14px 122px/calc(100% - 28px) 64px no-repeat;
}
.x-frame .twitter-tweet::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%);background-size:220% 100%;}
@media (prefers-reduced-motion:no-preference){
  .x-frame .twitter-tweet::after{animation:shimmer 1.6s linear infinite;}
}
@keyframes shimmer{from{background-position:120% 0;}to{background-position:-120% 0;}}
.x-frame .twitter-tweet a{position:relative;z-index:1;color:var(--gold-light);font-weight:700;font-size:13px;line-height:1.6;}
.x-frame .twitter-tweet.twitter-tweet-rendered{display:flex;width:100% !important;max-width:none !important;min-height:0;margin:0 !important;padding:0;background:none;}
.x-frame .twitter-tweet-rendered::after{display:none;}
.x-frame iframe{width:100% !important;max-width:none !important;pointer-events:none;} /* 横スワイプと干渉させない。タップは .x-open が受ける */
.x-open{position:absolute;inset:0;z-index:2;border-radius:12px;}
.x-open:focus-visible{outline-offset:-3px;}

/* ==========================================================
   お客様の声
   ========================================================== */
.voice{margin:22px 0 0;}
.voice + .voice{margin-top:30px;}
.voice-title{margin:0 0 10px !important;font-family:var(--f-mincho);font-weight:800;font-size:20px !important;line-height:1.5;color:var(--gold-light) !important;text-wrap:balance;}
.voice-body{
  position:relative;margin:0;padding:16px 16px 16px 18px;border-radius:14px;
  background:linear-gradient(165deg,#1f1612,#150f0d);border:1px solid var(--line-card);
  font-size:14.5px;line-height:1.95;color:var(--text-sub);
}
.voice-body::after{content:"";position:absolute;left:26px;bottom:-8px;width:14px;height:14px;background:#160f0d;border-right:1px solid var(--line-card);border-bottom:1px solid var(--line-card);transform:rotate(45deg);}
.voice-body .hl{color:var(--text);font-weight:700;background:linear-gradient(transparent 68%,rgba(226,184,87,.25) 68%);}
.voice-meta{display:flex;align-items:center;gap:10px;margin-top:14px;padding-left:12px;}
.voice-avatar{display:flex;align-items:baseline;justify-content:center;width:44px;height:44px;padding-top:9px;border-radius:50%;background:var(--grad-gold-btn);color:var(--cta-text);font-size:10px;font-weight:900;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--line-strong);}
.voice-avatar b{font-family:var(--f-en);font-size:17px;line-height:1;}
.voice-who{font-size:13px;font-weight:700;color:var(--text);}

/* ==========================================================
   商品内容
   ========================================================== */
.spec{margin:20px 0;padding:2px 16px;border-radius:14px;background:linear-gradient(165deg,#1f1612,#130d0b);border:1px solid var(--line-card);}
.spec div{display:grid;grid-template-columns:76px 1fr;gap:12px;padding:14px 0;align-items:baseline;}
.spec div + div{border-top:1px solid var(--line);}
.spec dt{font-size:13px;font-weight:700;color:var(--gold);}
.spec dd{margin:0;font-size:15px;font-weight:500;line-height:1.7;color:var(--text);}
.spec-price{font-family:var(--f-en);font-size:24px !important;font-weight:700;color:var(--gold-light) !important;}
.spec-price small{font-family:var(--f-gothic);font-size:12px;color:var(--text-muted);}
.spec-note{line-height:2 !important;}

/* ==========================================================
   決済
   ========================================================== */
.steps{list-style:none;margin:20px 0 0;padding:0;}
.steps li{position:relative;display:grid;grid-template-columns:36px 1fr;gap:14px;padding-bottom:20px;}
.steps li::before{content:"";position:absolute;left:17px;top:40px;bottom:4px;width:2px;background:linear-gradient(180deg,var(--gold-dark),var(--line));}
.steps li:last-child{padding-bottom:0;}
.steps li:last-child::before{display:none;}
.steps-no{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--grad-gold-btn);color:var(--cta-text);font-family:var(--f-en);font-weight:700;font-size:17px;box-shadow:0 0 0 4px rgba(226,184,87,.12);}
.steps strong{display:block;padding-top:5px;font-size:16px;line-height:1.5;color:var(--text);}
.steps p{margin-top:4px !important;font-size:13.5px !important;line-height:1.75;}
.steps-link{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;padding:0 18px;border-radius:999px;background:#06c755;color:#fff;font-size:14px;font-weight:900;text-decoration:none;}
.steps-link:hover{color:#fff;filter:brightness(1.06);}

.entry-box{
  position:relative;margin-top:28px !important;padding:22px 16px 18px;border-radius:18px;text-align:center;
  background:linear-gradient(165deg,#2c1f11,#130d0b 62%);border:1px solid var(--gold);
  box-shadow:0 0 0 4px rgba(226,184,87,.07),0 24px 50px rgba(0,0,0,.5);
}
.entry-box > * + *{margin-top:0;}
.entry-box .btn-gold{margin-top:14px;}
.entry-price{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:6px;white-space:nowrap;font-size:14px !important;font-weight:700;color:var(--text) !important;line-height:1.3;}
.entry-price strong{font-family:var(--f-en);font-size:40px;line-height:1;background:var(--grad-gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
.entry-deadline{display:flex;justify-content:center;margin-top:14px !important;padding-top:14px;border-top:1px dashed var(--line-strong);font-size:14px !important;font-weight:900;line-height:1.4;color:var(--red-light) !important;}
.entry-deadline > span[data-closed-only]{display:none;}
.is-closed .entry-deadline > span[data-closed-only]{display:inline-flex;}
.entry-deadline > span{display:inline-flex;white-space:nowrap;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(193,18,31,.14);border:1px solid rgba(255,77,87,.35);}
.entry-deadline b{font-family:var(--f-en);font-size:20px;color:var(--text);font-variant-numeric:tabular-nums;}
.is-closed .entry-deadline > span{color:var(--text-muted);border-color:var(--line-strong);background:transparent;}
.entry-box:first-child .entry-deadline,.entry-box > .entry-deadline:first-child{margin-top:0 !important;padding-top:0;border-top:0;}
.entry-note{margin-top:12px !important;font-size:12px !important;line-height:1.7;color:var(--text-muted) !important;}

/* ==========================================================
   あとがき（長文）
   ========================================================== */
.page--read .page-inner > p:not(.eyebrow):not(.lead):not(.statement):not(.signature){font-size:15.5px;line-height:2.05;}
.page--read .page-inner p + p{margin-top:18px;}
.page--read .statement--sm{
  position:relative;margin:30px 0 !important;padding:26px 6px 20px;
  border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);
  font-size:19px !important;line-height:1.85;text-align:center;
}
.page--read .statement--sm::before{content:"“";position:absolute;top:-24px;left:50%;transform:translateX(-50%);padding:0 10px;background:var(--bg);font-family:var(--f-mincho);font-size:48px;line-height:1;color:var(--gold);}
.orn{display:flex;align-items:center;gap:12px;margin:40px 0 0 !important;}
.orn::before,.orn::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong));}
.orn::after{transform:scaleX(-1);}
.orn{background:radial-gradient(circle,var(--gold) 3px,transparent 3.5px) center/10px 10px no-repeat;}
.h2--sub{margin-top:24px !important;font-size:clamp(21px,5.8vw,25px);}
.lead--close{margin-top:32px !important;font-size:24px !important;line-height:1.65;color:var(--text) !important;}
.signature{
  position:relative;margin-top:18px !important;padding-right:6px;text-align:right;
  font-family:var(--f-sign);font-weight:400;font-size:46px !important;line-height:1.2;color:var(--gold-light) !important;
}
.signature::after{content:"";display:block;width:150px;height:14px;margin:-4px 0 0 auto;border-bottom:2px solid var(--gold);border-radius:0 0 50% 50%;opacity:.55;transform:rotate(-3deg);}
@media (prefers-reduced-motion:no-preference){
  .js .page--last .signature{clip-path:inset(0 100% 0 0);}
  .js .page--last.is-seen .signature{clip-path:inset(0 0 0 0);transition:clip-path 1.4s cubic-bezier(.6,.1,.3,1) .5s,opacity .6s,transform .6s;}
}

/* ---- footer（最終ページ内） ---- */
.page-footer{margin-top:40px !important;padding-top:20px;border-top:1px solid var(--line);text-align:center;}
.page-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px;font-size:12px;}
.page-footer nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-footer);}
.page-footer p{margin-top:8px !important;font-size:11px !important;line-height:1.7;color:var(--text-footer) !important;}

/* ==========================================================
   dock（下部ナビ）
   ========================================================== */
.dock{
  position:relative;z-index:3;
  padding:8px 12px 10px;padding-bottom:max(10px,env(safe-area-inset-bottom));
  background:rgba(12,10,9,.96);border-top:1px solid var(--line);
}
.dots{display:flex;justify-content:center;align-items:center;gap:5px;height:8px;margin-bottom:8px;}
.dots i{width:6px;height:6px;border-radius:3px;background:#33261a;transition:width .35s var(--ease),background-color .35s;}
.dots i.seen{background:var(--line-strong);}
.dots i.on{width:22px;background:var(--gold);}
.dock-row{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;}
.dock-btn{
  display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--line-strong);
  background:var(--panel);color:var(--gold-light);cursor:pointer;transition:background-color .2s,opacity .2s;
}
.dock-btn:hover:not(:disabled){background:#241913;}
.dock-btn:disabled{opacity:.3;cursor:default;}
.dock-center{display:flex;align-items:center;gap:12px;min-width:0;}
.dock-count{flex:0 0 auto;display:flex;align-items:baseline;gap:3px;font-family:var(--f-en);font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;}
.dock-count b{font-size:18px;color:var(--gold-light);}
.dock-slash{opacity:.5;}
.dock-cta{
  flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px;border-radius:999px;
  background:var(--grad-gold-btn);color:var(--cta-text);font-size:15px;font-weight:900;letter-spacing:.06em;text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.dock-cta:hover{color:var(--cta-text);}

/* ==========================================================
   下層ページ（特商法・プライバシー）
   ========================================================== */
.site-header{padding:16px 20px;border-bottom:1px solid var(--line);}
.site-header .brand{text-decoration:none;}
.doc{max-width:820px;margin:0 auto;padding:40px 20px 72px;}
.doc h1{margin:0 0 28px;font-family:var(--f-mincho);font-weight:800;font-size:clamp(22px,4vw,32px);line-height:1.4;}
.doc h2{margin:36px 0 10px;font-size:17px;font-weight:900;color:var(--gold-light);}
.doc p,.doc li{color:var(--text-sub);font-size:15px;}
.doc a{color:var(--gold-light);}
.doc table{width:100%;border-collapse:collapse;border-top:1px solid var(--line);}
.doc th,.doc td{padding:14px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px;}
.doc th{width:34%;padding-right:16px;color:var(--gold);font-weight:700;}
.doc td{color:var(--text-sub);}
@media (max-width:599px){
  .doc th,.doc td{display:block;width:auto;}
  .doc th{padding-bottom:2px;border-bottom:none;}
  .doc td{padding-top:0;}
}
.doc-back{display:inline-block;margin-top:32px;font-size:14px;}
.site-footer{padding:24px 20px 40px;border-top:1px solid var(--line);text-align:center;font-size:12px;color:var(--text-footer);}

/* 低い画面（iPhone SE 等）：ヒーローを詰める */
@media (max-height:700px){
  .hero-title-main{font-size:clamp(40px,11vw,48px);}
  .hero-photo,.hero-photo img{width:64px;height:64px;}
  .cd-num{font-size:32px;min-width:56px;}
  .hero-catch{font-size:20px !important;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;}
  .deck{scroll-behavior:auto;}
}
