/* =========================================================================
   JOURNAL — 医院紹介 理事長／院長インタビュー（雑誌風・ゴールド／白／黒）
   ========================================================================= */
.jr-wrap { background:#FCFAF4; overflow:hidden; }

/* ---- マストヘッド ---- */
.jr-masthead { max-width:1080px; margin:0 auto; padding:clamp(2.6rem,6vw,4.2rem) clamp(1.4rem,5vw,2rem) clamp(1.6rem,3vw,2.2rem); display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; position:relative; }
.jr-masthead-l { min-width:0; }
.jr-masthead-title { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,5vw,3.1rem); font-weight:600; letter-spacing:0.12em; color:#2b2620; margin:0; line-height:1.1; }
.jr-masthead-sub { font-family:'Noto Serif JP',serif; font-size:clamp(0.85rem,2vw,1rem); color:#7a7163; margin:0.7rem 0 0; letter-spacing:0.04em; }
.jr-masthead-r { text-align:right; font-family:'Cormorant Garamond',serif; font-size:clamp(0.72rem,1.5vw,0.86rem); letter-spacing:0.22em; color:#B8862B; line-height:1.7; white-space:nowrap; padding-top:0.5rem; }
.jr-masthead::after { content:""; display:block; position:absolute; left:clamp(1.4rem,5vw,2rem); right:clamp(1.4rem,5vw,2rem); bottom:0; height:1px; background:linear-gradient(90deg,transparent,#E2D3A8 18%,#E2D3A8 82%,transparent); }

/* ---- インタビュー単位 ---- */
.jr-interview { max-width:1080px; margin:0 auto; padding:clamp(2.4rem,5vw,4rem) clamp(1.4rem,5vw,2rem) clamp(3rem,7vw,5rem); }

/* ---- ヒーロー ---- */
.jr-hero { display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(1.6rem,4vw,3.4rem); align-items:center; }
.jr-hero--rev { grid-template-columns:1fr 1.12fr; }
.jr-hero--rev .jr-hero-text { order:2; }
.jr-hero--rev .jr-hero-photo { order:1; }
.jr-hero-label { display:flex; align-items:center; gap:0.8rem; font-family:'Noto Serif JP',serif; font-size:clamp(0.92rem,2vw,1.08rem); font-weight:600; color:#2b2620; margin:0 0 1.3rem; letter-spacing:0.04em; }
.jr-hero-label .jr-en { font-family:'Cormorant Garamond',serif; font-size:0.88rem; font-weight:600; letter-spacing:0.2em; color:#C0982F; }
.jr-hero-quote { font-family:'Noto Serif JP',serif; font-weight:600; font-size:clamp(1.8rem,4.1vw,2.65rem); line-height:1.5; color:#241f1a; margin:0 0 1.6rem; letter-spacing:0.02em; }
.jr-hero-lead { font-family:'Noto Serif JP',serif; font-size:clamp(0.95rem,2vw,1.02rem); line-height:2.05; color:#5a5246; margin:0 0 1.8rem; }
.jr-hero-name { display:flex; flex-wrap:wrap; align-items:baseline; gap:0.5rem 0.9rem; padding-top:1.1rem; border-top:1px solid #E7DCC2; margin:0; }
.jr-name-role { font-family:'Noto Serif JP',serif; font-size:0.84rem; color:#8a8175; letter-spacing:0.08em; }
.jr-name-ja { font-family:'Noto Serif JP',serif; font-size:clamp(1.15rem,2.6vw,1.5rem); font-weight:600; color:#2b2620; letter-spacing:0.06em; }
.jr-name-en { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1rem; color:#B8862B; letter-spacing:0.04em; }
.jr-hero-photo { margin:0; border-radius:6px; overflow:hidden; box-shadow:0 26px 60px rgba(120,100,60,0.18); }
.jr-hero-photo img { width:100%; height:100%; min-height:340px; object-fit:cover; display:block; }

/* ---- 区切り INTERVIEW ---- */
.jr-divider { display:flex; align-items:center; justify-content:center; gap:1.2rem; margin:clamp(2.6rem,5vw,4rem) 0 clamp(2rem,4vw,3rem); }
.jr-divider::before, .jr-divider::after { content:""; width:clamp(48px,10vw,120px); height:1px; background:#D9C79B; }
.jr-divider span { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:600; letter-spacing:0.34em; color:#B8862B; }

/* ---- Q&A グリッド（ジグザグ） ---- */
.jr-qa { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.6rem,3.5vw,2.8rem) clamp(1.8rem,4vw,3.4rem); align-items:center; }
.jr-qa-text { align-self:center; }
.jr-block + .jr-block { margin-top:1.6rem; }
.jr-q, .jr-a { display:grid; grid-template-columns:auto 1fr; gap:0.7rem 0.9rem; }
.jr-q { align-items:start; }
.jr-q-mark { font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:700; line-height:1; color:#2b2620; }
.jr-q p { font-family:'Noto Serif JP',serif; font-size:clamp(1.02rem,2.2vw,1.2rem); font-weight:600; color:#2b2620; line-height:1.55; margin:0.2rem 0 0; }
.jr-q-rule { grid-column:1 / -1; height:1px; background:repeating-linear-gradient(90deg,#D9C79B 0 6px,transparent 6px 11px); margin:0.9rem 0 0.2rem; }
.jr-a { margin-top:1rem; align-items:start; }
.jr-a-mark { font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:700; line-height:1; color:#C0982F; }
.jr-a p { font-family:'Noto Serif JP',serif; font-size:clamp(0.92rem,2vw,1rem); color:#544c40; line-height:2; margin:0.35rem 0 0; }
.jr-qa-photo { margin:0; border-radius:6px; overflow:hidden; box-shadow:0 18px 44px rgba(120,100,60,0.14); }
.jr-qa-photo img { width:100%; height:100%; min-height:240px; object-fit:cover; display:block; }

/* ---- 診療ポリシー ---- */
.jr-policy { margin:clamp(2.4rem,5vw,3.6rem) auto 0; max-width:760px; background:#fff; border:1px solid #ECE0C2; border-radius:10px; padding:clamp(1.6rem,3.5vw,2.4rem) clamp(1.6rem,4vw,2.6rem); box-shadow:0 14px 34px rgba(150,130,80,0.08); }
.jr-policy-h { font-family:'Noto Serif JP',serif; font-size:1.06rem; font-weight:600; color:#2b2620; margin:0 0 1.1rem; letter-spacing:0.04em; text-align:center; }
.jr-policy-h em { font-family:'Cormorant Garamond',serif; font-style:italic; color:#C0982F; font-size:0.82rem; letter-spacing:0.18em; display:block; margin-bottom:0.2rem; }
.jr-policy-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0.6rem 1.6rem; }
.jr-policy-list li { position:relative; padding:0.5rem 0 0.5rem 1.5rem; font-family:'Noto Serif JP',serif; font-size:0.96rem; color:#4a443c; line-height:1.7; border-bottom:1px solid #F2EBDC; }
.jr-policy-list li::before { content:""; position:absolute; left:0; top:1.05rem; width:7px; height:7px; border-radius:50%; background:#C9A24C; }

/* ---- メッセージ帯 ---- */
.jr-message { position:relative; margin:clamp(2.4rem,5vw,3.6rem) 0 0; padding:clamp(2rem,4.5vw,3rem) clamp(1.8rem,5vw,3.4rem); background:linear-gradient(120deg,#FBF6EA 0%,#F6EFDD 100%); border-radius:10px; overflow:hidden; }
.jr-message-h { font-family:'Noto Serif JP',serif; font-size:clamp(1.1rem,2.6vw,1.4rem); font-weight:600; color:#2b2620; margin:0 0 1rem; letter-spacing:0.04em; }
.jr-message-h::before { content:"MESSAGE"; display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:0.82rem; letter-spacing:0.2em; color:#C0982F; margin-bottom:0.4rem; }
.jr-message p { font-family:'Noto Serif JP',serif; font-size:0.98rem; line-height:2.05; color:#544c40; margin:0; max-width:760px; }
.jr-message-leaf { position:absolute; right:-10px; bottom:-14px; width:clamp(110px,18vw,180px); opacity:0.5; pointer-events:none; }

/* ---- プロフィール（経歴）---- */
.jr-profile { margin:clamp(2.2rem,4.5vw,3rem) 0 0; }
.jr-profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.4rem,3.5vw,2.6rem); }
.jr-profile-grid.is-single { grid-template-columns:1fr; max-width:620px; }
.jr-profile h4 { font-family:'Noto Serif JP',serif; font-size:0.98rem; font-weight:600; color:#2b2620; margin:0 0 0.8rem; padding-bottom:0.5rem; border-bottom:2px solid #D4A92E; letter-spacing:0.06em; }
.jr-profile ul { list-style:none; margin:0; padding:0; }
.jr-profile li { font-family:'Noto Serif JP',serif; font-size:0.9rem; color:#544c40; line-height:1.7; padding:0.35rem 0; border-bottom:1px solid #F2EBDC; }
.jr-profile li.indent { padding-left:1.2rem; color:#7a7163; font-size:0.84rem; }
.jr-blog { display:inline-flex; align-items:center; gap:0.7rem; margin-top:1.8rem; padding:0.85rem 2.1rem; font-family:'Noto Serif JP',serif; font-size:1rem; font-weight:600; color:#fff; background:linear-gradient(135deg,#C9A24C,#E6C66A,#C9A24C); border-radius:999px; text-decoration:none; box-shadow:0 12px 28px rgba(180,150,70,0.3); transition:transform .25s, box-shadow .25s, filter .25s; }
.jr-blog:hover { transform:translateY(-2px); box-shadow:0 16px 36px rgba(180,150,70,0.42); filter:brightness(1.05); }
.jr-blog .jr-blog-arr { font-family:'Cormorant Garamond',serif; font-size:1.2rem; transition:transform .25s; }
.jr-blog:hover .jr-blog-arr { transform:translateX(4px); }
.jr-profile-cta { text-align:center; }

/* ---- 2本目の区切り ---- */
.jr-interview + .jr-interview { border-top:1px solid #EADFC4; }

/* ---- レスポンシブ ---- */
@media (max-width:820px){
  .jr-hero, .jr-hero--rev { grid-template-columns:1fr; gap:1.6rem; }
  /* モバイルでは反転(--rev)も理事長と同じ「タイトル(テキスト)→写真」の順に揃える */
  .jr-hero--rev .jr-hero-text { order:1; }
  .jr-hero--rev .jr-hero-photo { order:2; }
  .jr-qa { grid-template-columns:1fr; }
  .jr-qa-photo { order:0 !important; }
  .jr-policy-list, .jr-profile-grid { grid-template-columns:1fr; }
  .jr-masthead { flex-direction:column; gap:0.6rem; }
  .jr-masthead-r { text-align:left; white-space:normal; }
}

/* ---- インタビュー：質問リスト（回答は近日公開）---- */
.jr-theme { text-align:center; font-family:'Noto Serif JP',serif; font-size:clamp(1.15rem,2.6vw,1.5rem); font-weight:600; color:#2b2620; margin:0 0 0.45rem; letter-spacing:0.04em; }
.jr-theme em { display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:0.8rem; letter-spacing:0.22em; color:#C0982F; margin-bottom:0.35rem; }
.jr-pending { text-align:center; font-family:'M PLUS Rounded 1c',sans-serif; font-size:0.82rem; color:#9a917f; margin:0 0 clamp(1.8rem,3.5vw,2.6rem); letter-spacing:0.03em; }
.jr-qlist { list-style:none; margin:0 auto; padding:0; max-width:840px; }
.jr-qitem { display:grid; grid-template-columns:auto 1fr; gap:0 clamp(1rem,2.5vw,1.6rem); padding:clamp(1.4rem,3vw,1.9rem) 0; border-bottom:1px solid #EADFC4; }
.jr-qitem:first-child { border-top:1px solid #EADFC4; }
.jr-qnum { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,4vw,2.3rem); font-weight:700; color:#D4A92E; line-height:1; padding-top:0.1rem; }
.jr-qmain { font-family:'Noto Serif JP',serif; font-size:clamp(1.04rem,2.3vw,1.24rem); font-weight:600; color:#2b2620; margin:0; line-height:1.55; letter-spacing:0.01em; }
.jr-qsub { font-family:'M PLUS Rounded 1c',sans-serif; font-size:0.9rem; color:#6f6657; line-height:1.85; margin:0.6rem 0 0; }
.jr-qans { display:inline-flex; align-items:center; gap:0.5rem; margin:1rem 0 0; font-family:'Cormorant Garamond',serif; font-size:0.86rem; letter-spacing:0.06em; color:#b8aa86; }
.jr-qans b { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:700; color:#D4A92E; }
.jr-qans span { font-family:'M PLUS Rounded 1c',sans-serif; font-size:0.8rem; color:#a99f8b; letter-spacing:0.04em; }
@media (max-width:560px){
  .jr-qitem { grid-template-columns:1fr; gap:0.4rem; }
  .jr-qnum { font-size:1.7rem; }
}

/* ---- スタッフの声（理事長・院長ってどんな人？）---- */
.jr-voice-block { margin-top:clamp(2.4rem,5vw,3.6rem); }
.jr-voice-wrap { background:#FCFAF4; padding:clamp(2.8rem,6vw,4.6rem) clamp(1.4rem,5vw,2rem); border-top:1px solid #EADFC4; }
.jr-voice { max-width:1080px; margin:0 auto; }
.jr-voice-head { text-align:center; margin-bottom:clamp(1.8rem,4vw,2.8rem); }
.jr-voice-en { font-family:'Cormorant Garamond',serif; font-style:italic; letter-spacing:0.22em; color:#C0982F; font-size:0.9rem; display:block; margin-bottom:0.4rem; }
.jr-voice-htitle { font-family:'Noto Serif JP',serif; font-size:clamp(1.35rem,3vw,1.85rem); font-weight:600; color:#2b2620; margin:0; letter-spacing:0.03em; }
.jr-voice-group + .jr-voice-group { margin-top:clamp(2.4rem,5vw,3.6rem); }
.jr-voice-q { text-align:center; font-family:'Noto Serif JP',serif; font-size:clamp(1.12rem,2.5vw,1.45rem); font-weight:600; color:#2b2620; margin:0 0 clamp(1.4rem,3vw,2rem); letter-spacing:0.02em; }
.jr-voice-q em { font-style:normal; background:linear-gradient(180deg,transparent 56%,#F4E2B0 56%,#F7ECCF 90%,transparent 90%); padding:0 .14em; }
.jr-voice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1rem,2.5vw,1.6rem); }
.jr-voice-card { background:#fff; border:1px solid #ECE0C2; border-radius:12px; padding:clamp(1.4rem,3vw,1.9rem); box-shadow:0 12px 28px rgba(150,130,80,0.07); display:flex; flex-direction:column; }
.jr-voice-mark { font-family:'Cormorant Garamond',serif; font-size:2.6rem; line-height:0.6; color:#E6CF92; }
.jr-voice-text { font-family:'Noto Serif JP',serif; font-size:0.98rem; line-height:1.95; color:#3a342e; margin:0.7rem 0 1.2rem; flex:1; }
.jr-voice-who { display:flex; align-items:center; gap:0.7rem; padding-top:1rem; border-top:1px solid #F2EBDC; }
.jr-voice-ava { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,#F7ECCF,#E6C66A); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.jr-voice-ava svg { width:22px; height:22px; }
.jr-voice-role { font-family:'M PLUS Rounded 1c',sans-serif; font-size:0.88rem; color:#6f6657; }
@media(max-width:780px){ .jr-voice-grid { grid-template-columns:1fr; } }

/* ---- 歯科医師紹介（JOURNAL系）---- */
.jr-docs { background:#FCFAF4; border-top:1px solid #EADFC4; padding:clamp(2.8rem,6vw,4.6rem) clamp(1.4rem,5vw,2rem); }
.jr-docs-inner { max-width:1080px; margin:0 auto; }
.jr-docs-head { text-align:center; margin-bottom:clamp(1.8rem,4vw,2.6rem); }
.jr-docs-en { font-family:'Cormorant Garamond',serif; font-style:italic; letter-spacing:0.22em; color:#C0982F; font-size:0.9rem; display:block; margin-bottom:0.4rem; }
.jr-docs-title { font-family:'Noto Serif JP',serif; font-size:clamp(1.35rem,3vw,1.85rem); font-weight:600; color:#2b2620; margin:0 0 0.9rem; letter-spacing:0.03em; }
.jr-docs-lead { font-family:'Noto Serif JP',serif; font-size:0.96rem; line-height:1.9; color:#6f6657; margin:0; }
.jr-docs-lead strong { color:#C0982F; font-weight:600; }
.jr-docs-note { max-width:760px; margin:0 auto clamp(2rem,4.5vw,3rem); background:#fff; border:1px solid #ECE0C2; border-left:3px solid #D4A92E; border-radius:8px; padding:clamp(1.2rem,3vw,1.6rem) clamp(1.4rem,3.5vw,2rem); box-shadow:0 12px 28px rgba(150,130,80,0.06); }
.jr-docs-note p { font-family:'Noto Serif JP',serif; font-size:0.92rem; line-height:1.9; color:#4a443c; margin:0; }
.jr-docs-note strong { color:#2b2620; font-weight:600; }
.jr-docs-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1rem,2.5vw,1.6rem); }
.jr-doc-card { background:#fff; border:1px solid #ECE0C2; border-radius:12px; padding:clamp(1.6rem,3vw,2.2rem) 1rem; box-shadow:0 12px 28px rgba(150,130,80,0.07); display:flex; flex-direction:column; align-items:center; text-align:center; transition:transform .25s ease, box-shadow .25s ease; }
.jr-doc-card:hover { transform:translateY(-4px); box-shadow:0 18px 38px rgba(150,130,80,0.12); }
.jr-doc-ava { width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,#F7ECCF,#E6C66A); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.jr-doc-ava svg { width:38px; height:38px; }
.jr-doc-name { font-family:'Noto Serif JP',serif; font-size:1.25rem; font-weight:600; color:#2b2620; margin:0 0 0.4rem; letter-spacing:0.04em; }
.jr-doc-role { font-family:'M PLUS Rounded 1c',sans-serif; font-size:0.8rem; color:#fff; background:#C9A24C; padding:0.2rem 0.85rem; border-radius:999px; letter-spacing:0.06em; }
@media(max-width:780px){ .jr-docs-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:460px){ .jr-docs-grid { grid-template-columns:1fr; } }

/* 理事長・院長ブログのバナーリンク */
.jr-blog-banner { display:block; max-width:350px; margin:0 auto; border-radius:0; overflow:hidden; box-shadow:0 12px 30px rgba(40,70,110,.16); transition:transform .35s ease, box-shadow .35s ease; }
.jr-blog-banner img { width:100%; height:auto; display:block; }
.jr-blog-banner:hover { transform:translateY(-3px); box-shadow:0 20px 42px rgba(120,110,90,.26); }

/* 院長：経歴の右にブログバナー */
.jr-profile--row { display:grid; grid-template-columns:1fr minmax(280px,360px); gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.jr-profile--row .jr-profile-grid { margin:0; }
.jr-profile--row .jr-profile-cta { margin:0; }
.jr-profile--row .jr-blog-banner { margin:0 auto; }
@media(max-width:760px){ .jr-profile--row { grid-template-columns:1fr; } }

/* STAFF VOICE アバターをスタッフイラストに（2026-06-18） */
.jr-voice-ava { width:48px; height:48px; overflow:hidden; background:#F4ECDB; }
.jr-voice-ava svg { width:100%; height:100%; }
.jr-voice-grid > .jr-voice-card:nth-child(1) .jr-voice-ava { background:linear-gradient(135deg,#FCE6EE,#F6C7D8); }
.jr-voice-grid > .jr-voice-card:nth-child(2) .jr-voice-ava { background:linear-gradient(135deg,#E2F1E9,#C5E5D2); }
.jr-voice-grid > .jr-voice-card:nth-child(3) .jr-voice-ava { background:linear-gradient(135deg,#EEE7F6,#D8CAEE); }

/* 理事長STAFF VOICE: 見出し横の大きめスタッフイラスト（2026-06-18） */
.jr-voice-qrow { display:flex; align-items:center; justify-content:center; gap:clamp(.7rem,2.4vw,1.5rem); margin:0 0 clamp(1.4rem,3vw,2rem); }
.jr-voice-qrow .jr-voice-q { margin:0; }
.jr-voice-mascot { margin:0; flex:0 0 auto; width:clamp(86px,12vw,132px); }
.jr-voice-mascot img { width:100%; height:auto; display:block; filter:drop-shadow(0 8px 16px rgba(150,130,80,.18)); }
@media(max-width:480px){ .jr-voice-qrow { gap:.55rem; } .jr-voice-mascot { width:74px; } }

/* STAFF VOICE（理事長・院長）: 材料が揃うまで非公開。
   公開する際は下の1行を削除してください（HTMLはそのまま残しています）2026-06-18 */
.jr-voice-block { display:none !important; }

/* インタビュー：準備中（Q&Aは非表示）2026-06-19 */
.jr-qa--hidden { display: none !important; }
.jr-prep { max-width: 560px; margin: 1.6rem auto 0; text-align: center; background: #FAF7F0; border: 1px solid #EDE3CC; border-radius: 20px; padding: 2.2rem 1.6rem; box-shadow: 0 10px 26px rgba(150,135,95,0.08); }
.jr-prep-leaf { font-size: 1.5rem; opacity: .7; }
.jr-prep-t { font-family: 'Noto Serif JP', serif; font-size: 1.15rem; font-weight: 600; color: #6b6150; letter-spacing: .06em; margin: .5rem 0 .4rem; }
.jr-prep-x { font-size: .9rem; color: #8a8170; margin: 0; }
