/*
 * ことんと 1.1.0 refine.css
 * 「暮らしの雑誌のような、人が編集したページ」に寄せるための上書き。design.css の後に読む。
 * - 見出しは明朝（Zen Old Mincho）、本文は端末の標準のゴシック（1.1.6で Zen Kaku Gothic New から変更。表示を速くするため）
 * - 文字を大きく、本文の色を濃く
 * - 影・丸い矢印・小見出しの上の飾りラベルをやめ、線と余白で区切る
 * - 新しいトップの部品（k-）
 * 詳細度は body.kotonto-site を頭に付けて、design.css の画面幅ごとの指定より強くする。
 */
:root {
  --sans: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", "Meiryo", sans-serif;
  --serif: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --ink: #22302a;
  --muted: #4f5a50;
  --heading: #1f2b25;
  --rule: #e2ddd0;
  --paper: #fcfaf5;
}

/* ---- 文字の土台 ---- */
body.kotonto-site { font-family: var(--sans); font-size: 17px; line-height: 1.95; color: var(--ink); letter-spacing: .02em; background: var(--paper); }
body.kotonto-site h1, body.kotonto-site h2, body.kotonto-site h3,
body.kotonto-site .page-heading h1, body.kotonto-site .article-header h1, body.kotonto-site .prose-page h1, body.kotonto-site .prose-page h2,
body.kotonto-site .article-copy h2, body.kotonto-site .category-note h3, body.kotonto-site .c-article-card h3 {
  font-family: var(--serif); font-weight: 600; letter-spacing: .04em; color: var(--heading);
}
body.kotonto-site .brand-caption { font-size: 12px; letter-spacing: .06em; }
body.kotonto-site .site-nav { font-size: 15px; font-weight: 500; gap: 26px; }
body.kotonto-site .site-nav .nav-about { font-size: 15px; }
body.kotonto-site .site-nav .c-nav-feature { font-size: 15px; font-weight: 500; box-shadow: none; border-radius: 4px; }

/* ---- 飾りを減らす ---- */
body.kotonto-site [class^="c-"], body.kotonto-site [class*=" c-"] { box-shadow: none; }
body.kotonto-site .c-kicker { font-family: var(--serif); font-size: 15px; font-weight: 500; color: #8a5a3c; letter-spacing: .06em; }
body.kotonto-site .c-kicker:before { display: none; }
body.kotonto-site .c-button { font-size: 16px; font-weight: 500; border-radius: 4px; box-shadow: none; }
body.kotonto-site .c-button:hover { transform: none; }

/* ---- 既存の部品の文字サイズ ---- */
body.kotonto-site .c-section-heading h2, body.kotonto-site .c-split-heading h2, body.kotonto-site .c-estimate-heading h2, body.kotonto-site .c-faq-title h2, body.kotonto-site .c-guide-feature-copy h2 { font-family: var(--serif); font-weight: 600; font-size: 34px; line-height: 1.55; }
body.kotonto-site .c-section-heading p, body.kotonto-site .c-estimate-heading p, body.kotonto-site .lead { font-size: 17px; color: var(--muted); }
body.kotonto-site .c-guide-feature-copy p, body.kotonto-site .c-guide-feature-copy ul { font-size: 16px; }
body.kotonto-site .c-process-grid h3 { font-size: 20px; min-height: 0; }
body.kotonto-site .c-process-grid p { font-size: 15.5px; color: var(--muted); min-height: 0; }
body.kotonto-site .c-process-grid a, body.kotonto-site .c-work-table > a, body.kotonto-site .c-faq-answer > a, body.kotonto-site .c-inline-link, body.kotonto-site .text-link, body.kotonto-site .back-link { font-size: 15px; }
body.kotonto-site .c-process-grid > li > svg { display: none; }
body.kotonto-site .c-step-number { font-family: var(--serif); font-size: 15px; letter-spacing: .08em; color: #6a7a66; }
body.kotonto-site .c-step-number b { font-size: 42px; font-weight: 500; }
body.kotonto-site .c-work-intro h3 { font-size: 22px; }
body.kotonto-site .c-work-intro p { font-size: 15.5px; color: var(--muted); }
body.kotonto-site .c-work-table table { font-size: 15.5px; }
body.kotonto-site .c-quote-buttons > button strong { font-size: 17px; }
body.kotonto-site .c-quote-buttons > button small { font-size: 13.5px; }
body.kotonto-site .c-quote-explanations p { font-size: 15.5px; }
body.kotonto-site .c-sheet-footnote, body.kotonto-site .c-quote-caption { font-size: 12.5px; }
body.kotonto-site .c-article-card-body > p { font-size: 15.5px; }
body.kotonto-site .c-faq-list summary { font-size: 17px; font-weight: 500; }
body.kotonto-site .c-faq-answer p { font-size: 16px; color: var(--ink); }
body.kotonto-site .c-footer nav > a { font-size: 14.5px; }
body.kotonto-site .c-footer-top > div > p { font-size: 14.5px; }
body.kotonto-site .c-mobile-actions a { font-size: 14px; }

/* ---- 固定ページ・記事・カテゴリ ---- */
body.kotonto-site .prose-page p, body.kotonto-site .prose-page ul, body.kotonto-site .prose-page ol { font-size: 17px; line-height: 2; color: var(--ink); }
body.kotonto-site .prose-page .wp-block-table, body.kotonto-site .article-copy table { font-size: 15.5px; }
body.kotonto-site .prose-page h1, body.kotonto-site .page-heading h1, body.kotonto-site .article-header h1 { font-size: 36px; line-height: 1.6; }
body.kotonto-site .prose-page h2, body.kotonto-site .article-copy h2 { font-size: 26px; line-height: 1.6; }
body.kotonto-site .article-copy, body.kotonto-site .article-copy p, body.kotonto-site .article-copy li { font-size: 17px; line-height: 2; }
body.kotonto-site .article-copy h3 { font-size: 20px; font-weight: 600; }
body.kotonto-site .article-intro { font-size: 17px; color: var(--muted); }
body.kotonto-site .contents a { font-size: 14px; }
body.kotonto-site .category-note span { font-size: 13px; }
body.kotonto-site .category-note p { font-size: 15.5px; color: var(--muted); }
body.kotonto-site .breadcrumb { font-size: 13.5px; }

/* ---- 新しいトップ（k-） ---- */
.k-home .wrap { box-sizing: border-box; }
.k-hero { padding: 52px 0 56px; background: var(--paper); border-bottom: 1px solid var(--rule); }
.k-hero-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.k-hero-site { margin: 0 0 16px; padding-left: 12px; border-left: 3px solid var(--red, #bd4e30); font-size: 15px; font-weight: 500; color: var(--forest, #235b49); line-height: 1.6; }
body.kotonto-site .k-hero h1 { margin: 0 0 22px; font-size: clamp(30px, 3.3vw, 44px); line-height: 1.5; letter-spacing: .04em; }
body.kotonto-site .k-hero h1 span { display: block; }
@media (min-width: 901px) { body.kotonto-site .k-hero h1 span { white-space: nowrap; } }
.k-hero-lead { margin: 0; font-size: 18px; line-height: 2; color: var(--muted); }
.k-hero-photo { margin: 0; }
.k-hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; }
.k-can { margin-top: 48px; }
body.kotonto-site .k-can h2 { margin: 0 0 16px; font-size: 22px; }
.k-can-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.k-can-list li { margin: 0; }
.k-can-list a { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 16px; align-items: center; height: 100%; box-sizing: border-box; padding: 14px; background: #fff; border: 1px solid var(--rule); border-radius: 6px; color: inherit; text-decoration: none; transition: border-color .15s; }
.k-can-list a:hover, .k-can-list a:focus-visible { border-color: var(--forest, #235b49); }
.k-can-list img { width: 92px; height: 92px; object-fit: cover; border-radius: 4px; }
.k-can-text strong { display: block; font-family: var(--serif); font-size: 19px; font-weight: 600; line-height: 1.5; color: var(--heading); }
.k-can-text > span { display: block; margin-top: 6px; font-size: 14.5px; line-height: 1.75; color: var(--muted); }
.k-arrow { font-size: 20px; color: var(--red, #bd4e30); }
.k-can-note { margin: 16px 0 0; font-size: 14.5px; color: var(--muted); }

.k-section { padding: 76px 0; }
body.kotonto-site .k-h2 { margin: 0 0 30px; font-size: 34px; line-height: 1.5; }
.k-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.k-card { display: block; overflow: hidden; background: #fff; border: 1px solid var(--rule); border-radius: 6px; color: inherit; text-decoration: none; transition: border-color .15s; }
.k-card:hover, .k-card:focus-visible { border-color: var(--forest, #235b49); }
.k-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.k-card-body { display: block; padding: 16px 18px 20px; }
.k-card-label { display: block; margin-bottom: 4px; font-size: 13.5px; color: var(--red, #bd4e30); }
.k-card strong { display: block; font-family: var(--serif); font-size: 20px; font-weight: 600; line-height: 1.5; color: var(--heading); }
.k-card-text { display: block; margin-top: 8px; font-size: 15px; line-height: 1.8; color: var(--muted); }
.k-topics { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: baseline; margin: 30px 0 0; font-size: 15.5px; }
.k-topics > span { color: var(--muted); }
.k-topics a, .k-link { color: var(--forest, #235b49); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.k-link { display: inline-block; margin: 4px 26px 4px 0; font-size: 16px; }

.k-sort { background: #f4f1e8; }
.k-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: start; }
.k-split figure, .k-note figure { margin: 0; }
.k-split img, .k-note img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.k-lead { margin: -10px 0 22px; font-size: 17px; color: var(--muted); }
.k-dest { margin: 0 0 22px; padding: 0; list-style: none; counter-reset: dest; border-top: 1px solid #d9d3c3; }
.k-dest li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 2px 14px; margin: 0; padding: 16px 0; border-bottom: 1px solid #d9d3c3; counter-increment: dest; }
.k-dest li:before { content: counter(dest); grid-row: span 2; font-family: var(--serif); font-size: 30px; line-height: 1.2; color: var(--forest, #235b49); }
.k-dest b { font-family: var(--serif); font-size: 20px; font-weight: 600; color: var(--heading); }
.k-dest span { font-size: 15.5px; line-height: 1.8; color: var(--muted); }

.k-note { background: #f4f1e8; }
.k-note-inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: center; }
.k-note p { margin: 0 0 14px; font-size: 17px; line-height: 2; }

/* 進め方: アイコンを外したぶん、番号を大きく */
.k-home .c-process-grid > li { padding-top: 6px; border-top: 1px solid var(--rule); }

/* ---- 画面幅 ---- */
@media (max-width: 1100px) {
  .k-can-list a { grid-template-columns: 72px minmax(0, 1fr) auto; }
  .k-can-list img { width: 72px; height: 72px; }
  .k-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .k-hero-inner, .k-split, .k-note-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .k-can-list { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.kotonto-site .c-section-heading h2, body.kotonto-site .c-split-heading h2, body.kotonto-site .c-estimate-heading h2, body.kotonto-site .c-faq-title h2, body.kotonto-site .c-guide-feature-copy h2, body.kotonto-site .k-h2 { font-size: 28px; }
}
@media (max-width: 650px) {
  body.kotonto-site { font-size: 16px; }
  .k-hero { padding: 20px 0 40px; }
  body.kotonto-site .k-hero h1 { font-size: 29px; letter-spacing: .03em; }
  .k-hero-lead { font-size: 16px; }
  .k-hero-lead .k-br { display: none; }
  .k-hero-photo img { aspect-ratio: 16 / 9; }
  .k-hero-site { font-size: 13px; letter-spacing: 0; }
  body.kotonto-site .c-process-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.kotonto-site .c-process-grid h3 { font-size: 19px; }
  .k-can { margin-top: 32px; }
  .k-can-text strong { font-size: 17.5px; }
  .k-can-list a { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; }
  .k-can-list img { width: 64px; height: 64px; }
  .k-can-list .k-arrow { display: none; }
  .k-can-text > span { font-size: 14px; }
  .k-section { padding: 52px 0; }
  body.kotonto-site .k-h2, body.kotonto-site .c-section-heading h2, body.kotonto-site .c-split-heading h2, body.kotonto-site .c-estimate-heading h2, body.kotonto-site .c-faq-title h2, body.kotonto-site .c-guide-feature-copy h2 { font-size: 25px; }
  .k-cards { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .k-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); }
  .k-card img { height: 100%; aspect-ratio: auto; }
  .k-card-body { padding: 12px 14px 14px; }
  .k-card strong { font-size: 17.5px; }
  .k-card-text { font-size: 14px; }
  .k-dest b { font-size: 18px; }
  body.kotonto-site .prose-page p, body.kotonto-site .prose-page ul, body.kotonto-site .prose-page ol,
  body.kotonto-site .article-copy, body.kotonto-site .article-copy p, body.kotonto-site .article-copy li { font-size: 16px; }
  body.kotonto-site .prose-page h1, body.kotonto-site .page-heading h1, body.kotonto-site .article-header h1 { font-size: 28px; }
  body.kotonto-site .prose-page h2, body.kotonto-site .article-copy h2 { font-size: 22px; }
  body.kotonto-site .site-nav { font-size: 16px; }
}
@media print { .k-can, .k-hero-photo { display: none; } }

/* 見出しの折り返しを整える（1文字だけ次の行に落ちるのを防ぐ） */
body.kotonto-site h1, body.kotonto-site h2, body.kotonto-site h3, .k-card strong, .k-can-text strong, .k-dest b { text-wrap: balance; }
body.kotonto-site p, .k-card-text, .k-can-text > span { text-wrap: pretty; }
.k-nb { display: inline-block; }
html { scroll-behavior: auto; }

/* 暗い緑の節は文字を明るく */
body.kotonto-site .c-guide-feature-copy h2, body.kotonto-site .c-estimate-heading h2 { color: #fff; }
body.kotonto-site .c-guide-feature-copy p, body.kotonto-site .c-guide-feature-copy ul, body.kotonto-site .c-estimate-heading p { color: #e6eee1; }
body.kotonto-site .c-guide-feature-copy .c-kicker, body.kotonto-site .c-estimate .c-kicker { color: #ffd9a8; }

/* 1.1.1 メニューを1行に保つ（項目の途中で折り返さない） */
body.kotonto-site .site-nav a { white-space: nowrap; }
@media (max-width: 1180px) and (min-width: 901px) {
  body.kotonto-site .site-nav { gap: 16px; font-size: 14px; }
  body.kotonto-site .site-nav .nav-about { font-size: 14px; }
  body.kotonto-site .site-nav .c-nav-feature { font-size: 14px; gap: 10px; padding-left: 14px; padding-right: 14px; }
}

/* 1.1.2 小さすぎる文字の底上げ（読ませる文は15px以上、補足は12〜14px） */
body.kotonto-site .menu-toggle { font-size: 14px; }
body.kotonto-site .brand-caption { font-size: 13px; }
body.kotonto-site .preview-line { font-size: 12px; }
body.kotonto-site figcaption, body.kotonto-site .hero-caption, body.kotonto-site .hero-caption span:last-child { font-size: 12px; }
body.kotonto-site .c-footer-bottom { font-size: 13px; }
body.kotonto-site .c-card-read { font-size: 14px; }
body.kotonto-site .article-meta, body.kotonto-site .article-meta button { font-size: 14px; }
body.kotonto-site .contents strong { font-size: 14px; }
body.kotonto-site .contents a { font-size: 14px; }
body.kotonto-site .eyebrow, body.kotonto-site .category-number, body.kotonto-site .section-label { font-size: 13px; }
body.kotonto-site .eyebrow .stamp { font-size: 12px; }
body.kotonto-site .page-heading .lead, body.kotonto-site .guide-hero p, body.kotonto-site .path-intro p, body.kotonto-site .path-step p,
body.kotonto-site .category-feature p, body.kotonto-site .category-note p, body.kotonto-site .kotonto-guide-intro p { font-size: 15px; }
body.kotonto-site caption { font-size: 14px; }
body.kotonto-site .prose-page small { font-size: 13px; }
body.kotonto-site .c-quote-stamp { font-size: 11px; }
body.kotonto-site .c-sheet-meta, body.kotonto-site .c-sheet-row span, body.kotonto-site .c-sheet-total > span, body.kotonto-site .c-sheet-small span { font-size: 12px; }
body.kotonto-site .c-sheet-row > b { font-size: 12px; }
body.kotonto-site .c-sheet-row strong { font-size: 14px; }
body.kotonto-site .c-sheet-small strong { font-size: 13px; }
/* 1.1.2 画面下の案内からイラストのアイコンを外す */
body.kotonto-site .c-mobile-actions > a { gap: 10px; }
body.kotonto-site .c-mobile-actions svg { display: none; }
/* 1.1.2 見出しを文節で折り返す（「施設入居／が決まったら」のような割れ方を防ぐ。対応ブラウザのみ） */
body.kotonto-site h1, body.kotonto-site h2, body.kotonto-site h3 { word-break: auto-phrase; }
body.kotonto-site .c-article-card > figure > span, body.kotonto-site .kotonto-card-date { font-size: 13px; }

/* 1.1.3 特集の各段階に要点と道具を載せる */
body.kotonto-site .guide-jumps { font-size: 14px; }
body.kotonto-site .k-guide-notes { list-style: none; padding: 0; margin: 18px 0 0; border-top: 1px solid var(--line); }
body.kotonto-site .k-guide-notes li { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.9; color: var(--ink); }
body.kotonto-site .k-guide-notes strong { display: block; font-size: 16px; font-weight: 700; margin-bottom: 2px; }
body.kotonto-site .k-guide-tools { display: grid; gap: 8px; margin: 18px 0 14px; }
body.kotonto-site .k-guide-tools a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid #cddbbf; background: #f4f7ee; color: var(--forest); font-size: 15px; font-weight: 600; line-height: 1.6; }
body.kotonto-site .k-guide-tools a:hover { border-color: var(--forest); }

/* 1.1.5 文字と背景の差を広げる（コントラスト比4.5以上） */
body.kotonto-site .breadcrumb, body.kotonto-site .breadcrumb a, body.kotonto-site .breadcrumb span { color: #56634d; }
body.kotonto-site .c-quote-buttons > button small { color: #55624d; }
body.kotonto-site .c-sheet-row span { color: #535f4b; }
body.kotonto-site .c-sheet-footnote { color: #59634f; }

/* 1.1.5 収益記事の申込の枠（cta.json の block で使う。PR表記は記事の冒頭に自動で入る） */
body.kotonto-site .kt-cta { border: 2px solid var(--forest); background: #fff; padding: 22px 24px; margin: 34px 0; }
body.kotonto-site .kt-cta-label { display: inline-block; font-size: 12px; line-height: 1.6; color: #fff; background: var(--forest); padding: 2px 9px; letter-spacing: .06em; }
body.kotonto-site .kt-cta-title { display: block; font-size: 18px; font-weight: 700; line-height: 1.7; margin: 10px 0 6px; }
body.kotonto-site .article-copy .kt-cta p { font-size: 15px; line-height: 1.9; margin: 0 0 14px; }
body.kotonto-site .article-copy a.kt-cta-button { display: block; text-align: center; background: #a94c38; color: #fff; padding: 14px 18px; font-weight: 700; font-size: 16px; line-height: 1.6; border-radius: 4px; text-decoration: none; }
body.kotonto-site .article-copy a.kt-cta-button:hover { background: #8e3d2c; }
body.kotonto-site .article-copy .kt-cta-note { font-size: 13px; color: #5d6256; margin: 10px 0 0; }
body.kotonto-site .article-meta a { text-decoration: underline; text-underline-offset: 3px; }

/* 1.1.7 スマホのメニュー: 開いている間は画面の下まで覆い、後ろのページを動かさない */
@media (max-width: 900px) {
  body.kotonto-site.menu-open { overflow: hidden; }
  body.kotonto-site .site-nav.is-open { height: calc(100dvh - var(--kt-nav-top, 110px)); overflow-y: auto; padding-bottom: 90px; }
}

/* 1.1.7 道具の中の見出しを h2 に（見出しの順を正す）。見た目は以前の h3 と同じにする */
body.kotonto-site .kt-tool .kt-group h2, body.kotonto-site .kt-tool .kt-form h2 { font-family: var(--serif); font-weight: 600; line-height: 1.95; letter-spacing: .04em; color: #1f2b25; }
body.kotonto-site .kt-tool .kt-group h2 { font-size: 1.1em; margin: 0 0 6px; }
body.kotonto-site .kt-tool .kt-form h2 { font-size: 1.02em; margin: 6px 0 0; }
body.kotonto-site .page-heading .category-number { color: #4f6543; }
body.kotonto-site .category-note h2 { font-family: var(--serif); font-weight: 600; font-size: 17px; line-height: 1.95; letter-spacing: .04em; color: #1f2b25; margin: 8px 0 12px; }
@media (max-width: 650px) { body.kotonto-site .category-note h2 { font-size: 16px; margin: 7px 0 8px; } }
/* 1.1.8: 記事作成システムの強調（<mark class="kt-marker">）。ブラウザ既定の黄色い塗りを使わず、文字の下半分に薄い線 */
body.kotonto-site .article-copy mark, body.kotonto-site .article-copy mark.kt-marker { background: linear-gradient(transparent 62%, #f0dcc8 62%); color: inherit; padding: 0 1px; }
/* 1.1.9: 本文の装飾（依頼者の指示 2026-10-25）。印やアイコンの画像は使わず、線・地の色・文字だけで */
/* リンク: ひと目でリンクと分かるよう深緑と下線 */
body.kotonto-site .article-copy a { color: #235b49; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: rgba(35, 91, 73, .5); transition: color .15s, text-decoration-color .15s; }
body.kotonto-site .article-copy a:hover { color: #a94c38; text-decoration-color: currentColor; }
/* 箇条書きの枠（キャプションボックス） */
body.kotonto-site .article-copy .kt-box { margin: 26px 0 30px; border: 1px solid #c9cfbe; border-radius: 6px; background: #fff; overflow: hidden; }
body.kotonto-site .article-copy .kt-box-title { margin: 0; padding: 11px 20px; background: #e9eee4; border-bottom: 1px solid #c9cfbe; color: #1f4a3c; font-size: 15px; font-weight: 700; line-height: 1.7; letter-spacing: .02em; }
body.kotonto-site .article-copy .kt-box ul, body.kotonto-site .article-copy .kt-box ol { list-style: none; margin: 0; padding: 16px 22px 14px; counter-reset: kt-ol; }
body.kotonto-site .article-copy .kt-box li { position: relative; padding: 6px 0 6px 26px; margin: 0; line-height: 1.95; }
body.kotonto-site .article-copy .kt-box li + li { border-top: 1px dashed #e0e3d8; }
body.kotonto-site .article-copy .kt-box ul > li::before { content: ''; position: absolute; left: 4px; top: calc(6px + .98em - 4px); width: 8px; height: 8px; border-radius: 50%; background: #235b49; }
body.kotonto-site .article-copy .kt-box ol > li { counter-increment: kt-ol; padding-left: 34px; }
body.kotonto-site .article-copy .kt-box ol > li::before { content: counter(kt-ol); position: absolute; left: 0; top: calc(6px + .98em - 11px); width: 22px; height: 22px; border-radius: 50%; background: #235b49; color: #fff; font-family: var(--serif); font-size: 13px; line-height: 22px; text-align: center; }
body.kotonto-site .article-copy .kt-li-label { font-weight: 700; color: #1f4a3c; }
/* 章のはじめの「この章で読めること」 */
body.kotonto-site .article-copy .kt-box--toc { background: #f4f6f0; border-color: #dfe3d6; border-left: 4px solid #235b49; }
body.kotonto-site .article-copy .kt-box--toc .kt-box-title { background: transparent; border-bottom: 0; padding-bottom: 0; font-size: 13px; color: #5d6256; letter-spacing: .08em; }
body.kotonto-site .article-copy .kt-box--toc ul { padding-top: 8px; }
body.kotonto-site .article-copy .kt-box--toc li + li { border-top: 0; }
body.kotonto-site .article-copy .kt-box--toc a { text-decoration-color: rgba(35, 91, 73, .35); }
/* 関連ページのカード */
body.kotonto-site .article-copy .kt-linkcard { margin: 22px 0 28px; }
body.kotonto-site .article-copy .kt-linkcard a { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 16px; padding: 15px 20px; border: 1px solid #c9cfbe; border-left: 4px solid #a94c38; border-radius: 6px; background: #fff; text-decoration: none; color: #1f2b25; transition: border-color .15s, background .15s; }
body.kotonto-site .article-copy .kt-linkcard a:hover { background: #fbf8f2; border-color: #a94c38; color: #1f2b25; }
body.kotonto-site .article-copy .kt-linkcard-label { grid-column: 1; font-size: 12px; color: #a94c38; font-weight: 700; letter-spacing: .08em; line-height: 1.6; }
body.kotonto-site .article-copy .kt-linkcard-title { grid-column: 1; font-size: 16px; font-weight: 700; line-height: 1.7; color: #235b49; }
body.kotonto-site .article-copy .kt-linkcard-arrow { grid-column: 2; grid-row: 1 / 3; font-size: 20px; color: #a94c38; }
/* 運営者の体験・運営者から */
body.kotonto-site .article-copy .kt-note { margin: 24px 0 28px; padding: 16px 22px 4px; background: #fbf4ec; border-left: 4px solid #a94c38; border-radius: 0 6px 6px 0; }
body.kotonto-site .article-copy .kt-note-label { display: inline-block; margin: 0 0 6px; padding: 1px 10px; background: #a94c38; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.9; border-radius: 3px; }
body.kotonto-site .article-copy .kt-note p:not(.kt-note-label) { margin-bottom: 14px; }
/* 出典と表の注記 */
body.kotonto-site .article-copy .kt-source { font-size: 13px; line-height: 1.9; color: #5d6256; padding: 8px 0 8px 14px; border-left: 2px solid #c9cfbe; }
body.kotonto-site .article-copy .kt-table-note { font-size: 14px; line-height: 1.95; color: #4f5449; background: #f4f6f0; padding: 10px 16px; border-radius: 4px; margin-top: -8px; }
/* よくある質問 */
body.kotonto-site .article-copy h3.kt-faq-q { position: relative; padding-left: 40px; }
body.kotonto-site .article-copy h3.kt-faq-q::before { content: 'Q'; position: absolute; left: 0; top: .1em; width: 28px; height: 28px; border-radius: 4px; background: #235b49; color: #fff; font-family: var(--serif); font-size: 15px; line-height: 28px; text-align: center; }
@media (max-width: 650px) {
  body.kotonto-site .article-copy .kt-box-title { padding: 10px 16px; font-size: 14.5px; }
  body.kotonto-site .article-copy .kt-box ul, body.kotonto-site .article-copy .kt-box ol { padding: 12px 16px 10px; }
  body.kotonto-site .article-copy .kt-linkcard a { padding: 13px 16px; }
  body.kotonto-site .article-copy .kt-note { padding: 14px 16px 2px; }
}
/* 1.2.0（依頼者の指示 2026-10-25: スマホの見やすさ） */
/* ヘッダーは画面についてこない */
body.kotonto-site .site-header { position: relative; top: auto; backdrop-filter: none; background: #fff; }
body.kotonto-site.admin-bar .site-header { top: auto; }
body.kotonto-site .contents { top: 24px; }
/* タイトル: 主題と副題。文節の切れ目（<wbr>）でだけ折り返す */
body.kotonto-site .article-header { padding-top: 22px; }
body.kotonto-site .article-header h1 { word-break: keep-all; overflow-wrap: anywhere; line-break: strict; }
body.kotonto-site .article-header h1 .kt-title-main { display: block; }
body.kotonto-site .article-header h1 .kt-title-sub { display: block; margin-top: 10px; font-size: .62em; line-height: 1.75; color: #4f5449; letter-spacing: .02em; }
/* アイキャッチは切り抜かずに全体を出す（文字の入った画像のため） */
body.kotonto-site .article-photo img.wp-post-image { aspect-ratio: auto; height: auto; object-fit: contain; }
/* パンくずは記事の下 */
body.kotonto-site .kt-article-foot { border-top: 1px solid var(--line); margin: 0 0 30px; }
body.kotonto-site .kt-article-foot .breadcrumb { padding: 18px 0 0; }
/* 目次: 開閉できる。番号は h2 が 01. 02.、h3 は - */
body.kotonto-site .contents > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.kotonto-site .contents > summary::-webkit-details-marker { display: none; }
body.kotonto-site .contents > summary strong { font-size: 15px; font-weight: 700; color: #1f4a3c; }
body.kotonto-site .kt-toc-toggle { flex-shrink: 0; font-size: 12.5px; font-weight: 700; color: #235b49; border: 1px solid #b9c7ad; border-radius: 999px; padding: 2px 12px; background: #fff; line-height: 1.8; }
body.kotonto-site .kt-toc-toggle::after { content: '開く ＋'; }
body.kotonto-site .contents[open] .kt-toc-toggle::after { content: '閉じる －'; }
body.kotonto-site .contents ol { padding-top: 12px; }
body.kotonto-site .contents a { display: flex; gap: 6px; }
body.kotonto-site .contents .kt-toc-num { flex-shrink: 0; min-width: 2.2em; font-weight: 700; color: #235b49; font-variant-numeric: tabular-nums; }
body.kotonto-site .contents .kotonto-toc-sub a { padding-left: 30px; }
body.kotonto-site .contents .kotonto-toc-sub .kt-toc-num { min-width: 1em; color: #7a8670; font-weight: 400; }
/* 表: 横にスクロール。3列以上の表はスマホで幅を確保する */
body.kotonto-site .article-copy figure.wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 25px 0; }
body.kotonto-site .article-copy figure.wp-block-table table { margin: 0; }
body.kotonto-site .article-copy .kt-scroll-hint { margin: 22px 0 -16px; font-size: 12.5px; color: #5d6256; text-align: right; }
@media (max-width: 650px) {
  body.kotonto-site .article-copy figure.wp-block-table table:has(tr > :nth-child(3)) { min-width: 560px; }
  body.kotonto-site .article-header h1 { font-size: 25px; line-height: 1.65; }
  body.kotonto-site .contents > summary strong { font-size: 14.5px; }
  body.kotonto-site .article-meta [data-print] { display: none; }
  body.kotonto-site .article-copy figure.wp-block-table th, body.kotonto-site .article-copy figure.wp-block-table td:first-child { white-space: normal; }
  body.kotonto-site .article-copy figure.wp-block-table td:first-child { min-width: 7.5em; }
}
@media print { body.kotonto-site .kt-scroll-hint { display: none; } }
@media (min-width: 901px) { body.kotonto-site .contents { max-height: calc(100vh - 48px); overflow-y: auto; } }
/* 1.2.1（依頼者の指示 2026-10-26）: タイトルを強調して中央揃え。並びは タイトル → アイキャッチ → リード文 → 目次 */
body.kotonto-site .article-header { text-align: center; margin-inline: auto; padding-bottom: 26px; }
body.kotonto-site .article-header h1 { margin: 10px auto 0; max-width: 820px; font-size: 40px; line-height: 1.55; letter-spacing: .04em; color: #18271f; text-wrap: balance; }
body.kotonto-site .article-header h1::after { content: ''; display: block; width: 56px; height: 3px; margin: 22px auto 0; background: #a94c38; border-radius: 2px; }
body.kotonto-site .article-header h1 .kt-title-sub { margin-top: 14px; font-size: .55em; line-height: 1.75; color: #235b49; text-wrap: balance; }
body.kotonto-site .article-header .article-meta { justify-content: center; flex-wrap: wrap; gap: 4px 22px; border-top: 0; padding-top: 0; margin-top: 18px; color: #5d6256; }
body.kotonto-site .article-photo { margin-inline: auto; }
body.kotonto-site .contents--inline { margin: 30px 0 40px; }
@media (min-width: 901px) { body.kotonto-site .contents--inline { display: none; } }
@media (max-width: 900px) { body.kotonto-site .contents--side { display: none; } }
@media (max-width: 650px) {
  body.kotonto-site .article-header { padding-bottom: 18px; }
  body.kotonto-site .article-header h1 { font-size: 27px; line-height: 1.6; letter-spacing: .03em; }
  body.kotonto-site .article-header h1::after { width: 44px; margin-top: 16px; }
  body.kotonto-site .article-header .article-meta { font-size: 13px; margin-top: 14px; }
}
