/* Shared across every page: preserve authored lines and fit their actual column. */
[data-fit-heading] {
  container-type: inline-size;
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
}
[data-fit-heading] > .heading-line {
  display: block;
  font-size: min(1em, calc(100cqi / var(--heading-units)));
  letter-spacing: .025em;
  line-height: 1.75;
  white-space: nowrap;
}
:is(.hero-stage, .about-layout, .recruit-layout, .culture-layout, .professionals-layout, .bases-layout, .recruit-hero-grid, .story-grid, .section-photo-intro, .learning-team-intro, .learning-path li, .nursing-work-grid, .nursing-team-points, .staff-protection, .care-base-grid, .care-career-grid) > * {
  min-inline-size: 0;
}
.recruit-section-intro > [data-fit-heading],
.services-intro > [data-fit-heading] {
  flex: 1 1 0;
  inline-size: 0;
}
.recruit-section-intro > p { flex: 1 1 0; min-inline-size: 0; }
.job-group-heading > [data-fit-heading] { flex: 1 1 12rem; inline-size: auto; }
.closing-inner > div,
.caremanager-note > div:first-child { flex: 1; min-inline-size: 0; inline-size: 100%; }
@media (max-width: 900px) {
  .recruit-section-intro > [data-fit-heading],
  .services-intro > [data-fit-heading],
  .recruit-section-intro > p { flex: none; inline-size: 100%; }
}
/* Readable fallback for browsers without container-relative units. */
@supports not (font-size: 1cqi) {
  [data-fit-heading] > .heading-line { white-space: normal; overflow-wrap: anywhere; }
}
