/* トリリオン 共通スタイル（商談アプリ / スマホ・タブレット前提・外部依存ゼロ） */
:root{
  --navy:#0b2447; --navy2:#123a6b; --sky:#19a7ce; --sky-soft:#e9f6fb;
  --ink:#16202b; --muted:#5c6b7a; --bg:#f2f5f8; --card:#fff; --line:#dce3ea;
  --ok:#1e9e5a; --ok-soft:#e8f7ee; --warn:#c98a00; --warn-soft:#fdf4e0;
  --gray:#8a949e; --gray-soft:#f0f2f4;
  --radius:14px; --shadow:0 1px 3px rgba(11,36,71,.08),0 6px 18px rgba(11,36,71,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;
  background:var(--bg); color:var(--ink); line-height:1.6;
  -webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased;
}
a{color:var(--navy2)}
.wrap{max-width:760px;margin:0 auto;padding:16px 14px 96px}
.wrap.wide{max-width:1000px}

/* header */
.hd{
  background:var(--navy); color:#fff; position:sticky; top:0; z-index:30;
  box-shadow:0 2px 10px rgba(11,36,71,.18);
  padding-top:env(safe-area-inset-top);
}
.hd-in{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:11px 14px}
.hd .logo{font-weight:800;letter-spacing:.16em;font-size:15px}
.hd .logo span{color:var(--sky)}
.hd .ttl{font-size:13px;font-weight:600;opacity:.92;border-left:1px solid rgba(255,255,255,.3);padding-left:10px}
.hd .back{margin-left:auto;color:#fff;text-decoration:none;font-size:12.5px;font-weight:700;background:rgba(255,255,255,.14);padding:6px 11px;border-radius:999px;white-space:nowrap}
.badge-demo{font-size:10px;font-weight:800;letter-spacing:.04em;background:#fff3cd;color:#7a5b00;border:1px solid #e6c65a;padding:3px 8px;border-radius:999px;white-space:nowrap}

/* typography */
h1{font-size:21px;margin:14px 0 4px;letter-spacing:.01em}
h2{font-size:16px;margin:26px 0 10px;display:flex;align-items:center;gap:8px}
h2::before{content:"";width:4px;height:17px;background:var(--sky);border-radius:2px}
h3{font-size:14.5px;margin:0 0 6px}
p.lead{color:var(--muted);font-size:13px;margin:0 0 18px}
.small{font-size:12px;color:var(--muted)}
.note{font-size:11.5px;color:var(--muted);margin-top:8px}

/* card */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:14px}
.card.tight{padding:13px}
.card-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.card-h .ico{width:36px;height:36px;border-radius:10px;background:var(--sky-soft);display:grid;place-items:center;font-size:19px;flex:none}

/* buttons */
.btn{
  font:inherit;font-weight:700;font-size:15px;cursor:pointer;border:none;border-radius:12px;
  padding:14px 18px;background:var(--navy);color:#fff;text-decoration:none;display:inline-flex;
  align-items:center;justify-content:center;gap:8px;-webkit-tap-highlight-color:transparent;
}
.btn:active{transform:translateY(1px)}
.btn.sky{background:var(--sky)}
.btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn.line{background:#06c755}
.btn.block{display:flex;width:100%}
.btn.sm{font-size:13px;padding:9px 13px;border-radius:10px}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn-row{display:flex;gap:9px;flex-wrap:wrap}
.btn-row>.btn{flex:1 1 140px}

/* inputs */
label.fl{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin:0 0 5px}
input[type=text],input[type=tel],input[type=number],select,textarea{
  font:inherit;font-size:16px;width:100%;padding:12px 13px;border:1.5px solid var(--line);
  border-radius:11px;background:#fff;color:var(--ink);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sky)}
textarea{min-height:96px;resize:vertical}

/* choice chips */
.chips{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media(max-width:400px){.chips{grid-template-columns:1fr}}
.chip{
  border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:13px 12px;
  font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer;color:var(--ink);
  display:flex;align-items:center;gap:9px;line-height:1.35;
}
.chip .em{font-size:19px;flex:none}
.chip.on{border-color:var(--sky);background:var(--sky-soft);box-shadow:inset 0 0 0 1px var(--sky)}
.chip.on::after{content:"✓";margin-left:auto;color:var(--sky);font-weight:900}

/* verdict */
.v{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;padding:4px 9px;border-radius:999px;white-space:nowrap}
.v.ok{background:var(--ok-soft);color:var(--ok)}
.v.hold{background:var(--warn-soft);color:var(--warn)}
.v.no{background:var(--gray-soft);color:var(--gray)}

/* result rows */
.res{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px;background:#fff}
.res.ok{border-left:4px solid var(--ok)}
.res.hold{border-left:4px solid var(--warn)}
.res.no{border-left:4px solid var(--gray);background:#fafbfc}
.res-h{display:flex;align-items:center;gap:9px;margin-bottom:6px;flex-wrap:wrap}
.res-h b{font-size:14.5px}
.res p{margin:0;font-size:13px;color:var(--ink)}
.res .cur{font-size:12px;color:var(--muted);margin-top:4px}

/* stat */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.stat .k{font-size:11.5px;color:var(--muted);font-weight:700}
.stat .val{font-size:23px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;margin-top:2px}
.stat .val.flash{animation:flash .7s ease}
.stat .u{font-size:12px;font-weight:700;color:var(--muted);margin-left:2px}
@keyframes flash{0%{color:var(--sky);transform:scale(1.06)}100%{color:var(--navy);transform:scale(1)}}

/* table */
table.t{width:100%;border-collapse:collapse;font-size:13px}
table.t th,table.t td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left}
table.t th{font-size:11.5px;color:var(--muted);font-weight:700;background:#fafbfc}
table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* sticky bottom bar */
.bar{
  position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.97);
  border-top:1px solid var(--line);box-shadow:0 -3px 14px rgba(11,36,71,.08);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
}
.bar-in{max-width:760px;margin:0 auto;display:flex;gap:9px;align-items:center}
.bar-in .btn{flex:1}

/* misc */
.hr{height:1px;background:var(--line);margin:18px 0}
.center{text-align:center}
.hide{display:none !important}
.pill{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--sky-soft);color:var(--navy2)}
.copybox{background:#f7f9fb;border:1px dashed var(--line);border-radius:10px;padding:10px;font-size:12px;word-break:break-all;color:var(--muted)}
.footnote{font-size:11px;color:var(--gray);text-align:center;margin-top:26px;line-height:1.7}
.demo-only{font-size:11.5px;color:var(--warn);font-weight:700;background:var(--warn-soft);border-radius:8px;padding:7px 10px;margin-top:10px}
