/* ==========================================================================
   解説記事の部品（建設業・産廃の解説ページ用）— 結論ボックス／目次／チェックリスト／手順／注意書き
   適用範囲：.article-body 内の .guide-* / .check-list / .step-list のみ。
   ========================================================================== */

/* ---- 結論（記事の冒頭） ---- */
.article-body .guide-answer {
  margin: 0 0 32px;
  padding: 20px 22px 20px 24px;
  border-left: 3px solid #B03A2E;
  background: var(--washi);
}
.article-body .guide-answer-label {
  display: block;
  margin: 0 0 6px;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: #B03A2E;
}
.article-body .guide-answer p { margin: 0; font-size: 15.5px; line-height: 1.95; color: var(--ink); }
.article-body .guide-answer p + p { margin-top: 10px; }

/* ---- 目次 ---- */
.article-body .guide-toc {
  margin: 0 0 40px;
  padding: 18px 22px 16px;
  border: 1px solid var(--line);
}
.article-body .guide-toc-title {
  margin: 0 0 8px;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--charcoal);
}
.article-body .guide-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.article-body .guide-toc li { counter-increment: toc; position: static; margin: 0; padding: 5px 0; font-size: 14.5px; line-height: 1.7; }
.article-body .guide-toc li::before {
  content: counter(toc, decimal-leading-zero);
  position: static;
  display: inline-block;
  height: auto;
  border: 0;
  line-height: inherit;
  text-align: left;
  width: 2.2em;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 600;
  color: #B03A2E;
}
.article-body .guide-toc a { color: var(--ink); text-decoration: none; background-image: none; }
.article-body .guide-toc a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---- チェックリスト ---- */
.article-body .check-list { list-style: none; margin: 0 0 28px; padding: 0; }
.article-body .check-list li {
  position: relative;
  margin: 0;
  padding: 10px 0 10px 34px;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  line-height: 1.85;
}
.article-body .check-list li::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 17px;
  width: 14px;
  height: 14px;
  border: 1.5px solid var(--ink);
}
.article-body .check-list li::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 19px;
  width: 6px;
  height: 3px;
  border-left: 1.5px solid #B03A2E;
  border-bottom: 1.5px solid #B03A2E;
  transform: rotate(-45deg);
}

/* ---- 手順（番号つき） ---- */
.article-body .step-list { list-style: none; margin: 0 0 28px; padding: 0; counter-reset: step; }
.article-body .step-list li {
  position: relative;
  counter-increment: step;
  margin: 0;
  padding: 12px 0 12px 50px;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  line-height: 1.85;
}
.article-body .step-list li::before {
  content: counter(step, decimal-leading-zero);
  position: absolute;
  left: 4px;
  top: 12px;
  width: auto;
  height: auto;
  border: 0;
  line-height: inherit;
  text-align: left;
  font-family: var(--font-en);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #B03A2E;
}

/* ---- 注意・確認事項 ---- */
.article-body .guide-note {
  margin: 0 0 28px;
  padding: 14px 18px;
  border: 1px solid var(--line);
  background: #fff;
  font-size: 14px;
  line-height: 1.9;
  color: var(--charcoal);
}
.article-body .guide-note strong { color: var(--ink); }

/* ---- 出典・確認日 ---- */
.article-body .guide-source {
  margin: 36px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.9;
  color: var(--charcoal);
}

/* ---- 解説記事の中の関連ページ導線 ---- */
.article-body .guide-next {
  margin: 36px 0 0;
  padding: 18px 22px;
  border-top: 2px solid var(--ink);
  background: var(--washi);
}
.article-body .guide-next-title {
  margin: 0 0 8px;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--charcoal);
}
.article-body .guide-next ul { margin: 0; padding: 0; list-style: none; }
.article-body .guide-next li { margin: 0; padding: 6px 0; font-size: 15px; line-height: 1.75; }

@media (max-width: 640px) {
  .article-body .guide-answer { padding: 16px 16px 16px 18px; }
  .article-body .guide-toc { padding: 14px 16px 12px; }
}

/* ---- 記事の頭の画像（墨絵） ---- */
.article-body .article-banner { margin: 0 0 32px; }
.article-body .article-banner img { display: block; width: 100%; height: auto; border: 1px solid var(--line); }

/* ---- 表：語の切れ目がない長い語でも、枠からはみ出さない ---- */
.article-body .article-table th,
.article-body .article-table td { overflow-wrap: anywhere; }
