/* 2026-10-16 全ページ共通の修正：電話導線・営業時間・スマホ下部バー・文字サイズ。
   各ページの既存CSSは触らず、最後に読み込んで上書きする。TOPはこの後に top-revision.css を重ねる。 */

/* ヘッダーの電話（白いヘッダー用。TOPは top-revision.css で写真の上用に上書き） */
.site-header .navigation,.site-header .desktop-nav{margin-left:auto}
.header-tel{order:3;display:flex;align-items:center;gap:9px;flex-shrink:0;margin-left:24px;color:var(--navy,#142c4e);line-height:1.2;text-decoration:none}
.header-tel .phone-symbol{width:24px;height:24px}
.header-tel-text{display:grid;font-size:19px;font-weight:700;letter-spacing:.03em;font-variant-numeric:tabular-nums}
.header-tel-text small{font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--brown,#7a5a24)}
.header-tel:hover .header-tel-text{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1180px){.header-tel{width:44px;height:44px;justify-content:center;margin-left:16px;border:1px solid var(--line,#d9dee5);border-radius:50%}.header-tel-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media(max-width:800px){.header-tel{order:0;margin-left:auto;margin-right:10px;width:40px;height:40px}.site-header .menu-toggle{order:1}}

/* 営業時間の添え書き */
.phone-hours{display:block;margin-top:6px;font-size:13px;opacity:.85}
.access-hours{margin-top:4px;font-size:14px;color:var(--muted,#505050)}
.footer-hours{display:inline-block;margin-block:2px}

/* スマホ：相談ガイドとLINEの2つの追従ボタンを、画面下の1本のバーにまとめる */
.mobile-cta{display:none}
@media(max-width:580px){
  .line-floating,.guide-launch{display:none!important}
  .mobile-cta{position:fixed;z-index:41;left:0;right:0;bottom:0;display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:6px;padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));background:#fffffff5;border-top:1px solid var(--line,#d9dee5);box-shadow:0 -6px 20px #142c4e1f}
  .mobile-cta>a,.mobile-cta>button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:52px;padding:4px 6px;border:0;border-radius:10px;font:700 14px/1.25 var(--sans);text-align:left;color:#fff}
  .mobile-cta small{display:block;font-size:10px;font-weight:600;letter-spacing:.04em;opacity:.9}
  .mobile-cta svg{width:22px;height:22px;flex-shrink:0}
  .mobile-cta-tel{background:var(--orange,#ddb35f);color:var(--navy,#142c4e)!important}
  .mobile-cta-line{background:#087f38}
  .mobile-cta-line-icon{display:grid;place-items:center;width:30px;height:26px;background:#fff;color:#087f38;border-radius:9px;font:700 8px/1 Arial,sans-serif;flex-shrink:0}
  .mobile-cta-guide{background:var(--navy,#142c4e)}
  .mobile-cta-guide img{width:30px;height:36px;object-fit:contain;flex-shrink:0;margin-top:-10px}
  body.guide-open .mobile-cta,body.modal-open .mobile-cta,body:has(input:focus,textarea:focus,select:focus) .mobile-cta{display:none}
  :root .legal-footer{padding-bottom:110px}
}

/* ===== 下層ページの文字サイズ（TOPは top-revision.css で個別に調整済みのため対象外） =====
   :root:has(.site-header .navigation) … 下層ページ共通のヘッダーを持つページだけに効かせる */
:root:has(.site-header .navigation) main :is(p,li,dd,summary):not([class]){font-size:16px;line-height:1.95}
:root:has(.site-header .navigation) main :is(.card-copy,.check-note,.check-safety,.service-note,.process-note,.medical-note,.trend-highlight,.wp-process-copy,.wp-image-explanation,.wp-note,.wp-method-link,.complete-panel p,.intro-aside p,.profile-note){font-size:15px;line-height:1.9}
:root:has(.site-header .navigation) main :is(td,th,caption,dt,label,.subline,.step-purpose p,.channel-help,.field-help,.privacy-note,.caption,.aside-note,.setup-note,.photo-source-note,.wp-small,.wp-process-photo-note,.aside-list li){font-size:14px}
:root:has(.site-header .navigation) main :is(figcaption,.step-purpose strong,.process-phases li,.service-tags span,.table-unit,.trend-unit,.trend-column span,.wp-photo-label,.wp-type-label,.wp-other-label,.wp-tag,.wp-more,.wp-cutaway-zoom,.severity-label small,.severity-soon,.severity-nav a,.step-list li,.step-list span){font-size:13px}
:root:has(.site-header .navigation) main :is(.required,.optional){font-size:11px}
:root:has(.site-header .navigation) .eyebrow{font-size:12px}
:root:has(.site-header .navigation) .breadcrumb{font-size:12px}
:root:has(.site-header .navigation) :is(.button,.nav-contact,.line-channel,.instagram-channel,.wp-reference a){font-size:14px}
:root:has(.site-header .navigation) .navigation{font-size:13px}
:root:has(.site-header .navigation) .menu-toggle{font-size:13px}
:root:has(.site-header .navigation) :is(.footer-links,.footer-links a,.footer-details,.footer-details p,.footer-details a,.footer-socials a,.footer-hours){font-size:14px}
:root:has(.site-header .navigation) :is(.footer-bottom,.footer-bottom p){font-size:12px}
@media(max-width:800px){:root:has(.site-header .navigation) .navigation.open{font-size:15px}}
@media(max-width:580px){
  :root:has(.site-header .navigation) main :is(p,li,dd,summary):not([class]){font-size:15px;line-height:1.9}
  :root:has(.site-header .navigation) main :is(.card-copy,.check-note,.check-safety,.service-note,.process-note,.medical-note,.trend-highlight,.wp-process-copy,.wp-image-explanation,.wp-note,.wp-method-link,.complete-panel p,.intro-aside p,.profile-note){font-size:14px}
  :root:has(.site-header .navigation) .site-footer{padding-bottom:96px}
}
:root:has(.site-header .navigation) :is(.service-local-nav a,.company-tabs a,.phone-channel small,.comparison-grid strong){font-size:14px}
:root:has(.site-header .navigation) main :is(h1,h2,h3,p,li,dd,summary){word-break:auto-phrase}
/* タブレット幅（801〜1000px）：電話アイコンが入っても、メニューが折り返さないよう詰める */
@media(min-width:801px) and (max-width:1000px){
  :root:has(.site-header .navigation) .site-header{padding-inline:20px}
  :root:has(.site-header .navigation) .site-header .brand-logo{width:170px}
  :root:has(.site-header .navigation) .navigation{font-size:12px;gap:14px}
  :root:has(.site-header .navigation) .navigation>a{white-space:nowrap}
  :root:has(.site-header .navigation) .nav-contact{padding:12px 14px;gap:10px}
  :root:has(.site-header .navigation) .header-tel{margin-left:12px}
}

/* ===== 見出しのフォント（2026-10-19。しっぽり明朝 → 源ノ明朝に変更） =====
   紺×金の落ち着いた雰囲気に合わせ、見出しと大きな数字だけ明朝に。本文は読みやすい游ゴシックのまま。 */
:root{--heading-font:"Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif}
:root :is(h1,h2,.section-title,.image-tag,.trust-award strong,.trust-list strong,.award-rank,.promise-number b,.about-sign strong,.license-number){font-family:var(--heading-font);font-weight:700;letter-spacing:.05em}
:root :is(.trust-award strong,.trust-list strong,.award-rank,.promise-number b){font-weight:800}
/* 相談ガイドなど、小さな画面部品の見出しはゴシックのまま */
:root :is(dialog h2,.guide-head h2){font-family:var(--sans);letter-spacing:normal}

/* ===== 書体の変更（2026-10-19）：見出し＝源ノ明朝（Noto Serif JP）、本文・小見出し・ボタン＝源ノ角ゴシック（Noto Sans JP） ===== */
:root{--sans:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--detail:var(--sans);--heading-font:"Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif}
body{font-family:var(--sans)}
:root :is(.trust-award strong,.trust-list strong,.award-rank,.promise-number b){font-weight:900}

/* ヘッダーの「お問い合わせ」ボタンをオレンジに（全ページ共通・2026-10-19）。文字はほかのオレンジのボタンと同じく紺 */
:root .site-header .nav-contact{background:#ddb35f;border:1px solid #ddb35f;color:#142c4e}
:root .site-header .nav-contact .arrow{color:inherit}
:root .site-header .nav-contact:hover{background:#e6c27a;border-color:#e6c27a;color:#142c4e}

/* ヘッダーの「お問い合わせ」ボタン：オレンジ → 実績の帯と同じ金色に（全ページ共通・2026-10-19） */
:root .site-header .nav-contact{background:linear-gradient(180deg,#f3dca0 0%,#ddb35f 55%,#c29a48 100%);border:1px solid #c29a48;color:#142c4e;box-shadow:inset 0 1px 0 #fff3cf}
:root .site-header .nav-contact:hover{background:linear-gradient(180deg,#f8e7b8 0%,#e6c27a 55%,#d0a955 100%);border-color:#d0a955;color:#142c4e}
/* ヘッダーの「お問い合わせ」は矢印なしで、文字を中央に（2026-10-20） */
:root .site-header .nav-contact .arrow{display:none}
:root .site-header .nav-contact{justify-content:center;padding-inline:24px}
/* お問い合わせボタン：文字を白に。白が読めるよう金を少し深く（2026-10-20） */
:root .site-header .nav-contact{background:linear-gradient(180deg,#d9b469 0%,#b8903f 55%,#9a7530 100%);border-color:#9a7530;color:#fff;text-shadow:0 1px 2px #0000004d;box-shadow:inset 0 1px 0 #f0d79a99}
:root .site-header .nav-contact:hover{background:linear-gradient(180deg,#e4c27c 0%,#c69d4c 55%,#a8823a 100%);border-color:#a8823a;color:#fff}
