/* HARITA 動力早見表UI */
.hyk{--navy:#14213d;--copper:#b87333;--ink:#1f2933;--mute:#5b6572;--line:#dfe7f1;--bg:#f6f8fb;
  --v100:#00874F;--v200:#1E80D8;--v400:#C06E00;--ac:var(--v200);
  --g1:#e8f1fb;--g1d:#1E5FA8;--g2:#e6f5f3;--g2d:#0d7a6c;--g3:#f1f1ee;--g3d:#5a5f66;--g4:#fdecec;--g4d:#c62828;--g5:#f1ebfb;--g5d:#6B45BE;
  font-family:inherit;color:var(--ink);line-height:1.6;box-sizing:border-box}
.hyk *,.hyk *:before,.hyk *:after{box-sizing:border-box}
.hyk.hyk-v100{--ac:var(--v100)} .hyk.hyk-v200{--ac:var(--v200)} .hyk.hyk-v400{--ac:var(--v400)}
.hyk-vbadge{display:inline-block;background:var(--ac);color:#fff;font-weight:800;font-size:12px;line-height:1;padding:5px 9px;border-radius:999px;letter-spacing:.02em;vertical-align:middle}
.hyk-v100 .hyk-vbadge{background:var(--v100)} .hyk-v200 .hyk-vbadge{background:var(--v200)} .hyk-v400 .hyk-vbadge{background:var(--v400)}

/* ===== ルックアップ ===== */
.hyk-lookup{margin:22px 0 30px;border:2px solid var(--navy);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(20,33,61,.12)}
.hyk-lk-head{background:var(--navy);color:#fff;padding:18px 20px 16px;position:relative}
.hyk-lk-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:var(--copper)}
.hyk-lk-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:#e8dcc4;margin:0 0 4px 8px}
.hyk-lk-title{font-size:19px;font-weight:800;line-height:1.4;margin:0 0 6px 8px}
.hyk-lk-lead{font-size:13px;color:#d9d4c7;margin:0 0 0 8px;line-height:1.7}
.hyk-lk-body{padding:16px 18px 18px;background:var(--bg)}
.hyk-lk-loading{color:var(--mute);font-size:14px}
.hyk-step{margin:0 0 12px}
.hyk-step-l{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--navy);margin:0 0 6px}
.hyk-step-n{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:800}
.hyk-seg{display:flex;flex-wrap:wrap;gap:8px}
.hyk-seg button{appearance:none;border:2px solid #c9d3e0;background:#fff;color:var(--ink);font-weight:700;font-size:14px;padding:9px 14px;border-radius:10px;cursor:pointer;line-height:1.3;transition:.12s}
.hyk-seg button small{display:block;font-weight:500;font-size:11px;color:var(--mute);margin-top:2px}
.hyk-seg button:hover{border-color:var(--navy)}
.hyk-seg button.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 3px 8px rgba(20,33,61,.25)}
.hyk-seg button.on small{color:#d9d4c7}
.hyk-seg button.v200.on{background:var(--v200);border-color:var(--v200)} .hyk-seg button.v400.on{background:var(--v400);border-color:var(--v400)} .hyk-seg button.v100.on{background:var(--v100);border-color:var(--v100)}
.hyk-seg button:disabled{opacity:.38;cursor:not-allowed;text-decoration:line-through}
.hyk-row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.hyk-sel{width:100%;font-size:16px;font-weight:700;padding:10px 12px;border:2px solid #c9d3e0;border-radius:10px;background:#fff;color:var(--ink)}
.hyk-sel:focus{outline:none;border-color:var(--navy)}
.hyk-in{width:100%;font-size:16px;font-weight:700;padding:10px 12px;border:2px solid #c9d3e0;border-radius:10px;background:#fff}
.hyk-hint{font-size:12px;color:var(--mute);margin:6px 0 0;line-height:1.6}
.hyk-hint b{color:var(--ink)}

/* 結果 */
.hyk-res{margin:14px 0 0;border:2px solid var(--ac);border-radius:14px;background:#fff;overflow:hidden}
.hyk-res-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:var(--ac);color:#fff;padding:10px 14px;font-weight:800;font-size:14px}
.hyk-res-head .hyk-vbadge{background:#fff;color:var(--ac)}
.hyk-res-cond{font-weight:600;font-size:13px;opacity:.95}
.hyk-res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:14px}
.hyk-kpi{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;position:relative;overflow:hidden}
.hyk-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--kc,#8899aa)}
.hyk-kpi.k-brk{--kc:var(--g4d);background:#fff8f8;grid-column:span 2}
.hyk-kpi.k-sw{--kc:var(--g5d)} .hyk-kpi.k-cv{--kc:var(--g1d)} .hyk-kpi.k-pipe{--kc:var(--g2d)} .hyk-kpi.k-gai{--kc:var(--g3d)} .hyk-kpi.k-misc{--kc:#8899aa}
.hyk-kpi-l{font-size:12px;font-weight:700;color:var(--mute);margin:0 0 2px 6px;line-height:1.4}
.hyk-kpi-v{font-size:30px;font-weight:900;line-height:1.1;color:var(--ink);margin-left:6px;letter-spacing:-.01em}
.hyk-kpi-v small{font-size:14px;font-weight:700;color:var(--mute);margin-left:3px}
.hyk-kpi-s{font-size:12px;color:var(--mute);margin:4px 0 0 6px;line-height:1.5}
.hyk-kpi.k-brk .hyk-kpi-v{color:var(--g4d);font-size:40px}
.hyk-kpi-v.na{font-size:16px;color:var(--mute);font-weight:700;line-height:1.5}
.hyk-res-act{display:flex;flex-wrap:wrap;gap:10px;padding:0 14px 14px}
.hyk-btn{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--navy);background:var(--navy);color:#fff!important;font-weight:800;font-size:14px;padding:10px 16px;border-radius:10px;text-decoration:none!important;cursor:pointer;line-height:1.2}
.hyk-btn.ghost{background:#fff;color:var(--navy)!important}
.hyk-btn:hover{filter:brightness(1.08)}
.hyk-res-note{padding:0 14px 14px;font-size:12px;color:var(--mute);line-height:1.7}
.hyk-empty{margin:14px 0 0;padding:14px;border:2px dashed #c9d3e0;border-radius:12px;color:var(--mute);font-size:14px;text-align:center;background:#fff}

/* 一覧 */
.hyk-index{border-top:1px solid var(--line);background:#fff}
.hyk-index summary{cursor:pointer;padding:12px 18px;font-weight:800;font-size:14px;color:var(--navy);list-style:none;display:flex;align-items:center;gap:8px}
.hyk-index summary:before{content:"▸";font-size:12px;transition:.15s}
.hyk-index[open] summary:before{transform:rotate(90deg)}
.hyk-index summary::-webkit-details-marker{display:none}
.hyk-index-grid{padding:0 18px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.hyk-index-gt{font-size:12px;font-weight:800;color:var(--mute);margin:0 0 6px;letter-spacing:.04em}
.hyk-index-links{display:flex;flex-direction:column;gap:6px}
.hyk-index-link{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;font-weight:700;color:var(--ink)!important;text-decoration:none!important;background:#fff}
.hyk-index-link:hover{border-color:var(--navy);background:var(--bg)}

/* ===== 表 ===== */
.hyk-tablebox{margin:14px 0 26px;border:1px solid var(--line);border-top:5px solid var(--ac);border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(20,33,61,.08);overflow:hidden}
.hyk-tbl-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 14px 8px}
.hyk-tbl-title{font-weight:800;font-size:15px;color:var(--navy)}
.hyk-tbl-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:0 14px 10px;font-size:13px}
.hyk-tbl-tools label{font-weight:700;color:var(--mute)}
.hyk-tbl-tools select,.hyk-tbl-tools input{font-size:15px;font-weight:700;padding:7px 10px;border:2px solid #c9d3e0;border-radius:8px;background:#fff;min-width:130px}
.hyk-tbl-tools .hyk-clear{appearance:none;border:1px solid #c9d3e0;background:#fff;border-radius:8px;padding:7px 10px;font-size:12px;cursor:pointer;color:var(--mute)}
.hyk-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.hyk-tbl{border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.35;width:max-content;min-width:100%;margin:0!important}
.hyk-tbl th,.hyk-tbl td{border-right:1px solid #e3e8ef;border-bottom:1px solid #e3e8ef;padding:6px 8px;text-align:center;white-space:nowrap;background:#fff;font-weight:500}
.hyk-tbl thead th{background:var(--navy);color:#fff;font-weight:800;font-size:12px;line-height:1.35;vertical-align:middle;border-right-color:rgba(255,255,255,.18);border-bottom-color:rgba(255,255,255,.18);position:sticky;top:0;z-index:2}
.hyk-tbl thead th.hyk-g1{background:var(--g1d)} .hyk-tbl thead th.hyk-g2{background:var(--g2d)} .hyk-tbl thead th.hyk-g3{background:var(--g3d)} .hyk-tbl thead th.hyk-g4{background:var(--g4d)} .hyk-tbl thead th.hyk-g5{background:var(--g5d)}
.hyk-tbl thead th .hyk-sub{display:block;font-weight:600;font-size:11px;opacity:.85}
.hyk-tbl tbody th{font-weight:900;font-size:15px;color:var(--navy);background:#f3f6fa}
.hyk-tbl tbody td.hyk-g1{background:var(--g1)} .hyk-tbl tbody td.hyk-g2{background:var(--g2)} .hyk-tbl tbody td.hyk-g3{background:var(--g3)} .hyk-tbl tbody td.hyk-g4{background:var(--g4)} .hyk-tbl tbody td.hyk-g5{background:var(--g5)}
.hyk-tbl tbody td.hyk-key{font-weight:900;font-size:15px;color:var(--g4d)}
.hyk-tbl tbody td.hyk-g5{font-weight:800;color:var(--g5d)}
.hyk-tbl td.hyk-na{color:#aab3bf;font-weight:400}
.hyk-tbl .hyk-fn{display:block;font-size:10.5px;font-weight:500;color:#8a3b3b;white-space:normal;max-width:210px;line-height:1.3;margin-top:2px}
.hyk-tbl td.hyk-wide{text-align:left}
.hyk-tbl .hyk-stick{position:sticky;left:0;z-index:3;box-shadow:2px 0 0 #dfe7f1}
.hyk-tbl thead th.hyk-stick{z-index:4}
.hyk-tbl tbody tr:hover td,.hyk-tbl tbody tr:hover th{filter:brightness(.96)}
.hyk-tbl tbody tr.hyk-hit th,.hyk-tbl tbody tr.hyk-hit td{background:#fff3c4!important;filter:none}
.hyk-tbl tbody tr.hyk-hit th.hyk-stick{background:#ffe38a!important}
.hyk-tbl tbody tr.hyk-hit td.hyk-hitc{background:#ffb300!important;color:#111!important;outline:3px solid #c62828;outline-offset:-3px}
.hyk-tbl tbody tr.hyk-hit td.hyk-hitc span{color:#111!important}
.hyk-tbl tbody tr{cursor:pointer}
/* 幹線マトリクス */
.hyk-tbl-kansen thead th.hyk-col{font-size:13px;font-weight:900}
.hyk-tbl-kansen thead th.hyk-colsd{font-size:10.5px;font-weight:600;opacity:.9}
.hyk-tbl-kansen td.hyk-mx{padding:4px 7px;min-width:44px}
.hyk-tbl-kansen td.hyk-mx .hyk-d{display:block;font-weight:900;font-size:14px;color:var(--g4d);line-height:1.2}
.hyk-tbl-kansen td.hyk-mx .hyk-s{display:block;font-weight:700;font-size:11.5px;color:#7a4b00;line-height:1.2;margin-top:1px}
.hyk-tbl-kansen td.hyk-mx .hyk-s:before{content:"Y-Δ ";font-size:9px;color:#9a7b4a}
.hyk-tbl-foot{padding:9px 14px 11px;font-size:11.5px;color:var(--mute);line-height:1.7;background:#fbfcfe}
.hyk-scrollhint{font-size:11.5px;color:var(--mute);padding:0 14px 6px}
@media (max-width:640px){
  .hyk-lk-title{font-size:16px}
  .hyk-lk-body{padding:12px}
  .hyk-seg button{font-size:13px;padding:8px 11px}
  .hyk-kpi-v{font-size:26px}
  .hyk-kpi.k-brk .hyk-kpi-v{font-size:34px}
  .hyk-res-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:10px}
  .hyk-tbl{font-size:12px}
  .hyk-tbl th,.hyk-tbl td{padding:5px 6px}
}
