/* v25: 高齢者向け文字拡大・お知らせ一覧・固定アクションバー・診療科導線
   文字サイズは3段階に統一: 見出し28px / 本文・ボタン19px / ラベル16px */

/* トップ受診案内（MAP・診療時間・Web予約・電話する）を同じサイズ・同じ見た目に */
.mobile-guide-grid--v25 a,.mobile-guide-grid--v25 .guide-hours{font-size:19px}
.mobile-guide-grid--v25 .guide-access span,
.mobile-guide-grid--v25 .guide-hours b,
.mobile-guide-grid--v25 .guide-hours span,
.mobile-guide-grid--v25 .guide-primary b{font-size:19px!important;line-height:1.55}
.mobile-guide-grid--v25 .guide-access span{font-weight:700}
.mobile-guide-grid--v25 .guide-hours{display:flex;min-height:92px;flex-direction:column;justify-content:center;padding:13px 14px;border:1px solid #cfe1c8;border-radius:7px;background:#e8f6e4;grid-column:1/-1}
.mobile-guide-grid--v25 .guide-hours b{color:#087c69}
.mobile-guide-grid--v25 .guide-hours span{margin-top:5px}
.mobile-guide-grid--v25 .guide-primary{min-height:56px}
.mobile-guide-grid--v25 a.guide-primary,.mobile-guide-grid--v25 a.guide-phone{background:#fff!important;border-color:#81c7b8}

/* 診療科への直接導線 */
.service-grid--dept{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.service-grid--dept a{display:block;text-align:center;padding:22px 10px;background:#fff;border:1px solid var(--line);border-radius:7px;text-decoration:none;transition:.2s ease}
.service-grid--dept a:hover{background:var(--pale);border-color:var(--green)}
.service-grid--dept h3{margin:0;font-size:19px;color:var(--deep)}
@media(max-width:520px){.service-grid--dept{grid-template-columns:1fr 1fr}}

/* お知らせ一覧 */
.notice-list{margin:0;padding:0;list-style:none}
.notice-list li{border-bottom:1px solid var(--line);padding:10px 0}
.notice-list a{text-decoration:none;color:var(--ink);font-size:19px}
.notice-list a:hover{color:var(--teal)}

/* 院内紹介ページ 写真グリッド */
.photo-grid--inhouse{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.photo-grid--inhouse figure{margin:0}
.photo-grid--inhouse img{width:100%;height:170px;object-fit:cover;border-radius:6px;display:block}
.photo-grid--inhouse figcaption{margin-top:8px;font-size:19px;color:var(--ink);text-align:center}
@media(max-width:640px){.photo-grid--inhouse{grid-template-columns:1fr 1fr}}

/* フッター */
.footer--v25 .footer-brand strong{font-size:19px}
.footer--v25 .footer-grid p{font-size:16px;line-height:1.7}

/* 固定アクションバー（電話・WEB予約・発熱外来） */
.fixed-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 -3px 14px rgba(0,0,0,.12)}
.fixed-action-bar .fab-item{display:flex;align-items:center;justify-content:center;padding:16px 2px;text-decoration:none;color:#fff;font-size:19px;text-align:center;white-space:nowrap}
.fixed-action-bar .fab-item b{font-weight:800}
.fixed-action-bar .fab-tel{background:var(--teal)}
.fixed-action-bar .fab-reserve{background:var(--green)}
.fixed-action-bar .fab-fever{background:#d1592f}
body{padding-bottom:72px}
.back-to-top{bottom:86px}
@media(min-width:900px){
  .fixed-action-bar{left:auto;right:22px;bottom:22px;width:300px;border-radius:10px;overflow:hidden;grid-template-columns:1fr}
  .fixed-action-bar .fab-item{padding:15px}
  body{padding-bottom:70px}
  .back-to-top{display:none}
}

/* ヘッダーの操作ボタン */
.btn{font-size:17px!important;padding:12px 20px!important}

/* Googleマップ埋め込みを枠いっぱいに表示 */
.map-placeholder,.map-placeholder .wp-block-group__inner-container{width:100%!important;max-width:100%!important}
.page-body iframe[src*="google.com/maps"]{display:block!important;width:100%!important;max-width:100%!important;height:380px!important}
.map-placeholder:has(iframe){min-height:0;background:none;display:block;padding:0}

/* トップページ全体の文字サイズを3段階に統一（本文・ボタン19px／ラベル16px） */
.section-kicker{font-size:16px!important}
.hero-copy p,.hero-links a{font-size:19px!important}
.concept p,.recruit p{font-size:19px!important;line-height:1.85}
.recruit-card strong,.recruit-card span{font-size:19px!important}
.card-links a b{font-size:19px}
.card-links a span{font-size:16px!important}
.hours-notes{font-size:19px!important}
.hours-table-compact{font-size:clamp(15px,4vw,18px)!important}

/* 発熱外来のご案内ポップアップ（JSが無効なときはボタンがそのまま電話になる） */
.fever-modal[hidden]{display:none}
.fever-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.55)}
.fever-modal__box{position:relative;width:min(92vw,480px);max-height:92vh;border-radius:18px;overflow:hidden;background:#fff}
.fever-modal__box img{display:block;width:100%;height:auto;max-height:92vh;object-fit:contain}
.fever-modal__close{position:absolute;top:0;right:0;width:13%;height:10%;background:transparent;border:0;cursor:pointer}
.fever-modal__call{position:absolute;left:3.7%;top:86.9%;width:89.8%;height:8.4%;border-radius:999px}
.fever-modal__close:focus-visible,.fever-modal__call:focus-visible{outline:3px solid #f5a623;outline-offset:2px}
body.fever-modal-open{overflow:hidden}

/* 緑背景のセクションではラベル（青字）を明るい色にして読みやすく */
.concept .section-kicker,.recruit .section-kicker{color:#e3f7d3}

/* 「駅北口より徒歩1分 ／ MAP→」を1行に。入りきらない幅ではMAP→ごと折り返す */
.mobile-guide-grid--v25 a.guide-access{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:8px;padding:12px 10px}
.mobile-guide-grid--v25 a.guide-access span{margin-top:0}
.mobile-guide-grid--v25 a.guide-access .guide-map{white-space:nowrap}

/* サブページも同じ3段階に統一（見出し／本文・入力欄19px／ラベル・注記16px） */
.lead{font-size:19px}
.editable-content p,.editable-content li,.article-body p,.article-body li,
.editable-content .wp-block-table td,.editable-content .wp-block-table th{font-size:19px;line-height:1.85}
.editable-content p.photo-note{font-size:16px}
.note{font-size:16px!important}
.post-grid h2,.post-grid article p{font-size:19px}
.post-grid .post-date{font-size:16px}
.contact-form label,.contact-form input,.contact-form select,.contact-form textarea{font-size:19px}
.contact-form .required-mark,.contact-form .field-error{font-size:16px}
.form-complete p{font-size:19px}

/* 送信ボタンの文字も本文と同じ大きさに */
.contact-form button{font-size:19px;padding:16px 14px}

/* スマホでは表の項目名を上・内容を下に積み、項目名が1文字ずつ縦に折れないように */
@media(max-width:600px){
  .editable-content .wp-block-table table,.editable-content .wp-block-table tbody,.editable-content .wp-block-table tr,.editable-content .wp-block-table th,.editable-content .wp-block-table td{display:block;width:100%}
  .editable-content .wp-block-table tr{border:1px solid var(--line);border-bottom:0}
  .editable-content .wp-block-table tr:last-child{border-bottom:1px solid var(--line)}
  .editable-content .wp-block-table th{border:0;text-align:left;padding:12px 14px 4px}
  .editable-content .wp-block-table td{border:0;padding:6px 14px 14px}
}

/* 診療科セクションを緑背景・白ボタンに */
.services--green{background:#258f3f;color:#fff}
.services--green .section-kicker{color:#e3f7d3}
.services--green .service-grid--dept a{background:#fff;border-color:#fff}

/* 健康コラム・採用情報：緑背景に白いボタンを2つ並べる */
.home-links--green{background:#258f3f}
.home-links--green .card-links{grid-template-columns:1fr 1fr}
.home-links--green .card-links a{background:#fff;border-color:#fff}
@media(max-width:520px){.home-links--green .card-links{grid-template-columns:1fr}}

/* PC表示のヘッダー：TELの下にFAX */
.header-fax{font-size:18px;font-weight:800;color:var(--brown);white-space:nowrap;line-height:1.3}


/* v39: ヘッダーのTEL/FAX・駅徒歩/診療時間の文字サイズ統一、メニュー文字拡大 */
.header-meta .phone,.header-meta .header-fax{font-size:22px;font-weight:800;line-height:1.3}
.header-meta .station,.header-meta > span:not(.header-fax){font-size:16px;line-height:1.5}
.nav-inner a{font-size:19px}
.nav-inner a{padding:12px 14px}

/* アクセスページ：スマホ・タブレットでは地図を所在地の上に表示 */
@media(max-width:781px){
  .page-body .wp-block-columns:has(.map-placeholder){flex-direction:column-reverse}
}
