/* ============================================
   吉祥寺日帰り手術クリニック
   モバイルファースト最適化CSS v2
   SWELL テーマ対応 / WordPress「追加CSS」に貼付

   設計方針:
   - スマートフォンを主たる閲覧媒体として設計
   - 8pxグリッドベースの一貫したスペーシング
   - タップ領域44px以上を確保
   - 不要要素の非表示（テストリンク、空コンテンツ）
   - セクション間の明確な視覚的区切り
   ============================================ */

/* ==========================================
   1. 不要要素の非表示（全画面幅共通）
   ========================================== */

/* "noth" テストリンク */
a[href*="wordpress.com/page/243918653/new"] {
  display: none !important;
}
a[href*="wordpress.com/page/243918653/new"]:has(~ *),
p:has(> a[href*="wordpress.com/page/243918653/new"]) {
  display: none !important;
}

/* 空のブログタブセクション（記事がない場合） */
.swell-block-tab:has(.p-postListWrap > p) {
  display: none !important;
}

/* 全子要素が空のカラムブロック */
.wp-block-columns:has(> .wp-block-column:empty):not(:has(> .wp-block-column:not(:empty))) {
  display: none !important;
}

/* 空カラム自体 */
.wp-block-column:empty {
  display: none;
}

/* ==========================================
   2. モバイル（599px以下）— メイン設計
   ========================================== */
@media screen and (max-width: 599px) {

  /* --- 2.1 デザイントークン --- */
  :root {
    --swl-fz--content: 15px;
    --sp-pad: 20px;
    --sp-section-gap: 40px;
    --sp-card-radius: 16px;
    --sp-card-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }

  /* --- 2.2 ベース --- */
  body {
    -webkit-text-size-adjust: 100%;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .post_content p {
    margin-bottom: 1.2em;
  }

  /* --- 2.3 ヘッダー --- */
  .l-header {
    position: sticky;
    top: 0;
    z-index: 999;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
  .l-header__logo img {
    max-height: 36px;
    width: auto;
  }

  /* --- 2.4 インフォバー（開業告知バナー）--- */
  .c-infoBar {
    background: linear-gradient(135deg, var(--color_main, #4774ba), var(--color_main_dark, #35578c)) !important;
  }
  .c-infoBar__text {
    font-size: 12px;
    font-weight: 700;
    padding: 10px var(--sp-pad);
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .c-infoBar__text.-flow-off {
    white-space: normal;
    text-align: center;
  }

  /* --- 2.5 メインビジュアル --- */
  .p-mainVisual {
    margin-bottom: 0;
  }
  .p-mainVisual__inner {
    min-height: 56vw;
    max-height: 70vh;
  }
  .p-mainVisual__textLayer {
    padding: 0 var(--sp-pad);
  }
  .p-mainVisual__slideTitle {
    font-size: 14px !important;
    font-weight: 600;
    letter-spacing: 0.15em;
    margin-bottom: 6px;
    opacity: 0.9;
  }
  .p-mainVisual__slideText {
    font-size: 24px !important;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0.08em;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.3) !important;
  }

  /* --- 2.6 コンテンツエリア --- */
  #content {
    padding-top: 0;
  }
  .l-mainContent__inner {
    padding: 0;
  }
  .post_content {
    padding-left: var(--sp-pad);
    padding-right: var(--sp-pad);
  }

  /* --- 2.7 タイポグラフィ階層 --- */
  /* XL: セクションタイトル級 */
  .post_content .swl-fz.u-fz-xl {
    font-size: 1.4em !important;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  /* L: サブタイトル級 */
  .post_content .swl-fz.u-fz-l {
    font-size: 1.15em !important;
    line-height: 1.6;
  }
  /* S: 補足テキスト */
  .post_content .swl-fz.u-fz-s {
    font-size: 0.875em !important;
    line-height: 1.75;
  }
  /* インラインfont-size上書き */
  .post_content span.swl-fz[style*="font-size:18px"] {
    font-size: 16px !important;
  }
  .post_content span.swl-fz[style*="font-size:16px"] {
    font-size: 14px !important;
  }

  /* --- 2.8 イントロテキスト --- */
  /* 「お忙しい方も、手術がご不安な方も、ご安心ください。」 */
  .post_content > p.has-text-align-center {
    padding: 4px 0;
  }
  .post_content > p.has-text-align-center .swl-fz.u-fz-xl {
    font-size: 1.5em !important;
    font-weight: 800;
    line-height: 1.6;
  }

  /* --- 2.9 見出し --- */
  .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    padding: 0.7em 0.5em;
    margin: var(--sp-section-gap) 0 20px;
  }
  .post_content h3.wp-block-heading {
    margin-top: 32px;
    margin-bottom: 16px;
    padding-bottom: 8px;
  }
  /* 「医師紹介」「外科医」等のh3 */
  .post_content h3.wp-block-heading:has(.swl-fz.u-fz-l) {
    text-align: center;
    margin-top: var(--sp-section-gap);
  }

  /* --- 2.10 スペーサー --- */
  .wp-block-spacer {
    height: 16px !important;
  }
  .wp-block-spacer[style*="height:100px"] {
    height: var(--sp-section-gap) !important;
  }
  .wp-block-spacer[style*="height:40px"] {
    height: 24px !important;
  }
  .wp-block-spacer[style*="height:15px"] {
    height: 8px !important;
  }

  /* --- 2.11 カラム共通 --- */
  .wp-block-columns {
    flex-direction: column !important;
    gap: 16px;
    margin-bottom: 0;
  }
  .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  /* --- 2.12 「３つの約束」カードセクション --- */
  .post_content > .wp-block-columns > .wp-block-column:not(:empty) {
    background: #fff;
    border-radius: var(--sp-card-radius);
    padding: 24px 20px;
    box-shadow: var(--sp-card-shadow);
    border: 1px solid rgba(71, 116, 186, 0.12);
    position: relative;
    overflow: hidden;
  }
  /* 左アクセント線 */
  .post_content > .wp-block-columns > .wp-block-column:not(:empty)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--color_main, #4774ba), var(--color_gradient2, #87e7ff));
    border-radius: 4px 0 0 4px;
  }
  /* カード内のタイトル */
  .post_content > .wp-block-columns > .wp-block-column .has-text-align-center strong span.swl-fz {
    font-size: 17px !important;
    letter-spacing: 0.03em;
  }
  /* カード内の本文 */
  .post_content > .wp-block-columns > .wp-block-column .swl-fz.u-fz-s {
    font-size: 13.5px !important;
    line-height: 1.85;
    color: #444;
  }

  /* --- 2.13 疾患グリッド --- */
  .swell-block-box-menu {
    margin: 0 -4px !important;
  }
  .swell-block-box-menu .swell-block-box-menu__inner {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 8px;
    justify-content: center;
    padding: 0 4px;
  }
  .swell-block-box-menu .swell-block-box-menu__item {
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    flex: 0 0 calc(50% - 4px) !important;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 8px rgba(0,0,0,0.05);
    transition: transform 0.2s ease;
  }
  .swell-block-box-menu .swell-block-box-menu__item:active {
    transform: scale(0.97);
  }
  .swell-block-box-menu .swell-block-box-menu__link {
    padding: 8px !important;
  }
  .swell-block-box-menu .swell-block-box-menu__figure {
    margin: 0 auto;
  }
  .swell-block-box-menu .swell-block-box-menu__figure img {
    max-height: 130px;
    width: auto;
    margin: 0 auto;
    display: block;
    object-fit: contain;
  }

  /* --- 2.14 医師紹介 --- */
  /* 共通: 医師セクションをカード風に */
  .wp-block-columns:has(> .wp-block-column[style*="flex-basis:33.33%"]),
  .wp-block-columns:has(> .wp-block-column[style*="flex-basis:66.66%"]) {
    background: #fff;
    border-radius: var(--sp-card-radius);
    box-shadow: var(--sp-card-shadow);
    padding: 28px 20px 24px;
    gap: 20px;
    margin-bottom: 0;
  }

  /* 院長: 写真→名前→テキスト */
  .wp-block-columns:has(> .wp-block-column[style*="flex-basis:33.33%"]:first-child) {
    flex-direction: column !important;
  }
  /* 副院長: テキスト(66%)が先 → 写真を上に */
  .wp-block-columns:has(> .wp-block-column[style*="flex-basis:66.66%"]:first-child) {
    flex-direction: column !important;
  }

  /* 医師写真 */
  .wp-block-column[style*="flex-basis:33.33%"] figure {
    text-align: center;
    margin-bottom: 12px;
  }
  .wp-block-column[style*="flex-basis:33.33%"] .wp-block-image img,
  .wp-block-column[style*="flex-basis:33.33%"] img {
    width: 180px;
    height: 180px;
    object-fit: cover;
    object-position: top center;
    margin: 0 auto;
    display: block;
    border-radius: 50%;
    border: 3px solid var(--color_bg, #eaedf2);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  }
  /* 肩書き（figcaption） */
  .wp-block-column[style*="flex-basis:33.33%"] figcaption {
    text-align: center;
    margin-top: 12px;
    font-size: 14px !important;
  }
  .wp-block-column[style*="flex-basis:33.33%"] figcaption .swl-fz.u-fz-l {
    font-size: 0.9em !important;
  }
  /* 医師名 */
  .wp-block-column[style*="flex-basis:33.33%"] .has-text-align-center .swl-fz.u-fz-xl,
  .wp-block-column[style*="flex-basis:66.66%"] .swl-fz.u-fz-xl {
    font-size: 1.35em !important;
    letter-spacing: 0.08em;
  }
  /* 読み仮名 */
  .wp-block-column[style*="flex-basis:33.33%"] .has-text-align-center:has(strong:only-child):not(:has(.swl-fz)) {
    font-size: 12px;
    color: #666;
    margin-bottom: 16px;
  }

  /* 医師テキスト */
  .wp-block-column[style*="flex-basis:66.66%"] {
    order: 2;
  }
  .wp-block-column[style*="flex-basis:66.66%"] p {
    font-size: 14px;
    line-height: 1.9;
    color: #444;
  }
  .wp-block-column[style*="flex-basis:66.66%"] p:first-child {
    margin-top: 0;
  }
  .wp-block-column[style*="flex-basis:66.66%"] .swl-fz.u-fz-l {
    font-size: 1em !important;
  }
  .wp-block-column[style*="flex-basis:66.66%"] p[style*="line-height:1.5"] {
    line-height: 1.6 !important;
  }

  /* --- 2.15 フッターセクション（アクセス）--- */
  .wp-block-group.alignfull.is-style-section-2 {
    padding: 32px var(--sp-pad) 40px !important;
    margin-top: 0;
  }
  .wp-block-group.alignfull .wp-block-columns.alignwide {
    flex-direction: column !important;
    gap: 24px;
  }
  .wp-block-group.alignfull .wp-block-columns.alignwide > .wp-block-column {
    flex-basis: 100% !important;
    width: 100%;
  }
  /* クリニック名 */
  .wp-block-group.alignfull h5 .swl-fz.u-fz-xl {
    font-size: 1.15em !important;
  }
  /* 住所 */
  .wp-block-group.alignfull .has-text-align-center {
    font-size: 14px;
    line-height: 1.7;
  }
  /* 開業予定テキスト */
  .wp-block-group.alignfull .has-text-align-center .swl-fz.u-fz-xl {
    font-size: 1.2em !important;
    color: var(--color_main);
  }
  /* 地図SVG */
  .wp-block-group.alignfull .wp-block-image {
    margin: 0;
  }
  .wp-block-group.alignfull .wp-block-image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }

  /* --- 2.16 フッターナビ --- */
  .l-footer__nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 16px 0;
  }
  .l-footer__nav li {
    display: block;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }
  .l-footer__nav li:last-child {
    border-bottom: none;
  }
  .l-footer__nav a {
    font-size: 14px;
    padding: 12px 0;
    display: block;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* --- 2.17 コンテナ幅 --- */
  .l-container {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* --- 2.18 スクロールトップボタン --- */
  #pagetop {
    bottom: 16px !important;
    right: 16px !important;
    width: 44px;
    height: 44px;
  }
}

/* ==========================================
   3. 極小スマホ（375px以下）
   ========================================== */
@media screen and (max-width: 375px) {

  :root {
    --swl-fz--content: 14px;
    --sp-pad: 16px;
  }

  .post_content .swl-fz.u-fz-xl {
    font-size: 1.25em !important;
  }
  .post_content .swl-fz.u-fz-l {
    font-size: 1.05em !important;
  }
  .post_content > p.has-text-align-center .swl-fz.u-fz-xl {
    font-size: 1.3em !important;
  }

  .p-mainVisual__slideTitle {
    font-size: 12px !important;
  }
  .p-mainVisual__slideText {
    font-size: 20px !important;
  }

  .c-infoBar__text {
    font-size: 11px;
  }

  /* 疾患グリッド: 小画面でも2列維持 */
  .swell-block-box-menu .swell-block-box-menu__figure img {
    max-height: 105px;
  }

  /* 医師写真を小さく */
  .wp-block-column[style*="flex-basis:33.33%"] .wp-block-image img,
  .wp-block-column[style*="flex-basis:33.33%"] img {
    width: 150px;
    height: 150px;
  }

  /* カード内パディング縮小 */
  .post_content > .wp-block-columns > .wp-block-column:not(:empty) {
    padding: 20px 16px;
  }
  .wp-block-columns:has(> .wp-block-column[style*="flex-basis:33.33%"]),
  .wp-block-columns:has(> .wp-block-column[style*="flex-basis:66.66%"]) {
    padding: 24px 16px 20px;
  }
}

/* ==========================================
   4. タブレット（600px〜959px）
   ========================================== */
@media screen and (max-width: 959px) and (min-width: 600px) {

  /* スペーサー縮小 */
  .wp-block-spacer[style*="height:100px"] {
    height: 56px !important;
  }

  /* 疾患グリッド: 3列 */
  .swell-block-box-menu {
    --the-box-width--tab: 33.33% !important;
  }

  /* 医師写真 */
  .wp-block-column[style*="flex-basis:33.33%"] .wp-block-image img {
    max-width: 220px;
    margin: 0 auto;
    display: block;
    border-radius: 12px;
  }

  /* フォントサイズ */
  .post_content .swl-fz.u-fz-xl {
    font-size: 1.5em !important;
  }
}


/* ==========================================
   ホームページ目次（TOC）非表示
   ========================================== */
.home .p-toc,
.home .p-indexModal,
.page-id-1 .p-toc,
.page-id-1 .p-indexModal {
  display: none !important;
}

/* ==========================================
   グローバル プレミアムスタイル（全ページ共通）
   Light Premium: 白ベース + ディープグリーン/ブルー + ゴールドアクセント
   ========================================== */

/* --- Premium Typography --- */
body {
  color: #1a1a2e;
  letter-spacing: 0.02em;
}

/* --- Premium Headings --- */
.post_content h2,
.post_content h3 {
  color: #1a1a2e;
  letter-spacing: 0.05em;
}

/* --- Premium Link Colors --- */
.post_content a:not([class]) {
  color: #3a7a3d;
  text-decoration-color: rgba(58, 122, 61, 0.3);
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.post_content a:not([class]):hover {
  color: #2d6130;
  text-decoration-color: #2d6130;
}

/* --- Subtle Gold Accents --- */
.post_content h2::after {
  background: linear-gradient(90deg, #c9a962, transparent) !important;
}

/* --- Card Shadow Enhancement --- */
.post_content .swell-block-box-menu .swell-block-box-menu__item,
.p-postList__item {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.post_content .swell-block-box-menu .swell-block-box-menu__item:hover,
.p-postList__item:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

/* --- FAQ Premium Style --- */
.wp-block-details summary {
  letter-spacing: 0.03em;
}

/* グループ/カラムの下マージンはセクション15に統合。 */

/* --- Page-wide bokeh canvas overlay --- */
.kds-bokeh-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.6;
}
.kds-bokeh-wrap canvas {
  width: 100%;
  height: 100%;
}

/* Ensure main content sits above bokeh */
.l-header,
.l-content,
.l-footer,
.c-mvFront,
#footer,
.p-fixBtnWrap {
  position: relative;
  z-index: 1;
}

/* ===== セクション間スペーシング調整 ===== */

/* スペーサーブロック: 高さ統一＋マージン除去 */
.post_content .wp-block-spacer {
  height: 24px !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* フルワイドセクション: パディング縮小 (80→48px) */
.post_content .wp-block-group.alignfull {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

/* カラムブロックの下マージンはセクション15に統合。旧 !important を削除。 */

/* H3の上マージンはセクション15（8pxグリッド）に統合。旧 !important を削除。 */


/* ==========================================
   5. テーブル モバイル最適化
   ========================================== */
@media screen and (max-width: 599px) {
  /* テーブルコンテナ: 横スクロール可能 */
  .post_content figure.wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-left: calc(var(--sp-pad, 20px) * -1);
    margin-right: calc(var(--sp-pad, 20px) * -1);
    padding-left: var(--sp-pad, 20px);
    padding-right: var(--sp-pad, 20px);
  }

  /* 項目列（第1列）: 折り返さない */
  .post_content .wp-block-table td:first-child,
  .post_content .wp-block-table th:first-child {
    white-space: nowrap;
  }

  /* セルのパディング・フォント調整 */
  .post_content .wp-block-table td,
  .post_content .wp-block-table th {
    padding: 0.5em 0.7em;
    font-size: 13px;
    line-height: 1.6;
  }

  /* 3列以上テーブル: 最小幅で圧縮防止 */
  .post_content .wp-block-table table {
    min-width: max-content;
  }
}
/* Mobile card width unification v2 (2026-03-25) */
@media screen and (max-width: 599px) {
  /* 3つの理由: 数値カード・約束カードと同じ幅に拡張 */
  [style*="background:#f5f7f3"] {
    width: calc(100% + 40px) !important;
    margin-left: -20px !important;
    margin-right: -20px !important;
    padding-left: var(--sp-pad, 20px) !important;
    padding-right: var(--sp-pad, 20px) !important;
    box-sizing: border-box !important;
  }
  .kds-reasons-grid { gap: 12px !important; }

  /* 数値カード: 他カードとパディング統一 */
  #kds-benefit-stats {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #kds-benefit-stats .wp-block-column > div {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
/* === 1列表示時: カード幅統一 + 中央揃え (< 960px) === */
@media screen and (max-width: 959px) {

/* === 3つの理由: 約束カードと同じ書式に統一 (< 960px) === */
@media screen and (max-width: 959px) {
  .kds-reasons-grid > div {
    display: block !important;
    padding: 24px !important;
    text-align: center !important;
  }
  .kds-reasons-grid > div > div:first-child {
    width: 48px !important;
    height: 48px !important;
    margin: 0 auto 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .kds-reasons-grid > div > div:first-child svg {
    width: 48px !important;
    height: 48px !important;
    opacity: 0.85;
  }
  .kds-reasons-grid > div > h3 {
    grid-column: auto !important;
    grid-row: auto !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 0 8px !important;
    text-align: center !important;
  }
  .kds-reasons-grid > div > p {
    grid-column: auto !important;
    grid-row: auto !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin: 0 !important;
    text-align: center !important;
  }
}


/* ===== KDS Design Improvements (2026-04-10) ===== */
/**
 * åç¥¥å¯ºæ¥å¸°ãæè¡ã¯ãªããã¯ ãã¶ã¤ã³æ¹åCSS
 * æ±äº¬Dã¿ã¯ã¼ãã¹ãã¿ã«åæã«åºã¥ãæ¹å
 * WordPress > å¤è¦³ > ãªã¹ã¿ãã¤ãº > è¿½å CSS ã«è²¼ãä»ã
 *
 * æ¹åãã¤ã³ã:
 * 1. ä¿¡é ¼æ°å¤ããã¼ï¼ãã¼ã­ã¼ä¸ï¼
 * 2. é¡§åå»å¸«ããã¸
 * 3. ãã¼ã­ã¼å¼·å
 * 4. CTAãã¤ã¯ã­ã³ãã¼
 * 5. è¨­åã»ã¯ã·ã§ã³
 * 6. æè¡å½æ¥ã¿ã¤ã ã©ã¤ã³
 * 7. å¨ä½çãªããªãã·ã¥
 */

/* ===================================================
   TRUST NUMBERS BARï¼ä¿¡é ¼æ°å¤ããã¼ï¼
   ãã¼ã­ã¼ç´ä¸ã«éç½®ããKPIè¡¨ç¤ºå¸¯
   =================================================== */
.kds-trust-bar {
  background: linear-gradient(135deg, #1a2e1a 0%, #2d4a2d 50%, #1a2e1a 100%);
  border-top: 1px solid rgba(201, 169, 98, 0.3);
  border-bottom: 1px solid rgba(201, 169, 98, 0.3);
  padding: 28px 20px;
  position: relative;
  overflow: hidden;
}

.kds-trust-bar::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 120px,
    rgba(201, 169, 98, 0.04) 120px,
    rgba(201, 169, 98, 0.04) 121px
  );
  pointer-events: none;
}

.kds-trust-bar__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

.kds-trust-bar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 36px;
  border-right: 1px solid rgba(201, 169, 98, 0.25);
  flex: 1;
  min-width: 140px;
}

.kds-trust-bar__item:last-child {
  border-right: none;
}

.kds-trust-bar__number {
  font-family: 'Noto Serif JP', serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #c9a962;
  line-height: 1;
  letter-spacing: -0.02em;
}

.kds-trust-bar__number span {
  font-size: 1.1rem;
  font-weight: 400;
  margin-left: 2px;
}

.kds-trust-bar__label {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 6px;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.4;
}

@media (max-width: 599px) {
  .kds-trust-bar__inner {
    gap: 0;
  }
  .kds-trust-bar__item {
    padding: 10px 16px;
    min-width: 80px;
    border-right: 1px solid rgba(201, 169, 98, 0.2);
    border-bottom: none;
  }
  .kds-trust-bar__number {
    font-size: 1.5rem;
  }
  .kds-trust-bar__label {
    font-size: 0.6rem;
  }
}

/* ===================================================
   ADVISOR BADGEï¼é¡§åå»å¸«ããã¸ï¼
   å»å¸«ç´¹ä»ã»ã¯ã·ã§ã³åã«è¿½å ããæ¨©å¨ã·ã°ãã«
   =================================================== */
.kds-advisor-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(201, 169, 98, 0.08);
  border: 1px solid rgba(201, 169, 98, 0.3);
  border-radius: 4px;
  padding: 12px 20px;
  margin-bottom: 20px;
}

.kds-advisor-badge__icon {
  width: 36px;
  height: 36px;
  background: rgba(201, 169, 98, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c9a962;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.kds-advisor-badge__text {
  font-size: 0.75rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
}

.kds-advisor-badge__name {
  font-size: 0.85rem;
  font-weight: 600;
  color: #c9a962;
  display: block;
}

/* ===================================================
   HERO ENHANCEMENTSï¼ãã¼ã­ã¼å¼·åï¼
   =================================================== */

/* æ£èãã«ã½ãã«ã¼ãï¼ããããªæ¹ã«ãããã¯ã¹ï¼ */
.kds-hero-persona {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-bottom: 28px;
}

.kds-hero-persona__item {
  display: flex;
  align-items: center;
  gap: 7px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 40px;
  padding: 6px 14px;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
}

.kds-hero-persona__item::before {
  content: 'â';
  color: #539651;
  font-weight: 700;
  font-size: 0.72rem;
}

/* CTAã®ãã¤ã¯ã­ã³ãã¼ */
.kds-cta-microcopy {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
  margin-top: 8px;
  letter-spacing: 0.05em;
}

/* ===================================================
   CREDENTIALS STRIPï¼è³æ ¼ããã¸ã¹ããªããï¼
   å»å¸«ç´¹ä»ç´ä¸ã«è³æ ¼ãæ¨ªä¸¦ã³ã§è¡¨ç¤º
   =================================================== */
.kds-credentials-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.kds-credential-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(83, 150, 81, 0.12);
  border: 1px solid rgba(83, 150, 81, 0.3);
  border-radius: 3px;
  padding: 4px 10px;
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.03em;
  line-height: 1.3;
}

.kds-credential-badge--gold {
  background: rgba(201, 169, 98, 0.1);
  border-color: rgba(201, 169, 98, 0.3);
  color: #c9a962;
}

/* ===================================================
   SURGICAL DAY TIMELINEï¼æè¡å½æ¥ã¿ã¤ã ã©ã¤ã³ï¼
   æ°è¦ã»ã¯ã·ã§ã³: æ¥é¢ããå¸°å®ã¾ã§
   =================================================== */
.kds-timeline {
  padding: 80px 20px;
  background: linear-gradient(180deg, #0a0f0a 0%, #111811 100%);
}

.kds-timeline__title {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
}

.kds-timeline__subtitle {
  text-align: center;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 56px;
  letter-spacing: 0.08em;
}

.kds-timeline__steps {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
}

/* ç¸¦ã©ã¤ã³ */
.kds-timeline__steps::before {
  content: '';
  position: absolute;
  left: 40px;
  top: 20px;
  bottom: 20px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(201, 169, 98, 0.4) 10%, rgba(201, 169, 98, 0.4) 90%, transparent);
}

.kds-timeline__step {
  display: flex;
  gap: 24px;
  margin-bottom: 0;
  position: relative;
}

.kds-timeline__step + .kds-timeline__step {
  margin-top: 8px;
}

.kds-timeline__dot-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 80px;
}

.kds-timeline__time {
  font-size: 0.65rem;
  color: #c9a962;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 600;
  margin-bottom: 6px;
}

.kds-timeline__dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #c9a962;
  border: 2px solid #c9a962;
  box-shadow: 0 0 12px rgba(201, 169, 98, 0.5);
  flex-shrink: 0;
}

.kds-timeline__dot--small {
  width: 10px;
  height: 10px;
  background: transparent;
  border-color: rgba(201, 169, 98, 0.4);
  box-shadow: none;
}

.kds-timeline__content {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 18px 22px;
  flex: 1;
  margin-bottom: 8px;
  transition: border-color 0.3s, background 0.3s;
}

.kds-timeline__content:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(201, 169, 98, 0.2);
}

.kds-timeline__step-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}

.kds-timeline__step-desc {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.6;
}

.kds-timeline__step-tag {
  display: inline-block;
  background: rgba(83, 150, 81, 0.2);
  border-radius: 3px;
  font-size: 0.62rem;
  color: #7bc47a;
  padding: 1px 7px;
  margin-left: 8px;
  vertical-align: middle;
}

@media (max-width: 599px) {
  .kds-timeline__steps::before {
    left: 32px;
  }
  .kds-timeline__dot-wrap {
    width: 64px;
  }
  .kds-timeline__step-title {
    font-size: 0.85rem;
  }
}

/* ===================================================
   EQUIPMENT SECTIONï¼å»çè¨­åã»ã¯ã·ã§ã³ï¼
   =================================================== */
.kds-equipment {
  padding: 72px 20px;
  background: #0d150d;
}

.kds-equipment__grid {
  max-width: 960px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 48px;
}

.kds-equipment__card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  padding: 24px 20px;
  text-align: center;
  transition: border-color 0.3s, transform 0.3s;
}

.kds-equipment__card:hover {
  border-color: rgba(201, 169, 98, 0.25);
  transform: translateY(-2px);
}

.kds-equipment__icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 14px;
  color: #c9a962;
  opacity: 0.85;
}

.kds-equipment__name {
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
}

.kds-equipment__desc {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.6;
}

@media (max-width: 767px) {
  .kds-equipment__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 499px) {
  .kds-equipment__grid {
    grid-template-columns: 1fr;
  }
}

/* ===================================================
   COMPARISON TABLEï¼æ¥å¸°ã vs å¥é¢ æ¯è¼è¡¨ï¼å¼·å
   =================================================== */
.kds-compare {
  max-width: 720px;
  margin: 0 auto;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.kds-compare__header {
  display: grid;
  grid-template-columns: 2fr 1.5fr 1.5fr;
  background: rgba(255, 255, 255, 0.04);
}

.kds-compare__header-cell {
  padding: 14px 20px;
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
}

.kds-compare__header-cell--highlight {
  background: rgba(83, 150, 81, 0.15);
  color: #7bc47a;
  border-left: 1px solid rgba(83, 150, 81, 0.2);
  border-right: 1px solid rgba(83, 150, 81, 0.2);
}

.kds-compare__row {
  display: grid;
  grid-template-columns: 2fr 1.5fr 1.5fr;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.kds-compare__row:hover {
  background: rgba(255, 255, 255, 0.02);
}

.kds-compare__cell {
  padding: 14px 20px;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kds-compare__cell--label {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.72rem;
  justify-content: flex-start;
}

.kds-compare__cell--highlight {
  background: rgba(83, 150, 81, 0.07);
  border-left: 1px solid rgba(83, 150, 81, 0.15);
  border-right: 1px solid rgba(83, 150, 81, 0.15);
  color: #fff;
  font-weight: 600;
}

.kds-compare__cell--bad {
  color: rgba(255, 255, 255, 0.35);
}

/* ===================================================
   CTA SECTION å¼·åï¼ãã¿ã³å¨ãã®å®å¿æåä¸ï¼
   =================================================== */
.kds-cta-trust-items {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 16px;
}

.kds-cta-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.55);
}

.kds-cta-trust-item::before {
  content: 'â';
  color: #539651;
  font-size: 0.65rem;
}

/* ===================================================
   SECTION HEADING SYSTEM çµ±ä¸
   =================================================== */
.kds-section-label {
  display: block;
  text-align: center;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  color: #c9a962;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-weight: 600;
}

.kds-section-title {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 8px;
}

.kds-section-lead {
  text-align: center;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.5);
  max-width: 500px;
  margin: 0 auto 56px;
  line-height: 1.7;
}

/* ===================================================
   FLOATING REVIEW SIGNALï¼å£ã³ãæºåï¼
   éé¢å¾ã«å£ã³ããè¡¨ç¤ºãããã¬ã¼ã¹ãã«ãã¼
   =================================================== */
.kds-review-strip {
  background: rgba(201, 169, 98, 0.06);
  border-top: 1px solid rgba(201, 169, 98, 0.15);
  border-bottom: 1px solid rgba(201, 169, 98, 0.15);
  padding: 20px;
  text-align: center;
}

.kds-review-strip__stars {
  color: #c9a962;
  font-size: 1.1rem;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 6px;
}

.kds-review-strip__text {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
}

.kds-review-strip__source {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 4px;
}

/* ===================================================
   REVEAL ANIMATION æ¡å¼µ
   =================================================== */
.kds-reveal-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.kds-reveal-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.kds-reveal-up:nth-child(2) { transition-delay: 0.1s; }
.kds-reveal-up:nth-child(3) { transition-delay: 0.2s; }
.kds-reveal-up:nth-child(4) { transition-delay: 0.3s; }

/* ===================================================
   STICKY BAR æ¹åï¼ãªã¤ã³ã³ + ã³ãã¼å¼·åï¼
   =================================================== */
@media (max-width: 959px) {
  .kds-sticky-bar__label {
    font-size: 0.6rem;
    display: block;
    opacity: 0.7;
    margin-bottom: 1px;
  }
}

/* ===================================================
   MOBILE HERO HEADLINE SIZE èª¿æ´
   =================================================== */
@media (max-width: 599px) {
  .kds-trust-bar__item {
    flex: 0 1 calc(50% - 1px);
  }
  .kds-trust-bar__item:nth-child(2) {
    border-right: none;
  }
}

/* ===================================================
   PRINT / REDUCED MOTION
   =================================================== */
@media (prefers-reduced-motion: reduce) {
  .kds-reveal-up {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* ===== Hero Fix: テキスト正中 + 重複CTA非表示 + アニメーション中央配置 ===== */

/* 1. Heroコンテナ: 1カラム中央配置 */
#kds-hero {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* 2. テキストDiv: 幅拡張して「へ。」孤立解消 + 中央配置 */
#kds-hero > div:nth-child(2) {
  max-width: 840px !important;
  width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* 3. 重複CTAカラム: 完全非表示 */
#kds-hero > div:nth-child(3) {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* 4. Canvas（DNAアニメーション）: 中央配置 */
#kds-hero > canvas,
#kds-canvas {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* 5. CTAボタン下のマイクロコピー中央配置 */
.kds-hero-cta {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-top: 28px !important;
}

/* 6. 電話リンク中央配置 */
.kds-hero-phone {
  text-align: center !important;
  margin-top: 12px !important;
}

/* 7. スクロール矢印: 中央固定 */
#kds-hero > div:last-child {
  left: 50% !important;
  transform: translateX(-50%) !important;
}
/* 1. テキストコンテナを広げて「へ。」の孤立を解消 */
#kds-hero > div:nth-child(2) {
  max-width: 840px !important;
}

/* 2. 右カラム（重複CTA+マイクロコピー）を非表示 → ヒーロー1カラム化 */
#kds-hero > div:nth-child(3) {
  display: none !important;
}

/* 3. CTAボタン下にマイクロコピーを中央配置 */
.kds-hero-cta::after {
  content: '予約は無料 · 診察のみ・相談のみでも歓迎しています';
  display: block;
  width: 100%;
  text-align: center;
  font-size: 0.8rem;
  color: #8a8a9e;
  letter-spacing: 0.04em;
  margin-top: 14px;
}

/* 4. 信頼バッジを横並びに */
.kds-trust-bar__inner {
  display: flex !important;
  justify-content: center !important;
  gap: 2.5rem !important;
  flex-wrap: wrap !important;
  text-align: center !important;
  padding: 1rem 0 !important;
}

.kds-trust-bar__item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
}

.kds-trust-bar__number {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: #539651 !important;
  line-height: 1.2 !important;
}

.kds-trust-bar__number span {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
}

.kds-trust-bar__label {
  font-size: 0.78rem !important;
  color: #6b7280 !important;
  line-height: 1.5 !important;
  margin-top: 4px !important;
}


/* =============================================
   CLS改善: ボックスメニュー画像のアスペクト比固定
   ============================================= */
/* ボックスメニューの画像コンテナにアスペクト比を設定してCLSを防止 */
.swell-block-box-menu__figure {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.swell-block-box-menu__figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* font-display: swap でフォント読み込み中のCLSを防止 */
@font-face {
  font-display: swap;
}

/* B案: Aqua Green × Champagne アクセントカラー */
.p-mainVisual + .wp-block-group .has-text-color,
.p-mainVisual + .wp-block-group .wp-block-column strong,
.p-mainVisual + .wp-block-group .is-style-big_num {
  color: #D4B876 !important;
}

.c-headLogo__text {
  color: #2B7568;
}

.swell-block-button a:hover,
.wp-block-button__link:hover {
  background-color: #2B7568 !important;
  opacity: 1;
}

hr.wp-block-separator {
  border-color: #D4B876 !important;
  opacity: 0.4;
}

.l-footer a:hover {
  color: #D4B876 !important;
}

/* ============================================================
   Design System v4
   Teal 1色 (#5DB8AA) + Gold 1色 (#C9A962) + Neutral grays
   ============================================================ */

:root {
  --kds-teal: #5DB8AA;
  --kds-gold: #C9A962;
  --kds-text: #2D3B38;
  --kds-text-sub: #6B7C77;
  --kds-bg: #FCFCFA;
  --kds-white: #FFFFFF;
  --kds-border: rgba(45,59,56,0.07);
  --kds-font-serif: "Noto Serif JP", serif;
  --kds-font-sans: "Noto Sans JP", sans-serif;
  --kds-radius-md: 6px;
  --kds-radius-lg: 8px;
  --kds-radius-xl: 12px;
  --kds-shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
  --kds-shadow-md: 0 4px 14px rgba(0,0,0,0.05);
  --kds-shadow-lg: 0 8px 24px rgba(0,0,0,0.06);
  --kds-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --color_text: #2D3B38 !important;
  --swl-font_weight: 400 !important;
}

.kds-section-label { font-size: 0.7rem !important; font-weight: 500 !important; letter-spacing: 0.08em !important; color: var(--kds-gold) !important; text-transform: uppercase !important; }
.kds-section-title { font-family: var(--kds-font-serif) !important; font-weight: 300 !important; letter-spacing: -0.02em !important; line-height: 1.2 !important; }
.kds-section-lead { font-weight: 400 !important; line-height: 1.8 !important; }
/* 本文タイポグラフィ（書体・太さ・行間・字間・色）はセクション14に統合。
   旧 !important 宣言5件をここから削除した。 */

.kds-hover-lift:hover { transform: translateY(-3px) !important; box-shadow: var(--kds-shadow-lg) !important; }
.kds-reasons-grid > div { background: var(--kds-white) !important; border: 1px solid var(--kds-border) !important; border-radius: var(--kds-radius-lg) !important; box-shadow: var(--kds-shadow-sm) !important; }
.kds-reasons-grid > div:hover { border-color: rgba(93,184,170,0.2) !important; box-shadow: var(--kds-shadow-md) !important; transform: translateY(-2px) !important; }
.tilt-glow { background: radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%), rgba(93,184,170,0.06) 0%, transparent 65%) !important; }
.post_content details > summary { border-radius: var(--kds-radius-md) !important; }
.post_content details > summary:hover { box-shadow: 0 0 0 1px rgba(93,184,170,0.15), var(--kds-shadow-sm) !important; transform: translateX(2px) !important; }

.kds-hero-cta__primary { background: var(--kds-teal) !important; box-shadow: var(--kds-shadow-md) !important; border-radius: var(--kds-radius-md) !important; font-weight: 500 !important; }
.kds-hero-cta__primary:hover { background: #4FA99C !important; box-shadow: var(--kds-shadow-lg) !important; transform: translateY(-1px) !important; }
.kds-hero-cta__secondary { background: transparent !important; backdrop-filter: none !important; border: 1px solid rgba(93,184,170,0.25) !important; border-radius: var(--kds-radius-md) !important; color: var(--kds-teal) !important; font-weight: 500 !important; }
.kds-hero-cta__secondary:hover { background: rgba(93,184,170,0.06) !important; }

.kds-sticky-bar { background: rgba(255,255,255,0.98) !important; border-top: 1px solid var(--kds-border) !important; box-shadow: 0 -1px 8px rgba(0,0,0,0.03) !important; }
.kds-sticky-bar__btn { background: var(--kds-teal) !important; border: none !important; border-radius: var(--kds-radius-md) !important; }

.kds-trust-bar { background: #F0EFEC !important; border-top: 1px solid rgba(0,0,0,0.06) !important; border-bottom: 1px solid rgba(0,0,0,0.06) !important; }
.kds-trust-bar__item { border-right-color: rgba(0,0,0,0.06) !important; }
.kds-trust-bar__number { font-weight: 300 !important; color: var(--kds-teal) !important; }
.kds-trust-bar__label { font-weight: 400 !important; letter-spacing: 0.08em !important; color: var(--kds-text-sub) !important; }

.kds-timeline { background: #F0EFEC !important; }
.kds-timeline .kds-section-title { color: var(--kds-text) !important; }
.kds-timeline .kds-section-label { color: var(--kds-gold) !important; }
.kds-timeline .kds-section-lead { color: var(--kds-text-sub) !important; }

.kds-clinic-wrapper { border-radius: var(--kds-radius-xl) !important; box-shadow: var(--kds-shadow-sm) !important; border: 1px solid var(--kds-border) !important; }
.kds-clinic-wrapper::before { background: radial-gradient(circle, rgba(201,169,98,0.03) 0%, transparent 70%) !important; }
.kds-clinic-wrapper::after { background: radial-gradient(circle, rgba(93,184,170,0.02) 0%, transparent 70%) !important; }

.kds-anim { transition: opacity 0.6s var(--kds-ease), transform 0.6s var(--kds-ease) !important; }
.kds-anim--up { transform: translateY(20px) !important; }
.kds-anim--left { transform: translateX(-20px) !important; }
.kds-anim--right { transform: translateX(20px) !important; }
.kds-anim--scale { transform: scale(0.96) !important; }
.is-style-btn_shiny a::after { animation: none !important; }

a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--kds-teal) !important; outline-offset: 2px !important; }


/* Fix: higher specificity for dark sections */
.post_content .kds-trust-bar,
body .kds-trust-bar,
.kds-trust-bar.kds-trust-bar { background: #F0EFEC !important; border-top: 1px solid rgba(0,0,0,0.06) !important; border-bottom: 1px solid rgba(0,0,0,0.06) !important; }
.post_content .kds-trust-bar .kds-trust-bar__number,
body .kds-trust-bar .kds-trust-bar__number { color: #5DB8AA !important; }
.post_content .kds-trust-bar .kds-trust-bar__label,
body .kds-trust-bar .kds-trust-bar__label { color: #6B7C77 !important; }
.post_content .kds-trust-bar .kds-trust-bar__item,
body .kds-trust-bar .kds-trust-bar__item { border-right-color: rgba(0,0,0,0.06) !important; }

.post_content .kds-timeline,
body .kds-timeline,
.kds-timeline.kds-timeline { background: #F0EFEC !important; }
.post_content .kds-timeline .kds-section-title,
.kds-timeline .kds-section-title { color: #2D3B38 !important; }
.post_content .kds-timeline .kds-section-lead,
.kds-timeline .kds-section-lead { color: #6B7C77 !important; }
.kds-timeline__steps::before { background: linear-gradient(transparent, rgba(93,184,170,0.2) 10%, rgba(93,184,170,0.2) 90%, transparent) !important; }


/* Force override: highest specificity for dark sections */
body .l-content .post_content .kds-trust-bar,
html body .kds-trust-bar {
  background: #F0EFEC !important;
  background-image: none !important;
  border-top: 1px solid rgba(0,0,0,0.06) !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}
body .l-content .post_content .kds-trust-bar .kds-trust-bar__number,
html body .kds-trust-bar .kds-trust-bar__number {
  color: #5DB8AA !important;
}
body .l-content .post_content .kds-trust-bar .kds-trust-bar__label,
html body .kds-trust-bar .kds-trust-bar__label {
  color: #6B7C77 !important;
}
body .l-content .post_content .kds-timeline,
html body .kds-timeline {
  background: #F0EFEC !important;
  background-image: none !important;
}
html body .kds-timeline .kds-section-title { color: #2D3B38 !important; }
html body .kds-timeline .kds-section-lead { color: #6B7C77 !important; }


/* Disease illustration cards: compact grid */
.swell-block-box-menu__inner {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 12px !important;
}
.swell-block-box-menu__item[data-icon-type="img"] {
  width: 100% !important;
  height: auto !important;
}
.swell-block-box-menu__item[data-icon-type="img"] .swell-block-box-menu__figure {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
}
.swell-block-box-menu__item[data-icon-type="img"] .swell-block-box-menu__figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
@media (max-width: 767px) {
  .swell-block-box-menu__inner {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }
}
@media (max-width: 480px) {
  .swell-block-box-menu__inner {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}


/* Disease illustration cards: compact flex layout (SWELL native) */
.swell-block-box-menu .swell-block-box-menu__inner {
  display: flex !important;
  flex-wrap: wrap !important;
}
.swell-block-box-menu__item[data-icon-type="img"] {
  width: var(--the-box-width--pc, 20%) !important;
  max-width: var(--the-box-width--pc, 20%) !important;
  flex: 0 0 var(--the-box-width--pc, 20%) !important;
}
.swell-block-box-menu__item[data-icon-type="img"] .swell-block-box-menu__figure {
  aspect-ratio: 1 / 1 !important;
  max-height: 200px !important;
}
.swell-block-box-menu__item[data-icon-type="img"] .swell-block-box-menu__figure img {
  object-fit: contain !important;
  max-height: 200px !important;
}
@media (max-width: 959px) {
  .swell-block-box-menu__item[data-icon-type="img"] {
    width: var(--the-box-width--tab, 33.33%) !important;
    max-width: var(--the-box-width--tab, 33.33%) !important;
    flex: 0 0 var(--the-box-width--tab, 33.33%) !important;
  }
}
@media (max-width: 599px) {
  .swell-block-box-menu__item[data-icon-type="img"] {
    width: var(--the-box-width--mb, 50%) !important;
    max-width: var(--the-box-width--mb, 50%) !important;
    flex: 0 0 var(--the-box-width--mb, 50%) !important;
  }
}


/* Fix: Disease cards - force flex layout despite perspective */
html body .swell-block-box-menu .swell-block-box-menu__inner {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--the-gap, 12px) !important;
}
html body .swell-block-box-menu__item[data-icon-type="img"] {
  perspective: 800px;
  width: calc(var(--the-box-width--pc, 20%) - var(--the-gap, 12px)) !important;
  flex: 0 0 calc(var(--the-box-width--pc, 20%) - var(--the-gap, 12px)) !important;
  max-width: calc(var(--the-box-width--pc, 20%) - var(--the-gap, 12px)) !important;
  height: auto !important;
}
html body .swell-block-box-menu__item[data-icon-type="img"] .swell-block-box-menu__link {
  padding: 0 !important;
}
html body .swell-block-box-menu__item[data-icon-type="img"] .swell-block-box-menu__figure {
  max-height: 180px !important;
  overflow: hidden !important;
}
html body .swell-block-box-menu__item[data-icon-type="img"] .swell-block-box-menu__figure img {
  max-height: 180px !important;
  object-fit: contain !important;
}
@media (max-width: 959px) {
  html body .swell-block-box-menu__item[data-icon-type="img"] {
    width: calc(var(--the-box-width--tab, 33.33%) - var(--the-gap, 12px)) !important;
    flex: 0 0 calc(var(--the-box-width--tab, 33.33%) - var(--the-gap, 12px)) !important;
    max-width: calc(var(--the-box-width--tab, 33.33%) - var(--the-gap, 12px)) !important;
  }
}
@media (max-width: 599px) {
  html body .swell-block-box-menu__item[data-icon-type="img"] {
    width: calc(var(--the-box-width--mb, 50%) - var(--the-gap, 12px)) !important;
    flex: 0 0 calc(var(--the-box-width--mb, 50%) - var(--the-gap, 12px)) !important;
    max-width: calc(var(--the-box-width--mb, 50%) - var(--the-gap, 12px)) !important;
  }
}


/* ==========================================================
   「放っておくと怖いことも」セクション 重症度勾配＋スクロール駆動
   ========================================================== */
.kds-danger-flow .kds-danger-card.is-blue { background: #FFFBEB !important; border-color: #F0C040 !important; }
.kds-danger-flow .kds-danger-card.is-blue .kds-danger-badge { background: #F0C040 !important; color: #4A3500 !important; }
.kds-danger-flow .kds-danger-card.is-blue .kds-danger-title { color: #8C6400 !important; }
.kds-danger-flow .kds-danger-card.is-yellow { background: #FFF3E0 !important; border-color: #E68228 !important; }
.kds-danger-flow .kds-danger-card.is-yellow .kds-danger-badge { background: #E68228 !important; color: #FFFFFF !important; }
.kds-danger-flow .kds-danger-card.is-yellow .kds-danger-title { color: #AA500A !important; }
.kds-danger-flow .kds-danger-card.is-blue   img { border-color: #F0C040 !important; }
.kds-danger-flow .kds-danger-card.is-yellow img { border-color: #E68228 !important; }
.kds-danger-flow .kds-danger-card.is-green { border-width: 1px !important; box-shadow: none !important; opacity: 0.92; }
.kds-danger-flow .kds-danger-card.is-blue   { box-shadow: 0 2px 6px  rgba(240,192,64,0.18); }
.kds-danger-flow .kds-danger-card.is-yellow { box-shadow: 0 4px 12px rgba(230,130,40,0.22); }
.kds-danger-flow .kds-danger-card.is-red    { box-shadow: 0 6px 18px rgba(208, 64,64,0.30); }

.kds-danger-flow .kds-danger-card {
  animation: kdsCardReveal linear both;
  animation-timeline: view();
  animation-range: entry 0% entry 100%;
}
@keyframes kdsCardReveal { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }

.kds-danger-arrow {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 auto !important;
  padding: 14px 24px !important;
  max-width: 360px !important;
  border-radius: 999px !important;
  position: relative !important;
  overflow: hidden !important;
}
.kds-danger-arrow svg { display: block !important; }
.kds-danger-arrow svg path { stroke: currentColor !important; }
.kds-danger-arrow svg {
  animation: kdsScrollDescend linear both;
  animation-timeline: view();
  animation-range: entry 10% cover 50%;
}
@keyframes kdsScrollDescend { 0% { transform: translateY(-12px); opacity: 0.3; } 50% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(12px); opacity: 0.7; } }

.kds-danger-arrow:has(~ .kds-danger-card.is-blue):not(:has(~ .kds-danger-arrow ~ .kds-danger-card.is-blue)) {
  color: #F0C040 !important;
  background: linear-gradient(180deg, rgba(58,125,68,0.10) 0%, rgba(240,192,64,0.20) 100%) !important;
}
.kds-danger-arrow:has(~ .kds-danger-card.is-blue):not(:has(~ .kds-danger-arrow ~ .kds-danger-card.is-blue)) svg { width: 48px !important; height: 48px !important; }
.kds-danger-arrow:has(~ .kds-danger-card.is-blue):not(:has(~ .kds-danger-arrow ~ .kds-danger-card.is-blue))::after {
  content: "数か月〜数年でゆっくり進行";
  font-size: 13px; font-weight: 600; color: #8C6400; letter-spacing: 0.02em;
}

.kds-danger-arrow:has(~ .kds-danger-card.is-yellow):not(:has(~ .kds-danger-arrow ~ .kds-danger-card.is-yellow)) {
  color: #E68228 !important;
  background: linear-gradient(180deg, rgba(240,192,64,0.20) 0%, rgba(230,130,40,0.28) 100%) !important;
}
.kds-danger-arrow:has(~ .kds-danger-card.is-yellow):not(:has(~ .kds-danger-arrow ~ .kds-danger-card.is-yellow)) svg { width: 60px !important; height: 60px !important; }
.kds-danger-arrow:has(~ .kds-danger-card.is-yellow):not(:has(~ .kds-danger-arrow ~ .kds-danger-card.is-yellow))::after {
  content: "ある日突然 戻らなくなる";
  font-size: 14px; font-weight: 700; color: #AA500A; letter-spacing: 0.02em;
}

.kds-danger-arrow:has(~ .kds-danger-card.is-red):not(:has(~ .kds-danger-arrow ~ .kds-danger-card.is-red)) {
  color: #D04040 !important;
  background: linear-gradient(180deg, rgba(230,130,40,0.28) 0%, rgba(208,64,64,0.40) 100%) !important;
  animation: kdsUrgentRing 1.4s ease-in-out infinite;
}
.kds-danger-arrow:has(~ .kds-danger-card.is-red):not(:has(~ .kds-danger-arrow ~ .kds-danger-card.is-red)) svg { width: 76px !important; height: 76px !important; }
.kds-danger-arrow:has(~ .kds-danger-card.is-red):not(:has(~ .kds-danger-arrow ~ .kds-danger-card.is-red))::after {
  content: "数時間で腸が壊死しはじめる";
  font-size: 15px; font-weight: 800; color: #B22222; letter-spacing: 0.04em;
}
@keyframes kdsUrgentRing { 0%, 100% { box-shadow: 0 0 0 0 rgba(208,64,64,0.45); } 50% { box-shadow: 0 0 0 14px rgba(208,64,64,0); } }

@media (prefers-reduced-motion: reduce) {
  .kds-danger-flow .kds-danger-card,
  .kds-danger-arrow,
  .kds-danger-arrow svg { animation: none !important; opacity: 1 !important; transform: none !important; }
}


/* ============================================
   LP タイポグラフィ・視覚バランス改善
   対象: 渡航ワクチンLP (.lp-content)
   更新: 2026-05-07
============================================ */

/* --- 本文の行間・字間を読みやすく --- */
.lp-content__postContent.post_content > .wp-block-html p,
.lp-content__postContent.post_content > p {
  line-height: 1.9 !important;
  letter-spacing: 0.02em;
}

/* --- カスタムHTMLブロック内の行間 --- */
.lp-content__postContent .wp-block-html {
  line-height: 1.85;
}

/* --- CTA透過度（右フロートの被り軽減） --- */
.kds-side-cta {
  opacity: 0.92;
}

/* --- セクション間余白 --- */
.lp-content__postContent > .wp-block-html + .wp-block-html {
  margin-top: 2em;
}

/* --- モバイル最適化 (600px以下) --- */
@media (max-width: 600px) {
  .lp-content__postContent.post_content > p {
    font-size: 15px !important;
    line-height: 1.85 !important;
  }
  .lp-content__postContent h2 {
    font-size: 22px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.01em;
  }
  .lp-content__postContent h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
  /* LP全体にCTA分の右余白を確保 */
  .lp-content {
    padding-right: 64px !important;
  }
  /* サイドCTAを縮小・半透明化 */
  .kds-side-cta {
    transform: scale(0.75);
    transform-origin: right center;
    opacity: 0.8;
  }
}

/* --- タブレット CTA重なり防止 (601-1100px) --- */
@media (min-width: 601px) and (max-width: 1100px) {
  .lp-content {
    padding-right: 80px !important;
  }
}

}
/* ↑ 704行目の未閉鎖 @media (max-width:959px) をここで閉じる。
   この閉じ括弧を消すと以下のCSSがすべて無効化されます。削除禁止。 */
/* ============================================================
   P0 デザイン修正パック  2026-07-28
   ※ 追加CSSより後に読み込まれるCSSがあるため !important 必須
   ============================================================ */

/* ---- 1. 下部固定バー：予約を主役にする ---- */
@media screen and (max-width: 767px) {
  #kds-sticky-bar.kds-sticky-bar {
    padding: 8px 10px !important;
    padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
    gap: 6px !important;
  }
  #kds-sticky-bar .kds-sticky-bar__tel,
  #kds-sticky-bar .kds-sticky-bar__line,
  #kds-sticky-bar .kds-sticky-bar__btn {
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    min-height: 60px !important;
    padding: 8px 4px !important;
    gap: 4px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
  }
  /* 予約＝最も濃く・最も広く（白文字で 5.21:1／WCAG AA適合） */
  #kds-sticky-bar .kds-sticky-bar__btn {
    flex: 1.5 !important;
    background: #3A7A3D !important;
    background-image: none !important;
    border: none !important;
    box-shadow: 0 2px 10px rgba(58,122,61,.35) !important;
    font-size: 14px !important;
  }
  /* 電話＝白地・濃緑文字（5.21:1） */
  #kds-sticky-bar .kds-sticky-bar__tel {
    flex: 1 !important;
    background: #fff !important;
    color: #3A7A3D !important;
    border: 1.5px solid rgba(58,122,61,.45) !important;
  }
  #kds-sticky-bar .kds-sticky-bar__tel svg {
    stroke: #3A7A3D !important;
    width: 20px !important;
    height: 20px !important;
  }
  /* LINE＝補助（面積を予約より小さく保つ） */
  #kds-sticky-bar .kds-sticky-bar__line {
    flex: 1 !important;
    background: #06C755 !important;
    border: none !important;
  }
  #kds-sticky-bar .kds-sticky-bar__line svg {
    width: 20px !important;
    height: 20px !important;
  }
}

/* ---- 2. モバイルの極小文字を底上げ（実測10〜12pxの箇所） ---- */
@media screen and (max-width: 767px) {
  .kds-hero-cta__primary,
  .kds-hero-cta__secondary {
    font-size: 16px !important;
    min-height: 52px !important;
    padding: 15px 22px !important;
  }
  .kds-hero-phone            { font-size: 13px !important; }
  .kds-timeline__time        { font-size: 13px !important; }
  .kds-timeline__step-title  { font-size: 15px !important; }
  .kds-timeline__step-desc   { font-size: 14px !important; line-height: 1.75 !important; }
  .khs-sym-card__hint        { font-size: 13px !important; line-height: 1.7 !important; }
  .khs-triage__telbtn        { font-size: 14px !important; }
  .kds-micro-cta             { font-size: 14px !important; }
  .post_content .wp-block-list.u-fz-xs {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }
}

/* ---- 3. 疾患ページの右サイドレールを撤去（常設CTAを下部バー1本に統一） ---- */
@media screen and (max-width: 1100px) {
  .kds-side-cta { display: none !important; }
  .lp-content   { padding-right: 0 !important; }
}

/* ---- 4. FAQ・医師紹介に開閉サインを付ける ---- */
.post_content details > summary {
  list-style: none !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding-right: 46px !important;
}
.post_content details > summary::-webkit-details-marker { display: none !important; }
.post_content details > summary::after {
  content: "" !important;
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  margin-top: -7px !important;
  border-right: 2px solid #3A7A3D !important;
  border-bottom: 2px solid #3A7A3D !important;
  transform: rotate(45deg) !important;
  transition: transform .25s ease !important;
}
.post_content details[open] > summary::after {
  margin-top: -3px !important;
  transform: rotate(-135deg) !important;
}
/* 医師紹介の見出しに入っている「◆」を隠す */
.post_content details > summary > strong > span[style*="c9a962"] {
  display: none !important;
}

/* ---- 5. トップの4数値を 2×2 に（3＋1の折り返しを解消） ---- */
@media screen and (max-width: 599px) {
  body .kds-trust-bar {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
  body .kds-trust-bar__item {
    border-right: none !important;
    border-bottom: 1px solid rgba(0,0,0,.06) !important;
    min-width: 0 !important;
    padding: 14px 8px !important;
  }
  body .kds-trust-bar__item:nth-child(2n) {
    border-left: 1px solid rgba(0,0,0,.06) !important;
  }
  body .kds-trust-bar__item:nth-last-child(-n+2) {
    border-bottom: none !important;
  }
  body .kds-trust-bar__number { font-size: 1.9rem !important; }
}

/* ============================================================
   P0 デザイン修正パック  ここまで
   ============================================================ */

/* ---- 2b. rem指定の子要素を直接狙う（親指定では効かないため） ---- */
@media screen and (max-width: 767px) {
  .kds-micro-cta a                          { font-size: 14px !important; }
  .kds-hero-phone a                         { font-size: 13px !important; }
  .khs-triage__telbtn span                  { font-size: 14px !important; }
  .post_content .wp-block-list.u-fz-xs li   { font-size: 13px !important; }
}

/* ---- 5b. 【5番の修正】gridは section ではなく __inner に当てる ---- */
@media screen and (max-width: 599px) {
  body .kds-trust-bar { display: block !important; }
  body .kds-trust-bar__inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
  }
  body .kds-trust-bar__item {
    flex: 0 0 auto !important;
    width: auto !important;
  }
}

/* ---- 1b. 疾患ページの固定バー（.kds-dbar）をトップと同じ優先順位に ---- */
@media screen and (max-width: 767px) {
  .kds-dbar { padding: 8px 12px !important; gap: 8px !important; }
  .kds-dbar__tel,
  .kds-dbar__btn {
    min-height: 60px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
  }
  /* WEB予約＝最も濃く・最も広く（白文字 5.21:1／AA適合） */
  .kds-dbar__btn {
    flex: 1.6 1 0 !important;
    background: #3A7A3D !important;
    background-image: none !important;
    border: none !important;
    box-shadow: 0 2px 10px rgba(58,122,61,.35) !important;
    font-size: 14px !important;
  }
  /* 電話＝白地・濃緑文字（3.59:1 → 5.21:1） */
  .kds-dbar__tel {
    flex: 1 1 0 !important;
    background: #fff !important;
    color: #3A7A3D !important;
    border: 1.5px solid rgba(58,122,61,.45) !important;
  }
}

/* ---- 6. ヒーローCTAのコントラスト是正（全幅） ---- */
.kds-hero-cta__primary {
  background: #3A7A3D !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(58,122,61,.30) !important;
}
.kds-hero-cta__primary:hover { background: #2F6532 !important; }
.kds-hero-cta__secondary {
  background: #FFFFFF !important;
  color: #2D3B38 !important;
  border: 1.5px solid rgba(58,122,61,.45) !important;
}
.kds-hero-cta__secondary:hover { background: rgba(58,122,61,.06) !important; }

/* ---- 7. スマホ開閉メニュー下のCTAブロック ---- */
.kds-drawer-cta { padding: 20px 16px 28px; }
.kds-drawer-cta__main {
  display: flex; align-items: center; justify-content: center;
  min-height: 56px; margin-bottom: 10px;
  background: #3A7A3D; color: #fff; font-size: 16px; font-weight: 700;
  border-radius: 8px; text-decoration: none;
  box-shadow: 0 2px 10px rgba(58,122,61,.30);
}
.kds-drawer-cta__row { display: flex; gap: 10px; margin-bottom: 20px; }
.kds-drawer-cta__sub {
  flex: 1; display: flex; align-items: center; justify-content: center;
  min-height: 48px; background: #fff; color: #3A7A3D;
  font-size: 14px; font-weight: 700; border-radius: 8px;
  border: 1.5px solid rgba(58,122,61,.45); text-decoration: none;
}
.kds-drawer-cta__hours { margin: 0 0 14px; font-size: 14px; line-height: 1.7; }
.kds-drawer-cta__hours dt {
  font-size: 12px; font-weight: 700; letter-spacing: .06em;
  color: #6B7C77; margin-top: 10px;
}
.kds-drawer-cta__hours dd { margin: 2px 0 0; color: #2D3B38; }
.kds-drawer-cta__hours dd span {
  display: block; font-size: 12px; color: #6B7C77; margin-top: 2px;
}
.kds-drawer-cta__note {
  margin: 0; padding-top: 14px; border-top: 1px solid rgba(45,59,56,.08);
  font-size: 12px; line-height: 1.7; color: #6B7C77;
}

/* ---- 9. 監修者表記（上部チップ＋末尾ボックス） ---- */
.post_content .kds-byline {
  margin: 0 0 1.6em !important; padding: 10px 14px !important;
  background: rgba(83,150,81,.05); border-left: 3px solid #539651;
  border-radius: 4px; font-size: 13px !important; line-height: 1.6 !important;
  color: #2D3B38 !important;
}
.post_content .kds-byline strong { font-weight: 700; }
.kds-byline__link { margin-left: .6em; color: #3A7A3D; font-weight: 700; white-space: nowrap; }
.kds-byline__link::after { content: " ›"; }
.kds-author-box {
  margin: 3em 0 1em; padding: 20px 22px;
  background: #F8F9F6; border: 1px solid rgba(45,59,56,.08); border-radius: 8px;
}
.kds-author-box__label {
  margin: 0 0 10px !important; font-size: 12px !important; font-weight: 700;
  letter-spacing: .08em; color: #6B7C77 !important;
}
.kds-author-box__name {
  margin: 0 0 4px !important; font-size: 15px !important; font-weight: 700;
  color: #2D3B38 !important; line-height: 1.6 !important;
}
.kds-author-box__ref,
.kds-author-box__date {
  margin: 8px 0 0 !important; font-size: 12px !important;
  line-height: 1.7 !important; color: #6B7C77 !important;
}
.kds-author-box__link {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 16px; min-height: 48px; padding: 0 22px;
  background: #fff; color: #3A7A3D; font-size: 14px; font-weight: 700;
  border: 1.5px solid rgba(58,122,61,.45); border-radius: 8px; text-decoration: none;
}

/* ---- 9b. 開院前の注記 ---- */
.kds-author-box__notice {
  margin: 12px 0 0 !important; padding: 10px 12px;
  background: rgba(201,169,98,.12); border-radius: 4px;
  font-size: 12px !important; line-height: 1.7 !important; color: #5C4E24 !important;
}

/* ---- 9c. 詳細度の修正（.post_content p の !important に負けていたため） ---- */
.post_content .kds-author-box__label,
.post_content .kds-author-box__ref,
.post_content .kds-author-box__date {
  color: #6B7C77 !important;
  line-height: 1.7 !important;
}
.post_content .kds-author-box__name {
  color: #2D3B38 !important;
  line-height: 1.6 !important;
}
.post_content .kds-author-box__notice {
  color: #5C4E24 !important;
  line-height: 1.7 !important;
}

/* ---- 10. ドロワー下部CTA（ナビメニュー版） ---- */
.w-spMenuBottom .widget_nav_menu ul {
  list-style: none; margin: 0; padding: 20px 16px 28px;
  display: flex; flex-wrap: wrap; gap: 10px;
}
.w-spMenuBottom .widget_nav_menu li { margin: 0; }
.w-spMenuBottom .widget_nav_menu li a {
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; border-radius: 8px; font-weight: 700;
}
.w-spMenuBottom .kds-cta-main { flex: 0 0 100%; }
.w-spMenuBottom .kds-cta-main a {
  min-height: 56px; background: #3A7A3D; color: #fff; font-size: 16px;
  box-shadow: 0 2px 10px rgba(58,122,61,.30);
}
.w-spMenuBottom .kds-cta-sub { flex: 1 1 0; }
.w-spMenuBottom .kds-cta-sub a {
  min-height: 48px; background: #fff; color: #3A7A3D; font-size: 14px;
  border: 1.5px solid rgba(58,122,61,.45);
}
/* ---- 11. フッター復旧：SWELLウィジェットラッパーの無効化 ---- */
.l-footer__widgetArea { padding: 0 !important; margin: 0 !important; }
.l-footer__widgetArea .l-container.w-footer {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}
.l-footer__widgetArea .w-footer__box {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.l-footer__widgetArea .c-widget,
.l-footer__widgetArea .widget_custom_html,
.l-footer__widgetArea .textwidget {
  margin: 0 !important;
  padding: 0 !important;
}
.l-footer__widgetArea .c-widget__title { display: none !important; }
/* ---- 12. フッター遅延読込キャッシュが古いプローブを返す件の暫定対処 ---- */
/* SWELLの .l-footer__inner が凍結しており、ウィジェット差し替えが反映されない。 */
/* キャッシュが更新されて正しいフッターが出れば、このルールは自動的に無効化される。 */
#kds-footer-probe { display: none !important; }
/* ---- 13. タイポグラフィ・デザイントークン（第1段階：定義のみ／適用なし） ---- */
/* この段階では :root に変数を定義するだけで、どの要素にも適用しない。 */
/* したがって見た目の変化はゼロ。第2段階以降でこのトークンを参照して適用する。 */
/* 比率1.25の等比スケール。下限は可読性の下限12pxを死守する。 */
:root {
  --kds-fs-caption: clamp(12px, 3.2vw, 13px);
  --kds-fs-small:   clamp(13px, 3.5vw, 14px);
  --kds-fs-body:    clamp(15px, 4.1vw, 16px);
  --kds-fs-lead:    clamp(16px, 4.6vw, 18px);
  --kds-fs-h3:      clamp(17px, 5.0vw, 20px);
  --kds-fs-h2:      clamp(20px, 6.0vw, 26px);
  --kds-fs-h1:      clamp(24px, 7.4vw, 34px);
  --kds-lh-tight:   1.4;
  --kds-lh-normal:  1.6;
  --kds-lh-relaxed: 1.8;
  --kds-ls-normal:  0.02em;
  --kds-ls-heading: 0.01em;
  --kds-fw-body:    400;
  --kds-fw-heading: 600;
}

/* ---- 13-b. 色・書体トークンのグローバル昇格 ---- */
/* これらのトークンは :root に定義されているが、その :root が
   @media screen and (max-width: 959px) の内側にあるため、
   960px以上では全て未定義になっていた（＝デスクトップでは
   本文色と見出し書体が別物になっていた原因）。
   値は @max-959 の定義と完全に同一なので、959px以下の表示は変わらない。 */
:root {
  --kds-text: #2D3B38;
  --kds-font-serif: "Noto Serif JP", serif;
}

/* ---- 14. タイポスケール正規化（本文ページ・セクション13トークン適用） ---- */
/* 本文タイポグラフィの唯一の権威。原則 !important を使わない。
   統合元: @max-959 の .post_content / h2 / h3 の !important 宣言5件、
           @max-599 の p / h2 / h3 のサイズ指定。
   副作用として、959px 境界で本文色（#1a1a2e ⇔ #2D3B38）と
   h3 の書体（sans ⇔ serif）が切り替わっていた不整合も解消される。
   除外: ホーム(LP)、SWELLブロック見出し、FAQ見出し。 */

body:not(.home) {
  --swl-fz--content: var(--kds-fs-body);
}

body:not(.home) .post_content {
  color: var(--kds-text);
  font-weight: var(--kds-fw-body);
  line-height: var(--kds-lh-relaxed);
}

body:not(.home) .post_content p:not([class]),
body:not(.home) .post_content li:not([class]),
body:not(.home) .post_content ul:not(.p-toc__list) > li:not([class]),
body:not(.home) .post_content ol:not(.p-toc__list) > li:not([class]) {
  font-size: inherit;
  line-height: var(--kds-lh-relaxed);
  letter-spacing: var(--kds-ls-normal);
}

body:not(.home) .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  font-family: var(--kds-font-serif);
  font-size: var(--kds-fs-h2);
  font-weight: 700;
  line-height: var(--kds-lh-tight);
  letter-spacing: var(--kds-ls-heading);
  color: var(--kds-text);
}

body:not(.home) .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  font-family: var(--kds-font-serif);
  font-size: var(--kds-fs-h3);
  font-weight: var(--kds-fw-heading);
  line-height: var(--kds-lh-tight);
  letter-spacing: var(--kds-ls-heading);
  color: var(--kds-text);
}

body:not(.home) .post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  font-size: var(--kds-fs-lead);
  font-weight: var(--kds-fw-heading);
  line-height: var(--kds-lh-tight);
  letter-spacing: var(--kds-ls-heading);
  color: var(--kds-text);
}

/* 頁個別のSWELLカスタムCSSが #top_title_area に !important で 24px/34px を
   固定しているため、この1宣言のみ !important が必要。
   当該頁のSWELL個別CSSを外せばこれも撤去できる。 */
body:not(.home) #top_title_area .c-pageTitle {
  font-size: var(--kds-fs-h1) !important;
  font-weight: 700;
  line-height: var(--kds-lh-tight);
  letter-spacing: var(--kds-ls-heading);
}

/* ---- 15. 余白リズムの統一（8pxグリッド） ---- */
/* 従来は 16 / 17.28 / 18 / 19.2 / 24 / 32 / 36 / 40 / 48 / 48.72px が混在し、
   さらに h4 の上余白(36px)が h3 の上余白(32px)より大きく階層が逆転していた。
   8pxグリッドのトークンに統一し、見出しは「上を広く・下を狭く」して
   直後の本文と視覚的に結びつける。ブロック間は 24/32/48px の3段階に整理。 */

:root {
  --kds-sp-1: 4px;
  --kds-sp-2: 8px;
  --kds-sp-3: 16px;
  --kds-sp-4: 24px;
  --kds-sp-5: 32px;
  --kds-sp-6: 40px;
  --kds-sp-7: 48px;
  --kds-sp-8: 64px;
}

body:not(.home) .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  margin-top: var(--kds-sp-7);
  margin-bottom: var(--kds-sp-4);
}

body:not(.home) .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  margin-top: var(--kds-sp-6);
  margin-bottom: var(--kds-sp-3);
}

body:not(.home) .post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  margin-top: var(--kds-sp-4);
  margin-bottom: var(--kds-sp-2);
}

body:not(.home) .post_content > :first-child {
  margin-top: 0;
}

body:not(.home) .post_content p:not([class]),
body:not(.home) .post_content > ul.wp-block-list,
body:not(.home) .post_content > ol.wp-block-list {
  margin-top: 0;
  margin-bottom: var(--kds-sp-4);
}

/* 段落系コンポーネントもグリッドに乗せる（.kds-byline は
   セクション9で !important 指定のコンポーネント余白なので対象外） */
body:not(.home) .post_content > p.kds-geo-summary,
body:not(.home) .post_content > p.has-text-align-center {
  margin-bottom: var(--kds-sp-4);
}

body:not(.home) .post_content > figure.wp-block-table,
body:not(.home) .post_content > blockquote.wp-block-quote,
body:not(.home) .post_content > .kds-visual {
  margin-top: var(--kds-sp-5);
  margin-bottom: var(--kds-sp-5);
}

body:not(.home) .post_content > .wp-block-group,
body:not(.home) .post_content > .wp-block-columns,
body:not(.home) .post_content > hr.wp-block-separator {
  margin-top: var(--kds-sp-7);
  margin-bottom: var(--kds-sp-7);
}

/* FAQ（details/summary）もトークンに乗せる */
body:not(.home) .post_content .wp-block-details summary {
  font-family: var(--kds-font-serif);
  font-weight: var(--kds-fw-heading);
  letter-spacing: var(--kds-ls-heading);
  line-height: var(--kds-lh-tight);
  color: var(--kds-text);
}

/* ---- 16. 日本語の改行制御（不自然な行分割の解消） ---- */
/* 「手術費／用」のように文節の途中で割れる、英単語が1行に取り残される、
   行頭に句読点や小書き仮名が来る、といった崩れを解消する。
   word-break:auto-phrase と text-wrap は非対応ブラウザでは無視され、
   従来どおりの折り返しになるだけで副作用はない。 */

body:not(.home) .c-pageTitle,
body:not(.home) .post_content h2,
body:not(.home) .post_content h3,
body:not(.home) .post_content h4 {
  word-break: auto-phrase;
  overflow-wrap: break-word;
  line-break: strict;
  text-wrap: balance;
}

/* リード文・要約文は短く目立つため文節折り返しを適用する
   （長い本文段落は右端が過度に不揃いになるため対象外） */
body:not(.home) .l-topTitleArea p,
body:not(.home) .c-pageExcerpt,
body:not(.home) .post_content > p.kds-geo-summary,
body:not(.home) .post_content > p.has-text-align-center {
  word-break: auto-phrase;
}

body:not(.home) .l-topTitleArea p,
body:not(.home) .c-pageExcerpt,
body:not(.home) .post_content p,
body:not(.home) .post_content li,
body:not(.home) .post_content dd,
body:not(.home) .post_content td,
body:not(.home) .post_content th {
  overflow-wrap: break-word;
  line-break: strict;
  text-wrap: pretty;
}

/* ==================================================
   虫垂ページ 解剖イラスト注釈（図1・図2）  kds-fig
   ================================================== */
.kds-fig{margin:2.2em 0 2.6em}
.kds-fig figcaption.kds-fig__ttl{display:block;text-align:left;font-size:1.02em;font-weight:700;color:#2d3b38;line-height:1.6;margin:0 0 .75em;padding:.05em 0 .05em .7em;border-left:5px solid #3a9e8f}
.kds-fig .kds-fig__stage{position:relative;width:100%;overflow:hidden;border:1px solid #e4e8e6;border-radius:10px;background:#fff;line-height:0}
.kds-fig .kds-fig__stage>img{display:block;width:100%;height:auto;margin:0;border-radius:0}
.kds-fig .kds-fig__pin{position:absolute;z-index:5;transform:translate(-50%,-50%);white-space:nowrap;font-size:clamp(9.5px,1.3vw,15px);font-weight:700;line-height:1;color:#20544a;background:rgba(255,255,255,.93);border:1.5px solid #3a9e8f;border-radius:999px;padding:.45em .85em;box-shadow:0 1px 5px rgba(0,0,0,.22)}
.kds-fig .kds-fig__pin--key{color:#fff;background:#2b7568;border-color:#1e5a4e}
.kds-fig .kds-fig__pin--mb{color:#7a5410;border-color:#c0a068}
.kds-fig .kds-fig__line{position:absolute;z-index:3;height:0;width:0;border-top:2px solid rgba(43,117,104,.92);transform-origin:0 50%}
.kds-fig .kds-fig__line--mb{border-top-color:rgba(180,142,74,.95)}
.kds-fig .kds-fig__guide{position:absolute;z-index:2;height:0;border-top:2px dashed rgba(255,255,255,.85);transform-origin:0 50%}
.kds-fig .kds-fig__dot{position:absolute;z-index:4;width:1.6%;aspect-ratio:1;border-radius:50%;background:#2b7568;border:2px solid #fff;transform:translate(-50%,-50%)}
.kds-fig .kds-fig__ring{position:absolute;z-index:3;width:6%;aspect-ratio:1;border:2.5px dashed #c0a068;border-radius:50%;transform:translate(-50%,-50%)}
.kds-fig .kds-fig__cap{margin:.9em 0 0;padding:.9em 1.05em;background:#f3f8f6;border:1px solid #dcebe6;border-radius:8px;font-size:.9em;line-height:1.85;color:#2d3b38}
.kds-fig .kds-fig__cap b{color:#22665a}
/* --- 図1：各ラベルの座標 --- */
.kds-fig .pin-colon{left:12%;top:30%}
.kds-fig .ln-colon{left:12%;top:30%;width:16.77%;transform:rotate(36.4deg)}
.kds-fig .dt-colon{left:25.5%;top:44.6%}
.kds-fig .pin-cecum{left:11%;top:57%}
.kds-fig .ln-cecum{left:11%;top:57%;width:18.55%;transform:rotate(18.4deg)}
.kds-fig .dt-cecum{left:28.6%;top:65.6%}
.kds-fig .pin-appendix{left:24%;top:92%}
.kds-fig .ln-appendix{left:24%;top:92%;width:15.36%;transform:rotate(-32.15deg)}
.kds-fig .dt-appendix{left:37%;top:80%}
.kds-fig .pin-mb{left:55%;top:91%}
.kds-fig .ln-mb{left:55%;top:91%;width:26.89%;transform:rotate(216.55deg)}
.kds-fig .rg-mb{left:33.4%;top:67.5%}
.kds-fig .gd-mb{left:25.1%;top:73.8%;width:27.99%;transform:rotate(-27.2deg)}
/* --- 図2：正常／炎症の拡大比較 --- */
.kds-fig .kds-cmp{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kds-fig .kds-cmp__item{margin:0}
.kds-fig .kds-cmp__crop{position:relative;width:100%;aspect-ratio:820/720;overflow:hidden;border-radius:10px;border:1px solid #e4e8e6;background:#fff}
.kds-fig .kds-cmp__crop>img{position:absolute;display:block;width:303.66%;max-width:none;height:auto;left:-58.54%;top:-122.2%;margin:0;border-radius:0}
.kds-fig .kds-cmp__badge{position:absolute;z-index:5;left:9px;top:9px;font-size:clamp(10px,1.45vw,14px);font-weight:700;line-height:1;color:#fff;background:#5b6b66;border-radius:6px;padding:.5em .75em;box-shadow:0 1px 4px rgba(0,0,0,.28)}
.kds-fig .kds-cmp__badge--bad{background:#c0392b}
.kds-fig .kds-cmp__ring{position:absolute;z-index:4;border:2.5px dashed rgba(255,255,255,.95);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px rgba(0,0,0,.35)}
.kds-fig .rg-normal{left:52%;top:59%;width:30%;aspect-ratio:1}
.kds-fig .rg-inflamed{left:50%;top:63%;width:38%;aspect-ratio:1;border-color:rgba(255,220,220,.98)}
.kds-fig .kds-cmp__cap{margin:.55em 0 0;font-size:.86em;line-height:1.7;color:#4a5754;text-align:center}
@media (max-width:600px){
.kds-fig .kds-cmp{grid-template-columns:1fr;gap:18px}
.kds-fig .kds-fig__pin{padding:.35em .6em;border-width:1.2px}
.kds-fig .kds-fig__line,.kds-fig .kds-fig__guide{border-top-width:1.5px}
}


/* ===== kds-meganav: グローバルナビの3階層目を常時展開（2026-09-19 Claude） ===== */
@media (min-width: 960px){
  .c-gnav .sub-menu .sub-menu{position:static !important;visibility:inherit !important;opacity:1 !important;height:auto !important;max-height:none !important;overflow:visible !important;transform:none !important;width:auto !important;box-shadow:none !important;transition:none !important;padding:0 0 .5em !important;}
  .c-gnav .sub-menu .c-submenuToggleBtn{display:none !important;}
  .c-gnav .sub-menu .menu-item-has-children > a{font-weight:700;}
  .c-gnav .sub-menu .sub-menu > li > a{padding:4px 8px 4px 1.4em !important;font-size:.9em;line-height:1.5;}
  /* 渡航ワクチン: 地域6区分×4列 */
  .c-gnav > .menu-item-4915 > .sub-menu{display:flex !important;flex-wrap:wrap;width:880px !important;left:auto !important;right:-180px !important;transform:none !important;padding:.4em .4em .2em !important;}
  .c-gnav > .menu-item-4915 > .sub-menu > li{width:25%;}
  /* 診療案内: 外科・耳鼻咽喉科を2列 */
  .c-gnav > .menu-item-4894 > .sub-menu{display:flex !important;flex-wrap:wrap;width:560px !important;left:0 !important;transform:none !important;padding:.4em .4em .2em !important;}
  .c-gnav > .menu-item-4894 > .sub-menu > li{width:50%;}
  .c-gnav > .menu-item-4894 > .sub-menu > li.menu-item-4895{width:100%;}
}


/* BEGIN KDS T-140 DESIGN */
/* T-140 | 2026-09-30 | Review candidate, not published.
*/
:root:has(#body_wrap),
#body_wrap#body_wrap{
--kds-t140-paper:#f7f5ee;
--kds-t140-ink:#203e35;
--kds-t140-text:#344b43;
--kds-t140-muted:#52675e;
--kds-t140-line:#ced7cb;
--kds-t140-green:#254f40;
--kds-t140-serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
background:var(--kds-t140-paper)!important;
color:var(--kds-t140-text);
}
#body_wrap#body_wrap #header{
background:var(--kds-t140-paper)!important;
border-bottom:1px solid var(--kds-t140-line)!important;
box-shadow:none!important;
backdrop-filter:none!important;
}
#body_wrap#body_wrap .l-header__bar{background:transparent!important;color:var(--kds-t140-muted)!important;}
#body_wrap#body_wrap .l-header__inner{max-width:1440px;}
#body_wrap#body_wrap .c-gnav{
background:transparent!important;
border-radius:0!important;
}
#body_wrap#body_wrap .c-gnav > li > a{color:var(--kds-t140-ink)!important;min-height:52px;}
#body_wrap#body_wrap .c-gnav .sub-menu{
background:#fffef9!important;
border:1px solid var(--kds-t140-line)!important;
box-shadow:0 12px 24px #203e3512!important;
border-radius:8px!important;
}
#body_wrap#body_wrap .c-gnav .sub-menu a{min-height:44px;color:var(--kds-t140-ink)!important;}
#body_wrap#body_wrap :where(a, button, summary, input, select, textarea):focus-visible{
outline:3px solid #936023!important;
outline-offset:4px!important;
}
#body_wrap#body_wrap .post_content{
color:var(--kds-t140-text);
--swl-fz--content:18px;
}
#body_wrap#body_wrap .post_content.post_content.post_content :is(p, li, dd){
font-size:18px!important;
line-height:1.85!important;
overflow-wrap:anywhere;
}
#body_wrap#body_wrap .post_content.post_content :is(h2, h3, h4){
color:var(--kds-t140-ink);
text-wrap:pretty;
overflow-wrap:anywhere;
scroll-margin-top:110px;
}
#body_wrap#body_wrap .post_content.post_content h2{
font-family:var(--kds-t140-serif)!important;
font-size:clamp(25px,2.6vw,34px)!important;
font-weight:600!important;
letter-spacing:.025em!important;
line-height:1.6!important;
}
#body_wrap#body_wrap .post_content.post_content h3{font-size:22px!important;line-height:1.65!important;}
#body_wrap#body_wrap .post_content.post_content h4{font-size:19px!important;line-height:1.7!important;}
#body_wrap#body_wrap .post_content a:not([class]){
text-underline-offset:.22em;
text-decoration-thickness:1px;
}
#body_wrap#body_wrap .post_content :is(summary, .p-toc__expandBtn){min-height:44px;}
#body_wrap#body_wrap .post_content :is(.wp-block-table, .kds-table-scroll){
border-radius:8px;
scrollbar-color:#6b8171 #edf0e9;
}
#body_wrap#body_wrap .post_content :is(.kds-readable-nav, .p-toc){
background:#edf0e8!important;
border:1px solid var(--kds-t140-line)!important;
border-radius:10px!important;
box-shadow:none!important;
}
#body_wrap#body_wrap .post_content .p-toc a{
color:var(--kds-t140-green)!important;
display:inline-block;
padding-block:8px;
}
#body_wrap#body_wrap .post_content :is(.kds-readable-nav, .p-toc) :is(a, button){min-height:44px;}
#body_wrap#body_wrap .post_content :is(.kds-faq, .swell-block-faq__item){
border-color:var(--kds-t140-line)!important;
box-shadow:none!important;
backdrop-filter:none!important;
}
#body_wrap#body_wrap .post_content .kds-faq summary{color:var(--kds-t140-ink)!important;}
#body_wrap#body_wrap .post_content .kds-q{color:#795527!important;text-shadow:none!important;}
#body_wrap#body_wrap .post_content :is(.kds-reveal, .kds-reveal-up, .kds-sub-reveal){
opacity:1!important;
transform:none!important;
}
#body_wrap#body_wrap:not(.home) #top_title_area{
background:#e9eee4!important;
color:var(--kds-t140-ink)!important;
border-bottom:1px solid var(--kds-t140-line);
}
#body_wrap#body_wrap:not(.home) #top_title_area::before,
#body_wrap#body_wrap:not(.home) #top_title_area::after{background:transparent!important;}
#body_wrap#body_wrap:not(.home) #top_title_area .l-topTitleArea__img{
opacity:.1!important;
filter:grayscale(1)!important;
mix-blend-mode:multiply;
}
#body_wrap#body_wrap:not(.home) #top_title_area .l-topTitleArea__body{
padding-block:54px!important;
text-align:left!important;
max-width:1120px;
margin-inline:auto;
}
#body_wrap#body_wrap:not(.home) #top_title_area :is(.c-pageTitle, .c-pageTitle__inner){
color:var(--kds-t140-ink)!important;
font-family:var(--kds-t140-serif)!important;
font-size:clamp(28px,3.4vw,44px)!important;
line-height:1.6!important;
letter-spacing:.025em!important;
text-shadow:none!important;
}
#body_wrap#body_wrap:not(.home) #top_title_area :is(.kds-hero-maincopy, .kds-hero-subtitle, .kds-v-hero-note, .c-pageExcerpt){
color:var(--kds-t140-text)!important;
text-shadow:none!important;
line-height:1.8!important;
}
#body_wrap#body_wrap:not(.home) #top_title_area .kds-hero-maincopy{
font-size:24px!important;
font-weight:500!important;
}
#body_wrap#body_wrap:not(.home) #breadcrumb{background:transparent!important;padding-block:16px;}
#body_wrap#body_wrap:not(.home) .l-mainContent__inner > .post_content{
background:#fffefb;
border:1px solid #e1e5d9;
border-radius:12px;
padding:clamp(22px,3.8vw,52px);
}
#body_wrap#body_wrap:not(.home) .post_content > h2{
background:transparent!important;
color:var(--kds-t140-ink)!important;
border:0!important;
border-top:1px solid var(--kds-t140-line)!important;
padding:30px 0 0!important;
margin-top:64px!important;
margin-bottom:26px!important;
box-shadow:none!important;
}
#body_wrap#body_wrap:not(.home) .post_content > h2::before,
#body_wrap#body_wrap:not(.home) .post_content > h2::after{display:none!important;}
#body_wrap#body_wrap:not(.home) .post_content > h3{
border-left:3px solid #607c5b;
padding-left:18px;
margin-top:38px;
}
#body_wrap#body_wrap.home #content{
max-width:none!important;
width:100%!important;
padding-inline:0!important;
}
#body_wrap#body_wrap.home #kds-home-hero{
background:var(--kds-t140-paper)!important;
padding:64px 40px 36px!important;
margin:0!important;
border-radius:0!important;
border-bottom:1px solid var(--kds-t140-line)!important;
width:100%!important;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-inner.kds-home-hero-inner{
display:grid!important;
grid-template-columns:.9fr 1.15fr!important;
gap:42px 52px!important;
max-width:1280px!important;
align-items:center!important;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-copy{
grid-column:1!important;
grid-row:1!important;
align-self:center!important;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-kicker{
color:var(--kds-t140-muted)!important;
font-size:16px!important;
letter-spacing:.045em!important;
margin:0 0 32px!important;
}
#body_wrap#body_wrap.home #kds-home-hero h1{
font-family:var(--kds-t140-serif)!important;
font-size:clamp(38px,4.1vw,58px)!important;
line-height:1.65!important;
font-weight:500!important;
color:var(--kds-t140-ink)!important;
letter-spacing:.015em!important;
margin:0 0 28px!important;
text-shadow:none!important;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-lead{
color:var(--kds-t140-text)!important;
margin:0!important;
}
#body_wrap#body_wrap.home #kds-home-hero figure{
grid-column:2!important;
grid-row:1!important;
margin:0!important;
width:100%!important;
align-self:center!important;
}
#body_wrap#body_wrap.home #kds-home-hero figure > picture{
aspect-ratio:3 / 2!important;
border-radius:12px 12px 0 0!important;
mask-image:none!important;
-webkit-mask-image:none!important;
overflow:hidden;
}
#body_wrap#body_wrap.home #kds-home-hero figure > picture img{
width:100%!important;
height:100%!important;
object-fit:cover!important;
object-position:center!important;
border-radius:0!important;
transform:none!important;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-doctors{
position:static!important;
display:grid!important;
grid-template-columns:1fr 1fr!important;
margin:0!important;
padding:16px 12px!important;
gap:12px!important;
background:#e8ece2!important;
border-radius:0 0 12px 12px;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-doc{
padding:0!important;
gap:10px!important;
border:0!important;
border-radius:0!important;
box-shadow:none!important;
background:transparent!important;
min-width:0;
color:var(--kds-t140-ink)!important;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-doc__role{font-size:12px!important;line-height:1.7!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-doc__name{font-size:16px!important;line-height:1.7!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-actions{
grid-column:1 / -1!important;
grid-row:2!important;
border-top:1px solid var(--kds-t140-line)!important;
margin:0!important;
padding-top:24px!important;
display:grid!important;
grid-template-columns:auto minmax(0,1fr)!important;
gap:28px!important;
align-items:center;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links{gap:10px!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links a{
min-height:52px!important;
padding:12px 20px!important;
color:var(--kds-t140-green)!important;
background:transparent!important;
border:1px solid #82977e!important;
border-radius:6px!important;
font-size:16px!important;
box-shadow:none!important;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links a:first-child{
background:var(--kds-t140-green)!important;
color:#fff!important;
border-color:var(--kds-t140-green)!important;
}
#body_wrap#body_wrap.home #kds-home-hero .kds-cta-microcopy{
font-size:14px!important;
color:var(--kds-t140-muted)!important;
margin:0!important;
line-height:1.8!important;
}
#body_wrap#body_wrap.home .kds-trust-bar{
background:#e9eee4!important;
margin:0!important;
border-radius:0!important;
border-bottom:1px solid var(--kds-t140-line);
box-shadow:none!important;
}
#body_wrap#body_wrap.home .kds-trust-bar__number{color:var(--kds-t140-green)!important;}
#body_wrap#body_wrap.home .kds-trust-bar__label{color:var(--kds-t140-muted)!important;font-size:15px!important;}
#body_wrap#body_wrap.home .kds-merged-card{
background:#fffefb!important;
border:1px solid var(--kds-t140-line)!important;
border-radius:10px!important;
box-shadow:none!important;
padding:32px 26px!important;
text-align:left!important;
transform:none!important;
}
#body_wrap#body_wrap.home .kds-merged-card::before{display:none!important;}
#body_wrap#body_wrap.home .kds-merged-card__icon{margin:0 0 24px!important;}
#body_wrap#body_wrap.home .kds-merged-card__body{color:var(--kds-t140-text)!important;}
#body_wrap#body_wrap.home .kds-merged-card__title{font-size:23px!important;}
#body_wrap#body_wrap.home .kds-merged-card__body strong{color:var(--kds-t140-green)!important;}
#body_wrap#body_wrap.home :is(.kds-disease-card, .khs-disease-card, .kds-condition, .kds-promise){
border-color:var(--kds-t140-line)!important;
box-shadow:none!important;
border-radius:10px!important;
backdrop-filter:none!important;
}
#body_wrap#body_wrap #footer{border-top:1px solid var(--kds-t140-line);}
#body_wrap#body_wrap #footer .l-footer__foot{
background:var(--kds-t140-green)!important;
color:#fff!important;
}
#body_wrap#body_wrap #footer .l-footer__foot a{color:#fff!important;}
body:has(#body_wrap) .kds-side-cta__item{
background:var(--kds-t140-green)!important;
color:#fff!important;
font-size:13px!important;
box-shadow:none!important;
}
body:has(#body_wrap) .kds-side-cta__web{background:#e3e9d7!important;color:#203e35!important;}
body:has(#body_wrap) :is(.kds-side-cta, .kds-sticky-bar) svg{stroke:currentColor!important;}
body:has(#body_wrap) .kds-sticky-bar__btn{background:var(--kds-t140-green)!important;color:#fff!important;box-shadow:none!important;}
body:has(#body_wrap) .kds-sticky-bar__line{background:#e3e9d7!important;color:#203e35!important;border-color:#82977e!important;}
body:has(#body_wrap) .kds-sticky-bar__tel{color:var(--kds-t140-green)!important;border-color:#82977e!important;}
body:has(#body_wrap) :is(.kds-sticky-bar__tel, .kds-sticky-bar__line, .kds-sticky-bar__btn){font-size:14px!important;min-height:48px;}
@media (min-width: 960px){
#body_wrap#body_wrap:not(.home) #content.l-content{max-width:min(1120px,calc(100% - 160px))!important;}
}
@media (max-width: 767px){
body:has(#body_wrap:not(.home)):has(> .kds-side-cta) #body_wrap{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;}
body:has(#body_wrap:not(.home)) .kds-side-cta{
display:flex!important;
opacity:1!important;
top:auto!important;
bottom:0!important;
left:0!important;
right:0!important;
width:100%!important;
flex-direction:row!important;
gap:8px!important;
padding:8px 12px max(8px,env(safe-area-inset-bottom))!important;
background:#fffefb!important;
border-top:1px solid var(--kds-t140-line);
transform:none!important;
animation:none!important;
box-sizing:border-box;
}
body:has(#body_wrap:not(.home)) .kds-side-cta__item{
flex:1 1 0;
width:auto!important;
padding:8px 6px!important;
min-height:52px;
border-radius:6px!important;
gap:3px!important;
box-sizing:border-box;
}
body:has(#body_wrap) .kds-side-cta__web br{display:none;}
body:has(> .kds-side-cta) > .kds-dbar{display:none!important;}
body:has(#body_wrap) .p-fixBtnWrap{bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;}
}
@media (hover: hover){
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links a:hover{background:#e4e9dc!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links a:first-child:hover{background:#173e30!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-doc:hover{text-decoration:underline;text-underline-offset:4px;}
}
@media (max-width: 959px){
#body_wrap#body_wrap.home #kds-home-hero{padding:36px 24px 28px!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-inner.kds-home-hero-inner{
display:flex!important;
flex-direction:column!important;
align-items:stretch!important;
gap:26px!important;
}
#body_wrap#body_wrap.home #kds-home-hero h1{font-size:clamp(36px,6.5vw,54px)!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-kicker{margin-bottom:20px!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-actions{display:block!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-cta-microcopy{margin-top:16px!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links a{flex:1 1 auto;}
}
@media (max-width: 599px){
#body_wrap#body_wrap .post_content.post_content.post_content :is(p, li, dd){font-size:17px!important;line-height:1.85!important;}
#body_wrap#body_wrap .post_content.post_content h2{font-size:26px!important;}
#body_wrap#body_wrap .post_content.post_content h3{font-size:21px!important;}
#body_wrap#body_wrap:not(.home) #top_title_area .l-topTitleArea__body{padding:30px 22px!important;}
#body_wrap#body_wrap:not(.home) #top_title_area :is(.c-pageTitle, .c-pageTitle__inner){font-size:28px!important;}
#body_wrap#body_wrap:not(.home) .l-mainContent__inner > .post_content{border:0;padding:16px 0;background:transparent;border-radius:0;}
#body_wrap#body_wrap:not(.home) .post_content > h2{margin-top:48px!important;padding-top:24px!important;}
#body_wrap#body_wrap.home #kds-home-hero{padding:28px 20px 24px!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-kicker{font-size:14px!important;}
#body_wrap#body_wrap.home #kds-home-hero h1{font-size:36px!important;line-height:1.65!important;margin-bottom:18px!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-lead{font-size:17px!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-doctors{gap:12px!important;padding:14px 12px!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-doc{flex-direction:column;align-items:flex-start;gap:7px!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links{display:grid!important;grid-template-columns:1fr!important;}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links a{justify-content:space-between!important;width:100%;}
#body_wrap#body_wrap.home .kds-merged-card{padding:26px 22px!important;}
}
@media (prefers-reduced-motion: reduce){
#body_wrap#body_wrap *, #body_wrap#body_wrap *::before, #body_wrap#body_wrap *::after{
animation-duration:.01ms!important;
animation-iteration-count:1!important;
transition-duration:.01ms!important;
scroll-behavior:auto!important;
}
}
#body_wrap#body_wrap #top_title_area .kds-title-line{white-space:normal!important;overflow-wrap:anywhere!important;}
#body_wrap#body_wrap .c-infoBar{background:#315b3d!important;}
#body_wrap#body_wrap .c-infoBar__text{color:#fff!important;font-size:13px!important;line-height:1.7!important;}
#body_wrap#body_wrap :is(.footer-section__label, .footer-identity__director-role, .footer-identity__director-label, .footer-identity__director-title, .footer-nav__heading, .copyright){
color:#52675e!important;
font-size:14px!important;
}
#body_wrap#body_wrap .footer-contact__cta{background:#254f40!important;color:#fff!important;font-size:16px!important;min-height:48px;}
#body_wrap#body_wrap :is(.kds-static-cta, .kds-seo-internal-links) a{
color:#254f40!important;
background:#fffefb!important;
border:1px solid #82977e!important;
min-height:44px;
box-sizing:border-box;
}
#body_wrap#body_wrap :is(.kds-static-cta, .kds-seo-internal-links) a:first-child{background:#254f40!important;color:#fff!important;}
#body_wrap#body_wrap .kds-doc-card__btn{background:#fffefb!important;color:#254f40!important;border-color:#82977e!important;min-height:48px;}
#body_wrap#body_wrap :is(.faq-nav-count, .faq-section-lead, #kds-trip-country-help, .kds-selfcheck-footer, .kds-era__sub, .kds-era__who, .kds-scroll-hint){color:#52675e!important;}
#body_wrap#body_wrap .faq-supervision p{color:#445b60!important;}
#body_wrap#body_wrap .kds-era__row--r .kds-era__tag{color:#75521f!important;}
#body_wrap#body_wrap .is-blue .kds-danger-badge{background:#386597!important;}
#body_wrap#body_wrap .kds-selfcheck-header small{color:#52675e!important;}
#body_wrap#body_wrap #clinic-consultation-anesthesia figcaption{color:#52675e!important;}
#body_wrap#body_wrap.home .kds-trust-bar__number span{color:#52675e!important;}
#body_wrap#body_wrap.home .post_content > .wp-block-heading{
margin-inline:24px!important;
width:auto!important;
max-width:calc(100% - 48px)!important;
}
#body_wrap#body_wrap .faq-nav-list{flex-wrap:wrap!important;}
#body_wrap#body_wrap.single-lp .lp-content__postContent{color:#344b43;}
#body_wrap#body_wrap.single-lp :is(.step-desc, .sb-label, .vc-meta, .vc-meta span, .corp-tl-desc, .corp-tl-time){color:#4e625c!important;}
#body_wrap#body_wrap.single-lp .vc-name{color:#246037!important;}
#body_wrap#body_wrap.single-lp .vc-tag{color:#246037!important;}
#body_wrap#body_wrap.single-lp :is(.step-item, .stat-box, .vaccine-card){border-color:#ced7cb!important;box-shadow:none!important;}
#body_wrap#body_wrap .post_content :is([style^="color:#c9a962"],[style*=";color:#c9a962"],[style*="; color:#c9a962"],[style^="color: #c9a962"],[style*=";color: #c9a962"],[style*="; color: #c9a962"]){color:#795527!important;}
#body_wrap#body_wrap .post_content :is([style^="color:#8a8a9e"],[style*=";color:#8a8a9e"],[style*="; color:#8a8a9e"],[style^="color: #8a8a9e"],[style*=";color: #8a8a9e"],[style*="; color: #8a8a9e"]){color:#52675e!important;}
#body_wrap#body_wrap .post_content :is([style^="color:#888"],[style*=";color:#888"],[style*="; color:#888"],[style^="color: #888"],[style*=";color: #888"],[style*="; color: #888"]){color:#52675e!important;}
#body_wrap#body_wrap .post_content :is([style^="color:#999"],[style*=";color:#999"],[style*="; color:#999"],[style^="color: #999"],[style*=";color: #999"],[style*="; color: #999"]){color:#52675e!important;}
#body_wrap#body_wrap .post_content :is([style^="color:#539651"],[style*=";color:#539651"],[style*="; color:#539651"],[style^="color: #539651"],[style*=";color: #539651"],[style*="; color: #539651"]){color:#326139!important;}
#body_wrap#body_wrap .post_content :is([style^="color:#6391b1"],[style*=";color:#6391b1"],[style*="; color:#6391b1"],[style^="color: #6391b1"],[style*=";color: #6391b1"],[style*="; color: #6391b1"]){color:#3c6580!important;}
#body_wrap#body_wrap .post_content :is([style^="color:#e8a340"],[style*=";color:#e8a340"],[style*="; color:#e8a340"],[style^="color: #e8a340"],[style*=";color: #e8a340"],[style*="; color: #e8a340"]){color:#8a591b!important;}
#body_wrap#body_wrap .post_content :is([style^="color:#86868b"],[style*=";color:#86868b"],[style*="; color:#86868b"],[style^="color: #86868b"],[style*=";color: #86868b"],[style*="; color: #86868b"]){color:#52675e!important;}
#body_wrap#body_wrap .post_content :is([style^="color:#f59e0b"],[style*=";color:#f59e0b"],[style*="; color:#f59e0b"],[style^="color: #f59e0b"],[style*=";color: #f59e0b"],[style*="; color: #f59e0b"]){color:#8a591b!important;}
#body_wrap#body_wrap.single-lp .level-mid .vc-tag{color:#775016!important;}
#body_wrap#body_wrap.single-lp .level-low .vc-tag{color:#3c6580!important;}
#body_wrap#body_wrap.single-lp :is(.sep-label, .family-section > p, .caution-section > p, .routine-check > p){color:#4e625c!important;}
#body_wrap#body_wrap.single-lp :is(.ub-badge, .corp-youdo-badge){color:#203e35!important;}
#body_wrap#body_wrap.single-lp :is(.corp-tl-3, .corp-tl-4) .corp-tl-name{color:#14241e!important;}
#body_wrap#body_wrap :is(.footer-section__label, .footer-identity__director-qual, .wp-element-caption){color:#40574c!important;opacity:1!important;font-size:14px!important;}
#body_wrap#body_wrap .copyright{color:#fff!important;opacity:1!important;}
#body_wrap#body_wrap :is(.footer-place__badge--jr, .footer-place__badge--keio){color:#fff!important;font-size:12px!important;}
#body_wrap#body_wrap .footer-place__badge--jr{background:#166b2b!important;}
#body_wrap#body_wrap .post_content small{color:#40574c!important;opacity:1!important;}
#body_wrap#body_wrap #clinic-consultation-anesthesia figcaption{opacity:1!important;}
#body_wrap#body_wrap.single-lp :is(.sep-bar, .sep-bar sup, .corp-youdo-badge, .corp-tl-time, .corp-tl-name){color:#14241e!important;}
#body_wrap#body_wrap.single-lp .post_content .wp-block-heading{color:#203e35!important;}
@media(max-width:350px){#body_wrap#body_wrap:not(.home) #top_title_area :is(.c-pageTitle, .c-pageTitle__inner){font-size:24px!important;} }
#body_wrap#body_wrap.single-lp :is(.sep-bar.rare, .sep-bar.rare sup){color:#080e0a!important;}
#body_wrap#body_wrap.page-id-1743 .post_content div[style*="width:36px"][style*="border-radius:50%"]{color:#080e0a!important;}
#body_wrap#body_wrap #top_title_area .c-pageExcerpt{font-size:16px!important;opacity:1!important;}
#body_wrap#body_wrap.page-id-1725 #top_title_area{min-height:550px!important;align-items:flex-start!important;}
#body_wrap#body_wrap.page-id-1725 .l-topTitleArea__inner{align-self:flex-start!important;}
@media(prefers-reduced-motion:reduce){
body:has(#body_wrap) > :is(.kds-side-cta,.kds-sticky-bar,.kds-dbar){animation:none!important;transition:none!important;}
}
#body_wrap#body_wrap :is(.kds-daycost-hint,.kds-bar__axis span,.kds-flow__lanefoot){color:#52675e!important;}
#body_wrap#body_wrap :is(.kds-scar__panel--open > .kds-scar__hd,.kds-flow__lanehd){color:#14241e!important;}
#body_wrap#body_wrap .kds-flow__box--goal small{color:#fff!important;}
#body_wrap#body_wrap .swl-inline-color.has-swl-deep-02-color{color:#285e9a!important;}
#body_wrap#body_wrap :is(.c-tabList__button,.kds-rec__hint,.sg-price-target,.sg-price-unit,.kds-stat__src,.kds-fvnote,.kdsk-bar__axis span,.ref){color:#52675e!important;}
#body_wrap#body_wrap :is(.c-categoryList__link,.sg-badge){color:#14241e!important;}
#body_wrap#body_wrap :is(.sg-strength-num,.kds-ihc-meta strong,.kds-stp__b){color:#795527!important;}
#body_wrap#body_wrap :is(.sg-area-tag,.sg-qual,.sg-doctor .role){color:#285c36!important;}
#body_wrap#body_wrap .has-swl-deep-01-color{color:#b72e2e!important;}
#body_wrap#body_wrap figure[id^="clinic-"] figcaption{color:#40574c!important;opacity:1!important;}
#body_wrap#body_wrap .post_content div[style*="width:44px"][style*="border-radius:50%"]{color:#080e0a!important;}
#body_wrap#body_wrap.single-lp .tl-vaccines span{color:#245b91!important;}
#body_wrap#body_wrap.single-lp :is(.pricing-header>p,.plan-sub,.plan-table th,.plan-total-price span,.plan-note,.compare-section>p,.compare-table th,.cost-section>p,.rr-desc,.pi-desc){color:#52675e!important;}
@media(min-width:1100px){
#body_wrap#body_wrap:is(.home,.page-id-1725) .l-header__inner{display:flex!important;flex-wrap:nowrap!important;justify-content:space-between!important;padding:20px 32px!important;gap:20px;align-items:center;}
#body_wrap#body_wrap:is(.home,.page-id-1725) .l-header__logo{flex:0 0 300px!important;}
#body_wrap#body_wrap:is(.home,.page-id-1725) .l-header__gnav{flex:1 1 auto!important;margin:0!important;width:auto!important;}
#body_wrap#body_wrap:is(.home,.page-id-1725) .c-headLogo__img{width:310px!important;max-width:100%!important;height:auto!important;}
#body_wrap#body_wrap:is(.home,.page-id-1725) .c-gnav{justify-content:flex-end!important;}
}

#body_wrap#body_wrap .c-tabList__button{opacity:1!important;}

#body_wrap.page-id-1725 #top_title_area p{text-wrap:pretty!important}

/* END KDS T-140 DESIGN */

/* T140-REFINEMENT-START */
body:has(#body_wrap#body_wrap) .kds-side-cta__item{background:#e9eee4!important;color:#203e35!important}
body:has(#body_wrap#body_wrap) .kds-side-cta__web{background:#254f40!important;color:#fff!important}
body:has(#body_wrap#body_wrap) .kds-sticky-bar__btn{background:#254f40!important;color:#fff!important}
#body_wrap#body_wrap :is(.kds-hero-cta a,.kds-mid-cta__btn,.footer-contact__cta,a[href$="#kds-recruit-form"]){background:#254f40!important;color:#fff!important;border-color:#254f40!important;box-shadow:none!important;border-radius:6px!important;min-height:48px}
#body_wrap#body_wrap.single-lp .post_content a.corp-line-btn{color:#fff!important;background:#087f3e!important;border:1px solid #087f3e!important;min-height:48px;text-decoration:none!important;line-height:1.6}
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area .l-topTitleArea__body{padding-block:32px!important}
#body_wrap#body_wrap #top_title_area .c-pageExcerpt{max-width:48em;margin-top:16px!important;line-height:1.8!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group.alignfull:has(.kds-merged-cards,.khs-sym-grid,details .kds-qtext){background:#f7f5ee!important;padding-block:72px!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group.alignfull:has(.khs-disease-card,.kds-disease-card){background:#e9eee4!important;padding-block:72px!important}
#body_wrap#body_wrap.home div[style*="text-align:center"]:has(>h2){text-align:left!important;max-width:1100px;margin-inline:auto!important;padding-inline:16px}
#body_wrap#body_wrap.home .kds-merged-cards{gap:0!important}
#body_wrap#body_wrap.home .kds-merged-card{background:transparent!important;border:0!important;border-top:1px solid #b8c8b8!important;border-radius:0!important;padding:30px 28px 20px!important}
#body_wrap#body_wrap.home .kds-merged-card+.kds-merged-card{border-left:1px solid #b8c8b8!important}
#body_wrap#body_wrap.home details:has(>summary .kds-qtext){background:#fffefb!important;box-shadow:none!important;border:1px solid #ced7cb!important;border-radius:8px!important}
#body_wrap#body_wrap.home details:has(>summary .kds-qtext)>summary{padding:22px 24px!important;color:#203e35!important;align-items:flex-start!important;line-height:1.7!important}
#body_wrap#body_wrap.home details:has(>summary .kds-qtext)>div{padding:0 24px 24px!important;color:#344b43!important;font-size:18px!important;line-height:1.85!important}
#body_wrap#body_wrap.home details:has(>summary .kds-qtext)>summary>span:first-child{color:#52675e!important;flex:0 0 26px}
#body_wrap#body_wrap.home div:has(>details>summary .kds-qtext)>div:has(>p[style*="text-transform:uppercase"]){flex-wrap:wrap!important;column-gap:12px!important;row-gap:2px!important;align-items:baseline!important}
#body_wrap#body_wrap #footer .footer-links a{display:flex;align-items:center;min-height:44px;padding-block:8px!important;color:#254f40!important}
#body_wrap#body_wrap #footer .l-footer__nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;text-align:left!important}
#body_wrap#body_wrap #footer .l-footer__nav a{display:flex!important;align-items:center;min-height:44px;padding:10px 0!important;line-height:1.7!important;font-size:14px!important}
#body_wrap#body_wrap #footer .l-footer__nav li{border:0!important;margin:0!important;padding:0!important}
@media(max-width:959px){
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-inner.kds-home-hero-inner{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-copy{grid-area:1/1!important}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-actions{grid-area:2/1!important;padding-top:0!important;border:0!important}
#body_wrap#body_wrap.home #kds-home-hero figure{grid-area:3/1!important}
#body_wrap#body_wrap #footer .l-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
}
@media(max-width:780px){
#body_wrap#body_wrap.home .kds-merged-card+.kds-merged-card{border-left:0!important}
}
@media(max-width:599px){
#body_wrap#body_wrap.home .post_content>.wp-block-group.alignfull:has(.kds-merged-cards,.khs-sym-grid,details .kds-qtext,.khs-disease-card,.kds-disease-card){padding-block:44px!important}
#body_wrap#body_wrap.home .kds-merged-card{padding:24px 4px!important}
#body_wrap#body_wrap.home details:has(>summary .kds-qtext)>summary{padding:18px 16px!important;gap:8px!important}
#body_wrap#body_wrap.home details:has(>summary .kds-qtext)>div{padding:0 16px 20px!important;font-size:17px!important}
#body_wrap#body_wrap.home div:has(>details>summary .kds-qtext)>div>p[style*="text-transform:uppercase"]{flex-basis:100%;margin:0!important;padding-left:18px}
#body_wrap#body_wrap #footer .footer-links{display:grid!important;grid-template-columns:1fr 1fr;gap:4px 16px}
}
#body_wrap#body_wrap.page-id-146 .wpcf7 :is(input[type="text"],input[type="email"],textarea){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;min-height:48px!important;padding:12px!important;border:1px solid #82977e!important;border-radius:6px!important;background:#fffefb!important;color:#203e35!important;font-size:17px!important}
#body_wrap#body_wrap.page-id-146 .wpcf7 input[type="submit"]{min-height:48px!important;min-width:120px!important;padding:12px 24px!important;background:#254f40!important;color:white!important;border:0!important;border-radius:6px!important;font-size:17px!important}

#body_wrap#body_wrap:is(.page-id-143,.page-id-146) #content{padding-top:24px!important}
#body_wrap#body_wrap.page-id-143 .section-access{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin-top:0!important}
#body_wrap#body_wrap #footer :is(.footer-identity__desc,.footer-place__addr,.footer-place__route,.footer-place__map){font-size:16px!important;line-height:1.8!important}
#body_wrap#body_wrap.home div:has(>details>summary .kds-qtext)>div>p{color:#203e35!important}
@media(min-width:1100px){
#header#header .l-header__inner{display:flex!important;align-items:center;gap:24px;padding:20px 32px!important}
#header#header .l-header__logo{flex:0 0 300px!important;width:300px!important}
#header#header .l-header__gnav{flex:1!important;width:auto!important;margin:0!important}
#header#header .c-gnav{justify-content:flex-end!important}
}

@media(min-width:960px){
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-actions{grid-area:2/1!important;display:block!important}
#body_wrap#body_wrap.home #kds-home-hero figure{grid-area:1/2/3/3!important}
}
#body_wrap#body_wrap.single-lp .corp-line-cta{background:#edf2e9!important;border-color:#82977e!important;border-radius:8px!important}

#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links a{font-size:16px!important;padding:12px!important;min-width:0;white-space:normal!important;width:auto!important;justify-content:center!important}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-links a:first-child{grid-column:1/-1}
#body_wrap#body_wrap.home #kds-home-hero .kds-cta-microcopy{margin:16px 0 0!important}
#body_wrap#body_wrap :is(.kds-author-box__label,.kds-author-box__ref,.kds-author-box time){color:#52675e!important}
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735) .has-text-align-center .swl-fz{color:#254f40!important}
#body_wrap#body_wrap.id_346 .wp-block-paragraph>a{text-decoration:underline!important}
#body_wrap#body_wrap .is-blue>.kds-danger-badge{color:#fff!important}
#body_wrap#body_wrap .is-yellow>.kds-danger-badge{color:#182f28!important}
#body_wrap#body_wrap.home :is(.kds-clinic-left,.kds-clinic-right){width:100%;max-width:100%}
#body_wrap#body_wrap.home .kds-clinic-left h2{white-space:normal!important}
/* T140-REFINEMENT-END */

/* T140-ART-DIRECTION-START */
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area{background:#e8ede2!important;border-bottom:1px solid #c9d2c3;min-height:0!important;height:auto!important}
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area .l-topTitleArea__img{display:none!important}
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area .l-topTitleArea__body{padding-block:36px!important;min-height:0!important}
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area .c-pageExcerpt{font-size:17px!important;line-height:1.8!important;text-align:left!important;color:#304d42!important;max-width:48em}
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area .c-pageTitle{border-left:2px solid #687f58;padding-left:20px!important;text-align:left!important}
#body_wrap#body_wrap.home #kds-home-hero figure{border-radius:0!important;overflow:visible!important}
#body_wrap#body_wrap.home #kds-home-hero figure>picture{border-radius:3px!important}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-doctors{background:transparent!important;border-bottom:1px solid #b8c8b8;padding:18px 0!important}
#body_wrap#body_wrap.home .post_content>p.wp-block-paragraph:empty,
#body_wrap#body_wrap.home .post_content>p.wp-block-paragraph:has(>br:only-child){margin:0!important;line-height:0!important}
#body_wrap#body_wrap.home .post_content>.wp-block-spacer{height:24px!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group:has(.kds-merged-cards){padding-block:40px!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group:has(.kds-merged-cards) .wp-block-group__inner-container>div:first-child{margin-bottom:24px!important;text-align:left!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group:has(.kds-merged-cards) h2{text-align:left!important;text-wrap:balance}
#body_wrap#body_wrap.home .kds-merged-card{display:grid;grid-template-columns:44px minmax(0,1fr);align-content:start;gap:16px 16px;padding:24px!important}
#body_wrap#body_wrap.home .kds-merged-card__icon{grid-column:1;grid-row:1;width:44px!important;height:44px!important;background:transparent!important;border-radius:0!important;margin:0!important}
#body_wrap#body_wrap.home .kds-merged-card__icon svg{stroke:#526d4a!important;width:32px;height:32px}
#body_wrap#body_wrap.home .kds-merged-card__title{grid-column:2;grid-row:1;font-size:22px!important;line-height:1.65!important;margin:0!important}
#body_wrap#body_wrap.home .kds-merged-card__body{grid-column:1/-1;margin:0!important}
#body_wrap#body_wrap.page-id-143 .section-access{margin-top:0!important;padding-top:0!important}
#body_wrap#body_wrap.page-id-143 .section-access h2.kds-access-label{text-align:left!important;font:500 17px/1.6 sans-serif!important;margin:0 0 16px!important;padding:0 0 12px!important;border:0!important;border-bottom:1px solid #b8c8b8!important}
#body_wrap#body_wrap.page-id-143 .kds-access-label:before,
#body_wrap#body_wrap.page-id-143 .kds-access-label:after{display:none!important}
#body_wrap#body_wrap.page-id-143 .section-access>.wp-block-group__inner-container>p{text-align:left!important;margin-block:8px!important}
#body_wrap#body_wrap.page-id-143 .section-access>.wp-block-group__inner-container>p :is(span,strong){font-size:17px!important;line-height:1.8!important}
#body_wrap#body_wrap.page-id-143 .section-access>.wp-block-group__inner-container>p:nth-of-type(3) span{font:500 32px/1.5 'Noto Serif JP',serif!important;color:#254f40!important}
#body_wrap#body_wrap.page-id-143 .kds-access-map{margin:24px 0 0!important;padding:0!important}
#body_wrap#body_wrap.page-id-143 .kds-access-map iframe{display:block;width:100%!important;height:360px!important;border:1px solid #c9d2c3!important}
#body_wrap#body_wrap.page-id-143 .kds-access-directions{margin:0 0 32px!important;padding:24px!important;background:#e8ede2;border:1px solid #c9d2c3;gap:28px!important}
#body_wrap#body_wrap.page-id-143 .kds-access-route{display:block!important;border:0!important;border-bottom:1px solid #b8c8b8!important;border-radius:0!important;padding:12px 0!important;background:transparent!important;color:#254f40!important;box-shadow:none!important;text-align:left!important}
#body_wrap#body_wrap.page-id-143 .kds-access-route:after{display:none!important}
#body_wrap#body_wrap.page-id-143 .kds-access-route span{background:transparent!important;color:inherit!important;font-size:17px!important;line-height:1.75!important}
#body_wrap#body_wrap.page-id-143 .kds-access-directions p{font-size:17px!important;line-height:1.9!important;margin:0 0 20px!important}
@media(min-width:960px){
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area .l-topTitleArea__body:has(.c-pageExcerpt){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:40px;align-items:center}
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area .c-pageExcerpt{margin-top:0!important}
}
@media(max-width:767px){
#body_wrap#body_wrap.home .kds-merged-card{padding:20px 0!important;gap:12px}
#body_wrap#body_wrap.home .kds-merged-card__title{font-size:21px!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group:has(.kds-merged-cards){padding-block:28px!important}
#body_wrap#body_wrap.page-id-143 .kds-access-directions{padding:18px!important;gap:20px!important}
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area .l-topTitleArea__body{padding-inline:20px!important}
#body_wrap#body_wrap:is(.page-id-143,.page-id-146,.page-id-1735,.page-id-1736,.page-id-1738,.page-id-1739,.page-id-4864,.page-id-4865,.page-id-5431) #top_title_area .l-topTitleArea__body{padding-block:24px!important}
}
@media(min-width:768px){
#body_wrap#body_wrap.home .post_content>.wp-block-group:has(.kds-merged-cards,.khs-disease-grid)>.wp-block-group__inner-container{max-width:1128px!important;margin-inline:auto!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group:has(.kds-merged-cards,.khs-disease-grid)>.wp-block-group__inner-container>div:first-child{padding-inline:24px!important;text-align:left!important}
}
@media(max-width:359px){
#body_wrap#body_wrap.home .kds-merged-card{grid-template-columns:32px minmax(0,1fr);column-gap:10px}
#body_wrap#body_wrap.home .kds-merged-card__icon{width:32px!important}
#body_wrap#body_wrap.home .kds-merged-card__title{font-size:19px!important}
}
#body_wrap#body_wrap.page-id-143 #top_title_area{padding-block:0!important}
#body_wrap#body_wrap.page-id-143 #breadcrumb{padding-block:8px!important}
#body_wrap#body_wrap.page-id-143 #content.l-content{padding-top:8px!important}
#body_wrap#body_wrap.page-id-143 .post_content{padding-top:0!important}
#body_wrap#body_wrap.page-id-143 .section-access h2.kds-access-label{padding-bottom:8px!important;margin-bottom:8px!important}
#body_wrap#body_wrap.page-id-143 .section-access h3{margin:12px 0 16px!important}
#body_wrap#body_wrap.page-id-143 #top_title_area .c-pageExcerpt{line-height:1.7!important}
#body_wrap#body_wrap.page-id-143 #top_title_area .l-topTitleArea__body{padding-block:16px!important}
#body_wrap#body_wrap.page-id-143 .kds-access-route .kds-access-walk{white-space:nowrap}
/* T140-ART-DIRECTION-END */

/* T140-DOCTOR-WRAP-START: approved mobile role/specialty line break */
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-doc__role > span{display:inline}
@media (max-width:767px){
 #body_wrap#body_wrap.home #kds-home-hero .kds-home-role-specialty{display:block!important;white-space:nowrap}
 #body_wrap#body_wrap.home #kds-home-hero .kds-home-role-title{white-space:nowrap}
 #body_wrap#body_wrap.home #kds-home-hero .kds-home-role-separator{display:none!important}
}
/* T140-DOCTOR-WRAP-END */
/* T140-EDITORIAL-START */
#body_wrap#body_wrap.home .kds-physicians-intro{text-align:left!important;margin:72px auto 36px!important;max-width:1100px}
#body_wrap#body_wrap.home .kds-physicians-intro h2{text-align:left!important}
#body_wrap#body_wrap.home .post_content>.kds-physician-role{max-width:1100px;margin:56px auto 24px!important;padding:16px 0 0!important;border:0!important;border-top:1px solid #b9c8bc!important;background:none!important;font-size:20px!important;color:#345344!important}
#body_wrap#body_wrap.home .kds-physician-role:before,#body_wrap#body_wrap.home .kds-physician-role:after{display:none!important}
#body_wrap#body_wrap.home .post_content>.kds-physician-profile{display:grid!important;grid-template-columns:minmax(220px,28%) minmax(0,1fr);gap:48px!important;max-width:1100px!important;width:100%!important;margin:0 auto 48px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;align-items:start!important}
#body_wrap#body_wrap.home .kds-physician-profile>.wp-block-column{min-width:0!important;width:auto!important;max-width:100%!important;flex-basis:auto!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important}
#body_wrap#body_wrap.home .kds-physician-profile>.wp-block-column:first-child{background:#e8ede2;padding:24px!important;border-radius:3px}
#body_wrap#body_wrap.home .kds-physician-profile figure{margin:0 0 20px!important;width:100%!important}
#body_wrap#body_wrap.home .kds-physician-profile figure img{width:100%!important;max-width:240px!important;height:auto!important;aspect-ratio:4/5;object-fit:cover!important;border-radius:3px!important;margin:0 auto!important;box-shadow:none!important}
#body_wrap#body_wrap.home .kds-physician-profile figcaption{font-size:16px!important;line-height:1.7!important;margin-top:16px!important;color:#365046!important}
#body_wrap#body_wrap.home .kds-physician-profile p{width:auto!important;max-width:100%!important;font-size:17px!important;line-height:1.85!important;overflow-wrap:anywhere}
#body_wrap#body_wrap.home .kds-physician-profile>.wp-block-column:first-child p{margin:0 0 12px!important}
#body_wrap#body_wrap.home .kds-physician-profile>.wp-block-column:first-child p .u-fz-xl{font-size:27px!important;letter-spacing:.03em}
#body_wrap#body_wrap.home .kds-physician-profile a{display:inline-block;max-width:100%;color:#294f3a!important;text-underline-offset:5px;overflow-wrap:anywhere;text-wrap:balance}
#body_wrap#body_wrap.home .kds-physician-profile>.wp-block-column:first-child a{padding:12px 0;min-height:44px;line-height:1.5;border-bottom:1px solid #829c89;text-decoration:none}
#body_wrap#body_wrap.home .kds-physician-profile>.wp-block-column:last-child>div[style*="display:flex"]{margin:0 0 24px!important;padding:16px 0;border-block:1px solid #c9d2c3;gap:24px!important}
#body_wrap#body_wrap.home .kds-physician-profile details{border:0!important;border-bottom:1px solid #c9d2c3!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:0!important;max-width:100%;overflow-wrap:anywhere}
#body_wrap#body_wrap.home .kds-physician-profile summary{padding:18px 8px!important;min-height:56px;font-size:17px!important;color:#284b3d!important;background:transparent!important;cursor:pointer}
#body_wrap#body_wrap.home .kds-physician-profile details> :not(summary){margin:0 0 24px!important;padding-inline:8px!important;font-size:16px!important;line-height:1.85!important}
#body_wrap#body_wrap.home #kds-home-flow ol{gap:0!important;padding:0!important;margin:32px 0!important;list-style:none!important}
#body_wrap#body_wrap.home #kds-home-flow li{position:relative;display:block!important;padding:24px 20px!important;border:0!important;border-top:1px solid #94ab9a!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-width:0}
#body_wrap#body_wrap.home #kds-home-flow li+li{border-left:1px solid #c9d2c3!important}
#body_wrap#body_wrap.home #kds-home-flow .kds-home-flow__number{font-size:32px!important;font-family:Georgia,serif!important;color:#47694f!important;line-height:1.2;margin-bottom:20px;display:block}
#body_wrap#body_wrap.home #kds-home-flow li h3{font-size:20px!important;padding:0!important;margin:0 0 14px!important;line-height:1.5!important}
#body_wrap#body_wrap.home #kds-home-flow li p{font-size:16px!important;line-height:1.85!important;margin:0!important}
#body_wrap#body_wrap.home .kds-clinic-wrapper{background:#e8ede2!important;border-radius:3px!important;border:1px solid #c9d2c3;box-shadow:none!important;padding:40px!important}
#body_wrap#body_wrap.home .kds-clinic-left h2{font-size:24px!important;line-height:1.6!important;white-space:normal!important;text-align:left!important}
#body_wrap#body_wrap.home .kds-clinic-left>p{text-align:left!important}
@media(max-width:959px){
#body_wrap#body_wrap.home .post_content>.kds-physician-profile{grid-template-columns:minmax(180px,30%) minmax(0,1fr);gap:28px!important}
#body_wrap#body_wrap.home #kds-home-flow ol{grid-template-columns:1fr!important}
#body_wrap#body_wrap.home #kds-home-flow li{padding:24px 0 24px 68px!important;border:0!important;border-bottom:1px solid #c9d2c3!important}
#body_wrap#body_wrap.home #kds-home-flow li+li{border-left:0!important}
#body_wrap#body_wrap.home #kds-home-flow .kds-home-flow__number{position:absolute;left:0;top:24px;font-size:30px!important}
}
@media(max-width:599px){
#body_wrap#body_wrap.home .post_content>.kds-physician-profile{grid-template-columns:minmax(0,1fr);gap:28px!important;width:calc(100% - 40px)!important}
#body_wrap#body_wrap.home .kds-physician-profile>.wp-block-column:first-child{padding:24px!important}
#body_wrap#body_wrap.home .kds-physician-profile figure img{max-width:160px!important}
#body_wrap#body_wrap.home .kds-physician-profile p{font-size:16px!important}
#body_wrap#body_wrap.home .kds-clinic-wrapper{padding:24px 16px!important}
#body_wrap#body_wrap.home .kds-clinic-left h2{font-size:22px!important}
#body_wrap#body_wrap.home .kds-clinic-left .u-fz-xl{font-size:18px!important}
}
#body_wrap#body_wrap.home .kds-physician-profile figcaption .swl-fz{font-size:16px!important}
#body_wrap#body_wrap.home .kds-physician-profile figcaption{text-wrap:balance}
#body_wrap#body_wrap.home .kds-physician-profile>.wp-block-column:before{display:none!important}
/* T140-EDITORIAL-END */
/* T140-DISCOVERY-START
 * T-140 fifth iteration: Home disease index, symptom links and urgent guidance.
 * Existing words, image files, link order and medical guidance remain unchanged.
 */
#body_wrap#body_wrap.home .khs-disease-section{max-width:1100px!important;margin-inline:auto!important;padding:0 20px!important}
#body_wrap#body_wrap.home .khs-disease-lead{font-size:17px!important;line-height:1.85!important;color:#344b43!important;text-align:left!important;margin:0 0 32px!important;max-width:48em}
#body_wrap#body_wrap.home .khs-disease-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 32px!important;margin:0!important}
#body_wrap#body_wrap.home .khs-disease-card{position:relative;display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;align-items:center!important;gap:24px!important;min-height:168px;padding:22px 24px 22px 0!important;margin:0!important;background:transparent!important;border:0!important;border-top:1px solid #afc0ae!important;border-radius:0!important;box-shadow:none!important;color:#203e35!important;text-align:left!important;transform:none!important;text-decoration:none!important}
#body_wrap#body_wrap.home .khs-disease-card::after{content:"";position:absolute;right:3px;top:50%;width:8px;height:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:translateY(-50%) rotate(45deg)}
#body_wrap#body_wrap.home .khs-disease-icon{display:flex!important;align-items:center;justify-content:center;width:104px!important;height:124px!important;aspect-ratio:auto!important;margin:0!important;padding:8px!important;background:#fffefb!important;border:0!important;border-radius:3px!important;overflow:visible!important}
#body_wrap#body_wrap.home .khs-disease-icon img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border-radius:0!important;transform:none!important}
#body_wrap#body_wrap.home .khs-disease-text{min-width:0;text-align:left!important}
#body_wrap#body_wrap.home .khs-disease-name{display:block!important;font-size:22px!important;font-weight:700!important;line-height:1.6!important;letter-spacing:0!important;color:#203e35!important;margin:0 0 8px!important;overflow-wrap:anywhere}
#body_wrap#body_wrap.home .khs-disease-hint{display:block!important;font-size:16px!important;line-height:1.8!important;color:#40564b!important;margin:0!important;word-break:normal!important}
#body_wrap#body_wrap.home .khs-sym-grid{max-width:1060px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 40px!important;margin:0 auto 48px!important}
#body_wrap#body_wrap.home .khs-sym-card{position:relative;display:flex!important;flex-direction:column;justify-content:center;gap:10px!important;min-height:144px;padding:24px 32px 24px 0!important;border:0!important;border-top:1px solid #b8c8b8!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:left!important;transform:none!important;color:#203e35!important;text-decoration:none!important}
#body_wrap#body_wrap.home .khs-sym-card::after{content:"";position:absolute;right:5px;top:32px;width:8px;height:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
#body_wrap#body_wrap.home .khs-sym-card__name{font-size:20px!important;line-height:1.7!important;letter-spacing:0!important;color:#203e35!important;margin:0!important}
#body_wrap#body_wrap.home .khs-sym-card__hint{font-size:16px!important;line-height:1.85!important;color:#40564b!important;margin:0!important}
#body_wrap#body_wrap.home :is(.khs-disease-card,.khs-sym-card):hover{background:#e0e7d9!important}
#body_wrap#body_wrap.home :is(.khs-disease-card,.khs-sym-card):focus-visible{outline:3px solid #254f40!important;outline-offset:3px!important;background:#e0e7d9!important}
#body_wrap#body_wrap.home .khs-triage{max-width:1060px!important;padding:36px 40px!important;margin:0 auto!important;border:1px solid #d3bab3!important;border-left:4px solid #a2372c!important;border-radius:3px!important;background:#fffaf6!important;color:#34443c!important;box-shadow:none!important}
#body_wrap#body_wrap.home .khs-triage__label{font:700 12px/1.5 system-ui!important;letter-spacing:.14em!important;color:#96372d!important;margin-bottom:8px!important}
#body_wrap#body_wrap.home .khs-triage__title{font-size:26px!important;line-height:1.6!important;color:#203e35!important;margin-bottom:20px!important}
#body_wrap#body_wrap.home .khs-triage :is(p,li){font-size:17px!important;line-height:1.9!important;color:#34443c!important}
#body_wrap#body_wrap.home .khs-triage ul{padding-left:1.4em!important;margin:20px 0!important}
#body_wrap#body_wrap.home .khs-triage li{padding-left:.25em!important;margin:0 0 6px!important}
#body_wrap#body_wrap.home .khs-triage__tel{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;margin-block:24px!important}
#body_wrap#body_wrap.home .khs-triage__telbtn{display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center;gap:6px!important;padding:20px 24px!important;border:1px solid #96372d!important;border-radius:3px!important;background:#96372d!important;color:#fff!important;font-size:26px!important;line-height:1.4!important;text-align:left!important;text-decoration:none!important}
#body_wrap#body_wrap.home .khs-triage__telbtn span{font-size:16px!important;line-height:1.7!important;color:inherit!important;margin:0!important}
#body_wrap#body_wrap.home .khs-triage__disc{border-top:1px solid #d3bab3!important;padding-top:20px!important}
@media(max-width:959px){
#body_wrap#body_wrap.home .khs-disease-grid{gap:0 20px!important}
#body_wrap#body_wrap.home .khs-disease-card{grid-template-columns:80px minmax(0,1fr)!important;gap:16px!important}
#body_wrap#body_wrap.home .khs-disease-icon{width:80px!important;height:104px!important}
#body_wrap#body_wrap.home .khs-disease-name{font-size:19px!important}
#body_wrap#body_wrap.home .khs-sym-grid{gap:0 24px!important}
}
@media(max-width:599px){
#body_wrap#body_wrap.home .khs-disease-section{padding:0!important}
#body_wrap#body_wrap.home .khs-disease-grid{grid-template-columns:minmax(0,1fr)!important}
#body_wrap#body_wrap.home .khs-disease-card{grid-template-columns:78px minmax(0,1fr)!important;gap:16px!important;min-height:136px!important;padding:18px 16px 18px 0!important}
#body_wrap#body_wrap.home .khs-disease-icon{width:78px!important;height:100px!important;padding:5px!important}
#body_wrap#body_wrap.home .khs-disease-name{font-size:19px!important;margin-bottom:6px!important}
#body_wrap#body_wrap.home .khs-disease-lead{font-size:16px!important;margin-bottom:24px!important}
#body_wrap#body_wrap.home .khs-sym-grid{grid-template-columns:minmax(0,1fr)!important;margin-bottom:36px!important}
#body_wrap#body_wrap.home .khs-sym-card{min-height:128px;padding:22px 28px 22px 0!important}
#body_wrap#body_wrap.home .khs-sym-card__name{font-size:19px!important}
#body_wrap#body_wrap.home .khs-triage{padding:24px 18px!important}
#body_wrap#body_wrap.home .khs-triage :is(p,li){font-size:16px!important;line-height:1.85!important}
#body_wrap#body_wrap.home .khs-triage__title{font-size:24px!important}
#body_wrap#body_wrap.home .khs-triage__tel{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
#body_wrap#body_wrap.home .khs-triage__telbtn{padding:18px!important}
}
/* Iteration 2: align the existing section heading with the index. */
#body_wrap#body_wrap.home .kds-cond-sub{max-width:1100px!important;margin:0 auto 28px!important;padding:0 20px!important;text-align:left!important}
#body_wrap#body_wrap.home .kds-cond-sub__jp{max-width:none!important;width:auto!important;margin:0!important;text-align:left!important}
#body_wrap#body_wrap.home .khs-disease-grid{max-width:none!important}
#body_wrap#body_wrap.home .khs-disease-hint{text-wrap:balance!important}
@media(max-width:599px){#body_wrap#body_wrap.home .kds-cond-sub{padding:0!important}}
/* Iteration 3: keep emergency-number explanations balanced. */
#body_wrap#body_wrap.home .khs-triage__telbtn{justify-content:flex-start!important}
#body_wrap#body_wrap.home .khs-triage__telbtn span{text-wrap:balance!important}
/* Iteration 4: balance symptom summaries and align their first lines. */
#body_wrap#body_wrap.home .khs-sym-card{justify-content:flex-start!important}
#body_wrap#body_wrap.home .khs-sym-card__hint{text-wrap:balance!important}
/* T140-DISCOVERY-END */
/* T140-STABILITY-START — Home初期レイアウト安定化 / 2026-10-01 */
#body_wrap#body_wrap.home #content,
#body_wrap#body_wrap.home #main_content,
#body_wrap#body_wrap.home .l-mainContent__inner{padding-top:0!important;margin-top:0!important}
/* T140-STABILITY-END */

/* T140-DIRECTORY-START — 費用・医師一覧の情報階層 */
#body_wrap#body_wrap.page-id-4865 .clinic-related-navigation{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin-block:42px!important}
#body_wrap#body_wrap.page-id-4865 .clinic-related-navigation .wp-block-list{list-style:none!important;padding:0!important;margin:20px 0 0!important;display:grid;gap:8px}
#body_wrap#body_wrap.page-id-4865 .clinic-related-navigation .wp-block-list>li{margin:0!important;padding:0!important}
#body_wrap#body_wrap.page-id-4865 .clinic-related-navigation .wp-block-list>li>a{display:flex!important;align-items:center;justify-content:space-between;gap:22px;min-height:64px;padding:16px 20px!important;border:1px solid #c6d1c6;border-radius:6px;background:#f5f6ef;color:#244b3e!important;font-size:18px!important;font-weight:600;line-height:1.7!important;text-decoration:none!important;box-sizing:border-box}
#body_wrap#body_wrap.page-id-4865 .clinic-related-navigation .wp-block-list>li>a::after{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);flex:0 0 7px;margin-right:3px}
#body_wrap#body_wrap.page-id-4865 .clinic-related-navigation .wp-block-list>li>a:hover{background:#e8eee2}
#body_wrap#body_wrap.page-id-4865 .clinic-related-navigation .wp-block-list>li>a:focus-visible{outline:3px solid #795527!important;outline-offset:3px}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-cards{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin-block:40px!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card{display:grid!important;grid-template-columns:180px minmax(0,1fr);column-gap:40px;row-gap:8px;text-align:left!important;align-content:start;border:0!important;border-top:1px solid #bbcbbd!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:36px 0!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>img{grid-column:1;grid-row:1/6;width:180px!important;max-width:100%!important;height:auto!important;align-self:start;object-fit:contain;border-radius:8px!important;margin:0!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>p,#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>ul,#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>a{grid-column:2;margin:0!important;text-align:left!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__role{grid-row:1;font-size:16px!important;line-height:1.6!important;color:#496052!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__name{grid-row:2;font-size:34px!important;font-weight:700!important;line-height:1.45!important;color:#244b3e!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__kana{grid-row:3;font-size:16px!important;line-height:1.6!important;color:#496052!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__spec{grid-row:4;font-size:18px!important;line-height:1.8!important;padding-block:12px!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>ul{list-style:none!important;padding:12px 0!important;font-size:17px!important;line-height:1.8!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>ul>li{font-size:inherit!important;margin:0 0 8px!important;padding:0!important;line-height:1.8!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>ul.kds-doc-card__more{border-top:1px solid #cbd6c9!important;font-size:16px!important;color:#42554a!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__btn{justify-self:start;align-self:start;min-height:48px;max-width:100%;box-sizing:border-box;font-size:17px!important;line-height:1.7!important;padding:12px 18px!important;border:1px solid #244b3e!important;border-radius:4px!important;color:#244b3e!important;background:transparent!important;text-decoration:none!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__btn:hover{background:#e8eee2!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__btn:focus-visible{outline:3px solid #795527!important;outline-offset:3px}
@media(max-width:600px){
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card{grid-template-columns:88px minmax(0,1fr);gap:8px 20px;padding-block:28px!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>img{width:88px!important;grid-row:1/4}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__name{font-size:28px!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__role,#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__kana{font-size:16px!important}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>.kds-doc-card__spec,#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>ul,#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card>a{grid-column:1/-1}
#body_wrap#body_wrap.page-id-1736 .post_content.post_content.post_content .kds-doc-card__spec{padding-top:16px!important}
#body_wrap#body_wrap.page-id-4865 .clinic-related-navigation .wp-block-list>li>a{padding:14px 16px!important;gap:16px;min-height:60px}
}
/* T140-DIRECTORY-END */

/* Lists are already identified by the profile and link rows. */
#body_wrap#body_wrap.page-id-1736 .post_content .kds-doc-card li::before,
#body_wrap#body_wrap.page-id-4865 .post_content .clinic-related-navigation li::before{content:none!important;display:none!important}

/* T-140 seventh iteration: existing page anchors, no medical copy changes. */
#body_wrap#body_wrap.page-id-1736 .post_content .kds-readable-nav ul {
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:8px!important;padding:0!important;margin:12px 0 0!important;
}
#body_wrap#body_wrap.page-id-1736 .post_content .kds-readable-nav li {margin:0!important;padding:0!important;list-style:none!important;min-width:0}
#body_wrap#body_wrap.page-id-1736 .post_content .kds-readable-nav li::before {display:none!important}
#body_wrap#body_wrap.page-id-1736 .post_content .kds-readable-nav a {
 display:flex!important;align-items:center;justify-content:center;min-height:52px!important;
 padding:10px 8px!important;font-size:16px!important;line-height:1.5!important;
 background:#fff!important;border:1px solid #b9c9be!important;border-radius:4px!important;
 color:#244a3c!important;text-decoration:none!important;box-sizing:border-box;
}
#body_wrap#body_wrap.page-id-1736 .post_content .kds-readable-nav a:hover {background:#edf3eb!important}
#body_wrap#body_wrap.page-id-1736 .post_content .kds-readable-nav a:focus-visible {outline:3px solid #285e48!important;outline-offset:3px!important}
#body_wrap#body_wrap.page-id-1736 .kds-doc-card[id],
#body_wrap#body_wrap.page-id-1736 #kds-r113-scope-2,
#body_wrap#body_wrap.page-id-1738 [id^="kds-jump-"] {scroll-margin-top:110px!important}
#body_wrap#body_wrap.page-id-1738 .post_content .kds-quicknav {margin:24px 0 32px!important}
@media(max-width:767px){
 #body_wrap#body_wrap.page-id-1736 .post_content .kds-readable-nav ul {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #body_wrap#body_wrap.page-id-1736 .kds-doc-card[id],#body_wrap#body_wrap.page-id-1736 #kds-r113-scope-2,
 #body_wrap#body_wrap.page-id-1738 [id^="kds-jump-"] {scroll-margin-top:90px!important}
}
#body_wrap#body_wrap.page-id-1738 .post_content .kds-quicknav a {
 font-size:16px!important;line-height:1.5!important;min-height:52px!important;
 display:flex!important;align-items:center;justify-content:center;
}
/* BEGIN KDS T-140 R10 EDITORIAL UNIFY | 2026-10-01 | candidate, not published.
   目的: 3 系統に分かれた視覚言語（SWELL 既定／snippet 8 金ガラス／T-140 紙×墨）を紙×墨×深緑×明朝の 1 系統へ統合。
   本文・画像・DOM・JSON-LD・計測は不変。display:none を当てるのは装飾画像 .l-topTitleArea__img（aria-hidden）のみ。
   反映位置: 追加CSS の末尾（同 specificity は後勝ちに依存）。spec: backups/t140-award-review-20261001/spec.md */
:root:has(#body_wrap),#body_wrap#body_wrap{
--kds-r10-paper:#f7f5ee;--kds-r10-paper-2:#e9eee4;--kds-r10-card:#fffefb;--kds-r10-ink:#203e35;--kds-r10-text:#344b43;--kds-r10-muted:#52675e;--kds-r10-line:#ced7cb;--kds-r10-green:#254f40;
--kds-r10-serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
--kds-r10-sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;
}
/* 5. header / nav */
#body_wrap#body_wrap .l-header__bar{border-bottom:1px solid var(--kds-r10-line)!important}
#body_wrap#body_wrap .c-catchphrase{font-size:13px!important;letter-spacing:.04em!important;color:var(--kds-r10-muted)!important}
#body_wrap#body_wrap .c-gnav>li>a{font-size:15px!important;letter-spacing:.04em!important}
/* 5c. ロゴ PNG の白背景が紙色ヘッダーで矩形に見える既存不具合（before でも発生）を乗算合成で隠す。画像は変更しない */
#body_wrap#body_wrap .c-headLogo__img{mix-blend-mode:multiply}
/* 4. info bar: 深緑ベタ → 紙色の細い帯 */
#body_wrap#body_wrap .c-infoBar{background:var(--kds-r10-paper-2)!important;border-top:1px solid var(--kds-r10-line)!important;border-bottom:1px solid var(--kds-r10-line)!important}
#body_wrap#body_wrap .c-infoBar__text,#body_wrap#body_wrap .c-infoBar__text a{color:var(--kds-r10-ink)!important;font-size:13px!important;letter-spacing:.04em!important;font-weight:500!important}
/* 1. 下層タイトル帯: 全ページ同一のエディトリアル型（写真なし・紙・明朝 H1・下罫線） */
#body_wrap#body_wrap:not(.home) #top_title_area{background:var(--kds-r10-paper)!important;border-bottom:1px solid var(--kds-r10-line)!important;border-radius:0!important;min-height:0!important;height:auto!important;align-items:stretch!important;overflow:visible!important}
#body_wrap#body_wrap:not(.home) #top_title_area .l-topTitleArea__img{display:none!important}
#body_wrap#body_wrap:not(.home) #top_title_area::before,#body_wrap#body_wrap:not(.home) #top_title_area::after{display:none!important}
#body_wrap#body_wrap:not(.home) #top_title_area .l-topTitleArea__body{padding:clamp(28px,4.5vw,56px) 22px!important;max-width:1120px;margin-inline:auto;text-align:left!important}
#body_wrap#body_wrap:not(.home) #top_title_area :is(.c-pageTitle,.c-pageTitle__inner){font-family:var(--kds-r10-serif)!important;font-weight:500!important;font-size:clamp(30px,4.2vw,54px)!important;line-height:1.3!important;letter-spacing:.02em!important;color:var(--kds-r10-ink)!important;max-width:20em;margin:0!important;padding:0!important;border:0!important;background:none!important;text-shadow:none!important}
#body_wrap#body_wrap:not(.home) #top_title_area .c-pageTitle::before,#body_wrap#body_wrap:not(.home) #top_title_area .c-pageTitle::after{display:none!important}
#body_wrap#body_wrap:not(.home) #top_title_area .kds-hero-maincopy{font-family:var(--kds-r10-serif)!important;font-size:clamp(18px,2vw,22px)!important;font-weight:500!important;color:var(--kds-r10-muted)!important;margin:14px 0 0!important}
#body_wrap#body_wrap:not(.home) #top_title_area :is(.kds-hero-subtitle,.c-pageExcerpt,.kds-v-hero-note){font-size:17px!important;line-height:1.75!important;color:var(--kds-r10-text)!important;max-width:40em;margin-top:10px!important;margin-bottom:0!important}
#body_wrap#body_wrap:not(.home) #top_title_area .kds-hero-cta{margin-top:20px!important}
#body_wrap#body_wrap:not(.home) #top_title_area .kds-hero-cta a{background:var(--kds-r10-green)!important;color:#fff!important;border-radius:6px!important;box-shadow:none!important;font-size:16px!important;padding:14px 24px!important;min-height:48px}
#body_wrap#body_wrap:not(.home) #breadcrumb{background:transparent!important;border-bottom:0!important;padding-block:12px!important}
#body_wrap#body_wrap:not(.home) #breadcrumb .p-breadcrumb__text{font-size:13px!important;color:var(--kds-r10-muted)!important}
@media(max-width:600px){#body_wrap#body_wrap:not(.home) #top_title_area .l-topTitleArea__body{padding:26px 20px!important}#body_wrap#body_wrap:not(.home) #top_title_area :is(.c-pageTitle,.c-pageTitle__inner){font-size:30px!important;line-height:1.3!important}#body_wrap#body_wrap:not(.home) #top_title_area :is(.kds-hero-subtitle,.c-pageExcerpt,.kds-v-hero-note){font-size:16px!important;line-height:1.7!important;margin-top:8px!important}#body_wrap#body_wrap:not(.home) #top_title_area .kds-hero-maincopy{font-size:18px!important;margin-top:10px!important}#body_wrap#body_wrap:not(.home) #top_title_area .kds-hero-cta{margin-top:16px!important}#body_wrap#body_wrap:not(.home) #top_title_area .kds-hero-cta a{padding:12px 20px!important;font-size:15px!important}}
/* 1b. 副題・抜粋・CTA を帯内に持つページは垂直リズムを詰める（文字サイズは下げない） */
#body_wrap#body_wrap:not(.home) #top_title_area:has(.c-pageExcerpt,.kds-hero-subtitle,.kds-hero-maincopy) .l-topTitleArea__body{padding-block:clamp(24px,3.6vw,44px)!important}
#body_wrap#body_wrap:not(.home) #top_title_area:has(.c-pageExcerpt,.kds-hero-subtitle) :is(.c-pageTitle,.c-pageTitle__inner){line-height:1.25!important}
#body_wrap#body_wrap:not(.home) #top_title_area .c-pageExcerpt{line-height:1.65!important;margin-top:10px!important}
@media(max-width:600px){#body_wrap#body_wrap:not(.home) #top_title_area:has(.c-pageExcerpt,.kds-hero-subtitle,.kds-hero-maincopy) .l-topTitleArea__body{padding-block:22px!important}#body_wrap#body_wrap:not(.home) #top_title_area .c-pageExcerpt{line-height:1.6!important;margin-top:8px!important}#body_wrap#body_wrap:not(.home) #top_title_area .kds-v-hero-note{margin-top:10px!important;font-size:15px!important}}
/* 1c. 1725 は本文内 JS が帯の CTA/副題を後から差し替える（kds-v-hero-reconcile）。帯の最終高さを先に予約して CLS を防ぐ（実測: PC 462px／SP 365px・2026-10-01） */
@media(min-width:960px){#body_wrap#body_wrap.page-id-1725 #top_title_area{min-height:464px!important}}
@media(max-width:959px){#body_wrap#body_wrap.page-id-1725 #top_title_area{min-height:370px!important}}
/* 2. 下層本文: snippet 8 の金ガラス装飾を紙×墨へ */
#body_wrap#body_wrap:not(.home) .post_content h2{font-family:var(--kds-r10-serif)!important;font-weight:500!important;color:var(--kds-r10-ink)!important;letter-spacing:.02em!important;border:0!important;border-bottom:1px solid var(--kds-r10-line)!important;border-image:none!important;padding:0 0 .5em!important;margin:2.6em 0 1.1em!important;background:none!important;box-shadow:none!important;text-shadow:none!important}
#body_wrap#body_wrap:not(.home) .post_content h2::before,#body_wrap#body_wrap:not(.home) .post_content h2::after{display:none!important}
#body_wrap#body_wrap:not(.home) .post_content h3{border:0!important;border-left:2px solid var(--kds-r10-ink)!important;background:none!important;color:var(--kds-r10-ink)!important;padding:.2em 0 .2em .8em!important;margin:2.2em 0 1em!important;font-weight:600!important;box-shadow:none!important}
#body_wrap#body_wrap:not(.home) .post_content h3::before,#body_wrap#body_wrap:not(.home) .post_content h3::after{display:none!important}
#body_wrap#body_wrap:not(.home) .post_content h4{color:var(--kds-r10-ink)!important;border:0!important;background:none!important;padding:0!important}
#body_wrap#body_wrap:not(.home) .post_content h4::before{display:none!important}
#body_wrap#body_wrap:not(.home) .post_content ul:not([class*="footer"]):not(.p-toc__list):not(.l-footer__nav)>li::before{background:var(--kds-r10-ink)!important;width:5px!important;height:5px!important;box-shadow:none!important;top:.8em!important}
#body_wrap#body_wrap:not(.home) .post_content ol:not(.p-toc__list)>li::before{background:transparent!important;color:var(--kds-r10-ink)!important;border:1px solid var(--kds-r10-ink)!important;box-shadow:none!important;font-weight:600!important}
#body_wrap#body_wrap:not(.home) .post_content .wp-block-table{background:var(--kds-r10-card)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid var(--kds-r10-line)!important;border-radius:8px!important;box-shadow:none!important;transition:none!important}
#body_wrap#body_wrap:not(.home) .post_content .wp-block-table:hover{box-shadow:none!important}
#body_wrap#body_wrap:not(.home) .post_content .wp-block-table th{background:var(--kds-r10-paper-2)!important;color:var(--kds-r10-ink)!important;border-bottom:1px solid var(--kds-r10-line)!important}
#body_wrap#body_wrap:not(.home) .post_content .wp-block-table td{color:var(--kds-r10-text)!important;border-bottom:1px solid var(--kds-r10-line)!important}
#body_wrap#body_wrap:not(.home) .post_content .wp-block-table tbody tr:hover{background:transparent!important}
#body_wrap#body_wrap:not(.home) .post_content .wp-block-table.is-style-stripes tbody tr:nth-child(odd),#body_wrap#body_wrap:not(.home) .post_content .wp-block-table.is-style-stripes tbody tr:nth-child(odd):hover{background:#f3f5ee!important}
#body_wrap#body_wrap:not(.home) .post_content hr.wp-block-separator{background:var(--kds-r10-line)!important;box-shadow:none!important;max-width:none!important;opacity:1!important}
/* 3. 固定 CTA（PC 右レール／SP 下バー）を全ページ統一: WEB予約＝深緑、他＝紙 */
html:has(#body_wrap#body_wrap) #kds-side-cta a,html:has(#body_wrap#body_wrap) .kds-side-cta__item{background:var(--kds-r10-paper-2)!important;color:var(--kds-r10-ink)!important;border:1px solid var(--kds-r10-line)!important;box-shadow:none!important;border-radius:6px!important}
html:has(#body_wrap#body_wrap) #kds-side-cta a:nth-child(2),html:has(#body_wrap#body_wrap) .kds-side-cta__web{background:var(--kds-r10-green)!important;color:#fff!important;border-color:var(--kds-r10-green)!important}
html:has(#body_wrap#body_wrap) :is(.kds-sticky-bar__tel,.kds-sticky-bar__line){background:var(--kds-r10-paper-2)!important;color:var(--kds-r10-ink)!important;border-color:var(--kds-r10-line)!important}
html:has(#body_wrap#body_wrap) .kds-sticky-bar__btn{background:var(--kds-r10-green)!important;color:#fff!important}
/* 5b. トップ: 見出しのスケール・アイブロウの統一 */
#body_wrap#body_wrap.home #kds-home-hero h1{font-size:clamp(44px,5vw,64px)!important;line-height:1.3!important;letter-spacing:.01em!important}
@media(max-width:600px){#body_wrap#body_wrap.home #kds-home-hero h1{font-size:40px!important}}
#body_wrap#body_wrap.home #kds-home-hero .kds-home-hero-kicker{font-size:14px!important;letter-spacing:.08em!important;color:var(--kds-r10-muted)!important}
#body_wrap#body_wrap.home #kds-home-hero figure img{border-radius:8px!important}
#body_wrap#body_wrap.home .post_content p[style*="letter-spacing:0.25em"],#body_wrap#body_wrap.home .kds-home-flow__eyebrow{font-family:var(--kds-r10-sans)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.14em!important;color:var(--kds-r10-muted)!important;margin-bottom:10px!important}
#body_wrap#body_wrap.home .khs-triage__label{font-family:var(--kds-r10-sans)!important;font-size:12px!important;letter-spacing:.14em!important}
#body_wrap#body_wrap.home .post_content h2{color:var(--kds-r10-ink)!important;letter-spacing:.02em!important}
/* END KDS T-140 R10 EDITORIAL UNIFY */
/* T140-VISIT-RHYTHM-START: page1738 only, clinical content unchanged. */
#body_wrap#body_wrap.page-id-1738 .post_content .kds-quicknav ul,
#body_wrap#body_wrap.page-id-1738 .post_content .kds-first-related{
 padding:0!important;margin:16px 0 0!important;list-style:none!important;gap:10px!important;
}
#body_wrap#body_wrap.page-id-1738 .post_content :is(.kds-quicknav,.kds-first-related) li{
 padding:0!important;margin:0!important;min-width:0;list-style:none!important;display:flex;
}
#body_wrap#body_wrap.page-id-1738 .post_content :is(.kds-quicknav,.kds-first-related) li::before{display:none!important}
#body_wrap#body_wrap.page-id-1738 .post_content .kds-quicknav a{
 width:100%;height:100%;min-height:56px!important;padding:12px 6px!important;
 box-sizing:border-box;text-align:center;letter-spacing:0!important;color:#244a3c!important;
}
#body_wrap#body_wrap.page-id-1738 .post_content .kds-first-steps{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px!important;
 margin:28px 0 40px!important;border-top:1px solid #becbc0;
}
#body_wrap#body_wrap.page-id-1738 .post_content .kds-first-step{
 background:transparent!important;border:0!important;border-bottom:1px solid #becbc0!important;
 border-radius:0!important;box-shadow:none!important;padding:24px 0!important;
}
#body_wrap#body_wrap.page-id-1738 .post_content #kds-first-visit-steps .kds-first-step h3{
 font-size:22px!important;line-height:1.6!important;color:#244a3c!important;margin:0 0 12px!important;
}
#body_wrap#body_wrap.page-id-1738 .post_content #kds-first-visit-steps .kds-first-step p{
 font-size:18px!important;line-height:1.9!important;margin:0!important;color:#344d43!important;
}
#body_wrap#body_wrap.page-id-1738 .post_content .kds-first-related a{
 width:100%;box-sizing:border-box;display:flex;align-items:center;min-height:60px;
 font-size:18px!important;line-height:1.7!important;padding:16px!important;
}
@media(max-width:767px){
 #body_wrap#body_wrap.page-id-1738 .post_content .kds-first-steps{grid-template-columns:1fr!important}
 #body_wrap#body_wrap.page-id-1738 .post_content #kds-first-visit-steps .kds-first-step h3{font-size:21px!important}
 #body_wrap#body_wrap.page-id-1738 .post_content #kds-first-visit-steps .kds-first-step p{font-size:17px!important}
 #body_wrap#body_wrap.page-id-1738 .post_content .kds-first-related{grid-template-columns:1fr!important}
}
/* T140-VISIT-RHYTHM-END */

/* Ninth iteration: give tablet reading steps a full text measure. */
@media(min-width:768px) and (max-width:959px){
 #body_wrap#body_wrap.page-id-1738 .post_content .kds-first-steps{grid-template-columns:minmax(0,1fr)!important}
}
/* BEGIN KDS T-140 R11 CONSISTENCY | 2026-10-01 | candidate.
   審査員レビュー（backups/t140-r11-award-20261001/critic/judge-pre.md）の CSS で直せる項目。本文・DOM・画像は不変。 */
/* 1. ヘッダー: inner が独立したスタッキングコンテキスト（position:relative;z-index:1）で背景が透明なため、ロゴ PNG の白背景が合成されなかった。inner に紙色を与え darken で消す */
#body_wrap#body_wrap .l-header__inner{background:var(--kds-r10-paper)!important}
#body_wrap#body_wrap .c-headLogo__img{mix-blend-mode:darken!important}
/* 2. トップにもお知らせバーを出し、下層と同じ顔にする（本文内 style の display:none を上書き） */
#body_wrap#body_wrap.home .c-infoBar{display:block!important}
/* 3. タイポグラフィ: 見出しにプロポーショナル詰め（palt）。括弧・句読点の間延びを解消 */
#body_wrap#body_wrap :is(h1,h2,h3,.c-pageTitle,.kds-home-hero-kicker,.kds-trust-bar__number){font-feature-settings:"palt"}
#body_wrap#body_wrap.home #kds-home-hero h1{letter-spacing:.01em!important}
/* 4. trust バーの数字を第三の書体（Helvetica）から見出しと同じ明朝へ */
#body_wrap#body_wrap.home .kds-trust-bar__number{font-family:var(--kds-r10-serif)!important;font-weight:500!important;letter-spacing:0!important;font-variant-numeric:tabular-nums;color:var(--kds-r10-ink)!important}
#body_wrap#body_wrap.home .kds-trust-bar__number span{font-family:var(--kds-r10-sans)!important;font-size:14px!important;font-weight:500!important;color:var(--kds-r10-muted)!important;margin-left:2px}
#body_wrap#body_wrap.home .kds-trust-bar__label{font-size:14px!important;letter-spacing:.04em!important;color:var(--kds-r10-muted)!important}
#body_wrap#body_wrap.home .kds-trust-bar{border-top:1px solid var(--kds-r10-line);border-bottom:1px solid var(--kds-r10-line)}
/* 5. hero の医師ピル: 写真を大きく、hero 画像との落差を縮める */
#body_wrap#body_wrap.home .kds-home-hero-doc img{width:68px!important;height:68px!important;border-radius:50%!important;border:1px solid var(--kds-r10-line)!important;object-fit:cover}
#body_wrap#body_wrap.home .kds-home-hero-doc__name{font-size:17px!important;font-weight:700!important;color:var(--kds-r10-ink)!important}
#body_wrap#body_wrap.home .kds-home-hero-doc__role{font-size:12px!important;letter-spacing:.04em!important;color:var(--kds-r10-muted)!important}
#body_wrap#body_wrap.home .kds-home-hero-doctors{gap:14px!important;padding-top:14px!important}
/* 6. 固定 CTA（PC 右レール）: 影と大きな角丸をやめ、ボタン族と同じ 6px・1px 罫線に */
html:has(#body_wrap#body_wrap) .kds-side-cta{border-radius:0!important;box-shadow:none!important;background:transparent!important;gap:6px!important}
html:has(#body_wrap#body_wrap) .kds-side-cta__item{border-radius:6px!important;box-shadow:none!important;font-size:12px!important;letter-spacing:.04em!important;line-height:1.3!important}
html:has(#body_wrap#body_wrap) .kds-side-cta__icon{width:20px!important;height:20px!important;stroke-width:1.75!important}
/* 7. 開閉要素の統一（トップ FAQ の本文内 inline style: 白・角丸12・影・金罫線 → 紙カード・8px・罫線のみ） */
#body_wrap#body_wrap.home .post_content details{background:var(--kds-r10-card)!important;border:1px solid var(--kds-r10-line)!important;border-radius:8px!important;box-shadow:none!important}
#body_wrap#body_wrap.home .post_content details summary{color:var(--kds-r10-ink)!important}
#body_wrap#body_wrap:not(.home) .post_content details{border-radius:8px!important;box-shadow:none!important;border:1px solid var(--kds-r10-line)!important}
/* 8. リンクカード（費用ページ等の clinic-related-navigation）: 開閉要素と同じ紙カード・8px */
#body_wrap#body_wrap:not(.home) .post_content .clinic-related-navigation li a,#body_wrap#body_wrap:not(.home) .post_content .clinic-related-navigation li{background:var(--kds-r10-card)!important;border-color:var(--kds-r10-line)!important;border-radius:8px!important;box-shadow:none!important}
/* 9. 下層コンポーネントの角丸を 8px に揃える（ピル・円は除外） */
#body_wrap#body_wrap:not(.home) .post_content :is(.kds-v-detail,.kds-notecard,.kds-readable-nav,.kds-seo-internal-links,.kds-v-card,.kds-v-cards>*,.kds-risk>*,.kds-quicknav,.kds-first-step,.kds-first-related a,.kds-number-card,.kds-stat-card,.kds-step,.kds-box,.wp-block-group.has-background){border-radius:8px!important}
#body_wrap#body_wrap:not(.home) .post_content .kds-byline{border-radius:6px!important;background:var(--kds-r10-paper-2)!important;border-color:var(--kds-r10-line)!important}
#body_wrap#body_wrap:not(.home) .post_content .kds-seo-internal-links{background:var(--kds-r10-paper-2)!important;border:1px solid var(--kds-r10-line)!important}
#body_wrap#body_wrap .post_content :is(.wp-block-button__link,.kds-btn,.kds-cta-btn,.kds-hero-cta a){border-radius:6px!important;box-shadow:none!important}
/* 10. トップのセクション背景: 3 種の微妙に違うオフホワイト（#f8f9f6/#fff/#f5f6f3・inline）を紙 2 色の交互に */
#body_wrap#body_wrap.home .post_content>.wp-block-group.alignfull.has-background:nth-of-type(1){background:var(--kds-r10-paper)!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group.alignfull.has-background:nth-of-type(2){background:var(--kds-r10-paper-2)!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group.alignfull.has-background:nth-of-type(3){background:var(--kds-r10-paper)!important}
#body_wrap#body_wrap.home .post_content>.wp-block-group.alignfull.has-background:nth-of-type(4){background:var(--kds-r10-paper-2)!important}
/* 11. フッター: SWELL 既定の青緑 #2b7568（外枠）を深緑に統一。widget エリア（薄い紙色カード・墨文字）はそのまま＝文字色のコントラストを壊さない */
#body_wrap#body_wrap #footer{background:var(--kds-r10-green)!important}
#body_wrap#body_wrap #footer .l-footer__foot{background:#1c3b30!important}
#body_wrap#body_wrap #footer .l-footer__foot,#body_wrap#body_wrap #footer .l-footer__foot a{color:#fff!important}
/* 12. 症状・疾患カード（トップ）とチェブロンの統一 */
#body_wrap#body_wrap.home .post_content :is(.kds-cond-item,.khs-sym-grid>a){border-radius:8px!important;box-shadow:none!important}
/* END KDS T-140 R11 CONSISTENCY */

/* T-193 最小フォント 12px（SP）2026-10-13 */
@media (max-width: 959px) {
  .post_content .kds-bene-item { font-size: 12px !important; }
  .post_content .kds-danger-badge { font-size: 12px !important; }
  .l-footer .footer-contact__note, .l-footer .footer-contact__label { font-size: 12px !important; }
  .l-footer .footer-links a { font-size: 13px !important; }
  .kds-mid-cta .kds-mid-cta__btn { font-size: 14px !important; }
  .kds-clinicbar__hours figcaption { font-size: 12px !important; }
}
