/* =========================================================================
   ヒロクリニック ED サイト共通デザイン（Redmine #179315 / 2026-08-24）
   テーマ jstork19 を直接編集せず、ここだけで見た目を切り替える。
   ========================================================================= */
:root{
  --edx-navy:#071724; --edx-navy-2:#0b2230; --edx-ink:#101b23;
  --edx-teal:#0c3938; --edx-teal-2:#15514c;
  --edx-copper:#c6a16a; --edx-copper-light:#dfc89f;
  --edx-cream:#f2f0e9; --edx-paper:#faf9f6; --edx-mist:#e6ebe8;
  --edx-muted:#657079; --edx-line:rgba(16,27,35,.14);
  --edx-mincho:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  --edx-gothic:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;
}

/* ---------- 全体のトーン ---------- */
body{ background:var(--edx-paper); color:var(--edx-ink); font-family:var(--edx-gothic);
      font-feature-settings:"palt"; letter-spacing:.02em; }
#content, #inner-content, .entry-content{ background:transparent; }
a{ color:var(--edx-teal-2); }
a:hover{ color:var(--edx-copper); }

/* 本文の見出しを明朝に寄せる（記事ページ全体に効く） */
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4,
.entry-title, .archive-title, h1.entry-title{
  font-family:var(--edx-mincho); font-weight:600; letter-spacing:.04em; color:var(--edx-ink);
  word-break:auto-phrase; text-wrap:pretty;
}
.entry-content h2{
  background:none !important; border:0 !important; border-left:3px solid var(--edx-copper) !important;
  padding:.1em 0 .1em .7em !important; margin:2.6em 0 1em !important;
  font-size:1.5rem; line-height:1.55; color:var(--edx-ink);
}
.entry-content h3{
  background:none !important; border:0 !important; border-bottom:1px solid var(--edx-line) !important;
  padding:0 0 .45em !important; margin:2.2em 0 .9em !important;
  font-size:1.25rem; line-height:1.6; color:var(--edx-ink);
}
.entry-content h2::before, .entry-content h2::after,
.entry-content h3::before, .entry-content h3::after{ content:none; display:none; }
.entry-content p{ line-height:1.95; }

/* ---------- 上部ユーティリティバー ---------- */
.edx-utility{ background:var(--edx-navy); color:rgba(255,255,255,.72);
  font-size:11px; letter-spacing:.08em; font-family:var(--edx-gothic); }
.edx-utility-inner{ width:min(1180px,100% - 40px); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; min-height:34px; gap:16px; }
.edx-utility p{ margin:0; }
.edx-utility .edx-utility-note{ display:inline-flex; align-items:center; gap:7px; }
.edx-utility svg{ width:13px; height:13px; stroke:var(--edx-copper-light); fill:none; stroke-width:1.7; }
@media (max-width:600px){
  .edx-utility{ font-size:10px; }
  .edx-utility .edx-utility-note span{ display:none; }
}

/* ---------- ヘッダー ---------- */
.hch-header.stk_header{
  background:var(--edx-navy) !important; color:#fff; border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:none;
}
.hch-header .hch-logo img{ background:#fff; border-radius:50%; }  /* ダーク背景でもロゴが沈まないように */
.hch-header a{ color:#fff; }
.hch-header .hch-menu > li > a{
  font-family:var(--edx-gothic); font-size:13px; letter-spacing:.08em; color:#fff;
}
.hch-header .hch-menu > li > a:hover{ color:var(--edx-copper-light); }
.hch-header .hch-menu .sub-menu{ background:var(--edx-navy-2); border:1px solid rgba(255,255,255,.12); }
.hch-header .hch-menu .sub-menu a{ color:rgba(255,255,255,.86); font-size:12.5px; }
.hch-header .hch-menu .sub-menu a:hover{ color:var(--edx-copper-light); background:rgba(255,255,255,.05); }
.hch-header .hch-btn{
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35);
  border-radius:0; font-size:12px; letter-spacing:.06em;
}
.hch-header .hch-btn:hover{ border-color:var(--edx-copper); color:var(--edx-copper-light); background:transparent; }
.hch-header .hch-search-field{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.24);
  color:#fff; border-radius:0;
}
.hch-header .hch-search-field::placeholder{ color:rgba(255,255,255,.5); }
.hch-header .hch-search-submit svg{ fill:rgba(255,255,255,.8); }
.hch-header .hch-search-toggle svg{ fill:#fff; }
.hch-header .hch-menu-toggle span{ background:#fff; }
/* ヘッダー内のオンライン診療ボタン（JSで差し込む） */
.edx-header-cta{
  display:inline-flex; align-items:center; gap:10px; min-height:42px; padding:0 16px;
  background:rgba(198,161,106,.08); border:1px solid rgba(198,161,106,.7);
  color:#fff !important; font-size:12px; letter-spacing:.06em; white-space:nowrap;
  font-family:var(--edx-gothic); transition:background .2s;
}
.edx-header-cta:hover{ background:rgba(198,161,106,.18); color:var(--edx-copper-light) !important; }
.edx-header-cta svg{ width:16px; height:16px; stroke:var(--edx-copper-light); fill:none; stroke-width:1.7; }
@media (max-width:900px){ .edx-header-cta{ display:none; } }

/* SPのモーダルメニュー */
.hch-modal{ background:var(--edx-navy); }
.hch-modal a{ color:#fff; }

/* ---------- コラム一覧のカード ---------- */
.category-content .post-list .category-post-item{ background:#fff; border:1px solid var(--edx-line) !important; }
.category-content .post-list .category-post-item > a{ padding:0 0 16px; }
.category-content .post-list .post-title, .category-content .post-list h2{
  font-family:var(--edx-mincho); font-size:1.02rem; line-height:1.6; letter-spacing:.02em;
  padding:0 14px; color:var(--edx-ink);
}
.category-content .post-list .post-thumbnail{ margin-bottom:14px !important; }

/* ---------- フッター ---------- */
#footer.footer{ background:var(--edx-navy) !important; color:rgba(255,255,255,.75); }
#footer.footer a{ color:rgba(255,255,255,.82); }
#footer.footer a:hover{ color:var(--edx-copper-light); }
#footer.footer .widgettitle, #footer.footer h3, #footer.footer h4{
  font-family:var(--edx-mincho); color:#fff; letter-spacing:.06em; background:none; border:0;
}
#footer-bottom{ background:#050f18 !important; color:rgba(255,255,255,.6); }
#footer-bottom a{ color:rgba(255,255,255,.7); }
#footer .footer-logo img, #footer img.footer-logo{ background:#fff; border-radius:50%; }

/* ---------- 下部固定CTA（オンライン診療／LINE） ---------- */
.fix-inner .fix-btn{ font-family:var(--edx-gothic); font-weight:600; letter-spacing:.06em; border-radius:0 !important; }
.fix-inner .fix-btn--online{ background:var(--edx-copper) !important; color:#fff !important; }
.fix-inner .fix-btn--online:hover{ background:#b8905a !important; }
.fix-inner .fix-btn--line{ background:var(--edx-teal) !important; color:#fff !important; }
.fix-inner .fix-btn--line:hover{ background:var(--edx-teal-2) !important; }

/* ページトップへ戻る */
#page-top a{ background:var(--edx-teal) !important; border-radius:0 !important; }

/* =========================================================================
   下層ページ（固定ページ・コラム記事）の本文をデザインのトーンに合わせる
   ========================================================================= */

/* パンくず */
#breadcrumb.breadcrumb{ background:transparent; border:0; padding:14px 0 0; }
#breadcrumb .breadcrumb__ul{ font-size:11px; letter-spacing:.06em; color:var(--edx-muted); }
#breadcrumb a{ color:var(--edx-muted); }
#breadcrumb a:hover{ color:var(--edx-copper); }

/* ページタイトル */
body.single .entry-header .entry-title, body.page .entry-header .entry-title,
body.single .article-header .entry-title, body.page .article-header .entry-title,
h1.entry-title, h1.page-title, .archive-title, .category-page h1{
  font-family:var(--edx-mincho); font-weight:600; letter-spacing:.05em; line-height:1.5;
  font-size:clamp(28px,3.4vw,40px); color:var(--edx-ink);
  margin:34px 0 26px; padding:0 0 22px; border-bottom:1px solid var(--edx-line);
  background:none; word-break:auto-phrase; text-wrap:pretty;
}
/* 一覧のカードにも .entry-title が使われているので、記事・固定ページの本文だけに出す */
body.single .entry-header .entry-title::before,
body.page .entry-header .entry-title::before,
body.single h1.entry-title::before,
body.page h1.entry-title::before{
  content:"HIRO CLINIC / ED"; display:block; margin-bottom:14px;
  font-family:Arial,Helvetica,sans-serif; font-size:10px; font-weight:400;
  letter-spacing:.22em; color:var(--edx-teal-2);
}

/* 本文の表 */
.entry-content table{ border-collapse:collapse; width:100%; background:#fff; }
.entry-content table th, .entry-content table td{
  border:1px solid var(--edx-line); padding:14px 16px; font-size:.95rem; line-height:1.75;
}
/* 見出し行だけダークにする。行頭の th（薬剤名など）は巻き込まない */
.entry-content table thead th{
  background:var(--edx-navy); color:#fff; font-family:var(--edx-gothic);
  font-weight:600; font-size:.86rem; letter-spacing:.08em; border-color:var(--edx-navy);
}
.entry-content table tbody th{ background:#f6f4ee; font-weight:600; }
.entry-content table tbody tr:nth-child(2n){ background:#fcfbf8; }

/* 文中のマーカー（ピンク・緑などが混在していたのでゴールドに統一） */
.entry-content .pre--maker, .entry-content [class*="span-stk-maker"]{
  background:linear-gradient(transparent 62%, rgba(198,161,106,.38) 0) !important;
  color:inherit !important; padding:0 .1em;
}

/* 未承認医薬品のお知らせ（医療広告ガイドライン対応ブロック） */
.ed-unapproved{ border:1px solid var(--edx-line) !important; border-radius:0 !important;
  background:#fff; }
.ed-unapproved h3{ font-family:var(--edx-mincho); letter-spacing:.04em; }
.ed-unapproved .warn{ border-radius:0 !important; }
.ed-unapproved .note{ border-radius:0 !important; }

/* 本文中のボタン・CTA */
.entry-content .cta_ed a, .entry-content .btn a, .entry-content a.btn{
  border-radius:0 !important; letter-spacing:.06em; font-family:var(--edx-gothic);
}

/* 引用・囲み */
.entry-content blockquote{ border-left:3px solid var(--edx-copper); background:#fff;
  border-radius:0; padding:18px 22px; }

/* コラム一覧のカード */
.category-content .post-list .category-post-item{ background:#fff; }
.category-content .post-list .cat-name, .category-content .post-list .category-label,
.category-content .post-list [class*="cat"] span{ border-radius:0 !important; }
.category-content .post-list .post-date, .category-content .post-list time{
  color:var(--edx-muted); font-size:11px; letter-spacing:.08em; padding:0 14px;
}
/* 一覧の見出し（コラム／カテゴリ名） */
.archive-title, .category-page h1, h1.page-title{
  font-family:var(--edx-mincho) !important; font-weight:600 !important;
}
