body {
  background: #fff;
}

section.page-header {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: 96px auto 0;
  overflow: hidden;
  background: transparent;
  border-bottom: 1px solid #d7dde3;
  box-shadow: 0 10px 18px rgba(20, 34, 48, 0.08);
}

section.page-header img,
img.page-header {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.contents {
  --staff-navy: #09245f;
  --staff-soccer: #46b94a;
  --staff-soccer-soft: #b9e5bf;
  --staff-baseball: #2d7bd6;
  --staff-baseball-soft: #9fc8f2;
  --staff-basketball: #f08a22;
  --staff-basketball-soft: #f4c88d;
  --staff-running: #8d70c9;
  --staff-running-soft: #c8b8ef;
  --staff-teal: #15b8be;
  box-sizing: border-box;
  width: min(100%, 1400px);
  max-width: none;
  margin: 0 auto;
  padding: 0 clamp(8px, 1.2vw, 16px) clamp(40px, 6vw, 72px);
  background: #fdfaf5;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

.staff-photo-hatakeyama {
  transform: scale(1.1);
  transform-origin: 50% 0%;
}

.staff-photo-yamada {
  transform: scale(1.2);
  transform-origin: 50% 10%;
}

.staff-photo-takahashi {
  transform: scale(1.2);
  transform-origin: 50% 30%;
}

.staff-photo-yokomuro {
  transform: scale(1.2);
  transform-origin: 50% 50%;
}

/* メインビジュアルと大画面時の左右余白を自然につなぐ */
section.page-header {
  width: min(100%, 1536px);
  background: #f1f2f4;
  box-shadow:
    0 0 0 100vmax #f1f2f4,
    0 10px 18px rgba(20, 34, 48, 0.08);
  clip-path: inset(0 -100vmax);
  container-type: inline-size;
}

section.page-header img {
  width: 100%;
  max-width: none;
}

