/*
Theme Name: Miraikea Child
Template: Miraikea
Version: 1.33.0
*/

/* ============================================================
   全ページ共通：白背景を強制（個別クリニック以外も含む）
============================================================ */
html,
body,
.container,
.l-main,
.p-content {
    background-color: #ffffff !important;
}

/* ============================================================
   ヘッダーナビ折り返し防止（最強版・body プレフィックスで specificity を確保）
============================================================ */
body .l-header__nav ul,
body .l-header__nav-list,
body .l-header__nav-list ul,
body header nav ul {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}

body .l-header__nav ul li,
body .l-header__nav-list li,
body .l-header__li,
body header nav ul li {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

body .l-header__a,
body .l-header__nav a,
body .l-header__nav-list a,
body header nav a {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    word-wrap: normal !important;
    line-break: strict !important;
}

/* NBSP対策：li 直下のテキストノードを font-size:0 で潰し、<a> だけ通常サイズで表示 */
body .l-header__li,
body .l-header__nav ul li,
body header nav ul li {
    font-size: 0 !important;
    line-height: 0 !important;
}
body .l-header__li > a,
body .l-header__nav ul li > a,
body header nav ul li > a {
    font-size: 16px !important;
    line-height: 16px !important;
}

@media (max-width: 1100px) {
    body .l-header__nav,
    body .l-header__nav-list {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* ============================================================
   地域記事 H2 のクリニック名リンク化（the_contentフィルタで挿入）
   - 見た目はテーマH2を維持しつつ、リンクと分かる微妙な装飾を追加
============================================================ */
.jc-clinic-h2-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}
.jc-clinic-h2-link:hover {
    color: #2a9d5c;
    opacity: 0.85;
    text-decoration: underline;
}

/* ============================================================
   「詳細を見る」ボタン（H2の右側に配置・オレンジ）
============================================================ */
.jc-clinic-h2-row {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin: 28px 0 20px;
}
.jc-clinic-h2-row > h2 {
    margin: 0 !important;
    flex: 1 1 auto;
    min-width: 0;
}
.jc-clinic-h2-row > .jc-clinic-detail-btn-wrap {
    margin: 0 !important;
    flex-shrink: 0;
}

.jc-clinic-detail-btn-wrap {
    text-align: right;
}
.jc-clinic-detail-btn {
    display: inline-block;
    padding: 10px 22px;
    background: linear-gradient(135deg, #f08d2e 0%, #ee7e1c 100%);
    color: #ffffff !important;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none !important;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(238, 126, 28, 0.3);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
    line-height: 1.4;
    white-space: nowrap;
}
.jc-clinic-detail-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(238, 126, 28, 0.42);
    color: #ffffff !important;
    text-decoration: none !important;
    filter: brightness(1.05);
}

@media (max-width: 600px) {
    .jc-clinic-h2-row {
        gap: 8px;
    }
    .jc-clinic-detail-btn {
        padding: 9px 18px;
        font-size: 13px;
    }
}


/* SPタイトル横CTAを全幅・お見舞金画像非表示・ボタン縦並び */
@media (max-width:767px){
  .jc-detail .jc-title-area .jc-title-cta{width:100% !important;max-width:100% !important;flex:0 0 100% !important;margin:0 0 16px !important;}
  .jc-detail .jc-title-area .jc-title-cta .p-content__cta{padding:12px !important;margin:0 !important;background:#fff8eb !important;border-radius:8px !important;box-shadow:0 2px 6px rgba(0,0,0,0.06) !important;}
  .jc-detail .jc-title-area .jc-title-cta .p-content__cta-text{display:none !important;}
  .jc-detail .jc-title-area .jc-title-cta .p-content__button-flex{display:flex !important;flex-direction:column !important;gap:8px !important;}
  .jc-detail .jc-title-area .jc-title-cta .p-content__button{margin:0 !important;padding:12px 16px !important;font-size:14px !important;}
}


/* SPタイトルエリアflexリセット：flex-direction:column時に flex:2 1 380px が高さとして効いて空白を作っていた問題の修正 */
@media (max-width:900px){
  .jc-detail .jc-title-area{flex-direction:column !important;align-items:stretch !important;align-content:flex-start !important;}
  .jc-detail .jc-title-area > .jc-title-block,
  .jc-detail .jc-title-area > .jc-title-cta{flex:0 0 auto !important;width:100% !important;max-width:100% !important;min-height:0 !important;height:auto !important;}
}


/* ============================================================
   v1.10.0 (2026-05-21) - タイトル周りの調整
============================================================ */

.jc-h1 {
  font-size: 32px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}
@media (max-width: 900px) {
  .jc-h1 {
    font-size: clamp(18px, 6.4vw, 24px) !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }
}

.jc-subtitle {
  font-size: 26px !important;
  color: #4aa8a0 !important;
  font-weight: 800 !important;
  margin-top: 6px !important;
  margin-bottom: 14px !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}
@media (max-width: 900px) {
  .jc-subtitle {
    font-size: clamp(16px, 5.5vw, 22px) !important;
    line-height: 1.3 !important;
  }
}

.jc-meta,
.jc-meta-address,
.jc-meta-station {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #555 !important;
  margin: 2px 0 !important;
}
@media (max-width: 900px) {
  .jc-meta,
  .jc-meta-address,
  .jc-meta-station {
    font-size: 12px !important;
  }
}

.jc-meta .emoji,
.jc-meta-address .emoji,
.jc-meta-station .emoji {
  width: 1em !important;
  height: 1em !important;
  vertical-align: -2px !important;
}

.jc-cta-official {
  margin-top: 12px;
  text-align: center;
}
.jc-cta-official-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 18px;
  background: #ffffff;
  color: #4aa8a0;
  border: 2px solid #4aa8a0;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.2s ease;
}
.jc-cta-official-btn:hover {
  background: #4aa8a0;
  color: #ffffff;
}
.jc-cta-official-btn .icon { font-size: 16px; }
.jc-cta-official-btn .arrow { font-size: 14px; }


/* ============================================================
   v1.10.1 (2026-05-21) - PC版タイトル下の空白修正
   左カラム(title-block)が右カラム(CTA)の高さに引っ張られて伸びるのを止める
============================================================ */
.jc-title-area {
  align-items: flex-start !important;
}


/* ============================================================
   v1.10.2 (2026-05-21)
   - PC版: タイトル下の空白を position:absolute で完全解消
   - 「当院の特徴」前のバッジスタイル追加
============================================================ */

/* PC版: CTA を absolute 配置して title-block と hero 間の空白を消す */
@media (min-width: 901px) {
  .jc-detail .jc-title-area {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 24px !important;
  }
  .jc-detail .jc-title-area > .jc-title-block {
    flex: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 304px 0 0 !important;
    padding: 0 !important;
  }
  .jc-detail .jc-title-area > .jc-title-cta {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 280px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* 「特徴」前のバッジ */
.jc-feature-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: linear-gradient(135deg, #4aa8a0 0%, #3a8a82 100%);
  color: #ffffff;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0 0 12px;
  box-shadow: 0 3px 10px rgba(74,168,160,0.3);
}
.jc-feature-badge-icon {
  font-size: 16px;
  line-height: 1;
}
.jc-feature-badge-text {
  font-size: 14px;
  line-height: 1.2;
}
@media (max-width: 600px) {
  .jc-feature-badge {
    font-size: 13px;
    padding: 6px 14px;
  }
  .jc-feature-badge-text {
    font-size: 13px;
  }
}


/* ============================================================
   v1.10.3 (2026-05-21)
   - v1.10.2 の position:absolute を取り消し、レイアウトを元に戻す
   - 新: メタ情報下の公式サイトボタンスタイル
============================================================ */

/* v1.10.2 の CTA absolute を逆転させる */
@media (min-width: 901px) {
  .jc-detail .jc-title-area {
    position: static !important;
    display: flex !important;
    align-items: flex-start !important;
    min-height: 0 !important;
  }
  .jc-detail .jc-title-area > .jc-title-block {
    margin: 0 !important;
    padding: 0 !important;
  }
  .jc-detail .jc-title-area > .jc-title-cta {
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin: 0 !important;
  }
}

/* 新・メタ情報直下の公式サイトボタン */
.jc-meta-official {
  margin-top: 12px;
  margin-bottom: 4px;
}
.jc-meta-official-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #ffffff;
  color: #4aa8a0;
  border: 2px solid #4aa8a0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
  line-height: 1.2;
}
.jc-meta-official-btn:hover {
  background: #4aa8a0;
  color: #ffffff;
}
.jc-meta-official-btn .icon { font-size: 14px; }
.jc-meta-official-btn .label { line-height: 1.2; }
.jc-meta-official-btn .arrow { font-size: 12px; }
@media (max-width: 600px) {
  .jc-meta-official-btn {
    font-size: 12px;
    padding: 6px 14px;
  }
}


/* ============================================================
   v1.10.4 (2026-05-21) - 下部 CTA 重複解消
   l-footer__content と 古い p-content__cta が重複表示されてたのを解消
============================================================ */
/* v1.14: 本文中CTA復活のため無効化 -- .jc-detail > .jc-main-flow > .p-content__cta:not(.jc-cta-top) {
  display: none !important;
} */


/* ============================================================
   v1.10.5 (2026-05-21) - .jc-detail img カスケードを修正
   .jc-detail img { display: block } がレスポンシブクラスを上書きして PC/SPイメージが重複表示されるのを修正
============================================================ */
.jc-detail img.is-md-hide,
.jc-detail .is-md-hide img {
  display: block !important;
}
.jc-detail img.is-md-show,
.jc-detail .is-md-show img {
  display: none !important;
}
@media (max-width: 760px) {
  .jc-detail img.is-md-hide,
  .jc-detail .is-md-hide img {
    display: none !important;
  }
  .jc-detail img.is-md-show,
  .jc-detail .is-md-show img {
    display: block !important;
  }
}




/* v1.10.7: v1.10.6を取り消し、デフォルトデザインを復元 */


/* ============================================================
   v1.11 (2026-05-21) - PC版 CTA 幅 320px 固定
   ============================================================ */
/* v1.11 PC-CTA-WIDTH */
@media (min-width: 901px) {
  .jc-detail .jc-title-area .jc-title-cta {
    flex: 0 0 320px !important;
    max-width: 320px !important;
    width: 320px !important;
  }
  .jc-detail .jc-title-area .jc-title-cta .p-content__button {
    padding: 10px 12px !important;
    line-height: 1.3 !important;
  }
  .jc-detail .jc-title-area .jc-title-cta .p-content__button-real {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
  .jc-detail .jc-title-area .jc-title-cta .p-content__button-left {
    font-size: 10px !important;
    padding: 1px 8px !important;
    margin: 0 0 4px !important;
  }
  .jc-detail .jc-title-area .jc-title-cta .p-content__cta-text {
    font-size: 13px !important;
    padding: 7px 12px !important;
  }
}

/* ============================================================
   v1.12 (2026-05-21) - PC: タイトル右隣にCTA配置（強制 nowrap）
   ============================================================ */
/* v1.12 PC-CTA-NEXT-TO-TITLE */
@media (min-width: 901px) {
  .jc-detail .jc-title-area {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 24px !important;
  }
  .jc-detail .jc-title-area .jc-title-block {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
  }
  .jc-detail .jc-title-area .jc-title-block .jc-h1 {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* ============================================================
   v1.15 (2026-05-21) - タイトル右CTA 24時間対応バッジの高さ不揃いを修正
   ============================================================ */
/* v1.15 TOP-CTA-BADGE-FIX */
@media (min-width: 901px) {
  .jc-detail .jc-title-area .jc-title-cta .p-content__button {
    padding: 12px !important;
  }
  .jc-detail .jc-title-area .jc-title-cta .p-content__button .p-content__button-left,
  .jc-detail .jc-title-area .jc-title-cta .p-content__button .p-content__button-left--2 {
    display: inline-block !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
    box-sizing: content-box !important;
    font-size: 11px !important;
    padding: 2px 10px !important;
    margin: 0 0 4px !important;
  }
  .jc-detail .jc-title-area .jc-title-cta .p-content__button .p-content__button-real {
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
  }
}
.l-footer__girl {
  width: 100% !important;
  max-width: 204px !important;
}



/* ============================================================
   v1.20 (2026-05-21) - jc-detail内フッターを完全viewport全幅化
   + スマホレイアウト修正
   ============================================================ */
/* v1.20 FOOTER-FULL-BREAKOUT */
@media (min-width: 901px) {
  /* デスクトップ：jc-detail配下のl-footer__*要素をviewport全幅に */
  .jc-detail section.jc-section > .l-footer__content,
  .jc-detail section.jc-section > .l-footer__dark-blue,
  .jc-detail section.jc-section > .l-footer__down,
  .jc-detail section.jc-section > a:first-child {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw - 215px) !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  .jc-detail .l-footer__blue {
    width: 100% !important;
    max-width: 100% !important;
  }
  .jc-detail .l-footer__content-wrap {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    flex-direction: row !important;
    gap: normal 62px !important;
  }
  .jc-detail .l-footer__content-wrap > a:first-child {
    width: auto !important;
    flex: 0 1 auto !important;
    max-width: none !important;
    margin-left: 0 !important;
  }
  .jc-detail .l-footer__girl {
    width: 204px !important;
    max-width: 204px !important;
    height: auto !important;
  }
  .jc-detail .l-footer__content-group {
    flex: 1 1 auto !important;
    max-width: none !important;
    width: auto !important;
  }
  .jc-detail .l-footer__button-group {
    flex-wrap: nowrap !important;
  }
}



/* ============================================================
   v1.21 (2026-05-21) - jc-detail内フッターの文字色（白）・中央寄せ
   ============================================================ */
/* v1.21 FOOTER-TEXT-FIX */
.jc-detail .l-footer__down,
.jc-detail .l-footer__dark-blue {
  color: #fff !important;
  text-align: center !important;
}
.jc-detail .l-footer__down a,
.jc-detail .l-footer__down p,
.jc-detail .l-footer__down .l-footer__text,
.jc-detail .l-footer__down .l-footer__special,
.jc-detail .l-footer__down .l-footer__logo-group,
.jc-detail .l-footer__dark-blue * {
  color: #fff !important;
}
.jc-detail .l-footer__dark-blue {
  padding: 16px !important;
}
.jc-detail .l-footer__down {
  padding: 24px 0 !important;
}

/* ============================================================
   v1.22 (2026-05-21) - フッターCTAボタンの文字を白に
   ============================================================ */
/* v1.22 FOOTER-BTN-WHITE */
.jc-detail .l-footer__button-group .c-button--footer,
.jc-detail .l-footer__button-group .c-button--footer * {
  color: #fff !important;
}

/* ============================================================
   v1.23 (2026-05-21) - 公式サイトボタンの塗りデザイン化＋院長プロフィール枠化
   ============================================================ */
/* v1.23 OFFICIAL-BTN-AND-DOCTOR-CARD */

/* 公式サイトを見るボタン（塗り版）*/
.jc-detail-official-btn-wrap {
  text-align: center !important;
  margin: 24px 0 8px !important;
}
.jc-detail-official-btn-wrap .jc-official-cta-btn,
.jc-detail-official-btn-wrap a.jc-official-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  background: linear-gradient(180deg, #4aa8a0 0%, #2a8a82 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 10px rgba(74, 168, 160, 0.3) !important;
  transition: all 0.2s !important;
  width: auto !important;
  max-width: 90% !important;
}
.jc-detail-official-btn-wrap .jc-official-cta-btn:hover,
.jc-detail-official-btn-wrap a.jc-official-cta-btn:hover {
  background: linear-gradient(180deg, #5cb8b0 0%, #3a9a92 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(74, 168, 160, 0.4) !important;
  color: #fff !important;
}
.jc-detail-official-btn-wrap .jc-official-cta-btn span {
  color: #fff !important;
}



/* ============================================================
   v1.24 (2026-05-21) - 院長プロフィールH2を枠外に出し、.jc-doctor-cardのみカード化
   ============================================================ */
/* v1.24 DOCTOR-CARD */
.jc-detail .jc-doctor-card {
  background: #fff !important;
  border: 1px solid #d8e0d8 !important;
  border-radius: 12px !important;
  padding: 24px 28px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  margin-top: 16px !important;
}
.jc-detail .jc-doctor-card > .jc-doctor:first-child,
.jc-detail .jc-doctor-card > div:first-child {
  margin-top: 0 !important;
}

/* ============================================================
   v1.25 (2026-05-21) - スマホ専用：電話番号非表示＋下部CTAをにしむら式に
   ============================================================ */
/* v1.25 MOBILE-PHONE-AND-FOOTER */
@media (max-width: 767px) {
  /* タイトル右CTA：電話ボタン内の電話番号をスマホで非表示 */
  .jc-phone-text {
    display: none !important;
  }
  /* 電話ボタンのbrもスマホで非表示（改行をなくす）*/
  .jc-detail .jc-title-cta .p-content__button--orange .p-content__button-real br {
    display: none !important;
  }
  
  /* 下部l-footer__content-wrap をにしむら式モバイルレイアウトに */
  .jc-detail .l-footer__content-wrap {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px !important;
    max-width: 100% !important;
  }
  /* 女性写真は非表示（にしむら式）*/
  .jc-detail .l-footer__content-wrap > a:first-child,
  .jc-detail .l-footer__girl {
    display: none !important;
  }
  /* ボタングループは中央寄せ */
  .jc-detail .l-footer__content-group {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: center !important;
  }
  .jc-detail .l-footer__button-group {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: center !important;
    width: 100% !important;
  }
  /* 矢印画像 */
  .jc-detail .l-footer__button-group .l-footer__cta-img {
    max-width: 176px !important;
    height: auto !important;
  }
  /* 親テーマと同じサイズの円形ボタン */
  .jc-detail .l-footer__button-group .c-button--footer {
    width: 180px !important;
    height: 100px !important;
    flex: 0 0 auto !important;
    min-width: 180px !important;
  }
}

/* ============================================================
   v1.26 (2026-05-21) - H1にサブタイトル統合＋余白圧縮＋CTAをH1高さに
   ============================================================ */
/* v1.26 H1-MERGE-CTA-MATCH */
.jc-detail .jc-h1 {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin: 0 0 12px !important;
  white-space: normal !important;
}
.jc-detail .jc-h1 .jc-h1-main {
  font-size: 32px !important;
  line-height: 1.25 !important;
  color: #4aa8a0 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}
.jc-detail .jc-h1 .jc-h1-sub {
  font-size: 26px !important;
  line-height: 1.25 !important;
  color: #4aa8a0 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}
@media (max-width: 900px) {
  .jc-detail .jc-h1 .jc-h1-main {
    font-size: clamp(18px, 6.4vw, 24px) !important;
  }
  .jc-detail .jc-h1 .jc-h1-sub {
    font-size: clamp(15px, 5vw, 20px) !important;
  }
}

/* タイトル横CTAをタイトルブロック高さに揃える */
@media (min-width: 901px) {
  .jc-detail .jc-title-area {
    align-items: stretch !important;
    gap: 24px !important;
    margin-bottom: 24px !important;
  }
  .jc-detail .jc-title-cta {
    display: flex !important;
    align-items: stretch !important;
  }
  .jc-detail .jc-title-cta > .p-content__cta {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
}

/* タイトル内余白圧縮 */
.jc-detail .jc-title-block {
  padding-top: 0 !important;
}
.jc-detail .jc-title-block .jc-meta,
.jc-detail .jc-title-block .jc-meta-address,
.jc-detail .jc-title-block .jc-meta-station {
  margin: 2px 0 !important;
  line-height: 1.5 !important;
}

/* 詳細情報前のCTAをコンパクトに */
.jc-detail .jc-detail-section-cta {
  max-width: 600px !important;
  margin: 0 auto 24px !important;
}

/* ============================================================
   v1.27 (2026-05-22) - .jc-doctor の内側枚を解除（jc-doctor-cardと二重を防ぐ）
   ============================================================ */
/* v1.27 DOCTOR-INNER-BORDER-REMOVE */
.jc-detail .jc-doctor-card .jc-doctor {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}



/* ============================================================
   v1.29 (2026-05-22) - 評価軸スコアの星表示
   ============================================================ */
/* v1.29 STAR-RATING */
.jc-detail .jc-axis-stars {
  position: relative !important;
  display: inline-block !important;
  font-size: 14px !important;
  letter-spacing: 2px !important;
  line-height: 1 !important;
  margin: 0 0 6px !important;
}
.jc-detail .jc-axis-stars .jc-axis-stars-empty {
  color: #d8d8d8 !important;
}
.jc-detail .jc-axis-stars .jc-axis-stars-fill {
  color: #ffb800 !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: var(--score, 0%) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* ============================================================
   v1.30 (2026-05-22) - 長いクリニック名でCTAと重なる問題を修正
   ============================================================ */
/* v1.30 H1-LONG-NAME-FIT */
@media (min-width: 901px) {
  /* H1のメインを動的サイズに：長い名前は自動縮小 */
  .jc-detail .jc-h1 .jc-h1-main {
    font-size: clamp(20px, 2.4vw, 32px) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: keep-all !important;
  }
  .jc-detail .jc-h1 .jc-h1-sub {
    font-size: clamp(16px, 2vw, 26px) !important;
    white-space: normal !important;
  }
  /* タイトルブロックがCTAを押し出さないように min-width:0 を保証 */
  .jc-detail .jc-title-area .jc-title-block {
    min-width: 0 !important;
    flex: 1 1 0 !important;
  }
  /* CTAは右端から崩れないよう固定幅 */
  .jc-detail .jc-title-area .jc-title-cta {
    flex: 0 0 320px !important;
    max-width: 320px !important;
  }
}


/* ============================================================
   v1.31 (2026-05-22) - 長いクリニック名のH1サイズ更に縮小＋強制折返し
   ============================================================ */
/* v1.31 H1-LONG-NAME-FIT-V2 */
@media (min-width: 901px) {
  .jc-detail .jc-h1 .jc-h1-main {
    font-size: clamp(16px, 1.8vw, 26px) !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: keep-all !important;
  }
  .jc-detail .jc-h1 .jc-h1-sub {
    font-size: clamp(14px, 1.5vw, 22px) !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }
  /* title-block の幅を厳密に固定し、はみ出しを防止 */
  .jc-detail .jc-title-area .jc-title-block {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: calc(100% - 344px) !important;
    overflow: hidden !important;
  }
}


/* v1.32 H1-LONG-NAME-FIT-V3 (少し大きく) */
@media (min-width: 901px) {
  .jc-detail .jc-h1 .jc-h1-main {
    font-size: clamp(18px, 2.1vw, 30px) !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: keep-all !important;
  }
  .jc-detail .jc-h1 .jc-h1-sub {
    font-size: clamp(15px, 1.7vw, 24px) !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }
}

/* v1.33 TRAIN-STATION-TEXT-BOLD */
.jc-train-card .jc-train-station-text {
  font-weight: 700 !important;
  color: #1a1a1a;
  margin: 0.4em 0 0.2em;
}
.jc-train-card .jc-train-direction-text {
  color: #555;
  margin: 0;
}