/* ============================================================
   WordPress 本文（ブロックエディタ）用スタイル
   エディタで書いた見出し・段落・リスト・表・画像が、
   デザイン見本（sub-*.html）と同じ見え方になるようにします。
   ============================================================ */

/* ---- h2 = 章（番号は自動） ---- */
.art--wp{counter-reset:chap}
.art--wp > h2,
.art--wp > .wp-block-heading:where(h2){
  counter-increment:chap;
  display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:baseline;
  padding-top:22px;border-top:1px solid var(--ink);
  margin:clamp(64px,7vw,104px) 0 clamp(24px,2.8vw,36px);
  font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.5;scroll-margin-top:130px;
}
.art--wp > h2::before{content:counter(chap);font-family:var(--mincho);font-weight:600;font-size:clamp(2rem,3.4vw,2.8rem);line-height:1;color:var(--jade)}
.art--wp > h2:first-of-type{margin-top:clamp(40px,4vw,56px)}
.art--wp.no-num > h2::before{display:none}
.art--wp.no-num > h2{grid-template-columns:1fr}
/* お知らせ記事の h2 は番号なし */
.single .art--wp > h2{display:block;font-size:clamp(1.25rem,2.2vw,1.6rem);margin:clamp(44px,5vw,64px) 0 .8em;padding-top:18px}
.single .art--wp > h2::before{display:none}

/* ---- h3 ---- */
.art--wp h3:not(.qa summary h3):not(.sflow h3){font-size:clamp(1.12rem,1.8vw,1.32rem);line-height:1.6;margin:clamp(36px,4vw,52px) 0 .9em;display:flex;align-items:center;gap:12px}
.art--wp h3:not(.qa summary h3):not(.sflow h3)::before{content:"";width:18px;height:2px;background:var(--jade);flex:none}

/* ---- paragraphs ---- */
.art--wp p{font-size:var(--fs);line-height:2.05}
.art--wp p+p{margin-top:1.2em}
.art--wp a:not(.btn):not([class]){color:var(--jade);border-bottom:1px solid currentColor}

/* ---- lists ---- */
/* 注：li の中に太字・リンク・改行などが混ざっても崩れないよう、grid ではなく
   padding + 絶対配置の記号で組んでいます（旧本文の li は中身が複数の要素に分かれることが多いため）。 */
.art--wp ul.wp-block-list,.art--wp ul:not([class]):not(:is(.ex,.sum,.supv,.pay,.sflow,.toc__m,.rel,.guar,.mr,.faq__list,.doc,.examples) *){display:block;margin:.6em 0 1em;padding:0;list-style:none}
.art--wp ul.wp-block-list > li,.art--wp ul:not([class]):not(:is(.ex,.sum,.supv,.pay,.sflow,.toc__m,.rel,.guar,.mr,.faq__list,.doc,.examples) *) > li{display:block;position:relative;padding-left:24px;font-size:var(--fs);line-height:1.85}
.art--wp ul.wp-block-list > li + li,.art--wp ul:not([class]):not(:is(.ex,.sum,.supv,.pay,.sflow,.toc__m,.rel,.guar,.mr,.faq__list,.doc,.examples) *) > li + li{margin-top:8px}
.art--wp ul.wp-block-list > li::before,.art--wp ul:not([class]):not(:is(.ex,.sum,.supv,.pay,.sflow,.toc__m,.rel,.guar,.mr,.faq__list,.doc,.examples) *) > li::before{content:"";position:absolute;left:4px;top:.75em;width:6px;height:6px;background:var(--bone);border-radius:50%}
/* 番号付きリスト＝手順 */
.art--wp ol.wp-block-list,.art--wp ol:not([class]):not(:is(.ex,.sum,.supv,.pay,.sflow,.toc__m,.rel,.guar,.mr,.faq__list,.doc,.examples) *){counter-reset:st;display:block;border-top:1px solid var(--line);margin:.6em 0 1em;padding:0;list-style:none}
.art--wp ol.wp-block-list > li,.art--wp ol:not([class]):not(:is(.ex,.sum,.supv,.pay,.sflow,.toc__m,.rel,.guar,.mr,.faq__list,.doc,.examples) *) > li{counter-increment:st;display:block;position:relative;min-height:60px;padding:14px 0 14px 52px;border-bottom:1px solid var(--line-2);font-size:calc(var(--fs) - .5px);line-height:1.85;color:var(--txt-2)}
.art--wp ol.wp-block-list > li::before,.art--wp ol:not([class]):not(:is(.ex,.sum,.supv,.pay,.sflow,.toc__m,.rel,.guar,.mr,.faq__list,.doc,.examples) *) > li::before{content:counter(st);position:absolute;left:0;top:14px;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;line-height:1}
.art--wp ol.wp-block-list > li > strong:first-child,.art--wp ol:not([class]):not(:is(.ex,.sum,.supv,.pay,.sflow,.toc__m,.rel,.guar,.mr,.faq__list,.doc,.examples) *) > li > strong:first-child{display:block;color:var(--ink);font-size:var(--fs)}
/* 入れ子のリスト */
.art--wp li ul,.art--wp li ol{margin:.4em 0 0;border-top:0}
.art--wp li ol > li{border-bottom:0;padding-top:6px;padding-bottom:6px}

/* ---- images ---- */
.art--wp .wp-block-image{margin:clamp(24px,3vw,36px) 0}
.art--wp .wp-block-image img{height:auto;max-width:100%;border:1px solid var(--line);background:#fff}
.art--wp .wp-block-image figcaption{margin-top:10px;font-size:14px;line-height:1.7;color:var(--txt-2);text-align:left}

/* ---- tables (core/table) ---- */
.art--wp .wp-block-table{margin:.6em 0 1em;overflow-x:auto}
.art--wp .wp-block-table table{width:100%;border:1px solid var(--line);border-collapse:collapse}
.art--wp .wp-block-table th,.art--wp .wp-block-table td{padding:14px 16px;border-bottom:1px solid var(--line-2);font-size:calc(var(--fs) - .5px);line-height:1.7;text-align:left;vertical-align:top}
.art--wp .wp-block-table thead th{background:var(--ink);color:#fff;font-size:14px;font-weight:700}
.art--wp .wp-block-table figcaption{font-size:14px;color:var(--txt-2);margin-top:8px}
/* 料金表スタイル：右列を太字・右寄せ */
.art--wp .wp-block-table.is-style-price td:last-child{text-align:right;font-weight:700;color:var(--ink);white-space:nowrap}

/* ---- columns used in patterns ---- */
.art--wp .wp-block-columns{gap:clamp(20px,3vw,36px)}

/* ---- buttons ---- */
.art--wp .wp-block-button__link{background:var(--jade);color:#fff;border-radius:2px;padding:14px 26px;font-weight:700}

/* ---- separators / quotes ---- */
.art--wp hr{border:0;border-top:1px solid var(--line);margin:clamp(32px,4vw,48px) 0}
.art--wp blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--bone);color:var(--txt-2)}

/* ---- legacy VK Blocks (旧サイトのブロックを最低限整える) ---- */
.art--wp .vk_borderBox{border:1px solid var(--line);margin:clamp(32px,4vw,48px) 0;padding:0}
.art--wp .vk_borderBox_title_container{background:var(--ink);color:#fff;padding:12px 20px}
.art--wp .vk_borderBox_title{font-family:var(--mincho);font-size:1.15rem;margin:0;color:#fff}
.art--wp .vk_borderBox_body{padding:clamp(18px,2.4vw,28px)}

/* ---- layout when no TOC ---- */
.body__in--one{grid-template-columns:minmax(0,760px)!important;justify-content:center}

/* ---- news filter as links ---- */
.nfil__b{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--paper);padding:10px 18px;min-height:46px;font-size:15px;color:var(--ink)}
.nfil__b[aria-current="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.pager .page-numbers{min-width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);font-size:15px;padding:0 10px}
.pager .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.pn span:empty{display:block}

/* ---- editor canvas ---- */
.editor-styles-wrapper{font-family:var(--gothic);font-size:17px;line-height:2;color:var(--txt)}
.editor-styles-wrapper h1,.editor-styles-wrapper h2,.editor-styles-wrapper h3{font-family:var(--mincho)}

/* columns-based procedure pattern */
.art--wp .wp-block-columns.proc{display:grid;grid-template-columns:1fr 1fr}
.art--wp .wp-block-columns.proc .wp-block-image{margin:0}
@media (max-width:860px){.art--wp .wp-block-columns.proc{grid-template-columns:1fr}.art--wp .wp-block-columns.proc>.wp-block-column:last-child{order:-1}}

/* 章見出しの補足（費用ページ一式パターン） */
.art--wp .h2sub{margin:-18px 0 24px;font-size:14px!important;line-height:1.7!important;color:var(--txt-2)!important}

/* 同じ章のページ一覧（旧メニューの代わり） */
.snav{margin-top:clamp(48px,5vw,72px);padding:clamp(20px,2.4vw,28px);background:var(--sky-bg,#F4F8FC);border-top:2px solid var(--gold,#C2A266)}
.snav__t{font-family:var(--mincho);font-size:1.15rem!important;font-weight:600;color:var(--head,var(--ink));margin-bottom:.6em}
.snav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;padding:0;list-style:none}
.snav li{border-bottom:1px solid var(--line-2)}
.snav li::before{display:none!important}
.snav a{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 0;font-size:calc(var(--fs) - .5px);color:var(--txt)}
.snav a::before{content:"›";color:var(--gold-t,var(--jade));font-weight:700}
.snav a:hover{color:var(--jade)}
.snav a[aria-current]{font-weight:700;color:var(--head,var(--ink))}
.snav a[aria-current]::after{content:"このページ";margin-left:auto;font-size:12px;font-weight:700;color:#7A5C25;background:#F0E4C8;padding:1px 8px;border-radius:3px}
@media (max-width:640px){.snav ul{grid-template-columns:1fr}}

/* ---------- 1.4.2 表をスマホで読みやすく ---------- */
/* 4列以上の表は、スマホでは横にスクロール（文字が1文字ずつ縦に並ぶのを防ぐ） */
@media (max-width:640px){
  .art--wp .wp-block-table{-webkit-overflow-scrolling:touch}
  .art--wp .wp-block-table table:has(tr > :nth-child(4)){min-width:620px}
  .art--wp .wp-block-table th,.art--wp .wp-block-table td{padding:10px 10px;font-size:14.5px}
  .art--wp .wp-block-table:has(tr > :nth-child(4))::before{content:"← 表は横にスクロールできます →";display:block;font-size:12.5px;color:var(--txt-2);margin-bottom:6px}
}
/* 料金表（3列：項目／当院／他院） */
.art--wp .fee3 table{table-layout:fixed}
.art--wp .fee3 thead th:first-child{width:46%}
.art--wp .fee3 tbody th{font-weight:700;color:var(--ink);text-align:left}
.art--wp .fee3 tbody th small{display:block;font-weight:400;font-size:13px;color:var(--txt-2);margin-top:2px}
.art--wp .fee3 td{text-align:right;font-weight:700;color:var(--head,var(--ink));white-space:nowrap}
.art--wp .fee3 td small{display:block;font-weight:400;font-size:12.5px;color:var(--txt-2)}
.art--wp .fee3 thead th:not(:first-child){text-align:right}
.art--wp .fee3 .grp th{background:var(--sky-bg,#F4F8FC);color:var(--head,var(--ink));border-top:2px solid var(--gold,#C2A266);padding-top:12px;padding-bottom:12px}
.art--wp .fee3 .grp th small{display:inline;margin-left:.6em}
@media (max-width:640px){
  .art--wp .fee3 thead th{font-size:12.5px;line-height:1.5}
  .art--wp .fee3 thead th:first-child{width:auto}
  .art--wp .fee3 thead th:not(:first-child){width:6.4em}
  .art--wp .fee3 th,.art--wp .fee3 td{padding:10px 8px;font-size:14px}
  .art--wp .fee3 td{padding:10px 6px 10px 2px;font-size:13.5px}
  .art--wp .fee3 .grp th small{display:block;margin:2px 0 0}
}

/* ---------- 1.4.3 地図（アクセス） ---------- */
.art--wp .gmap{margin:clamp(24px,3vw,36px) 0}
.art--wp .gmap__frame{position:relative;aspect-ratio:4/3;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--sky-bg,#F4F8FC)}
.art--wp .gmap__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.art--wp .gmap figcaption{margin-top:10px;font-size:15px;line-height:1.8;color:var(--txt)}
.art--wp .gmap figcaption a{display:inline-flex;align-items:center;min-height:44px;color:var(--jade);border-bottom:1px solid currentColor;margin-left:.4em}
@media (min-width:861px){.art--wp .gmap__frame{aspect-ratio:16/10}}
@media (max-width:560px){.art--wp .gmap figcaption a{display:flex;margin-left:0}}
