/* 【ドクター紹介】固有レイアウト：本文幅・基本文字組み・ページタイトルはcommon.cssを使用 */
:is(.doctor-page, .classy-doctor-page__container) :is(.profile, .classy-doctor-profile){display:flex;flex-direction:column;gap:22px;align-items:stretch;margin-bottom:42px}
:is(.doctor-page, .classy-doctor-page__container) :is(.portrait, .classy-doctor-portrait){margin:0;width:100%;max-width:none}
:is(.doctor-page, .classy-doctor-page__container) :is(.portrait, .classy-doctor-portrait) img{display:block;width:100%;height:auto}
:is(.doctor-page, .classy-doctor-page__container) :is(.profile-info, .classy-doctor-profile-info){min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;padding:4px 16px 0}
:is(.doctor-page, .classy-doctor-page__container) :is(.role, .classy-doctor-role){margin:0 0 8px;color:#a78150;font-size:16px;letter-spacing:.1em}
:is(.doctor-page, .classy-doctor-page__container) :is(.name, .classy-doctor-name){margin:0 0 16px;font-size:clamp(24px,2.5vw,34px);font-weight:500;line-height:1.5}
:is(.doctor-page, .classy-doctor-page__container) :is(.name, .classy-doctor-name) small{display:block;font-size:14px;font-weight:400}
:is(.doctor-page, .classy-doctor-page__container) :is(.social, .classy-doctor-social){display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;text-decoration:none;color:inherit;border-radius:50%;transition:opacity .2s ease}
:is(.doctor-page, .classy-doctor-page__container) :is(.social, .classy-doctor-social) img{width:30px;height:30px;object-fit:contain}
:is(.doctor-page, .classy-doctor-page__container) :is(.career, .classy-doctor-career){margin:10px auto 0;width:100%;max-width:650px}
:is(.doctor-page, .classy-doctor-page__container) :is(.credentials, .classy-doctor-credentials){margin-top:32px;padding:22px 26px;border:1px solid #e8d8ce;background:#faf5f1}
:is(.doctor-page, .classy-doctor-page__container) :is(.credentials, .classy-doctor-credentials) ul{margin:0;padding-left:1.3em}
:is(.doctor-page, .classy-doctor-page__container) :is(.credentials, .classy-doctor-credentials) li{margin:5px 0}
@media(max-width:767px){
:is(.doctor-page, .classy-doctor-page__container) :is(.profile, .classy-doctor-profile){gap:20px;margin-bottom:32px}
:is(.doctor-page, .classy-doctor-page__container) :is(.name, .classy-doctor-name){margin-bottom:18px}
:is(.doctor-page, .classy-doctor-page__container) :is(.credentials, .classy-doctor-credentials){padding:18px}
}

:is(.doctor-page, .classy-doctor-page__container) :is(.social, .classy-doctor-social):hover{opacity:.7}
:is(.doctor-page, .classy-doctor-page__container) :is(.social, .classy-doctor-social):focus-visible{outline:2px solid #a78150;outline-offset:3px}

/* 経歴：表ではなく縦型タイムラインとして表示 */
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline, .classy-doctor-timeline){list-style:none;margin:28px 0 0;padding:0}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__item, .classy-doctor-timeline__item){display:grid;grid-template-columns:72px 18px minmax(0,1fr);column-gap:18px;align-items:stretch;min-height:76px;margin:0;padding:0}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__year, .classy-doctor-timeline__year){padding-top:2px;text-align:right;color:#a78150;font-size:17px;line-height:1.8;white-space:nowrap}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__axis, .classy-doctor-timeline__axis){display:flex;flex-direction:column;align-items:center;padding-top:11px}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__axis, .classy-doctor-timeline__axis)::before{content:"";display:block;width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:#b89b75}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__axis, .classy-doctor-timeline__axis)::after{content:"";display:block;width:1px;flex:1;background:#dfd3c5;margin-top:7px}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__item, .classy-doctor-timeline__item):last-child :is(.timeline__axis, .classy-doctor-timeline__axis)::after{content:none}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__detail, .classy-doctor-timeline__detail){margin:0;padding:0 0 30px;line-height:1.8;min-width:0}
@media(max-width:767px){
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__item, .classy-doctor-timeline__item){grid-template-columns:58px 14px minmax(0,1fr);column-gap:10px;min-height:66px}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__year, .classy-doctor-timeline__year){font-size:14px}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__axis, .classy-doctor-timeline__axis){padding-top:9px}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__axis, .classy-doctor-timeline__axis)::before{width:9px;height:9px;flex-basis:9px}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__detail, .classy-doctor-timeline__detail){padding-bottom:25px}
}

/* 経歴タイムライン：HTML内の要素順に依存せず3列へ固定する */
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__item, .classy-doctor-timeline__item) > :is(.timeline__year, .classy-doctor-timeline__year){grid-column:1;grid-row:1;min-width:0}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__item, .classy-doctor-timeline__item) > :is(.timeline__axis, .classy-doctor-timeline__axis){grid-column:2;grid-row:1;min-width:0}
:is(.doctor-page, .classy-doctor-page__container) :is(.timeline__item, .classy-doctor-timeline__item) > :is(.timeline__detail, .classy-doctor-timeline__detail){grid-column:3;grid-row:1;min-width:0;width:auto;max-width:100%;overflow-wrap:normal;word-break:normal}
