/* ============================================================
   医師 特集ページ 共通テンプレート — styles
   IR統合報告書調：色面ブロック＋大きな明朝見出し＋
   マーカー章見出し＋両端揃えの段組本文（上品な編集レイアウト）
   ============================================================ */
:root{
  --bg:#ffffff;
  --paper:#faf8f3;
  --ink:#1a1c20;
  --ink-soft:#3f434a;
  --muted:rgba(26,28,32,.52);
  --line:rgba(26,28,32,.14);
  --gold:#b08a2e;
  --gold-deep:#8f6f23;
  --cyan:#15c2dd;
  --serif:"Shippori Mincho B1","Noto Serif JP",serif;
  --sans:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --latin:"Cormorant Garamond",serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg) !important;color:var(--ink);font-family:var(--sans) !important;font-weight:300;line-height:1.9;-webkit-font-smoothing:antialiased}

/* Lightning 親テーマのフォント・ボーダー上書きを無効化 */
.ir-mast,.ir-story,.ir-clinic,.ir-foot{border:none !important}
.ir-mast h1,.ir-mast h2,.ir-mast h3,
.ir-story h1,.ir-story h2,.ir-story h3,
.ir-clinic h1,.ir-clinic h2,.ir-clinic h3{border:none !important}
.ir-mast hr,.ir-story hr,.ir-clinic hr{display:none !important}

/* serif フォント強制 */
.ir-nameplate .clinic,
.ir-nameplate .name,
.ir-headline,
.ir-mast__lead p,
.ir-chap__title,
.ir-chap__body p,
.ir-story__content h2,
.ir-story__content h3,
.ir-story__content p,
.ir-info .row dd,
.ir-foot .back{font-family:var(--serif) !important}

/* latin フォント強制 */
.ir-nameplate .role,
.ir-nameplate .name-en,
.ir-mast__lead .lead-label,
.ir-story__head span,
.ir-chap__no,
.ir-clinic__head span,
.ir-info .row dt,
.ir-info .row dd .sub,
.ir-foot .copy,
.ir-story__content h2::before,
.ir-story__content h3::before{font-family:var(--latin) !important}

/* sans フォント強制 */
.brand .en,
.nav a,
.ir-mast__msg .label{font-family:var(--sans) !important}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(22px,5vw,72px)}

/* ---- 上部ナビ（報告書風） ---- */
/* ---- 共通ヘッダー（トップページと同一） ---- */
.site-head{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  padding:15px clamp(16px,3vw,40px);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:16px}
.brand img{height:60px;width:auto}
.brand .en{font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:.14em;line-height:1.45;color:var(--ink);
  border-left:1px solid var(--line);padding-left:16px}
.nav{display:flex;align-items:stretch;gap:0}
.nav a{display:flex;align-items:center;font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.1em;
  padding:14px clamp(16px,2vw,30px);transition:background .3s,color .3s}
.nav .b-primary{background:#a9863f;color:#fff}
.nav .b-primary:hover{background:#8f6f23}
.nav .b-dark{background:#34424d;color:#fff;margin-left:10px}
.nav .b-dark:hover{background:#28333c}
.nav .b-outline{border:1px solid var(--ink);color:var(--ink);margin-left:10px}
.nav .b-outline:hover{background:var(--ink);color:#fff}
.nav .burger{margin-left:14px;width:52px;height:52px;border:1px solid var(--line);background:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;padding:0}
.nav .burger i{width:20px;height:1.5px;background:var(--ink)}
.ir-pagetop{height:90px}
@media(max-width:860px){ .nav a{display:none} .brand .en{display:none} .brand img{height:52px} }

/* ---- マストヘッド（メッセージ） ---- */
.ir-mast{padding-top:clamp(46px,7vh,86px);padding-bottom:clamp(60px,9vh,110px)}
.ir-mast__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(34px,5vw,68px)}

/* 左：ポートレート＋色面ブロック＋ネームプレート */
.ir-portrait{position:relative;align-self:start}
.ir-portrait .block{position:absolute;top:-22px;left:-22px;width:62%;height:48%;background:var(--gold);z-index:0}
.ir-portrait img{position:relative;z-index:1;width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;object-position:center 22%;display:block;box-shadow:0 30px 60px -34px rgba(26,22,12,.5)}
.ir-nameplate{margin-top:26px;padding-left:2px}
.ir-nameplate .clinic{font-family:var(--serif);font-size:14px;letter-spacing:.08em;color:var(--ink);font-weight:600;line-height:1.7;margin-bottom:12px}
.ir-nameplate .role{font-family:var(--latin);letter-spacing:.3em;font-size:11px;color:var(--gold);text-transform:uppercase}
.ir-nameplate .name{font-family:var(--serif);font-weight:700;font-size:clamp(30px,3.6vw,44px);letter-spacing:.08em;line-height:1.1;margin-top:6px}
.ir-nameplate .name-en{font-family:var(--latin);font-style:italic;font-size:16px;color:var(--muted);margin-top:6px;letter-spacing:.04em}

/* 右：ラベル＋大見出し＋リード（経歴） */
.ir-mast__msg{padding-top:6px}
.ir-mast__msg .label{font-family:var(--sans);font-weight:500;letter-spacing:.06em;font-size:14px;color:var(--ink);
  display:inline-block;border-bottom:2px solid var(--gold);padding-bottom:6px;margin-bottom:30px}
.ir-headline{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.9vw,54px);line-height:1.42;letter-spacing:.03em;color:var(--ink)}
.ir-headline::before{content:"";display:block;width:40px;height:3px;background:var(--gold);margin-bottom:30px}
.ir-mast__lead{margin-top:clamp(34px,5vh,52px);border-top:1px solid var(--line);padding-top:30px}
.ir-mast__lead .lead-label{font-family:var(--latin);letter-spacing:.34em;font-size:11px;color:var(--gold);text-transform:uppercase;margin-bottom:16px}
.ir-mast__lead p{font-family:var(--serif);font-size:clamp(14.5px,1.4vw,16.5px);line-height:2.35;color:var(--ink-soft);text-align:justify}

/* ---- ストーリー（記事 / 章） ---- */
.ir-story{background:var(--paper);border-top:1px solid var(--line);padding:clamp(64px,10vh,128px) 0}
.ir-story__head{display:flex;align-items:center;gap:16px;margin-bottom:clamp(40px,6vh,72px)}
.ir-story__head i{height:1px;width:54px;background:var(--gold)}
.ir-story__head span{font-family:var(--latin);letter-spacing:.4em;font-size:12px;color:var(--gold);text-transform:uppercase}
.ir-chap{padding:clamp(40px,5.5vh,68px) 0;border-top:1px solid var(--line)}
.ir-chap:first-of-type{border-top:none;padding-top:0}
.ir-chap__head{margin-bottom:clamp(22px,3vh,34px)}
.ir-chap__no{display:inline-block;background:var(--gold);color:#fff;font-family:var(--latin);font-weight:600;
  letter-spacing:.18em;font-size:12px;text-transform:uppercase;padding:5px 14px;margin-bottom:18px}
.ir-chap__title{font-family:var(--serif);font-weight:700;font-size:clamp(23px,3.1vw,40px);line-height:1.4;letter-spacing:.04em;color:var(--ink)}
.ir-chap__body{columns:2;column-gap:clamp(34px,4vw,64px);text-align:justify}
.ir-chap__body p{font-family:var(--serif);font-size:clamp(14.5px,1.35vw,16px);line-height:2.4;color:var(--ink-soft);
  margin-bottom:1.5em;break-inside:avoid-column;text-justify:inter-ideograph}
.ir-chap__body p:last-child{margin-bottom:0}

/* ---- クリニック情報 ---- */
.ir-clinic{padding-top:clamp(64px,10vh,128px);padding-bottom:clamp(64px,10vh,128px)}
.ir-clinic__head{display:flex;align-items:center;gap:16px;margin-bottom:clamp(34px,5vh,56px)}
.ir-clinic__head i{height:1px;width:54px;background:var(--gold)}
.ir-clinic__head span{font-family:var(--latin);letter-spacing:.4em;font-size:12px;color:var(--gold);text-transform:uppercase}
.ir-info{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(40px,6vw,90px)}
.ir-info .row{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:baseline;padding:20px 0;border-top:1px solid var(--line)}
.ir-info .row dt{font-family:var(--latin);letter-spacing:.18em;font-size:12px;color:var(--gold);text-transform:uppercase}
.ir-info .row dd{font-size:clamp(14.5px,1.5vw,16.5px);color:var(--ink);letter-spacing:.04em;line-height:1.7}
.ir-info .row dd a{border-bottom:1px solid var(--line);transition:border-color .3s,color .3s;padding-bottom:1px}
.ir-info .row dd a:hover{color:var(--gold);border-color:var(--gold)}
.ir-info .row dd .sub{font-family:var(--latin);font-style:italic;color:var(--muted);font-size:14px;margin-left:8px}

/* ---- フッター ---- */
.ir-foot{background:var(--paper);border-top:1px solid var(--line);padding:clamp(56px,8vh,96px) 0 44px;text-align:center}
.ir-foot .back{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:16px;letter-spacing:.06em;color:var(--ink);
  border:1px solid var(--line);padding:14px 30px;border-radius:32px;transition:border-color .4s,color .4s}
.ir-foot .back:hover{border-color:var(--gold);color:var(--gold)}
.ir-foot .copy{margin-top:38px;font-size:11px;letter-spacing:.16em;color:var(--muted);font-family:var(--latin)}

/* ---- WordPress 本文エディタの出力を章立てデザインに変換 ----
   ユーザーが「見出し（h2/h3）＋段落」で本文を書くだけで、
   元サイトの Chapter 01 / 02 … のデザインが自動適用されます。
   章番号は CSS カウンターで自動付与。 */
.ir-story__content{counter-reset:chapter}
.ir-story__content h2,
.ir-story__content h3{
  counter-increment:chapter;column-span:all;
  font-family:var(--serif);font-weight:700;font-size:clamp(23px,3.1vw,40px);line-height:1.4;letter-spacing:.04em;color:var(--ink);
  padding-top:clamp(40px,5.5vh,68px);margin-bottom:clamp(22px,3vh,34px);border-top:1px solid var(--line)}
.ir-story__content h2:first-child,
.ir-story__content h3:first-child{border-top:none;padding-top:0}
.ir-story__content h2::before,
.ir-story__content h3::before{
  content:"Chapter " counter(chapter,decimal-leading-zero);
  display:block;background:var(--gold);color:#fff;font-family:var(--latin);font-weight:600;
  letter-spacing:.18em;font-size:12px;text-transform:uppercase;padding:5px 14px;margin-bottom:18px;width:fit-content}
.ir-story__content p{
  font-family:var(--serif);font-size:clamp(14.5px,1.35vw,16px);line-height:2.4;color:var(--ink-soft);
  margin-bottom:1.5em;text-align:justify;text-justify:inter-ideograph;break-inside:avoid-column}
.ir-story__content p:last-child{margin-bottom:0}
.ir-story__content{columns:2;column-gap:clamp(34px,4vw,64px)}

/* ---- レスポンシブ（スマホ最適化） ---- */
@media (max-width:900px){
  .ir-mast__grid{grid-template-columns:1fr;gap:40px}
  .ir-portrait{max-width:440px}
  .ir-chap__body{columns:1}
  .ir-story__content{columns:1}
  .ir-info{grid-template-columns:1fr;gap:0}
}
@media (max-width:560px){
  .ir-portrait .block{top:-14px;left:-14px}
  .ir-info .row{grid-template-columns:1fr;gap:5px;padding:16px 0}
  .ir-nav .title{font-size:11px;letter-spacing:.14em}
}
