
:root{
  --bg:#0b1020;
  --panel:#11162b;
  --text:#e6e8ef;
  --muted:#a7b0c0;
  --brand:#7c3aed;
  --brand2:#06b6d4;
  --accent:#10b981;
  --warning:#f59e0b;
  --danger:#ef4444;
  --radius:18px;
  --shadow: 0 20px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1200px 800px at 20% -10%, #152044 0%, transparent 60%), var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.btn{display:inline-flex;gap:.6rem;align-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;padding:14px 22px;border-radius:14px;font-weight:700;box-shadow:var(--shadow);transition:transform .2s ease,opacity .2s ease}
.btn:hover{transform:translateY(-2px);opacity:.95}
.btn.outline{background:transparent;border:1px solid #3a4d7a}
.tag{display:inline-flex;align-items:center;gap:.4rem;background:#1a2444;border:1px solid #27345d;padding:6px 10px;border-radius:999px;color:#c8d2e6;font-size:12px}
.badge{padding:6px 10px;border-radius:10px;background:#18213f;border:1px solid #2a3a6a;color:#c6d1e8;font-weight:700;font-size:12px}
.card{background:linear-gradient(180deg,#101732, #0e142b);border:1px solid #1f2a4f;border-radius:var(--radius);box-shadow:var(--shadow)}
.hero{position:relative;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;align-items:center;padding:72px 0}
.hero h1{font-size:clamp(30px, 3.2vw, 48px);line-height:1.15;margin:0 0 12px}
.hero p{color:var(--muted);font-size:18px;margin:0 0 24px}
.hero-visual img{width:100%;height:auto;border-radius:var(--radius);border:1px solid #2a3666;box-shadow:var(--shadow)}
.kpis{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
.kpis .kpi{background:#131a35;border:1px solid #263267;border-radius:12px;padding:10px 14px;font-weight:700}
.section{padding:64px 0}
.section h2{font-size:28px;margin:0 0 16px}
.section p.lead{color:#c7d2eb}
.grid{display:grid;gap:18px}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.feature{padding:20px}
.feature h3{margin:10px 0 6px}
.feature p{color:var(--muted);margin:0}
.feature img{width:100%;height:auto;border-radius:14px;border:1px solid #2a3666}
.banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px dashed #384e9c;border-radius:16px;background:#101838}
.details{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.detail-list{display:grid;gap:12px}
.detail-list li{list-style:none;background:#111a38;border:1px solid #273466;border-radius:12px;padding:14px;display:flex;gap:10px;align-items:flex-start}
.small{font-size:13px;color:#aab6d7}
footer{padding:40px 0;color:#93a0c2}
.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.alert{background:#0f1a34;border:1px solid #2d3f79;color:#c5d0ea;border-radius:12px;padding:12px 14px}
.countdown{display:flex;gap:14px;margin-top:8px}
.countdown .box{background:#111b3a;border:1px solid #2a3b74;padding:12px 10px;border-radius:12px;text-align:center;min-width:72px}
.countdown .num{font-size:22px;font-weight:900}
.countdown .lbl{font-size:11px;color:#a9b6d8}
@media (max-width: 880px){
  .hero-inner{grid-template-columns:1fr;gap:20px}
  .details{grid-template-columns:1fr}
  .grid.cols-3{grid-template-columns:repeat(1,minmax(0,1fr))}
  .grid.cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}
}

/* ===== 見分けやすいテキストリンク ===== */
/* 本文/フッター/ヒーローの普通のリンクだけ対象（.btn/.tagは除外） */
main a:not(.btn):not(.tag),
footer a:not(.btn):not(.tag),
.hero .lead a:not(.btn):not(.tag){
  color: var(--brand2);               /* 明るめのアクセント色 */
  text-decoration: underline;         /* 色覚に依存しない示唆 */
  text-underline-offset: 0.2em;       /* 読みやすい下線オフセット */
  text-decoration-thickness: 2px;     /* 少し太めの下線 */
}

/* 訪問済み色（区別が付く程度に変える） */
main a:not(.btn):not(.tag):visited,
footer a:not(.btn):not(.tag):visited,
.hero .lead a:not(.btn):not(.tag):visited{
  color: var(--brand);                /* 既存のブランド色を再利用 */
}

/* ホバー/フォーカス（キーボード操作にも優しく） */
main a:not(.btn):not(.tag):hover,
footer a:not(.btn):not(.tag):hover,
.hero .lead a:not(.btn):not(.tag):hover{
  text-decoration-thickness: 3px;
}

main a:not(.btn):not(.tag):focus-visible,
footer a:not(.btn):not(.tag):focus-visible,
.hero .lead a:not(.btn):not(.tag):focus-visible{
  outline: 2px dashed var(--brand2);
  outline-offset: 2px;
  border-radius: 4px;
}

