/* ============================================================
   Vogueer LP 共通ベース — vg-base.css
   各 vg-* セクションから読み込む（変数・共通パーツ・演出属性）
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Shippori+Mincho+B1:wght@600;700;800&family=Great+Vibes&family=Oswald:wght@500;600;700&display=swap');

.vg-section{
  --vg-bg:#08080a;
  --vg-bg-alt:#0a0a0d;
  --vg-bg-footer:#060608;
  --vg-text:#f4f4f6;
  --vg-text-soft:#c7c8d2;
  --vg-muted:#adaeb8;
  --vg-dim:#8a8b95;
  --vg-faint:#6f7180;
  --vg-cyan:#8fe8ff;
  --vg-blue:#5a86ff;
  --vg-purple:#a06bff;
  --vg-lilac:#c79bff;
  --vg-serif:'Shippori Mincho B1',serif;
  --vg-sans:'Noto Sans JP',system-ui,sans-serif;
  --vg-num:'Oswald',sans-serif;
  --vg-script:'Great Vibes',cursive;
  --vg-grad:linear-gradient(120deg,var(--vg-cyan),var(--vg-blue) 55%,var(--vg-purple));
  --vg-line:rgba(255,255,255,.09);
  position:relative;padding:clamp(96px,14vw,160px) 24px;overflow:hidden;
  background:var(--vg-bg);color:var(--vg-text);font-family:var(--vg-sans);-webkit-font-smoothing:antialiased;
}
.vg-section *,.vg-section *::before,.vg-section *::after{box-sizing:border-box}
.vg-section--alt{background:var(--vg-bg-alt)}
.vg-section--flush{padding:0}
.vg-section img{max-width:100%}
.vg-section ::selection{background:var(--vg-blue);color:#fff}

.vg-inner{position:relative;max-width:1080px;margin:0 auto;z-index:2}
.vg-inner--wide{max-width:1180px}
.vg-eyebrow{font-size:12px;letter-spacing:.28em;color:var(--vg-cyan);font-weight:700;margin-bottom:18px}
.vg-h2{font-family:var(--vg-serif);font-weight:700;font-size:clamp(28px,5vw,52px);line-height:1.32;margin:0 0 28px;color:var(--vg-text)}
.vg-lead{max-width:620px;font-size:clamp(15px,2vw,18px);line-height:2;color:var(--vg-muted);margin:0 0 44px}
.vg-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid rgba(127,227,255,.35);border-radius:999px;font-size:12px;letter-spacing:.26em;color:var(--vg-cyan);font-weight:700}
.vg-bgword{position:absolute;font-family:var(--vg-serif);font-weight:800;color:rgba(255,255,255,.032);white-space:nowrap;pointer-events:none;user-select:none}
.vg-footnote{font-size:11px;color:var(--vg-faint);margin:14px 0 0}

/* ボタン（テーマCSSの a 上書き対策で主要プロパティは !important） */
.vg-section .vg-btn{display:inline-flex !important;align-items:center;gap:10px;padding:17px 30px !important;border-radius:12px !important;font-weight:900;font-size:16px;text-decoration:none !important;transition:filter .25s,transform .25s,border-color .25s,color .25s}
.vg-section .vg-btn--primary{color:#06121f !important;background:var(--vg-grad) !important;box-shadow:0 14px 40px rgba(90,134,255,.35)}
.vg-section .vg-btn--primary:hover{filter:brightness(1.06);transform:translateY(-2px);color:#06121f !important}
.vg-section .vg-btn--ghost{font-weight:800;color:#eef0ff !important;background:rgba(255,255,255,.05) !important;border:1px solid rgba(255,255,255,.24) !important}
.vg-section .vg-btn--ghost:hover{border-color:var(--vg-cyan) !important;color:#fff !important}
.vg-section .vg-btn--lg{padding:19px 38px !important;font-size:17px}

/* スクロール演出（reveal / counter / parallax / zoom） */
.vg-section [data-reveal]{opacity:0;transform:translateY(38px);transition:opacity .95s cubic-bezier(.2,.7,.2,1),transform .95s cubic-bezier(.2,.7,.2,1)}
.vg-section [data-reveal][data-in="1"]{opacity:1;transform:none}
.vg-section [data-reveal][data-delay="1"]{transition-delay:.1s}
.vg-section [data-reveal][data-delay="2"]{transition-delay:.2s}
.vg-section [data-reveal][data-delay="3"]{transition-delay:.3s}
.vg-section [data-parallax]{will-change:transform}

@media (prefers-reduced-motion:reduce){
  .vg-section [data-reveal]{opacity:1;transform:none;transition:none}
}

/* 準備中ボタン（リンク先未設定時） */
.vg-section .vg-btn--soon{opacity:.55;cursor:default;pointer-events:none;filter:saturate(.55);transform:none !important}
