/* 健康経営の窓口 / SWELL用・専門家ページ本文だけに適用 */
.km-profile{--km-navy:#253f52;--km-accent:#387667;--km-paper:#f6f8f7;--km-line:#e2e8e6;color:#263744;font-size:16px;line-height:1.85}
.km-profile *{box-sizing:border-box}
.km-profile__hero{display:grid;grid-template-columns:minmax(150px,32%) 1fr;gap:clamp(20px,4vw,44px);align-items:center;padding:clamp(20px,4vw,40px);background:var(--km-paper);border-radius:16px}
.km-profile__portrait{align-self:stretch;min-height:230px;overflow:hidden;border-radius:12px;background:#e8eceb}
.km-profile__photo{width:100%;height:100%;max-height:400px;object-fit:cover;display:block}
.km-profile__eyebrow{font-size:.74em!important;letter-spacing:.08em;color:var(--km-accent);font-weight:700;margin:0 0 10px!important}
.km-profile__role{font-size:.9em!important;color:#5f707b;margin:0 0 5px!important}
.km-profile__name{font-size:clamp(1.65rem,3vw,2.15rem)!important;line-height:1.3;margin:0 0 16px!important;border:0!important;padding:0!important;background:none!important;color:#000!important;-webkit-text-fill-color:#000!important}
.km-profile__copy{font-weight:700;font-size:clamp(1.05rem,2vw,1.35rem)!important;line-height:1.6;margin:0 0 12px!important;color:var(--km-navy)}
.km-profile__intro{color:#52616b;font-size:.94em}
.km-profile__section{margin-top:38px;padding:8px 0}
.km-profile__section>h2{font-size:1.45rem!important;border:0!important;border-left:4px solid var(--km-accent)!important;padding:0 0 0 14px!important;margin:0 0 22px!important;background:none!important;color:var(--km-navy)}
.km-profile__muted{padding:28px;border-radius:14px;background:var(--km-paper)}
.km-profile__problems{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:10px}
.km-profile__problems li{position:relative;padding:8px 10px 8px 31px!important;margin:0!important}
.km-profile__problems li:before{content:'✓';position:absolute;left:3px;color:var(--km-accent);font-weight:800}
.km-profile__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.km-profile__card{border:1px solid var(--km-line);border-radius:12px;padding:23px;background:#fff}
.km-profile__card h3{font-size:1.06rem!important;margin:0 0 8px!important;padding:0!important;border:0!important;background:none!important;color:var(--km-navy)}
.km-profile__card p{font-size:.91em;margin:0!important;color:#596874}
.km-profile__richtext{background:#fff;line-height:2}
.km-profile__cta{margin-top:44px;padding:32px 24px;text-align:center;background:var(--km-paper);border-radius:14px}
.km-profile__cta h2{margin:0 0 8px!important;font-size:1.25rem!important;border:0!important;padding:0!important;background:none!important}
.km-profile__cta p{margin:0 0 20px!important;color:#5d6972}
.km-profile__button{display:inline-block;background:var(--km-navy);color:#fff!important;text-decoration:none!important;border-radius:7px;padding:12px 28px;font-weight:700;transition:background .2s}
.km-profile__button:hover,.km-profile__button:focus{background:var(--km-accent);color:#fff!important}
@media(max-width:640px){.km-profile__hero{grid-template-columns:1fr;padding:20px}.km-profile__portrait{max-width:260px;min-height:0;aspect-ratio:4/3}.km-profile__photo{height:100%}.km-profile__cards{grid-template-columns:1fr}.km-profile__muted{padding:20px}.km-profile__section{margin-top:28px}}

/* v1.0.4: SWELL記事下エリア。practitioner個別ページにだけ読み込まれるCSS。 */
#after_article,
.l-articleBottom,
.p-snsCta,
.c-shareBtns,
.p-authorBox,
.p-relatedPosts,
#related_posts,
#author_box { display: none !important; }
