/* ============================================================
   セットアップガイド共通スタイル(site/guide/ 配下の全ページで使用)
   共通の style.css(サイト全体)に guide 専用の部品を足すレイヤー。
   style.css 側は変更しないこと。
   ============================================================ */

.guide { max-width: 760px; margin: 50px auto 70px; padding: 0 20px; font-size: 14.5px; }
.guide h1 { font-size: 26px; margin-bottom: 14px; }
.guide .lead { color: var(--muted); margin-bottom: 8px; }
.guide .updated { color: var(--muted); font-size: 12.5px; margin-bottom: 28px; }
.guide h2 { font-size: 20px; margin: 44px 0 6px; padding-top: 8px; }
.guide h3 { font-size: 15.5px; margin: 26px 0 8px; }
.guide p, .guide li { color: var(--muted); }
.guide strong { color: var(--text); }

/* パンくず */
.crumb { font-size: 12.5px; color: var(--muted); margin-bottom: 18px; }
.crumb a { color: var(--muted); }
.crumb a:hover { color: var(--text); }

/* 目次チップ */
.toc { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 6px; }
.toc a {
  display: inline-block; padding: 8px 16px; border: 1px solid var(--border);
  border-radius: 999px; color: var(--text); font-size: 13.5px; font-weight: 700;
  background: var(--card);
}
.toc a:hover { border-color: var(--accent); }

/* ガイド目次のモジュールカード(index用) */
.mod-list { display: grid; gap: 14px; margin-top: 22px; }
.mod-card {
  display: block; background: var(--card); border: 1px solid var(--border);
  border-radius: 14px; padding: 20px 22px; color: var(--text);
}
.mod-card:hover { border-color: var(--accent); }
.mod-card .mod-no { font-size: 11.5px; font-weight: 700; letter-spacing: 0.12em; color: var(--accent); }
.mod-card h2 { font-size: 17px; margin: 6px 0 6px; padding: 0; }
.mod-card p { font-size: 13px; margin: 0; }

/* 手順(番号つき) */
.steps-list { list-style: none; margin: 14px 0 4px; counter-reset: step; }
.steps-list li {
  counter-increment: step; position: relative; padding: 0 0 16px 44px; color: var(--muted);
}
.steps-list li::before {
  content: counter(step); position: absolute; left: 0; top: -2px;
  width: 28px; height: 28px; border-radius: 50%; background: var(--bg2);
  border: 1px solid var(--border); color: var(--text); font-weight: 700; font-size: 13px;
  display: flex; align-items: center; justify-content: center;
}
.steps-list li:not(:last-child)::after {
  content: ""; position: absolute; left: 14px; top: 28px; bottom: 2px; width: 1px; background: var(--border);
}
.steps-list li strong { color: var(--text); }

/* スクリーンショット */
.shot { margin: 16px 0 8px; }
.shot img {
  width: 100%; height: auto; display: block;
  border: 1px solid var(--border); border-radius: 12px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.35);
}
.shot figcaption { color: var(--muted); font-size: 12.5px; margin-top: 8px; text-align: center; }

/* 注意ボックス */
.note {
  background: var(--bg2); border: 1px solid var(--border); border-left: 3px solid var(--accent);
  border-radius: 8px; padding: 12px 16px; font-size: 13.5px; color: var(--muted); margin-top: 12px;
}
.note.warn { border-left-color: var(--danger); }
.note.good { border-left-color: var(--accent2); }
.note strong { color: var(--text); }

/* 比較・早見表 */
.guide .table-scroll { margin: 18px 0 6px; overflow-x: auto; }
.guide table.compare { font-size: 13.5px; min-width: 560px; }
.guide table.compare td { color: var(--muted); }
.guide table.compare td:first-child { color: var(--text); font-weight: 700; white-space: nowrap; }
.guide table.compare td.good { color: var(--accent2); }

code.key {
  background: var(--bg2); border: 1px solid var(--border); border-radius: 6px;
  padding: 1px 7px; font-size: 12.5px; color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.guide ul.plain { margin: 10px 0 0 20px; }
.guide ul.plain li { margin: 5px 0; }

/* SmartScreen の CSSモック(実スクショが用意できるまでの代替。実データ映り込みなし) */
.mock-smartscreen {
  background: #0067b8; border-radius: 10px; padding: 26px 28px; margin: 16px 0 8px;
  color: #fff; font-size: 13.5px; line-height: 1.7;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.35);
}
.mock-smartscreen .ms-title { font-size: 17px; font-weight: 700; margin-bottom: 8px; color: #fff; }
.mock-smartscreen p { color: #e8f1fa; margin: 0 0 6px; }
.mock-smartscreen .ms-link { color: #fff; text-decoration: underline; font-weight: 700; }
.mock-smartscreen .ms-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 18px; }
.mock-smartscreen .ms-btn {
  background: #ccd9e5; color: #1b1b1b; border-radius: 4px; padding: 7px 22px;
  font-size: 13px; font-weight: 700;
}
.mock-smartscreen .ms-btn.primary { background: #fff; }
.mock-caption { color: var(--muted); font-size: 12.5px; margin-top: 8px; text-align: center; }

/* 前後ページナビ */
.pager { display: flex; gap: 12px; margin-top: 48px; flex-wrap: wrap; }
.pager a {
  flex: 1 1 220px; background: var(--card); border: 1px solid var(--border);
  border-radius: 12px; padding: 14px 18px; color: var(--text); font-size: 13.5px;
}
.pager a:hover { border-color: var(--accent); }
.pager a span { display: block; color: var(--muted); font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; margin-bottom: 4px; }
.pager a.next { text-align: right; }

footer.site .wrap { display: flex; gap: 20px; flex-wrap: wrap; }
