@charset "UTF-8";
/* doctor.css — 医師紹介ページ固有
   header/footer/hamburger/navi/blog/reservation は common.css を流用。
   Figma: nZ1q PC 4:9680 / SP 4:11197 */

.doc-inner{width:min(100% - 100px,1132px);margin:0 auto;}

/* ===== KV ヒーロー（左テキスト＋右写真の2カラム） =====
   作りは「初診の方へ / 院内紹介」(.info-hero) と同一。写真に文字を重ねない。 */
.doc-hero{display:grid;grid-template-columns:550px 1fr;align-items:stretch;min-height:520px;}
.doc-hero__inner{
  display:flex;flex-direction:column;justify-content:center;
  padding:40px 44px 40px 50px;
}
.doc-hero__title{font-family:var(--f-min);font-weight:400;font-size:54px;line-height:1.25;color:var(--c-green);margin-top:10px;}
.doc-hero__img{position:relative;overflow:hidden;}
.doc-hero__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.doc-hero:not(:has(.doc-hero__img)){grid-template-columns:1fr;min-height:0;}

/* ===== 院長ごあいさつ ===== */
.doc-greeting{padding:96px 0 0;}
.doc-greeting__grid{display:grid;grid-template-columns:1fr 450px;gap:80px;align-items:start;}
.doc-greeting__text{display:flex;flex-direction:column;gap:21px;margin-top:28px;}
.doc-greeting__text p{font-family:var(--f-min);font-size:16px;line-height:1.9;color:var(--c-ink);}
.doc-greeting__img{aspect-ratio:450/584;overflow:hidden;}
.doc-greeting__img img{width:100%;height:100%;object-fit:cover;}

/* ===== 経歴 / 所属学会 / 学会発表 ===== */
.doc-record{padding:88px 0 0;}
.doc-record__grid{display:grid;grid-template-columns:1fr 430px;gap:100px;align-items:start;}
/* 「— 経歴」型のラベル（緑の短い横線＋和文） */
.doc-marker{display:flex;align-items:center;gap:12px;font-family:var(--f-min);font-weight:500;font-size:22px;color:var(--c-ink);margin-bottom:24px;}
.doc-marker::before{content:"";width:24px;height:2px;background:var(--c-green);flex:none;}

.career{display:flex;flex-direction:column;}
.career__row{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:baseline;padding:18px 8px;border-bottom:1px solid var(--c-beige2);}
.career__row dt{font-family:var(--f-lora);font-size:16px;letter-spacing:.02em;color:var(--c-ink);}
.career__row dd{font-family:var(--f-min);font-size:16px;line-height:1.6;color:var(--c-ink);}

.doc-record__r{display:flex;flex-direction:column;gap:60px;}
.affil-list{list-style:none;display:flex;flex-direction:column;gap:16px;}
.affil-list li{font-family:var(--f-min);font-size:16px;color:var(--c-ink);padding-left:14px;position:relative;}
.affil-list li::before{content:"・";position:absolute;left:0;}
.talk{display:flex;flex-direction:column;gap:26px;}
.talk__item{display:flex;flex-direction:column;gap:6px;}
.talk__ttl{font-family:var(--f-min);font-weight:600;font-size:16px;color:var(--c-ink);}
.talk__desc{font-family:var(--f-min);font-size:15px;line-height:1.6;color:var(--c-ink);}

/* ===== スタッフ紹介 ===== */
.doc-staff{padding:88px 0 100px;}
.doc-staff .feat-h{margin-bottom:40px;}
.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.staff-card__img{
  aspect-ratio:1/1;background:var(--c-beige);border-radius:6px;
  display:grid;place-items:end center;overflow:hidden;
}
.staff-card__img img{width:62%;height:82%;object-fit:contain;object-position:bottom;}
.staff-card__role{font-family:var(--f-min);font-weight:500;font-size:19px;color:var(--c-ink);margin:20px 0 12px;text-align:center;}
.staff-card__txt{font-family:var(--f-min);font-size:14px;line-height:1.75;color:var(--c-ink);}

/* ===== responsive ===== */
@media (max-width:1023px){
  /* タブレット以下は縦積み（画像が上・テキストが下） */
  .doc-hero{grid-template-columns:1fr;min-height:0;}
  .doc-hero__img{aspect-ratio:16/9;order:-1;}
  .doc-inner{width:min(100% - 48px,900px);}
  .doc-hero__inner{padding:40px 24px;}
  .doc-hero__title{font-size:40px;}
  .doc-greeting__grid{grid-template-columns:1fr 340px;gap:40px;}
  .doc-record__grid{grid-template-columns:1fr 320px;gap:48px;}
  .staff-grid{grid-template-columns:repeat(2,1fr);gap:28px 24px;}
}
@media (max-width:767px){
  .doc-hero__img{aspect-ratio:390/218;}   /* .info-hero と同じ比率 */
  .doc-hero__inner{padding:32px 25px;}
  .doc-hero__title{font-size:32px;}
  .doc-greeting{padding:56px 0 0;}
  .doc-greeting__grid{grid-template-columns:1fr;gap:0;}
  .doc-greeting__img{width:min(64%,240px);margin:24px auto 0;}   /* テキストの後・中央（Figma SP） */
  .doc-record{padding:56px 0 0;}
  .doc-record__grid{grid-template-columns:1fr;gap:48px;}
  /* SPは年→内容の縦積み（罫線なし） */
  .career{gap:22px;}
  .career__row{display:block;border-bottom:0;padding:0;}
  .career__row dt{display:block;font-weight:500;font-size:15px;margin-bottom:5px;}
  .career__row dd{display:block;font-size:15px;}
  .doc-staff{padding:56px 0 64px;}
  .staff-grid{grid-template-columns:repeat(2,1fr);gap:24px 16px;}
  .staff-card__role{font-size:16px;}
  .staff-card__txt{font-size:13px;}
}

/* ===== 追加セクション（100%幅・経歴と同じ書式） =====
   管理画面「追加セクション」で 見出し＋形式(本文/リスト/年表)＋表示位置 を入力。 */
.doc-extra{padding:72px 0 0;}
.doc-extra__block + .doc-extra__block{margin-top:56px;}
.doc-extra__text p{font-family:var(--f-min);font-size:16px;line-height:1.9;color:var(--c-ink);}
.doc-extra__text p + p{margin-top:18px;}
/* 100%幅なので年カラムを広めに・学会リストは2列 */
.doc-extra .career__row{grid-template-columns:220px 1fr;}
.doc-extra .affil-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 40px;}

@media (max-width:767px){
  .doc-extra{padding:48px 0 0;}
  .doc-extra__block + .doc-extra__block{margin-top:40px;}
  .doc-extra__text p{font-size:15px;}
  .doc-extra .affil-list{grid-template-columns:1fr;gap:14px;}
}
