@charset "UTF-8";

/* =============================================================
   銀座レーヌクリニック — 全ページ共通スタイル
   ─ フォント / リセット / 固定CTAバー / SWELL装飾の打ち消し
   ============================================================= */

/* ----- 1. SWELLメインカラー上書き ----- */
:root {
  --color_main:       #1E4F8E !important;
  --color_text:       #32363E !important;
  --color_link:       #1E4F8E !important;
  --color_htag:       #1F2228 !important;
  --swl-color_shadow: rgba(30,79,142,0.10) !important;
}

/* ----- 2. ボディフォント（Noto Sans JP 統一） ----- */
body {
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','メイリオ',sans-serif !important;
  font-weight: 300;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

/* ----- 3. 子テーマカスタムページ共通：SWELLのタイトル/パンくず非表示 ----- */
.reine-page--tp .l-content__titleArea,
.reine-page--tx .l-content__titleArea,
.reine-page--pr .l-content__titleArea,
.reine-page--dr .l-content__titleArea,
.reine-page--cl .l-content__titleArea,
.reine-page--treatment .l-content__titleArea {
  display: none !important;
}

/* ----- 4. ヘッダーロゴをロイヤルブルー風に ----- */
.l-header {
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(30,79,142,0.08) !important;
}
.c-headLogo a,
.l-header__logo a {
  font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  color: #1E4F8E !important;
}

/* ----- 5. グローバルナビ（PC） ----- */
.c-gnav a,
.l-header .c-gnav a {
  font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  color: #5E636E !important;
}
.c-gnav a:hover {
  color: #1E4F8E !important;
}

/* ----- 6. フッター ----- */
.l-footer {
  background: #0C2240 !important;
  color: #9A9FAB !important;
}
.l-footer a { color: #BFC3CC !important; }
.l-footer a:hover { color: #DCC88E !important; }


/* ============================================================
   固定CTAバー（電話 / LINE / WEB予約）
   ─ 全ページ共通 / </body>直前に functions.php から自動出力
   ============================================================ */
.grc-fixed-cta {
  position: fixed !important;
  left: 0; right: 0; bottom: 0;
  z-index: 99990;
  display: flex !important;
  background: #fff;
  box-shadow: 0 -2px 16px rgba(15,21,48,.12);
  border-top: 1px solid #e3eaf5;
  font-family: 'Noto Sans JP', sans-serif;
}
.grc-fixed-cta__btn {
  flex: 1;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 9px 6px !important;
  text-decoration: none !important;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .05em;
  color: #0f2d63;
  border: none !important;
  transition: filter .2s ease, transform .2s ease;
}
.grc-fixed-cta__btn:hover { filter: brightness(1.05); }
.grc-fixed-cta__btn--tel  { background: #f4f7fc !important; color: #0f2d63 !important; }
.grc-fixed-cta__btn--line { background: #06c755 !important; color: #fff !important; }
.grc-fixed-cta__btn--web  { background: linear-gradient(135deg,#C5A55A 0%,#9c7d36 100%) !important; color: #1a2238 !important; }
.grc-fixed-cta__icon {
  width: 22px; height: 22px; display: block; flex-shrink: 0;
}
.grc-fixed-cta__label {
  font-weight: 600; font-size: 11.5px; letter-spacing: .06em; white-space: nowrap;
}

/* モバイル時、本文最下部にCTAバーぶんの余白を確保 */
@media (max-width: 819px) {
  body { padding-bottom: 64px; }
}

/* PC: 右下フローティングピル型 */
@media (min-width: 820px) {
  .grc-fixed-cta {
    left: auto; right: 24px; bottom: 24px;
    width: auto;
    border-radius: 50px;
    overflow: hidden;
    box-shadow: 0 12px 36px rgba(15,21,48,.20);
    border: none;
  }
  .grc-fixed-cta__btn {
    flex-direction: row;
    gap: 10px;
    padding: 14px 22px !important;
    font-size: 13px;
  }
  .grc-fixed-cta__icon { width: 18px; height: 18px; }
  .grc-fixed-cta__label { font-size: 13px; }
}


/* ============================================================
   【最優先上書き】全ページ統一ルール
   ─ 文字色: 90%黒 (#1a1a1a)
   ─ 本文(p/li/dt/dd/td/span/strong/em/small): 16px
   ─ 暗背景上の白文字は例外として維持
   ─ 見出しは独自サイズを維持(視覚階層保持)
   ============================================================ */

/* 文字色 #1a1a1a — 子テーマカスタムページ全体 */
.tp, .tp *,
.tx-page, .tx-page *,
.pr-page, .pr-page *,
.dr-page, .dr-page *,
.cl-page, .cl-page *,
.tr-page, .tr-page * {
  color: #1a1a1a !important;
}

/* 本文系 16px 統一 */
.tp p, .tp li, .tp dd, .tp dt, .tp td, .tp th, .tp span, .tp small, .tp strong, .tp em,
.tx-page p, .tx-page li, .tx-page dd, .tx-page dt, .tx-page td, .tx-page th, .tx-page span, .tx-page small, .tx-page strong, .tx-page em,
.pr-page p, .pr-page li, .pr-page dd, .pr-page dt, .pr-page td, .pr-page th, .pr-page span, .pr-page small, .pr-page strong, .pr-page em,
.dr-page p, .dr-page li, .dr-page dd, .dr-page dt, .dr-page td, .dr-page th, .dr-page span, .dr-page small, .dr-page strong, .dr-page em,
.cl-page p, .cl-page li, .cl-page dd, .cl-page dt, .cl-page td, .cl-page th, .cl-page span, .cl-page small, .cl-page strong, .cl-page em,
.tr-page p, .tr-page li, .tr-page dd, .tr-page dt, .tr-page td, .tr-page th, .tr-page span, .tr-page small, .tr-page strong, .tr-page em {
  font-size: 16px !important;
  line-height: 1.8 !important;
}

/* 暗背景上は白文字維持 */
.tp-mv__jp,
.tp .tp-cta, .tp .tp-cta *,
.tp .tp-btn--gold, .tp .tp-btn--ghost,
.tp a.tp-btn--gold, .tp a.tp-btn--ghost,

.tx-page .tx-hero, .tx-page .tx-hero *,
.tx-page .tx-cta__btn, .tx-page .tx-cta__btn *,
.tx-page .tx-sh__num,
.tx-page .tx-penguin-badge,

.pr-page .pr-hero, .pr-page .pr-hero *,
.pr-page .pr-cta__btn,
.pr-page .pr-menu__time,
.pr-page .pr-discount__title::before,

.dr-page .dr-hero, .dr-page .dr-hero *,
.dr-page .dr-cta__btn, .dr-page .dr-cta__btn *,

.cl-page .cl-hero, .cl-page .cl-hero *,
.cl-page .cl-cta__btn, .cl-page .cl-cta__btn *,
.cl-page .cl-access__badge,
.cl-page .cl-info__tel,

.tr-page .tr-mv, .tr-page .tr-mv *,
.tr-page .tr-cta__btn,
.tr-page .tr-drug-card__badge--filled,
.tr-page .tr-price-table th,
.tr-page .tr-policy__num,
.tr-page .tr-flow__num,
.tr-page .tr-case__img--label::after {
  color: #fff !important;
}

/* 固定CTAバーの文字色は元設定を維持(青/緑/ゴールド背景に対応) */
.grc-fixed-cta__btn--tel, .grc-fixed-cta__btn--tel * { color: #0f2d63 !important; }
.grc-fixed-cta__btn--line, .grc-fixed-cta__btn--line * { color: #fff !important; }
.grc-fixed-cta__btn--web, .grc-fixed-cta__btn--web * { color: #1a2238 !important; }

/* SWELLフッター色を維持 */
.l-footer, .l-footer * { color: #9A9FAB !important; }
.l-footer a { color: #BFC3CC !important; }
.l-footer a:hover { color: #DCC88E !important; }


/* ============================================================
   【最優先】全ページのフォントをゴシック体(Noto Sans JP)に統一
   ─ Cormorant Garamond / Noto Serif JP / Playfair Display を全部上書き
   ─ 子テーマカスタムページ + ヘッダー/フッターも含めて統一
   ============================================================ */
body,
body *,
body *::before,
body *::after,
.tp, .tp *,
.tp-mv, .tp-mv *,
.tx-page, .tx-page *,
.pr-page, .pr-page *,
.dr-page, .dr-page *,
.cl-page, .cl-page *,
.tr-page, .tr-page *,
.l-header, .l-header *,
.l-fixHeader, .l-fixHeader *,
.l-footer, .l-footer *,
.c-headLogo, .c-headLogo *,
.c-gnav, .c-gnav *,
.grc-fixed-cta, .grc-fixed-cta *,
h1, h2, h3, h4, h5, h6,
input, textarea, select, button {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif !important;
  font-style: normal !important;
}
