/* 院長紹介：共通ヘッダー・FV・フッターの間に置く本文 */
.message-page {
  --message-gold: #a18b1e;
  --message-ink: #4a4947;
  color: var(--message-ink);
  background: #fdfcf8;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.9;
}
.message-page *, .message-page *::before, .message-page *::after { box-sizing: border-box; }
.message-page p { margin: 0; }
.message-page__intro { padding: 26px 20px 30px; text-align: center; }
.message-page__intro-icon { display: block; width: 28px; height: 28px; object-fit: contain; margin: 0 auto 8px; }
.message-page__intro h2 { margin: 0; color: var(--message-gold); font-family: "Shippori Mincho", serif; font-size: 20px; font-weight: 500; line-height: 1.5; }
.message-page__intro h2::after { display: block; width: 48px; height: 1px; margin: 14px auto 0; background: var(--message-gold); content: ""; }
.message-page__greeting { position: relative; overflow: hidden; padding: 64px 24px 100px; background: linear-gradient(to bottom, #f2e6ea 0%, #f8f3e7 50%, #e5eaf9 100%); }
.message-page__ornament { position: absolute; top: 0; z-index: 1; display: block; width: clamp(100px, 16vw, 198px); height: auto; pointer-events: none; }
.message-page__ornament--left { left: 0; }
.message-page__ornament--right { right: 0; }
.message-page__inner { position: relative; z-index: 2; width: min(100%, 960px); margin-inline: auto; }
.message-page__profile { width: min(100%, 390px); margin: 0 auto 48px; }
.message-page__portrait { display: block; width: 100%; height: auto; }
.message-page__clinic { margin-top: 12px !important; color: var(--message-gold); font-family: "Shippori Mincho", serif; font-size: 13px; letter-spacing: .05em; }
.message-page__name { display: flex; align-items: baseline; gap: 8px; color: var(--message-gold); font-family: "Shippori Mincho", serif; font-size: 20px; line-height: 1.5; letter-spacing: .07em; }
.message-page__name-label { font-size: 13px; }
.message-page__name-person { font-size: 24px; }
.message-page__lead { margin-bottom: 20px !important; color: var(--message-gold); font-family: "Noto Sans JP", sans-serif; font-size: 20px; line-height: 1.7; }
.message-page__copy p { font-size: 14px; line-height: 2; }
.message-page__copy p + p { margin-top: 22px; }
.message-page__copy .message-page__emphasis { font-weight: 700; }
.message-page__summary { margin-top: 32px; padding: 26px 40px; background: #fff; }
.message-page__summary p + p { margin-top: 16px; }
.message-page__summary p { font-weight: 400; }
.message-page__credentials { padding: 76px 24px 100px; background: #fdfcf8; }
.message-page__credential + .message-page__credential { margin-top: 50px; }
.message-page__credential h3 { margin: 0 0 16px; padding-bottom: 8px; border-bottom: 1px solid var(--message-gold); color: var(--message-gold); font-family: "Noto Sans JP", sans-serif; font-size: 20px; font-weight: 500; line-height: 1.5; }
.message-page__credential p { line-height: 1.7; }
@media (max-width: 767px) {
  .message-page__intro { padding: 24px 20px 26px; }
  .message-page__greeting { padding: 46px 20px 64px; }
  .message-page__ornament { width: clamp(72px, 24vw, 130px); }
  .message-page__profile { width: min(64vw, 310px); margin-bottom: 36px; }
  .message-page__clinic, .message-page__name-label { font-size: 12px; }
  .message-page__name-person { font-size: 20px; }
  .message-page__lead { font-size: 20px; }
  .message-page__copy p { font-size: 14px; }
  .message-page__copy p + p { margin-top: 18px; }
  .message-page__summary { padding: 22px; }
  .message-page__credentials { padding: 58px 20px 72px; }
  .message-page__credential + .message-page__credential { margin-top: 40px; }
  .message-page__credential h3 { font-size: 18px; }
}

/* 現在のCMS本文に残るクラス名にも適用 */
.message-page__greeting > .information-page__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 960px);
  margin-inline: auto;
}
.message-page__greeting .-message-page__profile {
  width: min(100%, 390px);
  margin: 0 auto 48px;
}
.message-page__greeting-content {
  position: relative;
  z-index: 2;
  width: min(100%, 960px);
  margin-inline: auto;
}
.message-page__name .message-page__name-label,
.message-page__name .message-page__name-person {
  color: var(--message-gold);
}
.message-page__copy p { color: var(--message-ink); }
@media (max-width: 767px) {
  .message-page__greeting .-message-page__profile {
    width: min(64vw, 310px);
    margin-bottom: 36px;
  }
}
