/* 宅建 一問チェッカー 共通スタイル（checker-engine.js とセットで使用） */
:root{
  --ink:#22303c;--indigo:#1b4a63;--indigo-soft:#3f6b82;
  --gold:#a87f2c;--vermilion:#b1431d;
  --paper:#fff;--page-bg:#e7e2d7;--rule:#d8d1c2;
  --cream:#f6f2e8;--cream-line:#e6dcc6;--ok:#2f6b3f;--ok-bg:#e9efe4;
  --ng:#b1431d;--ng-bg:#fbeee9;
}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--page-bg);color:var(--ink);font-family:"Zen Kaku Gothic New",system-ui,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:900px;margin:0 auto;padding:0 16px}
.narrow{max-width:640px}

/* ヘッダー */
header.site{border-bottom:2px solid var(--ink);background:var(--page-bg)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.brandmark{display:flex;align-items:center;gap:10px;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:15px;letter-spacing:.03em;color:var(--ink);text-decoration:none}
.topnav{display:flex;gap:18px;font-size:12.5px;font-family:"Zen Kaku Gothic Antique",sans-serif;font-weight:700;letter-spacing:.06em;color:var(--indigo)}
.topnav a{text-decoration:none}.topnav a:hover{color:var(--vermilion)}

/* 見出し帯 */
.crumb{font-family:"Zen Kaku Gothic Antique",sans-serif;font-size:11.5px;color:var(--indigo-soft);font-weight:700;padding:14px 0 0}
.crumb a{text-decoration:none}.crumb a:hover{color:var(--vermilion)}
.lead-band{padding:26px 0 6px}
.eyebrow{font-family:"Zen Kaku Gothic Antique",sans-serif;font-weight:700;letter-spacing:.22em;font-size:11px;color:var(--vermilion)}
.lead-band h1{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:27px;line-height:1.4;margin:8px 0 6px;letter-spacing:.02em}
.lead-band h1 .accent{color:var(--vermilion)}
.lead-band p{font-size:13.5px;color:#465a68;margin:0;max-width:34em}

/* タブ */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 14px}
.tabs button{flex:1 1 auto;min-width:92px;border:1.5px solid var(--cream-line);background:var(--paper);
  color:var(--indigo-soft);border-radius:999px;padding:9px 6px;font-size:12.5px;font-weight:700;cursor:pointer;
  font-family:"Zen Kaku Gothic Antique",sans-serif;letter-spacing:.04em;transition:.12s}
.tabs button.on{background:var(--indigo);color:#fff;border-color:var(--indigo)}

/* カード */
.card{background:var(--paper);border:1px solid #ece5d6;border-radius:10px;
  padding:22px;box-shadow:0 18px 44px -34px rgba(34,48,60,.55)}
.qtag{display:inline-block;background:#fbeee9;color:var(--vermilion);font-size:11px;
  font-weight:700;padding:4px 12px;border-radius:999px;margin-bottom:12px;letter-spacing:.06em;
  font-family:"Zen Kaku Gothic Antique",sans-serif}
.q{font-size:15px;font-weight:500;color:#3a4a58}
.q b{color:var(--indigo);font-weight:700}

/* 事実リスト */
.facts{margin:14px 0;padding:6px 16px;background:var(--cream);border:1px solid var(--cream-line);
  border-radius:8px;font-size:13.5px}
.facts div{display:flex;gap:12px;padding:7px 0;border-bottom:1px dashed var(--cream-line)}
.facts div:last-child{border-bottom:none}
.facts .k{color:#566a77;flex:none;width:9em}
.facts .v{font-weight:700;color:var(--ink);font-family:"Shippori Mincho B1",serif}
.facts .v.yes{color:var(--ok)} .facts .v.no{color:var(--indigo-soft);font-weight:600}

.ask{margin-top:12px;font-weight:700;font-size:15px;font-family:"Shippori Mincho B1",serif}
.ask.center{text-align:center}
.ask b{color:var(--vermilion)}

/* 数値入力 */
.inrow{display:flex;gap:8px;margin-top:14px;align-items:stretch}
.inrow .field{flex:1;position:relative}
input[type=text]{width:100%;padding:14px 46px 14px 14px;font-size:19px;font-weight:700;
  border:2px solid var(--cream-line);border-radius:8px;text-align:right;color:var(--ink);
  background:#fff;outline:none;font-family:"Shippori Mincho B1",serif}
input[type=text]:focus{border-color:var(--gold)}
.unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--indigo-soft);
  font-weight:700;pointer-events:none;font-size:14px}
.hint{font-size:11.5px;color:var(--indigo-soft);margin-top:7px;text-align:right}

/* 選択肢 */
.choices{display:flex;gap:10px;margin-top:14px}
.choice{flex:1;border:2px solid var(--indigo);background:var(--paper);color:var(--indigo);
  border-radius:9px;padding:16px 8px;font-size:16px;font-weight:800;cursor:pointer;
  font-family:"Shippori Mincho B1",serif;transition:.12s}
.choice:hover{background:var(--cream)}
.choice:disabled{cursor:default}
.choice.picked{color:#fff}
.choice.pos.picked{background:var(--indigo);border-color:var(--indigo)}
.choice.neg.picked{background:var(--vermilion);border-color:var(--vermilion)}
.choice.dim{opacity:.5}
.choices.col{flex-direction:column}
.choice.opt{border-color:var(--indigo);color:var(--indigo);font-size:15px;padding:14px 12px}
.choice.opt.picked{background:var(--indigo);border-color:var(--indigo);color:#fff}
.choice.correct:not(.picked){background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.choice.correct.picked{background:var(--ok);border-color:var(--ok);color:#fff}

/* ボタン */
.btn{border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:14.5px;
  font-family:"Zen Kaku Gothic Antique",sans-serif;letter-spacing:.05em}
.btn-go{background:var(--vermilion);color:#fff;padding:0 24px;box-shadow:0 12px 24px -14px rgba(177,67,29,.8)}
.btn-go:hover{opacity:.92}
.btn-next{width:100%;margin-top:12px;background:var(--indigo);color:#fff;padding:13px}
.btn-next:hover{opacity:.92}

/* 結果 */
.result{margin-top:14px;display:none}
.result.show{display:block}
.verdict{border-radius:9px;padding:14px 16px;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:16px;margin-bottom:2px}
.verdict.ok{background:var(--ok-bg);border:1px solid #cfe0c6;color:var(--ok)}
.verdict.ng{background:var(--ng-bg);border:1px solid #eccfc4;color:var(--ng)}
.verdict small{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;font-size:12.5px;color:#566a77;margin-top:4px}
.mark{font-size:18px;font-weight:800;font-family:"Shippori Mincho B1",serif}
.mark.ok{color:var(--ok)} .mark.ng{color:var(--ng)}
.ans{font-size:15px;margin:6px 0 2px}
.ans b{font-size:19px;color:var(--indigo);font-family:"Shippori Mincho B1",serif}

/* 解説：計算ステップ */
.steps{margin-top:12px;border-top:1px dashed var(--cream-line);padding-top:12px}
.steps h4{margin:0 0 8px;font-size:12px;color:var(--gold);letter-spacing:.08em;font-family:"Zen Kaku Gothic Antique",sans-serif}
.steps ol{margin:0;padding-left:20px}
.steps li{font-size:13.5px;margin:6px 0}
.steps code{background:var(--cream);padding:1px 7px;border-radius:5px;font-weight:700;
  font-family:"Shippori Mincho B1",serif;color:var(--indigo)}

/* 解説：判定チェックリスト */
.chk{display:flex;gap:11px;align-items:flex-start;margin:9px 0}
.chk .badge{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;font-family:"Shippori Mincho B1",serif;margin-top:1px}
.chk.pass .badge{background:var(--ok-bg);color:var(--ok);border:1.5px solid #bcd6b0}
.chk.fail .badge{background:var(--ng-bg);color:var(--ng);border:1.5px solid #eccfc4}
.chk .cbody{font-size:13.5px}
.chk .name{font-weight:700;color:var(--ink)}
.chk .detail{color:#546475;font-size:12.5px}
.chk .detail b{color:var(--vermilion)}

/* スコア */
.score{display:flex;gap:10px;margin-top:14px}
.score .box{flex:1;background:var(--paper);border:1px solid var(--cream-line);border-radius:8px;padding:11px;text-align:center}
.score .n{font-size:21px;font-weight:800;color:var(--indigo);font-family:"Shippori Mincho B1",serif}
.score .l{font-size:10.5px;color:var(--indigo-soft);font-family:"Zen Kaku Gothic Antique",sans-serif;font-weight:700;letter-spacing:.06em}

.note{font-size:11.5px;color:#566a77;margin:14px 0 0;background:var(--cream);border:1px solid var(--cream-line);border-radius:6px;padding:11px 14px}
.note b{color:var(--vermilion)}

/* 一覧へ戻る */
.related{margin:22px 0 8px;background:var(--cream);border:1px solid var(--cream-line);border-left:4px solid var(--gold);border-radius:8px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;text-decoration:none;color:inherit}
.related .k{font-family:"Zen Kaku Gothic Antique",sans-serif;font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--indigo-soft)}
.related .t{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:15.5px;color:var(--ink);margin-top:3px}
.related .go{font-family:"Zen Kaku Gothic Antique",sans-serif;font-weight:700;font-size:13px;color:var(--vermilion);white-space:nowrap}

/* フッター */
footer{background:var(--cream);border-top:1px solid var(--cream-line);margin-top:28px}
footer .wrap{padding:28px 16px 30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
footer .f-brand{font-family:"Shippori Mincho B1",serif;color:var(--ink);font-weight:800;font-size:15px;margin-bottom:6px}
footer .f-note{font-size:12px;line-height:1.9;max-width:30em;color:#566a77}
footer a{color:var(--vermilion);text-decoration:none}footer a:hover{text-decoration:underline}
footer .f-links{font-size:12.5px;line-height:2;font-family:"Zen Kaku Gothic Antique",sans-serif;font-weight:700;letter-spacing:.04em;color:var(--indigo)}
.copy{background:var(--page-bg);color:#7d8b94;font-size:11px;text-align:center;padding:12px 0;border-top:1px solid var(--rule)}

@media (max-width:760px){
  .topnav{display:none}
  .lead-band h1{font-size:23px}
  footer .wrap{flex-direction:column}
}
