/* 病棟紹介ページ専用：共通CSSの見出し・画像カード装飾をここで切り分ける。 */
.section-page {
  --section-ink: #17384a;
  --section-blue: #0091ea;
  --section-blue-dark: #01579b;
  --section-line: #cfe9f7;
  --section-pale: #f5fbff;
}

.section-page .deco-parent {
  display: grid;
  gap: 0;
}

/* Floor headings stay as clear section dividers, not decorative cards. */
.section-page .content_body .c-heading._stylish {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  margin: clamp(56px, 8vw, 88px) 0 30px !important;
  padding: 0 0 14px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--section-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--section-ink) !important;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.section-page .content_body .c-heading._stylish::before {
  position: absolute !important;
  top: 0.1em !important;
  bottom: 14px !important;
  left: 0 !important;
  display: block !important;
  width: 5px !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--section-blue) !important;
  content: '' !important;
}

.section-page .content_body .c-heading._stylish::after {
  display: none !important;
  content: none !important;
}

.section-page .content_body h3 {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  margin: 42px 0 22px !important;
  padding: 0 0 0 17px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--section-ink) !important;
  font-size: clamp(1.08rem, 1.8vw, 1.3rem) !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

.section-page .content_body h3::before {
  position: absolute !important;
  top: 0.65em !important;
  left: 0 !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #5acce4 !important;
  content: '' !important;
}

.section-page .content_body h3::after,
.section-page .content_body h4::after {
  display: none !important;
  content: none !important;
}

.section-page .content_body h4 {
  display: block !important;
  min-height: 0 !important;
  margin: 28px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--section-blue-dark) !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  line-height: 1.65 !important;
}

.section-page .content_body h5 {
  display: block !important;
  min-height: 0 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--section-ink) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.75 !important;
  text-wrap: initial !important;
}

.section-page .content_body p {
  color: #425967;
  line-height: 1.95;
}

.section-page .message_wrap {
  display: flow-root !important;
  margin: 0 0 38px !important;
  overflow: visible !important;
  line-height: 1.95;
}

.section-page .message_wrap .img_in_text {
  width: min(32%, 320px) !important;
  height: auto !important;
  max-width: 320px !important;
  filter: none !important;
  opacity: 1 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 24px rgba(0, 85, 136, 0.1) !important;
  translate: none !important;
}

.section-page .message_wrap .right_img {
  float: right !important;
  margin: 0 0 18px 32px !important;
}

.section-page .message_wrap .left_img {
  float: left !important;
  margin: 0 32px 18px 0 !important;
}

/* Each ward introduction pairs its explanation with a modest supporting image. */
.section-page .ward-overview {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 220px);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.section-page .ward-overview__copy {
  min-width: 0;
}

.section-page .ward-overview__copy > :first-child {
  margin-top: 0 !important;
}

.section-page .ward-overview__copy > :last-child {
  margin-bottom: 0 !important;
}

.section-page .ward-overview__media {
  grid-column: 2;
  margin: 0;
  text-align: center;
}

.section-page .ward-overview__media .img_in_text,
.section-page .ward-overview__media .img_in_text.has-max-size {
  width: min(100%, 210px) !important;
  max-width: 210px !important;
  max-height: none !important;
  margin: 0 !important;
  float: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Slogans use a compact, intentional image-and-copy layout. */
.section-page .ward-slogan {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr);
  width: min(100%, 680px);
  gap: 16px;
  align-items: center;
  margin: 0 0 42px !important;
  padding: 13px 18px 13px 14px;
  border: 0;
  border-left: 3px solid #5acce4;
  border-radius: 0 10px 10px 0;
  background: var(--section-pale);
}

.section-page .ward-slogan .img_in_text,
.section-page .ward-slogan .img_in_text.has-max-size {
  grid-column: 1;
  width: min(100%, 76px) !important;
  max-width: 76px !important;
  max-height: none !important;
  margin: 0 auto !important;
  float: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.section-page .content_body .ward-slogan p.c-mission-text {
  grid-column: 2;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--section-ink) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.65 !important;
  text-align: left !important;
}

.section-page .box._important {
  margin: 0 0 44px !important;
  padding: 0 !important;
  border: 1px solid var(--section-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.section-page .box._important .head {
  padding: 13px 18px;
  background: var(--section-pale);
}

.section-page .box._important .title {
  color: var(--section-ink);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.6;
}

.section-page .box._important .body {
  padding: 16px 18px 18px;
}

.section-page .box._important ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.section-page .box._important li {
  position: relative;
  margin: 0 !important;
  padding: 6px 0 6px 16px !important;
  color: #425967;
  line-height: 1.7;
}

.section-page .box._important li::before {
  position: absolute;
  top: 0.9em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #5acce4;
  content: '' !important;
}

.section-page .set.normal,
.section-page .newsline_list {
  margin: 0 0 38px;
}

.section-page .set.normal .right {
  padding: 22px;
  border: 1px solid var(--section-line);
  border-radius: 12px;
  background: #fff;
}

.section-page .set.normal ul,
.section-page .newsline_list ol {
  margin: 14px 0 0;
}

.section-page .set.normal li,
.section-page .newsline_list li {
  color: #425967;
  line-height: 1.8;
}

.section-page .content_body h2,
.section-page .content_body h3,
.section-page .content_body h4,
.section-page .content_body .img_in_text,
.section-page .content_body p.c-mission-text {
  animation: none !important;
}

@media screen and (max-width: 767px) {
  .section-page .content_body .c-heading._stylish {
    margin-top: 52px !important;
    margin-bottom: 24px !important;
    padding-left: 15px !important;
    font-size: 1.3rem !important;
  }

  .section-page .message_wrap {
    margin-bottom: 32px !important;
  }

  .section-page .message_wrap .img_in_text,
  .section-page .message_wrap .right_img,
  .section-page .message_wrap .left_img {
    float: none !important;
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    margin: 0 auto 20px !important;
  }

  .section-page .ward-overview {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .section-page .ward-overview__media {
    grid-column: 1;
    grid-row: auto;
  }

  .section-page .ward-overview__media .img_in_text,
  .section-page .ward-overview__media .img_in_text.has-max-size {
    width: min(100%, 160px) !important;
    max-width: 160px !important;
    margin: 0 auto !important;
  }

  .section-page .ward-slogan {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 14px 12px 11px;
    text-align: left;
  }

  .section-page .ward-slogan .img_in_text,
  .section-page .ward-slogan .img_in_text.has-max-size {
    grid-column: 1;
    width: min(100%, 58px) !important;
    max-width: 58px !important;
    margin: 0 auto !important;
  }

  .section-page .content_body .ward-slogan p.c-mission-text {
    grid-column: 2;
    font-size: 1rem !important;
    text-align: left !important;
  }

  .section-page .set.normal .right,
  .section-page .box._important .body {
    padding: 18px;
  }
}
