/* VK Blocks リストマーク（FA5 名）→ FA6 フォント */
ul.is-style-vk-check-mark li::before,
ol.is-style-vk-check-mark li::before,
ul:not(.wp-block-social-links).is-style-vk-check-mark li::before,
ol.is-style-vk-check-mark li::before {
  font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free' !important;
  font-weight: 900;
}

/* 日本語組版（変な途中改行を抑え、長い URL だけ折り返す） */
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: clip;
}

html[lang='ja'],
html[lang='ja'] body {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
}

html[lang='ja'] :where(p, li, dd, dt, figcaption, .wp-block-heading, h1, h2, h3, h4, h5, h6) {
  text-wrap: pretty;
}

html[lang='ja'] :where(.entry-body, .site-body-inner) :where(p, li, td, th, dd, dt, blockquote, .wp-block-heading, h1, h2, h3, h4, h5, h6) {
  word-break: normal;
  overflow-wrap: anywhere;
}

html[lang='ja'] a[href^='http'],
html[lang='ja'] a[href^='tel:'],
html[lang='ja'] .wp-block-table {
  overflow-wrap: anywhere;
  word-break: break-all;
}

/* 固定ヘッダー下でもアンカーが見える */
.entry-body [id],
.site-body-inner [id] {
  scroll-margin-top: 7rem;
}

/* 本文・トップ共通 */
.entry-body,
.site-body-inner,
.home .entry-body,
.home .site-body-inner {
  font-size: 1rem;
  line-height: 1.85;
}

.entry-body img:not(.wp-block-cover__image-background),
.site-body-inner img:not(.wp-block-cover__image-background),
.home .site-body-inner img:not(.wp-block-cover__image-background) {
  max-width: 100% !important;
  height: auto !important;
}

.entry-body .wp-block-image img,
.site-body-inner .wp-block-image img {
  width: auto;
}

.entry-body table,
.site-body-inner table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.entry-body .wp-block-table table,
.site-body-inner .wp-block-table table {
  display: table;
  min-width: min(100%, 20rem);
}

.entry-body .wp-block-columns,
.site-body-inner .wp-block-columns,
.home .wp-block-columns {
  gap: 1.25rem;
}

/* Snow Monkey Box（覚えておいてほしいこと 等）— ブロック CSS が shell に無い場合のフォールバック */
.entry-body .smb-box,
.site-body-inner .smb-box {
  --_padding1: 1.25rem;
  --_padding-1: 1rem;
  --_padding2: 1.75rem;
  --_global--border-radius: 4px;
  --_lighter-color-gray: #e0e0e0;
  --smb-box--background-color: transparent;
  --smb-box--background-image: initial;
  --smb-box--background-opacity: 1;
  --smb-box--border-color: var(--_lighter-color-gray);
  --smb-box--border-style: solid;
  --smb-box--border-width: 0;
  --smb-box--border-radius: var(--_global--border-radius);
  --smb-box--box-shadow: initial;
  --smb-box--color: inherit;
  --smb-box--padding: var(--_padding1);
  border-radius: var(--smb-box--border-radius);
  border-width: 0;
  box-shadow: var(--smb-box--box-shadow);
  color: var(--smb-box--color);
  overflow: visible;
  padding: var(--smb-box--padding);
  position: relative;
}

.entry-body .smb-box__background,
.site-body-inner .smb-box__background {
  background-color: var(--smb-box--background-color);
  background-image: var(--smb-box--background-image);
  border: var(--smb-box--border-width) var(--smb-box--border-style) var(--smb-box--border-color);
  border-radius: var(--smb-box--border-radius);
  bottom: 0;
  display: block;
  left: 0;
  opacity: var(--smb-box--background-opacity);
  position: absolute;
  right: 0;
  top: 0;
}

.entry-body .smb-box__body,
.site-body-inner .smb-box__body {
  position: relative;
}

/* Snow Monkey Items（c-row グリッド）— blocks.css / fallback が shell に無い場合 */
.entry-body .c-row,
.site-body-inner .c-row,
.home .site-body-inner .c-row {
  --_gap: 0;
  --_item-width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: calc(var(--_gap) * -1);
  margin-left: calc(var(--_gap) * 0.5 * -1);
  margin-right: calc(var(--_gap) * 0.5 * -1);
}

.entry-body .c-row > .c-row__col,
.site-body-inner .c-row > .c-row__col,
.home .site-body-inner .c-row > .c-row__col {
  margin-bottom: var(--_gap);
  padding-left: calc(var(--_gap) * 0.5);
  padding-right: calc(var(--_gap) * 0.5);
}

.entry-body .c-row__col,
.site-body-inner .c-row__col,
.home .site-body-inner .c-row__col {
  flex: 0 0 var(--_item-width);
  max-width: var(--_item-width);
  box-sizing: border-box;
}

.entry-body .c-row--margin,
.site-body-inner .c-row--margin,
.home .site-body-inner .c-row--margin {
  --_gap: 1rem;
}

.entry-body .c-row--center,
.site-body-inner .c-row--center,
.home .site-body-inner .c-row--center {
  justify-content: center;
}

.entry-body .c-row[data-columns='1'],
.site-body-inner .c-row[data-columns='1'],
.home .site-body-inner .c-row[data-columns='1'] {
  --_item-width: 100%;
}

.entry-body .c-row[data-columns='2'],
.site-body-inner .c-row[data-columns='2'],
.home .site-body-inner .c-row[data-columns='2'] {
  --_item-width: 50%;
}

.entry-body .c-row[data-columns='3'],
.site-body-inner .c-row[data-columns='3'],
.home .site-body-inner .c-row[data-columns='3'] {
  --_item-width: 33.3333333333%;
}

.entry-body .c-row[data-columns='4'],
.site-body-inner .c-row[data-columns='4'],
.home .site-body-inner .c-row[data-columns='4'] {
  --_item-width: 25%;
}

.entry-body .c-row[data-columns='5'],
.site-body-inner .c-row[data-columns='5'],
.home .site-body-inner .c-row[data-columns='5'] {
  --_item-width: 20%;
}

.entry-body .c-row[data-columns='6'],
.site-body-inner .c-row[data-columns='6'],
.home .site-body-inner .c-row[data-columns='6'] {
  --_item-width: 16.6666666667%;
}

@media (min-width: 640px) {
  .entry-body .c-row[data-md-columns='1'],
  .site-body-inner .c-row[data-md-columns='1'],
  .home .site-body-inner .c-row[data-md-columns='1'] {
    --_item-width: 100%;
  }

  .entry-body .c-row[data-md-columns='2'],
  .site-body-inner .c-row[data-md-columns='2'],
  .home .site-body-inner .c-row[data-md-columns='2'] {
    --_item-width: 50%;
  }

  .entry-body .c-row[data-md-columns='3'],
  .site-body-inner .c-row[data-md-columns='3'],
  .home .site-body-inner .c-row[data-md-columns='3'] {
    --_item-width: 33.3333333333%;
  }

  .entry-body .c-row[data-md-columns='4'],
  .site-body-inner .c-row[data-md-columns='4'],
  .home .site-body-inner .c-row[data-md-columns='4'] {
    --_item-width: 25%;
  }

  .entry-body .c-row[data-md-columns='5'],
  .site-body-inner .c-row[data-md-columns='5'],
  .home .site-body-inner .c-row[data-md-columns='5'] {
    --_item-width: 20%;
  }

  .entry-body .c-row[data-md-columns='6'],
  .site-body-inner .c-row[data-md-columns='6'],
  .home .site-body-inner .c-row[data-md-columns='6'] {
    --_item-width: 16.6666666667%;
  }
}

@media (min-width: 1024px) {
  .entry-body .c-row[data-lg-columns='1'],
  .site-body-inner .c-row[data-lg-columns='1'],
  .home .site-body-inner .c-row[data-lg-columns='1'] {
    --_item-width: 100%;
  }

  .entry-body .c-row[data-lg-columns='2'],
  .site-body-inner .c-row[data-lg-columns='2'],
  .home .site-body-inner .c-row[data-lg-columns='2'] {
    --_item-width: 50%;
  }

  .entry-body .c-row[data-lg-columns='3'],
  .site-body-inner .c-row[data-lg-columns='3'],
  .home .site-body-inner .c-row[data-lg-columns='3'] {
    --_item-width: 33.3333333333%;
  }

  .entry-body .c-row[data-lg-columns='4'],
  .site-body-inner .c-row[data-lg-columns='4'],
  .home .site-body-inner .c-row[data-lg-columns='4'] {
    --_item-width: 25%;
  }

  .entry-body .c-row[data-lg-columns='5'],
  .site-body-inner .c-row[data-lg-columns='5'],
  .home .site-body-inner .c-row[data-lg-columns='5'] {
    --_item-width: 20%;
  }

  .entry-body .c-row[data-lg-columns='6'],
  .site-body-inner .c-row[data-lg-columns='6'],
  .home .site-body-inner .c-row[data-lg-columns='6'] {
    --_item-width: 16.6666666667%;
  }
}

/* トップ: About us（石背景 cover + 特徴5項目）— 本番どおり中央配置 */
.entry-body .wp-block-cover.alignfull.is-light:has(.smb-items.is-style-default),
.site-body-inner .wp-block-cover.alignfull.is-light:has(.smb-items.is-style-default) {
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  display: flex;
  isolation: isolate;
  margin-bottom: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  min-height: 210px;
  overflow: hidden;
  padding: 1.25rem 0.75rem 2rem !important;
  position: relative;
  width: 100vw;
  background-image: none !important;
}

.entry-body .wp-block-cover:has(.smb-items.is-style-default) .wp-block-cover__image-background,
.site-body-inner .wp-block-cover:has(.smb-items.is-style-default) .wp-block-cover__image-background {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: 46% 93% !important;
  z-index: 0;
}

.entry-body .wp-block-cover:has(.smb-items.is-style-default) .wp-block-cover__background,
.site-body-inner .wp-block-cover:has(.smb-items.is-style-default) .wp-block-cover__background {
  z-index: 1;
}

.entry-body .wp-block-cover:has(.smb-items.is-style-default) .wp-block-cover__inner-container,
.site-body-inner .wp-block-cover:has(.smb-items.is-style-default) .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.home .entry-body .wp-block-cover:has(.wp-image-58) .wp-block-group.alignwide {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: min(100%, 1140px);
}

.home .entry-body .wp-block-cover:has(.wp-image-58) p.Aboutus,
.home .entry-body .wp-block-cover:has(.wp-image-58) h2.has-text-align-center {
  text-align: center !important;
  width: 100%;
}

/* About us 見出しブロック全体をカバー内で中央に（alignwide が左に寄るのを防ぐ） */
.home .entry-body .wp-block-cover:has(p.Aboutus) .wp-block-cover__inner-container,
.home .entry-body .wp-block-cover:has(.wp-image-58) .wp-block-cover__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.home .entry-body .wp-block-cover:has(p.Aboutus) .wp-block-group.alignwide,
.home .entry-body .wp-block-cover:has(.wp-image-58) .wp-block-group.alignwide {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  max-width: min(100%, 1140px);
  text-align: center;
}

.home .entry-body .wp-block-cover:has(p.Aboutus) .wp-block-group.alignwide > .wp-block-group__inner-container,
.home .entry-body .wp-block-cover:has(.wp-image-58) .wp-block-group.alignwide > .wp-block-group__inner-container {
  width: 100%;
  text-align: center;
}

.home .entry-body .wp-block-cover:has(p.Aboutus) p.Aboutus,
.home .entry-body .wp-block-cover:has(p.Aboutus) h2.wp-block-heading,
.home .entry-body .wp-block-cover:has(.wp-image-58) p.Aboutus,
.home .entry-body .wp-block-cover:has(.wp-image-58) h2.wp-block-heading {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.home .entry-body .wp-block-cover:has(p.Aboutus) .wp-block-buttons,
.home .entry-body .wp-block-cover:has(.wp-image-58) .wp-block-buttons {
  justify-content: center;
  width: 100%;
}

/* alignfull（検査紹介・フッター）— 本番と同じ画面幅いっぱい */
.site-body-container.container,
.site-body .main-section,
.site-body .entry-body {
  overflow: visible;
}

.site-footer {
  overflow: visible;
  background-color: #fff !important;
}

.site-footer .container.site-footer-content {
  overflow: visible;
  background-color: #fff !important;
}

.site-footer .wp-block-cover.alignfull {
  background-color: #fff !important;
  box-sizing: border-box;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  overflow: hidden;
  width: 100vw;
}

.site-body-bottom {
  background-color: transparent;
  padding: 1.25rem 0 0.5rem;
}

.site-body-bottom .wp-block-search__inside-wrapper {
  max-width: min(100%, 1140px);
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border: 1px solid #949494;
}

.site-body-bottom .wp-block-search__input {
  background-color: #fff;
}

.site-body-bottom .wp-block-search__button {
  background-color: var(--wp--preset--color--vk-color-primary, #ffdb99) !important;
  border: 1px solid #000 !important;
  color: #000 !important;
}

/* VK Blocks スペーサー（margin 系クラス）のフォールバック */
.vk_block-margin-xs--margin-top {
  margin-top: 0.5rem;
}
.vk_block-margin-sm--margin-top {
  margin-top: 1rem;
}
.vk_block-margin-md--margin-top {
  margin-top: 2rem;
}
.vk_block-margin-lg--margin-top {
  margin-top: 4rem;
}
.vk_block-margin-xs--height {
  min-height: 0.5rem;
}

.entry-body .wp-block-cover:has(.smb-items.is-style-default) .wp-block-group.alignwide,
.site-body-inner .wp-block-cover:has(.smb-items.is-style-default) .wp-block-group.alignwide {
  max-width: min(100%, 1140px);
  margin-left: auto;
  margin-right: auto;
}

.entry-body .smb-items.is-style-default:has(.c-row[data-md-columns='3']),
.site-body-inner .smb-items.is-style-default:has(.c-row[data-md-columns='3']) {
  max-width: 54rem;
  margin-left: auto;
  margin-right: auto;
}

.entry-body .smb-items.is-style-default:has(.c-row[data-md-columns='3']) .c-row--margin,
.site-body-inner .smb-items.is-style-default:has(.c-row[data-md-columns='3']) .c-row--margin {
  --_gap: 0.65rem;
}

.entry-body .smb-items.is-style-default .vk_button,
.site-body-inner .smb-items.is-style-default .vk_button {
  margin: 0;
}

.entry-body .smb-items.is-style-default .vk_button .vk_button_link.btn,
.site-body-inner .smb-items.is-style-default .vk_button .vk_button_link.btn {
  background-color: #fff !important;
  border: none !important;
  border-radius: 2px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  color: #212529 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.45;
  min-height: 2.85rem;
  overflow: hidden;
  padding: 0.7em 0.85em;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.entry-body .smb-items.is-style-default .vk_button .vk_button_link_caption,
.site-body-inner .smb-items.is-style-default .vk_button .vk_button_link_caption {
  line-height: inherit;
  width: 100%;
}

.entry-body .smb-items.is-style-default .vk_button.is-style-shine .btn.has-background::before,
.site-body-inner .smb-items.is-style-default .vk_button.is-style-shine .btn.has-background::before {
  animation: tokunaga-vk-btn-shine 3s ease-in-out infinite;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 100%);
  content: '';
  height: 100%;
  left: -40%;
  position: absolute;
  top: 0;
  transform: skewX(-25deg);
  width: 50%;
}

@keyframes tokunaga-vk-btn-shine {
  0% {
    left: -40%;
  }
  20% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}

.entry-body .smb-items.is-style-default .vk_button .vk_button_link.btn:hover,
.site-body-inner .smb-items.is-style-default .vk_button .vk_button_link.btn:hover {
  color: #212529 !important;
  opacity: 0.92;
}

@media (min-width: 1024px) {
  .entry-body .smb-items.is-style-default:has(.c-row[data-lg-columns='3']) .c-row__col,
  .site-body-inner .smb-items.is-style-default:has(.c-row[data-lg-columns='3']) .c-row__col {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

/* 検査紹介 3 列グリッド：最終行が 2 個のとき中央寄せ（本番） */
@media (min-width: 640px) {
  .entry-body .smb-items.is-style-default .c-row[data-md-columns='3'] > .c-row__col:nth-child(7):nth-last-child(2),
  .site-body-inner .smb-items.is-style-default .c-row[data-md-columns='3'] > .c-row__col:nth-child(7):nth-last-child(2) {
    margin-left: calc(16.6666667% + 0.325rem);
  }
}

/* wp:buttons の layout（右寄せ等）— コメントからクラス復元後も flex を保証 */
.entry-body .wp-block-buttons.is-layout-flex,
.site-body-inner .wp-block-buttons.is-layout-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

/* VK 投稿リスト（media）— lazyload なしでもアイキャッチを背景で表示 */
.vk_posts .vk_post_imgOuter.media-img:not(.lazyload) {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 10rem;
}

.vk_posts .vk_post_imgOuter.media-img[style*='background-image'] .vk_post_imgOuter_img,
.vk_posts .vk_post_imgOuter.media-img[data-back] .vk_post_imgOuter_img {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* トップ: 最新ブログ（wp-block-latest-posts）サムネ */
.home .wp-block-latest-posts__featured-image {
  overflow: hidden;
}

.home .wp-block-latest-posts__featured-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}

/* 検索結果: Lightning は img を画面外に置き背景表示するため、背景＋フォールバック表示 */
.search.search-results .vk_posts .vk_post_imgOuter.media-img[style*='background-image'] {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.search.search-results .vk_posts .vk_post_imgOuter .vk_post_imgOuter_img {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* Snow Monkey / Otter スクロールアニメ（shell で JS 未読込時も画像を表示） */
.entry-body .wp-block-image.animated,
.site-body-inner .wp-block-image.animated,
.entry-body figure.animated,
.site-body-inner figure.animated {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* wp:buttons の layout クラス欠落時（justifyContent をコメントのみで持つエクスポート） */
.entry-body .wp-block-cover .wp-block-buttons,
.site-body-inner .wp-block-cover .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5em;
  width: 100%;
}

.entry-body .vk-cols--reverse .wp-block-buttons,
.site-body-inner .vk-cols--reverse .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5em;
  width: 100%;
}

.entry-body .wp-block-buttons .wp-block-button__link,
.site-body-inner .wp-block-buttons .wp-block-button__link {
  width: auto;
  max-width: 100%;
}

/* PC: ハンバーガー非表示・ホバーメニュー */
@media (min-width: 992px) {
  body:not(.device-mobile) .vk-mobile-nav-menu-btn,
  body:not(.device-mobile) .vk-mobile-nav {
    display: none !important;
  }
  body:not(.device-mobile) #global-nav .global-nav-list > li:hover > .sub-menu {
    opacity: 1;
    max-height: 80vh;
    overflow-y: auto;
    visibility: visible;
  }
}

/* モバイル: 余白・文字サイズ・カラム */
@media (max-width: 991.98px) {
  body.device-mobile .site-body-container.container,
  body.device-mobile .site-header-container.container,
  body.device-mobile .site-footer .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.device-mobile #site-header .site-header-logo img {
    max-width: min(100%, 280px);
    height: auto;
  }

  body.device-mobile #global-nav.global-nav {
    display: none;
  }

  body.device-mobile .entry.entry-full {
    padding-left: 0;
    padding-right: 0;
  }

  body.device-mobile .entry-title {
    font-size: clamp(1.25rem, 5.5vw, 1.65rem);
    line-height: 1.45;
    margin-bottom: 1rem;
    padding-left: 0.15rem;
    padding-right: 0.15rem;
  }

  body.device-mobile .entry-body,
  body.device-mobile .site-body-inner,
  body.device-mobile .home .site-body-inner {
    font-size: clamp(0.9375rem, 3.8vw, 1.0625rem);
    line-height: 1.9;
    padding-left: 0.1rem;
    padding-right: 0.1rem;
  }

  body.device-mobile .entry-body .wp-block-heading,
  body.device-mobile .site-body-inner .wp-block-heading,
  body.device-mobile .entry-body h2,
  body.device-mobile .entry-body h3 {
    font-size: clamp(1.125rem, 4.8vw, 1.5rem) !important;
    line-height: 1.5;
    margin-top: 1.75rem;
    margin-bottom: 0.85rem;
  }

  body.device-mobile .entry-body h4,
  body.device-mobile .entry-body h5 {
    font-size: clamp(1rem, 4.2vw, 1.2rem) !important;
    line-height: 1.5;
  }

  body.device-mobile .wp-block-columns {
    flex-direction: column !important;
  }

  body.device-mobile .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.device-mobile .wp-block-column[style*='flex-basis'] {
    flex-basis: 100% !important;
  }

  body.device-mobile .wp-block-buttons {
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
  }

  body.device-mobile .wp-block-button__link {
    padding: 0.75rem 1rem;
    font-size: 1rem;
    text-align: center;
  }

  body.device-mobile .entry-body ul,
  body.device-mobile .entry-body ol,
  body.device-mobile .site-body-inner ul,
  body.device-mobile .site-body-inner ol {
    padding-left: 1.35rem;
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }

  body.device-mobile .entry-body li,
  body.device-mobile .site-body-inner li {
    margin-bottom: 0.45rem;
  }

  body.device-mobile .vk_spacer,
  body.device-mobile .vk_block-margin-md--margin-top,
  body.device-mobile .vk_block-margin-lg--margin-top {
    --vk-margin-size: 1rem;
  }

  body.device-mobile .fixed-bottom-menu,
  body.device-mobile #fixed-bottom-menu {
    font-size: 0.8125rem;
  }

  body.device-mobile .page-header-title {
    font-size: clamp(1.2rem, 5vw, 1.5rem);
    padding: 1.25rem 0.5rem;
  }
}

/* 狭い画面でも device-pc が残った場合のフォールバック（JS 前） */
/* ブログ投稿・一覧：本番 Lightning と同じ 2 カラム（本文左・サイドバー右） */
@media (min-width: 992px) {
  .site-body-container .main-section--col--two {
    width: var(--vk-width-col-2-main, 66.6%);
    float: left;
    box-sizing: border-box;
  }

  .site-body-container .sub-section--col--two {
    width: var(--vk-width-col-2-sub, 27%);
    float: right;
    box-sizing: border-box;
  }
}

/* サイドバー：月別アーカイブの区切り線 */
.sub-section .widget_archive .localNavi li {
  border-bottom: 1px solid var(--vk-color-border-hr, rgba(0, 0, 0, 0.07));
}

.sub-section .widget_archive .localNavi li a {
  display: block;
  padding: 0.45em 0;
}

/* 前後記事ナビ（card-intext）— 背景サムネ */
.vk_posts.next-prev {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
  clear: both;
}

.vk_posts.next-prev .vk_post.card-intext {
  flex: 1 1 calc(50% - 0.5rem);
  min-width: min(100%, 16rem);
  margin: 0;
}

.vk_posts.next-prev .vk_post_imgOuter {
  background-size: cover;
  background-position: center;
  min-height: 10rem;
  position: relative;
}

.vk_posts.next-prev .vk_post_imgOuter_img {
  opacity: 0;
  width: 100%;
  height: auto;
}

.vk_posts.next-prev .card-img-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  padding: 0.5rem;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45), transparent 55%);
}

.vk_posts.next-prev .vk_post_imgOuter_singleTermLabel {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
}

@media (max-width: 991.98px) {
  .site-body-container .main-section--col--two,
  .site-body-container .sub-section--col--two {
    width: 100%;
    float: none;
  }

  .site-body-container.container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .wp-block-columns {
    flex-wrap: wrap !important;
  }

  .wp-block-columns > .wp-block-column {
    flex-grow: 1;
    min-width: min(100%, 18rem);
  }

  #global-nav.global-nav {
    display: none;
  }

  .vk-mobile-nav-menu-btn {
    display: block;
  }
}

/* トップ（WpMirrorLayout）: wp-custom-css と同じ PC/SP 出し分け（cover の display:flex より優先） */
@media screen and (min-width: 769px) {
  .home .pc,
  .pc {
    display: block !important;
  }

  .home .mb,
  .mb {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .home .pc,
  .pc {
    display: none !important;
  }

  .home .mb,
  .mb {
    display: block !important;
  }
}

/* トップ: クイックリンク（smb-items）— 小アイコンは 30px 指定を維持 */
.home .entry-body .smb-items--fill .wp-block-image img[style*='width:30px'] {
  width: 30px !important;
  max-width: 30px !important;
  height: auto !important;
}

/* トップ: ヒーロー直下の検索フォーム（PC） */
.home .entry-body form.wp-block-search.pc {
  max-width: min(100%, 1140px);
  margin-left: auto;
  margin-right: auto;
}

/* トップ: alignfull cover（特徴・石背景など）— 中央カラムからはみ出さない */
.home .entry-body > .wp-block-cover.alignfull:not(.pc):not(.mb),
.home .entry-body .wp-block-cover.alignfull:not(.pc):not(.mb) {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}

/* トップ: About us 石背景カバー */
.home .entry-body .wp-block-cover:has(.wp-image-58) {
  min-height: 22rem;
}

.home .entry-body .wp-block-cover:has(.wp-image-58) .wp-block-cover__image-background {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

/* トップ: 「とくなが クリニック の特徴」5項目 — 本番どおり中央寄せ */
.home .entry-body .wp-block-cover:has(p.Aboutus) .smb-items.is-style-default .c-row.c-row--center {
  justify-content: center;
}

@media (min-width: 640px) {
  .home .entry-body .wp-block-cover:has(p.Aboutus) .smb-items .c-row[data-md-columns='5'] {
    --_item-width: 20%;
    justify-content: center;
  }
}

@media (min-width: 992px) {
  .home .entry-body .wp-block-cover:has(p.Aboutus) .smb-items .c-row[data-lg-columns='5'] {
    --_item-width: 20%;
    flex-wrap: nowrap;
    justify-content: center;
  }

  .home .entry-body .wp-block-cover:has(p.Aboutus) .smb-items .c-row[data-lg-columns='5'] > .c-row__col {
    flex: 0 0 calc(20% - 0.65rem);
    max-width: calc(20% - 0.65rem);
  }
}

.home .entry-body .wp-block-cover:has(p.Aboutus) .c-row__col .wp-block-group.is-vertical {
  align-items: center;
  width: 100%;
}

/* トップ: 「地域のかかりつけ医として」パララックス背景 */
.home .entry-body .wp-block-cover.has-parallax.wp-duotone-unset-3 {
  min-height: 12rem;
  position: relative;
}

.home .entry-body .wp-block-cover.has-parallax.wp-duotone-unset-3 .wp-block-cover__image-background.wp-image-99 {
  background-image: url('/_wp/wp-content/uploads/2022/08/24294789_m.jpg') !important;
  background-size: cover !important;
  background-position: 50% 50% !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  max-width: none !important;
}

.home .entry-body .wp-block-cover.has-parallax.wp-duotone-unset-3 > .wp-block-cover__background.has-background-dim {
  opacity: 0.35;
}

/* フッター背景 — クリーム色は使わず白（WP global-styles の custom-3 より後勝ち） */
.site-footer .wp-block-cover__background,
.site-footer .has-vk-color-custom-3-background-color.wp-block-cover__background,
.site-footer .wp-block-cover__background.has-vk-color-custom-3-background-color,
.site-footer .wp-block-cover__background.has-background-dim,
.site-footer .wp-block-cover__background.has-background-dim-0 {
  background-color: transparent !important;
  background: none !important;
  display: none !important;
  opacity: 0 !important;
}

.site-footer .wp-block-cover__inner-container {
  background-color: #fff !important;
}

.site-footer-copyright {
  background-color: #fff !important;
  color: #333;
}

.site-footer-copyright p {
  color: #333;
}

.site-footer-copyright p:nth-child(2) {
  display: none;
}

.site-footer .wp-block-table td,
.site-footer .wp-block-table th {
  border-color: #e5e5e5;
}

/* フッター問い合わせボタン（本番: #ffdb99 塗り + 黒枠） */
.site-footer .wp-block-button.is-style-outline .wp-block-button__link,
.site-footer .wp-block-button.is-style-outline--7 .wp-block-button__link,
.site-footer .wp-block-button.is-style-outline--8 .wp-block-button__link,
.site-footer .wp-block-button.is-style-outline--9 .wp-block-button__link {
  background-color: var(--wp--preset--color--vk-color-primary, #ffdb99) !important;
  border: 1px solid #000 !important;
  border-radius: 5px !important;
  color: #280400 !important;
}

.site-footer .wp-block-buttons.is-content-justification-center {
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (min-width: 992px) {
  .site-footer .wp-block-columns.are-vertically-aligned-top > .wp-block-column {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
}
