/*
Theme Name: 講習サイト
Description: FX AI講習 クリーンテーマ
Version: 2.1
*/
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --primary:#0d1f3c;
  --primary-dark:#070f1e;
  --primary-mid:#1a3a6e;
  --accent:#c9a227;
  --accent-light:#d4b84a;
  --text:#1f2937;
  --text-light:#6b7280;
  --bg:#ffffff;
  --bg-gray:#f8f9fb;
  --border:#e2e6ec;
  --radius:10px;
  --shadow:0 2px 12px rgba(0,0,0,.08);
}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text);background:var(--bg);line-height:1.75;font-size:16px}

/* ── HEADER (白背景) ── */
header{background:#ffffff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:0 1px 8px rgba(0,0,0,.07)}
.header-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between}
.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.site-logo img{display:block;height:52px;width:auto}
.logo-text{font-family:'Noto Sans JP',sans-serif;font-size:22px;font-weight:800;color:var(--primary);letter-spacing:-0.5px;line-height:1}
.logo-text em{color:var(--accent);font-style:normal}
nav ul{list-style:none;display:flex;gap:4px}
nav a{text-decoration:none;color:var(--text);font-size:.85rem;font-weight:500;padding:6px 12px;border-radius:6px;transition:.2s}
nav a:hover,nav a.active{background:var(--bg-gray);color:var(--primary)}

/* ── HERO (ダークネイビー維持) ── */
.hero{background:linear-gradient(135deg,#0d1f3c 0%,#0a1628 60%,#111827 100%);color:#fff;padding:80px 24px 72px;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(201,162,39,.12) 0%,transparent 65%);pointer-events:none}
.hero h1{font-size:2.4rem;font-weight:800;line-height:1.25;margin-bottom:16px;color:#fff}
.hero h1 span{color:var(--accent)}
.hero p{font-size:1.05rem;opacity:.82;max-width:600px;margin:0 auto 32px;line-height:1.8}
.hero-btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:13px 36px;border-radius:50px;text-decoration:none;font-size:.95rem;transition:.2s;letter-spacing:.3px}
.hero-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(201,162,39,.45);background:var(--accent-light)}

/* ── CARDS GRID ── */
.section{max-width:1100px;margin:0 auto;padding:56px 24px}
.section-title{font-size:1.45rem;font-weight:700;margin-bottom:8px;color:var(--primary);padding-left:14px;border-left:4px solid var(--accent)}
.section-sub{color:var(--text-light);margin-bottom:32px;font-size:.92rem;padding-left:18px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-decoration:none;color:var(--text);transition:.2s;box-shadow:var(--shadow)}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(13,31,60,.14);border-color:var(--accent)}
.card h3{font-size:1rem;font-weight:700;margin-bottom:8px;color:var(--primary)}
.card p{font-size:.875rem;color:var(--text-light);line-height:1.6}
.card-tag{display:inline-block;background:#f0f4f9;color:var(--primary-mid);font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:4px;margin-bottom:10px;border:1px solid rgba(26,58,110,.15)}

/* ── PAGE CONTENT ── */
.page-header{background:linear-gradient(135deg,#0d1f3c,#1a3a6e);color:#fff;padding:48px 24px 36px}
.page-header-inner{max-width:1100px;margin:0 auto}
.page-header h1{font-size:1.9rem;font-weight:800;margin-bottom:8px;color:#fff}
.page-header h1 span{color:var(--accent)}
.page-header p{color:rgba(255,255,255,.72)}
.breadcrumb{font-size:.8rem;color:rgba(255,255,255,.5);margin-bottom:12px}
.breadcrumb a{color:var(--accent-light);text-decoration:none}

.content{max-width:860px;margin:0 auto;padding:48px 24px}

/* ── DATA TABLES ── */
.data-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.9rem}
.data-table th{background:var(--primary);color:#fff;padding:10px 16px;text-align:left;font-weight:600}
.data-table td{padding:10px 16px;border-bottom:1px solid var(--border)}
.data-table tr:nth-child(even) td{background:var(--bg-gray)}
.data-table tr:hover td{background:#f0f4f9}
.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.8rem;font-weight:600}
.badge-green{background:#dcfce7;color:#16a34a}
.badge-blue{background:#e8effa;color:#1a3a6e}
.badge-yellow{background:#fdf6dc;color:#92750a}
.badge-red{background:#fee2e2;color:#dc2626}
.badge-gold{background:#fdf6dc;color:#92750a;border:1px solid rgba(201,162,39,.3)}

/* ── HIGHLIGHT BOXES ── */
.highlight{background:#f0f4f9;border-left:4px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;padding:20px 24px;margin:24px 0}
.highlight.warning{background:#fdf9ec;border-color:var(--accent)}
.highlight.success{background:#f0fdf4;border-color:#22c55e}
.highlight.danger{background:#fef2f2;border-color:#ef4444}
.highlight h4{font-size:.95rem;font-weight:700;margin-bottom:6px;color:var(--primary)}
.highlight p{font-size:.9rem;color:var(--text-light);margin:0}

/* ── QUOTE / KEY MESSAGE ── */
.key-message{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:var(--radius);padding:28px 32px;margin:32px 0;text-align:center;border-top:3px solid var(--accent)}
.key-message h3{color:var(--accent);margin-bottom:8px}

/* ── DISCLAIMER / FOOTER ── */
.disclaimer{background:var(--primary);color:rgba(255,255,255,.55);font-size:.78rem;text-align:center;padding:20px 24px;border-top:1px solid rgba(255,255,255,.1)}
.site-footer{background:#070f1e;color:rgba(255,255,255,.5);text-align:center;padding:32px 24px;font-size:.82rem}
.site-footer a{color:var(--accent-light);text-decoration:none}

/* ── LINK COLORS ── */
a{color:var(--primary-mid)}
a:hover{color:var(--accent)}
.content a{color:var(--primary-mid);text-decoration:underline;text-underline-offset:3px}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .hero h1{font-size:1.7rem}
  nav ul{gap:2px}
  nav a{font-size:.78rem;padding:5px 8px}
  .site-logo img{height:40px}
}
@media(max-width:480px){
  nav{display:none}
  .hero{padding:56px 20px 48px}
}
