/* ===========================================================
   gikai.css — 議会インテリジェンス（予習・調査ツール）共有デザイン
   政策AI（styles.css）のニューモーフィズムをベースに構築
   =========================================================== */
:root{
  --gk-bg1:#f7f8fb; --gk-bg2:#f1f2f6; --gk-bg3:#eef0f4;
  --gk-card:#fbfbfd; --gk-card2:#f5f6fa; --gk-surface:#ffffff;
  --gk-text:#111318; --gk-muted:#3b4049; --gk-muted2:#565c67;
  --gk-line:rgba(20,24,34,.08); --gk-line-soft:rgba(20,24,34,.05);
  --gk-accent:#d98a2b; --gk-accent2:#e8a33d; --gk-accent-soft:#fbeed7; --gk-accent-ink:#8a5412;
  --gk-link:#2f7df6;
  --gk-ok:#1c8a55; --gk-ok-bg:#e4f4ea; --gk-part:#9a7413; --gk-part-bg:#f6efd8;
  --gk-no:#b91c1c; --gk-no-bg:#fdeaea; --gk-info:#2f6fd0; --gk-info-bg:#e7effb;
  --gk-hi:#c2410c; --gk-hi-bg:#ffe9d6;
  --gk-r-lg:22px; --gk-r-md:16px; --gk-r-sm:12px;
  --gk-shadow:10px 10px 24px rgba(24,29,39,.08), -10px -10px 24px rgba(255,255,255,.86);
  --gk-shadow-sm:6px 6px 14px rgba(24,29,39,.06), -6px -6px 14px rgba(255,255,255,.9);
  --gk-inset:inset 3px 3px 7px rgba(24,29,39,.07), inset -3px -3px 7px rgba(255,255,255,.9);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(circle at 15% 10%,var(--gk-bg1) 0%,var(--gk-bg2) 45%,var(--gk-bg3) 100%);color:var(--gk-text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.8;font-size:16px;letter-spacing:.01em;font-feature-settings:"palt" 1;}
.gk-tnum{font-variant-numeric:tabular-nums}
a{color:var(--gk-link)}

/* header */
.gk-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 16px;background:rgba(247,248,251,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--gk-line)}
.gk-nav-left{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}
.gk-logo-badge{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(180deg,var(--gk-accent2),var(--gk-accent));color:#fff;font-weight:900;font-size:17px;box-shadow:var(--gk-shadow-sm)}
.gk-logo-t{font-size:15px;font-weight:800;line-height:1.1}
.gk-logo-s{font-size:12px;color:var(--gk-muted);margin-top:2px}
.gk-nav-btn{font-size:13px;font-weight:700;text-decoration:none;padding:8px 15px;border-radius:999px;color:#fff;background:linear-gradient(180deg,var(--gk-accent2),var(--gk-accent));box-shadow:var(--gk-shadow-sm)}
.gk-nav-btn.ghost{color:var(--gk-accent-ink);background:var(--gk-card);border:1px solid var(--gk-line)}

/* layout */
.gk-page{max-width:980px;margin:0 auto;padding:22px 16px 20px}
.gk-hero{padding:14px 4px 6px}
.gk-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.1em;font-weight:800;color:var(--gk-accent-ink);background:var(--gk-accent-soft);padding:5px 12px;border-radius:999px}
.gk-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gk-accent)}
.gk-h1{font-size:clamp(24px,5vw,34px);font-weight:800;letter-spacing:.01em;line-height:1.16;margin:15px 0 6px;color:#131722;text-wrap:balance}
.gk-h1 .sub{display:block;font-size:15.5px;font-weight:600;color:var(--gk-muted);margin-top:9px;line-height:1.6}
.gk-lead{color:var(--gk-muted);font-size:16px;line-height:1.85;max-width:66ch;margin:12px 0 0}
.gk-lead strong{color:var(--gk-text)}
.gk-sec{padding:26px 0 6px}
.gk-sec-h{display:flex;align-items:baseline;gap:11px;margin:0 0 8px}
.gk-sec-h h2{font-size:19px;font-weight:800;margin:0;color:#131722}
.gk-sec-h .no{font-size:11px;font-weight:800;color:var(--gk-accent-ink);background:var(--gk-accent-soft);border-radius:7px;padding:3px 9px;letter-spacing:.04em}
.gk-sec-h .hint{font-size:13px;color:var(--gk-muted);margin-left:auto}
.gk-sec-lead{font-size:14.5px;line-height:1.8;color:var(--gk-muted);margin:0 0 16px;max-width:70ch}

/* card */
.gk-card{background:linear-gradient(180deg,var(--gk-card) 0%,var(--gk-card2) 100%);border:1px solid rgba(255,255,255,.8);border-radius:var(--gk-r-md);box-shadow:var(--gk-shadow);padding:18px 20px}
.gk-card-sm{box-shadow:var(--gk-shadow-sm);border-radius:var(--gk-r-sm)}
.gk-grid{display:grid;gap:13px}
.gk-g3{grid-template-columns:repeat(3,1fr)} .gk-g4{grid-template-columns:repeat(4,1fr)} .gk-g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.gk-g4,.gk-g3{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.gk-g4,.gk-g3,.gk-g2{grid-template-columns:1fr}}

/* tiles */
.gk-tile{background:linear-gradient(180deg,var(--gk-card),var(--gk-card2));border:1px solid rgba(255,255,255,.8);border-radius:var(--gk-r-sm);box-shadow:var(--gk-shadow-sm);padding:16px 18px}
.gk-tg{font-size:11px;font-weight:800;color:var(--gk-accent-ink);background:var(--gk-accent-soft);border-radius:999px;padding:2px 9px;display:inline-block;margin-bottom:9px}
.gk-big{font-size:30px;font-weight:800;line-height:1;color:#131722} .gk-big small{font-size:15px;font-weight:700;color:var(--gk-muted);margin-left:2px}
.gk-cap{font-size:13.5px;color:var(--gk-muted);margin-top:8px;line-height:1.6}

/* pills / status */
.gk-pill{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:800;padding:3px 11px;border-radius:999px;white-space:nowrap}
.gk-pill::before{content:"";width:6px;height:6px;border-radius:50%}
.st-ok{color:var(--gk-ok);background:var(--gk-ok-bg)} .st-ok::before{background:var(--gk-ok)}
.st-part{color:var(--gk-part);background:var(--gk-part-bg)} .st-part::before{background:var(--gk-part)}
.st-no{color:var(--gk-no);background:var(--gk-no-bg)} .st-no::before{background:var(--gk-no)}
.st-info{color:var(--gk-info);background:var(--gk-info-bg)} .st-info::before{background:var(--gk-info)}
.gk-tag{font-size:11.5px;font-weight:700;color:var(--gk-accent-ink);background:var(--gk-accent-soft);padding:2px 8px;border-radius:999px}
.gk-chip{font-size:13.5px;font-weight:700;padding:6px 12px;border-radius:999px;border:1px solid var(--gk-line);background:var(--gk-card);color:var(--gk-muted);cursor:pointer;box-shadow:var(--gk-shadow-sm)}
.gk-chip.on,.gk-chip:hover{background:var(--gk-accent-soft);color:var(--gk-accent-ink);border-color:transparent}

/* table */
.gk-tw{overflow-x:auto;border:1px solid var(--gk-line);border-radius:var(--gk-r-sm);background:var(--gk-surface);box-shadow:var(--gk-shadow-sm)}
.gk-tw table{border-collapse:collapse;width:100%;min-width:640px}
.gk-tw thead th{font-size:12.5px;letter-spacing:.04em;color:var(--gk-muted);text-align:left;font-weight:700;padding:12px 15px;border-bottom:1px solid var(--gk-line);background:var(--gk-card2);white-space:nowrap}
.gk-tw tbody td{padding:14px 15px;border-bottom:1px solid var(--gk-line-soft);vertical-align:top;font-size:13.8px;line-height:1.75}
.gk-tw tbody tr:last-child td{border-bottom:none}

/* note */
.gk-note{display:flex;gap:12px;align-items:flex-start;background:var(--gk-accent-soft);border:1px solid rgba(217,138,43,.25);border-radius:var(--gk-r-sm);padding:14px 16px;margin-top:16px}
.gk-note.alert{background:var(--gk-no-bg);border-color:rgba(185,28,28,.22)}
.gk-note.info{background:var(--gk-info-bg);border-color:rgba(47,111,208,.2)}
.gk-note .ic{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--gk-accent);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800;margin-top:1px}
.gk-note.alert .ic{background:var(--gk-no)} .gk-note.info .ic{background:var(--gk-info)}
.gk-note p{margin:0;font-size:14px;line-height:1.75;color:var(--gk-muted)} .gk-note strong{color:var(--gk-text)}

/* buttons */
.gk-btn{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;text-decoration:none;padding:11px 18px;border-radius:999px;color:#fff;background:linear-gradient(180deg,var(--gk-accent2),var(--gk-accent));box-shadow:var(--gk-shadow-sm);border:none;cursor:pointer}
.gk-btn.ghost{color:var(--gk-accent-ink);background:var(--gk-card);border:1px solid var(--gk-line)}
.gk-btn:active{transform:translateY(1px)}

/* footer */
.gk-footer{border-top:1px solid var(--gk-line);margin-top:30px;padding:24px 16px 44px;color:var(--gk-muted);font-size:13px;line-height:1.9}
.gk-footer .inner{max-width:980px;margin:0 auto}
.gk-footer .row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.gk-footer a{color:var(--gk-muted);text-decoration:none} .gk-footer a:hover{color:var(--gk-text)}
.gk-kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:var(--gk-card2);padding:1px 6px;border-radius:5px}

/* === 政策AI本体と統一する lp-nav ヘッダー（stripe-top.cssから移植・自己完結） === */
.lp-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(15,23,42,.07)}
.lp-nav-left{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.lp-nav-logo{margin:0;font-size:17px;font-weight:900;color:#0f172a;letter-spacing:-.4px;line-height:1.1}
.lp-nav-tagline{margin:0;font-size:12px;color:#4b5563;font-weight:600}
.lp-nav-right{display:flex;align-items:center;gap:8px}
.lp-nav-btn{width:44px;height:44px;border:none;background:transparent;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s;text-decoration:none}
.lp-nav-btn:hover{background:#f1f5f9}
.lp-nav-btn img{width:20px;height:20px;object-fit:contain}
.lp-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:9px 17px;border-radius:999px;background:linear-gradient(180deg,#e8a33d,#d98a2b);color:#fff;font-size:13px;font-weight:800;text-decoration:none;box-shadow:0 1px 5px rgba(217,138,43,.4);transition:transform .15s,box-shadow .15s;white-space:nowrap}
.lp-btn-primary:hover{transform:translateY(-1px)}
.lp-btn-primary:active{transform:translateY(0)}
.gk-back{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--gk-muted);text-decoration:none;margin:2px 0 2px}
.gk-back:hover{color:var(--gk-accent-ink)}

/* === レビュー反映：H1濃色化・フロー接続CTA・下部CTA === */
.gk-h1{color:#0f172a}
.gk-sec-h h2{color:#0f172a}
.gk-hero .gk-h1 .sub{color:#545c6a}
/* 次のステップへ（一本道） */
.gk-flowcta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;padding:16px 20px;border-radius:var(--gk-r-md);background:linear-gradient(180deg,#fff7ec,#fbeed7);border:1px solid rgba(217,138,43,.28);box-shadow:var(--gk-shadow-sm)}
.gk-flowcta .fl-t{font-size:13.5px;font-weight:800;color:#0f172a}
.gk-flowcta .fl-s{font-size:12.5px;color:var(--gk-accent-ink);margin-top:2px}
.gk-flowcta a.go{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;text-decoration:none;color:#fff;background:linear-gradient(180deg,var(--gk-accent2),var(--gk-accent));padding:11px 18px;border-radius:999px;box-shadow:0 2px 8px rgba(217,138,43,.3)}
.gk-flowcta a.go:active{transform:translateY(1px)}
/* 下部の問い合わせCTA */
.gk-cta{margin-top:26px;padding:24px 22px;border-radius:var(--gk-r-lg);text-align:center;background:linear-gradient(180deg,var(--gk-card),var(--gk-card2));border:1px solid rgba(255,255,255,.8);box-shadow:var(--gk-shadow)}
.gk-cta h3{margin:0 0 5px;font-size:19px;font-weight:800;color:#0f172a}
.gk-cta p{margin:0 0 14px;font-size:14px;line-height:1.75;color:var(--gk-muted)}
.gk-cta a{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:800;text-decoration:none;color:#fff;background:linear-gradient(180deg,var(--gk-accent2),var(--gk-accent));padding:12px 24px;border-radius:999px;box-shadow:0 3px 12px rgba(217,138,43,.32)}
/* 立場集計バッジ */
.gk-stance-sum{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 10px}
.gk-stance-sum .ss{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:999px}
.ss-req{color:#8a5412;background:#fbeed7}.ss-raise{color:#2f6fd0;background:#e7effb}.ss-mid{color:#9a7413;background:#f6efd8}.ss-no{color:#b91c1c;background:#fdeaea}.ss-men{color:#7f8694;background:#eef0f4}
/* セクション見出し：スマホは縦積み（番号＋タイトル／hint／選択中が横一列で折返す問題の解消） */
@media(max-width:600px){.gk-sec-h{flex-wrap:wrap;align-items:flex-start;gap:5px 10px}.gk-sec-h .hint{margin-left:0;flex-basis:100%}.gk-sec-h .selnow{margin-left:0}}
