/* ==================================================================
   mrc-sitemap.css｜C-SITEMAP-PAGE-20261025（/sitemap/ だけで読み込む）
   TOP premium（Layer 15）と同じ意匠：深緑・金の細線・明朝の見出し・角を立てた白い面。
   selector は body.mrc-design-v1.mrc-page から始め、追加 CSS（C-19）の汎用下線（0,5,1）より強くする。
   ================================================================== */
body.mrc-design-v1.mrc-page .post_content .mrc-sm {
  --sm-ink: #1E3830; --sm-soft: #55625C; --sm-deep: #1F3A31; --sm-gold: #A8874F; --sm-gold-soft: #CDB88E;
  --sm-hair: #E4DDCF; --sm-ivory: #F7F4EE; --sm-sage: #F2F7F3; --sm-serif: var(--mrc-font-serif);
  color: var(--sm-ink); margin: 8px 0 0;
}
body.mrc-design-v1.mrc-page .post_content .mrc-sm [hidden] { display: none !important; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm ul { list-style: none; margin: 0; padding: 0; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm li { margin: 0; padding: 0; line-height: 1.6; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm li::before, body.mrc-design-v1.mrc-page .post_content .mrc-sm li::marker { content: none; display: none; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a { text-decoration: none; color: inherit; }
/* 追加 CSS（C-19）の汎用下線（.post_content a:not(…)×4＝0,5,1）を、class 付きの a（0,5,2 以上）で外す */
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link, body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile,
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-jump a.mrc-sm-chip, body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-more a.mrc-sm-morelink { text-decoration: none; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a:focus-visible { outline: 2px solid var(--sm-gold); outline-offset: 2px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-ico { width: 24px; height: 24px; flex: none; display: block; }

/* 幅：PC では本文欄（900px）より広く使う */
@media only screen and (min-width: 1100px) {
  body.mrc-design-v1.mrc-page .post_content .mrc-sm { width: min(1120px, calc(100vw - 64px)); margin-left: 50%; transform: translateX(-50%); }
}

/* 見出し（共通） */
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-eyebrow { margin: 0 0 6px; font-size: .78rem; letter-spacing: .24em; text-transform: uppercase; color: var(--sm-gold); line-height: 1.4; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm h2.mrc-sm-h2 { font-family: var(--sm-serif); font-size: clamp(1.45rem, 1.1rem + 1.2vw, 1.9rem); font-weight: 600; letter-spacing: .06em; color: var(--sm-ink); margin: 0 0 28px; padding: 0 0 16px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm h2.mrc-sm-h2::after { width: 40px; height: 1px; border-radius: 0; background: var(--sm-gold); }
body.mrc-design-v1.mrc-page .post_content .mrc-sm h2.mrc-sm-h2--small { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); margin: 0 0 14px; padding: 0; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm h2.mrc-sm-h2--small::after { content: none; }

/* 1｜目的から探す：大きなタイル（PC 4 列／スマホ 2 列） */
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-quick { margin: 0 0 48px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile {
  display: flex; flex-direction: column; align-items: flex-start; gap: 4px; height: 100%; box-sizing: border-box;
  padding: 22px 20px 20px; background: #fff; border: 1px solid var(--sm-hair); border-radius: 2px; position: relative;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile::after { content: ""; position: absolute; left: 20px; right: 20px; bottom: 0; height: 2px; background: var(--sm-gold); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tile__ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--sm-sage); color: var(--sm-deep); margin-bottom: 10px; transition: background .18s ease, color .18s ease; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tile__ico .mrc-sm-ico { width: 26px; height: 26px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tile__label { font-family: var(--sm-serif); font-size: 1.08rem; font-weight: 600; letter-spacing: .04em; line-height: 1.5; color: var(--sm-ink); }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tile__desc { font-size: .84rem; line-height: 1.6; color: var(--sm-soft); }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile:hover,
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile:focus-visible { border-color: var(--sm-gold-soft); box-shadow: 0 10px 28px rgba(31, 58, 49, .09); transform: translateY(-2px); }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile:hover::after,
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile:focus-visible::after { transform: scaleX(1); }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile:hover .mrc-sm-tile__ico,
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile:focus-visible .mrc-sm-tile__ico { background: var(--sm-deep); color: #fff; }

/* 2｜検索欄 */
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-search { background: var(--sm-ivory); border-top: 1px solid var(--sm-hair); border-bottom: 1px solid var(--sm-hair); padding: 28px 28px 18px; margin: 0 0 28px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-search__box { position: relative; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-search__box .mrc-sm-ico { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--sm-gold); pointer-events: none; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm input.mrc-sm-search__input {
  width: 100%; box-sizing: border-box; height: 56px; margin: 0; padding: 0 18px 0 50px; font: inherit; font-size: 1.05rem; color: var(--sm-ink);
  background: #fff; border: 1px solid var(--sm-gold-soft); border-radius: 2px; box-shadow: none; -webkit-appearance: none; appearance: none;
}
body.mrc-design-v1.mrc-page .post_content .mrc-sm input.mrc-sm-search__input::placeholder { color: #8C958F; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm input.mrc-sm-search__input:focus { outline: none; border-color: var(--sm-deep); box-shadow: 0 0 0 3px rgba(168, 135, 79, .25); }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-search__count { min-height: 1.6em; margin: 10px 2px 0; font-size: .9rem; line-height: 1.6; color: var(--sm-deep); }

/* 分野へ移動（チップ） */
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-jump { margin: 0 0 28px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-jump ul { display: flex; flex-wrap: wrap; gap: 8px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-jump a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--sm-hair); border-radius: 999px; background: #fff; font-size: .9rem; color: var(--sm-ink); transition: border-color .15s ease, background .15s ease, color .15s ease; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-jump a:hover,
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-jump a:focus-visible { background: var(--sm-deep); border-color: var(--sm-deep); color: #fff; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm.is-searching .mrc-sm-jump { display: none; }

/* 3｜分野別の一覧：PC 2 列（診療内容とその他は全幅） */
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec { background: #fff; border: 1px solid var(--sm-hair); border-top: 2px solid var(--sm-deep); border-radius: 2px; padding: 26px 26px 18px; scroll-margin-top: 120px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec--guide,
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec--medical,
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec--other { grid-column: 1 / -1; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm.is-searching .mrc-sm-sec { grid-column: auto; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec__head { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--sm-deep); color: #fff; flex: none; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec__titles { display: flex; flex-direction: column; min-width: 0; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--head { margin-left: auto; flex: none; min-height: 40px; gap: 4px; padding: 0 10px 0 16px; border: 1px solid var(--sm-gold-soft); border-radius: 999px; background: #fff; font-size: .86rem; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--head .mrc-sm-link__title { font-size: .86rem; font-weight: 600; color: var(--sm-deep); }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--head:hover,
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--head:focus-visible { background: var(--sm-deep); border-color: var(--sm-deep); padding-left: 16px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--head:hover .mrc-sm-link__title,
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--head:focus-visible .mrc-sm-link__title,
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--head:hover > .mrc-sm-ico { color: #fff; text-decoration: none; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec__en { font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--sm-gold); line-height: 1.4; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm h2.mrc-sm-sec__h { font-family: var(--sm-serif); font-size: 1.35rem; font-weight: 600; letter-spacing: .06em; line-height: 1.45; color: var(--sm-ink); margin: 2px 0 0; padding: 0; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm h2.mrc-sm-sec__h::after { content: none; }

/* 診療内容：小区分を PC 3 列 */
@media only screen and (min-width: 961px) {
  body.mrc-design-v1.mrc-page .post_content .mrc-sm:not(.is-searching) .mrc-sm-sec--medical { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec--medical > .mrc-sm-sec__head { grid-column: 1 / -1; }
  /* 2 列並びの一覧：最後の行の 2 つとも罫線を消す */
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec--guide .mrc-sm-list li:nth-last-child(2):nth-child(odd) a.mrc-sm-link,
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec--other .mrc-sm-list li:nth-last-child(2):nth-child(odd) a.mrc-sm-link { border-bottom: 0; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec--guide .mrc-sm-list,
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec--other .mrc-sm-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
}
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-group { margin: 0 0 8px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm h3.mrc-sm-group__h { font-family: var(--sm-serif); font-size: 1rem; font-weight: 600; letter-spacing: .06em; color: var(--sm-deep); margin: 18px 0 4px; padding: 0 0 0 14px; position: relative; line-height: 1.5; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm h3.mrc-sm-group__h::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 2px; background: var(--sm-gold); }

/* リンク行：題名＋副題、右に矢印。行の高さは 48px 以上（指で押しやすく） */
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; box-sizing: border-box;
  padding: 11px 8px 11px 4px; border-bottom: 1px solid var(--sm-hair); color: var(--sm-ink); transition: background .15s ease, padding .15s ease;
}
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-list li:last-child a.mrc-sm-link { border-bottom: 0; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-link__text { display: flex; flex-direction: column; min-width: 0; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-link__title { font-size: 1rem; font-weight: 600; line-height: 1.55; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-link__sub { font-size: .82rem; line-height: 1.55; color: var(--sm-soft); margin-top: 2px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-link__date { font-size: .76rem; letter-spacing: .06em; color: var(--sm-gold); margin-top: 3px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link > .mrc-sm-ico { width: 18px; height: 18px; color: var(--sm-gold); transition: transform .15s ease; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link:hover,
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link:focus-visible { background: var(--sm-ivory); padding-left: 10px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link:hover .mrc-sm-link__title,
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link:focus-visible .mrc-sm-link__title { text-decoration: underline; text-decoration-color: var(--sm-gold); text-underline-offset: .3em; text-decoration-thickness: 1px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link:hover > .mrc-sm-ico { transform: translateX(3px); }

/* まとめページ（区分の入口）：淡い面で区別 */
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--subhub { background: var(--sm-sage); border: 0; border-radius: 2px; padding-left: 14px; margin: 0 0 6px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--subhub:hover { background: #E6EFE8; padding-left: 16px; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-link__tag { display: inline-block; align-self: flex-start; font-size: .7rem; letter-spacing: .12em; line-height: 1.5; color: var(--sm-deep); border: 1px solid rgba(31, 58, 49, .35); border-radius: 2px; padding: 0 6px; margin-bottom: 4px; }

body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-more { margin: 6px 0 4px; font-size: .88rem; line-height: 1.6; text-align: right; }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-more a { color: var(--sm-deep); border-bottom: 1px solid var(--sm-gold-soft); }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-empty { margin: 8px 0 0; padding: 20px; background: var(--sm-ivory); text-align: center; color: var(--sm-soft); }
body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-admin { margin: 28px 0 0; padding: 14px 18px; background: #FFF8E8; border: 1px dashed #8A5A24; color: #5B3B16; font-size: .88rem; line-height: 1.7; }

/* タブレット・スマホ */
@media only screen and (max-width: 960px) {
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sections { grid-template-columns: 1fr; gap: 16px; }
}
@media only screen and (max-width: 600px) {
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-quick { margin-bottom: 36px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile { align-items: center; text-align: center; justify-content: center; padding: 14px 8px 12px; gap: 0; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tile__ico { width: 40px; height: 40px; margin-bottom: 8px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tile__ico .mrc-sm-ico { width: 22px; height: 22px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tile__label { font-size: .9rem; letter-spacing: .02em; line-height: 1.45; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-tile__desc { display: none; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--head { padding: 0 8px 0 12px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-link--head .mrc-sm-link__title { font-size: .8rem; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec__head { gap: 10px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec__ico { width: 40px; height: 40px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-search { padding: 22px 16px 12px; margin-left: -4px; margin-right: -4px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-sec { padding: 22px 16px 12px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-jump ul { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm .mrc-sm-jump a { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  body.mrc-design-v1.mrc-page .post_content .mrc-sm * { transition: none !important; }
  body.mrc-design-v1.mrc-page .post_content .mrc-sm a.mrc-sm-tile:hover { transform: none; }
}
