@charset "utf-8";
/*
Theme Name: REHUB child
Theme URI:https://tcd-theme.com/tcd099
Description:WordPressテーマ「REHUB」の子テーマ
Template:rehub_tcd099
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/*
  ここから下にCSSを追記してください。
*/

/* スマホの時だけ固定レイアウトを解除する */
@media screen and (max-width: 767px) {
    .wp-block-table .has-fixed-layout {
        table-layout: auto !important;
    }
}

/* === ROGAN PORTAL UI IMPROVEMENTS v1 / 2026-08-24 START === */

/* Keyboard users must be able to see where focus is. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #075f9b !important;
  outline-offset: 3px !important;
}

/* The custom mobile navigation replaces the parent theme's off-screen drawer. */
#js-drawer {
  display: none !important;
}

/* The original 550px/viewport-height hero crops text embedded in its images. */
.home #js-header-post-slider-wrapper,
.home #js-header-post-slider,
.home .p-header-post-slider__item {
  height: clamp(230px, 18vw, 300px) !important;
}

.home .p-header-post-slider__item-content {
  padding: 20px 22px !important;
}

.home .p-header-post-slider__item-title {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* Comparison archive: keep the title panel below the image. */
.post-type-archive-comparison .p-archive--post-item {
  height: auto !important;
}

.post-type-archive-comparison .p-archive--post-item__link {
  display: block;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(13, 42, 67, 0.08);
}

.post-type-archive-comparison .p-archive--post-item__image-bg {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 77 / 49;
  background-size: cover !important;
}

.post-type-archive-comparison .p-archive--post-item__content {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 132px;
  padding: 22px 24px 20px !important;
  transform: none !important;
  border-top: 1px solid #edf1f5;
}

.post-type-archive-comparison .p-archive--post-item__title {
  font-size: 17px;
  line-height: 1.65;
}

/* Comparison articles: tighten long-form rhythm and strengthen hierarchy. */
.single-comparison .p-single--post .post_content {
  --tcdce-h2-margin-top-pc: 72px;
  --tcdce-h2-margin-top-sp: 40px;
  --tcdce-h3-margin-top-pc: 52px;
  --tcdce-h3-margin-top-sp: 36px;
  line-height: 2.05;
}

.single-comparison .p-single--post .post_content h2.wp-block-heading {
  padding: 18px 20px;
  color: #132f45;
  background: #f2f7fb;
  border-left: 5px solid #1000a8;
  border-bottom: 1px solid #d6e3ed;
  border-radius: 0 5px 5px 0;
}

.single-comparison .p-single--post .post_content h3.wp-block-heading {
  padding: 0 0 10px 15px;
  color: #17374e;
  border-left: 3px solid #5d9fc2;
  border-bottom: 1px solid #d6e3ed;
}

/* Keep the first column visible while wide comparison tables scroll. */
.single-comparison .post_content .comparison-table .sticky-col {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 112px;
  background: #f5f8fb;
  box-shadow: 1px 0 0 #d6e0e8, 10px 0 14px -14px rgba(13, 42, 67, 0.75);
}

.single-comparison .post_content .comparison-table thead .sticky-col {
  z-index: 3;
}

/* Improve contrast without removing the map's regional colour coding. */
.p-jmap-sp__region-label,
.p-jmap-b-list__region {
  color: #fff !important;
  font-weight: 700;
  box-shadow: inset 0 0 0 999px rgba(0, 28, 56, 0.24);
}

.p-jmap-b-list__terms-link {
  min-height: 24px;
  line-height: 1.5;
}

/* Replace the harsh generic NO IMAGE graphic with a neutral site placeholder. */
.p-archive--review-item__image-bg[style*="no_image1.gif"] {
  position: relative;
  background:
    radial-gradient(circle at 24% 18%, rgba(255, 255, 255, 0.75), transparent 28%),
    linear-gradient(135deg, #edf6fa 0%, #c9e3ee 100%) !important;
}

.p-archive--review-item__image-bg[style*="no_image1.gif"]::after {
  position: absolute;
  inset: 50% auto auto 50%;
  padding: 8px 12px;
  color: #155675;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  white-space: nowrap;
  content: "医院情報";
  border: 1px solid rgba(21, 86, 117, 0.32);
  border-radius: 999px;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .home #js-header-post-slider-wrapper,
  .home #js-header-post-slider,
  .home .p-header-post-slider__item {
    height: clamp(280px, 78vw, 340px) !important;
  }

  .home .p-header-post-slider__item-content {
    padding: 20px !important;
  }

  .home .p-header-post-slider__item-title {
    font-size: 16px !important;
  }

  #mn-custom-menu-btn {
    width: 44px !important;
    min-width: 44px;
    height: 44px !important;
    margin: -13px 0;
    padding: 10px !important;
  }

  .post-type-archive-comparison .p-archive--post-item__content {
    min-height: 0;
    padding: 18px 16px 17px !important;
  }

  .post-type-archive-comparison .p-archive--post-item__title {
    font-size: 16px;
    line-height: 1.6;
  }

  .single-comparison .p-single--post .post_content {
    line-height: 2;
  }

  .single-comparison .p-single--post .post_content h2.wp-block-heading {
    padding: 15px 14px;
    font-size: 21px;
    line-height: 1.55;
  }

  .single-comparison .p-single--post .post_content h3.wp-block-heading {
    padding: 0 0 9px 12px;
    font-size: 19px;
    line-height: 1.55;
  }

  .p-jmap-b-list__terms-link {
    min-height: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home #js-header-post-slider-wrapper *,
  .home #js-header-post-slider-wrapper *::before,
  .home #js-header-post-slider-wrapper *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* === ROGAN PORTAL UI IMPROVEMENTS v1 / 2026-08-24 END === */
