@charset "UTF-8";

/* ==========================================================================
   森ノ宮の医療×スポーツ
   ========================================================================== */
:root {
  --PageColor-Black: #141414;
  --PageColor-Main: #086936;
  --PageColor-LightGreen: #8eb73e;
  --PageColor-EmeraldGreen: #0099a9;
  --PageColor-Red: #cf1225;
  --PageColor-GreenGray: #e9f2ed;
  --PageColor-Green2: #119a2d;
  --PageColor-Gold: #f2c043;
  --ms-inner-width: 1280px;
  --ms-inner-width-narrow: 1080px;
  --ms-inner-padding-pc: 40px;
  --ms-inner-padding-sp: calc(20 / 390 * 100vw);
  --ms-font-base: "Noto Sans JP", sans-serif;
  --ms-font-en: "Oswald", sans-serif;
  --ms-font-yu: YuGothic, "Yu Gothic", var(--ms-font-base);
}

/* base
   ========================================================================== */
.ms-main {
  overflow: clip;
  font-family: var(--ms-font-base);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--PageColor-Black);
  text-spacing-trim: space-all;
}
.ms-main *,
.ms-main *::before,
.ms-main *::after {
  box-sizing: border-box;
}
.ms-main a {
  text-decoration: none;
}
:where(.ms-main) :where(img) {
  display: block;
  max-width: 100%;
  height: auto;
}
:where(.ms-main) :where(picture) {
  display: block;
}
.ms-main :where(h1, h2, h3, h4, p, ul, ol, li, dl, dt, dd, figure, figcaption):where(:not([class*="r4-cmn"])) {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  list-style: none;
}
/* utility */
.ms-sp-hidden {
  @media (max-width: 740px) {
    display: none !important;
  }
}
.ms-sp-visible {
  @media (min-width: 741px) {
    display: none !important;
  }
}
.ms-green {
  color: var(--PageColor-Main);
}
.ms-skew {
  display: inline-block;
  transform: skewX(-8deg) scaleY(0.99);
}
.ms-grad-text {
  background: linear-gradient(to left, var(--PageColor-Green2), var(--PageColor-Main));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* フェードイン
   ========================================================================== */
.js-fade {
  transition: opacity 0.9s ease-out, translate 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--ms-fade-delay, 0s);
  @media (prefers-reduced-motion: reduce) {
    transition: none;
  }
}
.ms-fade-ready .js-fade:not(.is-show) {
  opacity: 0;
}
.ms-fade-ready .js-fade:not(.is-show):not(.-fade) {
  translate: 0 30px;
}
.ms-fade-ready .js-fade.-left:not(.is-show) {
  translate: -40px 0;
  @media (max-width: 740px) {
    translate: 0 30px;
  }
}
.ms-fade-ready .js-fade.-right:not(.is-show) {
  translate: 40px 0;
  @media (max-width: 740px) {
    translate: 0 30px;
  }
}
.ms-fade-ready:not(.ms-fade-init) .js-fade {
  animation: ms-fade-fallback 0s 3s forwards;
}
.ms-fade-ready:not(.ms-fade-init) .js-fade:not(.-fade) {
  animation: ms-fade-fallback 0s 3s forwards, ms-fade-fallback-move 0s 3s forwards;
}
@keyframes ms-fade-fallback {
  to {
    opacity: 1;
  }
}
@keyframes ms-fade-fallback-move {
  to {
    translate: none;
  }
}
.js-fade.-delay1 {
  @media (min-width: 741px) {
    --ms-fade-delay: 0.15s;
  }
}
.js-fade.-delay2 {
  @media (min-width: 741px) {
    --ms-fade-delay: 0.3s;
  }
}
.js-fade.-delay3 {
  @media (min-width: 741px) {
    --ms-fade-delay: 0.45s;
  }
}
.ms-fade-ready .js-fade {
  @media (prefers-reduced-motion: reduce) {
    opacity: 1 !important;
  }
}
.ms-fade-ready .js-fade:not(.-fade) {
  @media (prefers-reduced-motion: reduce) {
    translate: none !important;
  }
}

/* marquee
   ========================================================================== */
.ms-marquee {
  overflow: hidden;
  overflow: clip visible;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.ms-marquee__track {
  display: flex;
  width: max-content;
  animation: ms-marquee var(--ms-marquee-duration, 60s) linear infinite;
  @media (prefers-reduced-motion: reduce) {
    animation: none;
  }
}
.ms-marquee__text {
  flex-shrink: 0;
  padding-right: 0.25em;
  font-family: var(--ms-font-en);
  font-size: 15.8rem;
  font-weight: 700;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px #4b903a;
  @media (max-width: 1100px) {
    font-size: calc(158 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(59 / 390 * 100vw);
  }
}
@keyframes ms-marquee {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}

/* badge
   ========================================================================== */
.ms-goal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  @media (max-width: 740px) {
    flex-direction: column;
    gap: calc(6 / 390 * 100vw);
  }
}
.ms-goal__badge {
  display: flex;
  justify-content: center;
  padding: 11.2px 23.3px 12px 19.3px;
  background: var(--PageColor-Main);
  @media (max-width: 740px) {
    width: calc(294 / 390 * 100vw);
    padding: calc(10 / 390 * 100vw) 0;
  }
}
.ms-goal__badge.-medical {
  padding: 12.2px 22.7px 11.5px 19.5px;
  background: var(--PageColor-LightGreen);
  @media (max-width: 740px) {
    width: calc(294 / 390 * 100vw);
    padding: calc(10 / 390 * 100vw) 0;
  }
}
.ms-goal__badge img {
  width: 322px;
  @media (max-width: 1100px) {
    width: calc(322 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    width: auto;
    height: calc(34.4 / 390 * 100vw);
  }
}
.ms-goal__badge.-medical img {
  width: 367.4px;
  @media (max-width: 1100px) {
    width: calc(367.4 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    width: auto;
    height: calc(34.4 / 390 * 100vw);
  }
}
.ms-goal__text {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
  @media (max-width: 1100px) {
    font-size: calc(40 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(32 / 390 * 100vw);
  }
}

/* logo（SCC ロゴ）
   ========================================================================== */
.ms-logo {
  width: 184px;
  flex-shrink: 0;
  @media (max-width: 740px) {
    width: calc(120 / 390 * 100vw);
  }
}

/* ==========================================================================
   01 MV
   ========================================================================== */
.ms-mv {
  position: relative;
  overflow: hidden;
  background: #6b6f6d;
}
.ms-mv__bg {
  position: absolute;
  inset: 0;
}
.ms-mv__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(17, 27, 22, 0.3);
}
.ms-mv__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  @media (max-width: 740px) {
    position: absolute;
    top: calc(-0.13464 / 0.72515 * 100%);
    left: calc(-0.20813 / 0.55622 * 100%);
    width: calc(100% / 0.55622);
    height: auto;
    aspect-ratio: 16 / 9;
    max-width: none;
    object-fit: fill;
  }
}
.ms-mv__inner {
  position: relative;
  padding: calc(194 / 1440 * 100vw) 20px calc(161.4 / 1440 * 100vw);
  @media (max-width: 740px) {
    padding: calc(89 / 390 * 100vw) calc(25 / 390 * 100vw) calc(102.5 / 390 * 100vw) calc(25.5 / 390 * 100vw);
  }
}
.ms-mv__title {
  width: calc(860 / 1440 * 100vw);
  margin-inline: auto;
  @media (max-width: 740px) {
    width: 100%;
  }
}
.ms-mv__en {
  position: absolute;
  font-family: var(--ms-font-en);
  font-size: calc(158 / 1440 * 100vw);
  font-weight: 700;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px #fff;
  mix-blend-mode: soft-light;
  pointer-events: none;
  @media (max-width: 740px) {
    font-size: calc(59 / 390 * 100vw);
  }
}
.ms-mv__en.-medical {
  top: 0.8%;
  left: 0.5%;
  @media (max-width: 740px) {
    top: calc(-2 / 390 * 100vw);
    left: calc(-3 / 390 * 100vw);
  }
}
.ms-mv__en.-sports {
  right: 0.8%;
  bottom: 1.9%;
  @media (max-width: 740px) {
    right: 0;
    bottom: calc(2 / 390 * 100vw);
  }
}

/* ==========================================================================
   02 パンくず・導入
   ========================================================================== */
.ms-breadcrumb.r4-cmn-breadcrumb {
  max-width: none;
  margin: 0;
  padding: 10px min(80px, calc(80 / 1440 * 100vw)) 10px 10px;
  font-size: 1.5rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  @media (max-width: 740px) {
    padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw);
    font-size: calc(13 / 390 * 100vw);
  }
}
.ms-breadcrumb.r4-cmn-breadcrumb li::after {
  padding: 0 9px;
  letter-spacing: 0;
}
.ms-breadcrumb.r4-cmn-breadcrumb a {
  color: var(--PageColor-Black);
  text-decoration: underline;
  text-underline-position: from-font;
  transition: opacity 0.3s ease-out, text-decoration-color 0.3s ease-out;
}
.ms-breadcrumb.r4-cmn-breadcrumb a:hover {
  opacity: 0.8 !important;
  text-decoration-color: transparent;
}
.ms-intro {
  padding: 41px 10px 80px;
  text-align: center;
  @media (max-width: 740px) {
    padding: calc(28 / 390 * 100vw) calc(10 / 390 * 100vw) calc(40 / 390 * 100vw);
  }
}
.ms-intro__title {
  display: block;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
  @media (max-width: 1100px) {
    font-size: calc(40 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(32 / 390 * 100vw);
  }
}
.ms-intro .ms-goal {
  margin-top: 4px;
}

/* ==========================================================================
   03 スポーツ臨床センター
   ========================================================================== */
.ms-scc__visual {
  position: relative;
  overflow: hidden;
}
.ms-scc__bg {
  position: absolute;
  inset: 0;
}
.ms-scc__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ms-scc__head {
  position: relative;
  max-width: 1440px;
  margin-inline: auto;
  padding: 60.6px 0 117.4px;
  @media (max-width: 1100px) {
    padding: calc(60.6 / 1440 * 100vw) 0 calc(117.4 / 1440 * 100vw);
  }
  @media (max-width: 740px) {
    padding: calc(99.8 / 390 * 100vw) 0 calc(250 / 390 * 100vw);
  }
}
.ms-scc__title {
  --ms-title-w: 1266.9;
  --ms-title-h: 611.3;
  position: relative;
  z-index: 1;
  width: calc(1267 / 1440 * 100%);
  aspect-ratio: 1266.9 / 611.3;
  margin-left: calc(54.7 / 1440 * 100%);
  container-type: inline-size;
  font-family: var(--ms-font-base);
  font-weight: 900;
  line-height: 1.2;
  color: #fff;
  white-space: nowrap;
  @media (max-width: 740px) {
    --ms-title-w: 382.4;
    --ms-title-h: 359.8;
    width: calc(382.4 / 390 * 100%);
    aspect-ratio: 382.4 / 359.8;
    margin-left: calc(1.7 / 390 * 100%);
    font-weight: 700;
  }
}
.ms-scc__title-line,
.ms-scc__title-en {
  position: absolute;
  top: calc(var(--y) / var(--ms-title-h) * 100%);
  left: calc(var(--x) / var(--ms-title-w) * 100%);
  font-size: calc(var(--fs) / var(--ms-title-w) * 100cqw);
  transform: matrix(var(--a), var(--b), var(--c), var(--d), 0, 0);
  transform-origin: 0 0;
}
.ms-scc__title-line {
  translate: 0 -0.082em;
}
.ms-scc__title-line.-sports {
  --x: 17.72;
  --y: 103.71;
  --fs: 212;
  --a: 0.9925;
  --b: -0.1219;
  --c: -0.0698;
  --d: 0.9976;
  letter-spacing: 0.01em;
  @media (max-width: 740px) {
    --x: 21.3;
    --y: 25.25;
    --fs: 92.07;
    --a: 0.9976;
    --b: -0.0698;
    --c: -0.1218;
    --d: 0.9926;
    letter-spacing: -0.01em;
  }
}
.ms-scc__title-line.-rinsho {
  --x: 13.74;
  --y: 313.96;
  --fs: 212;
  --a: 0.9925;
  --b: -0.1219;
  --c: -0.0175;
  --d: 0.9998;
  letter-spacing: 0.01em;
  -webkit-text-stroke: 0.009em #fff;
  @media (max-width: 740px) {
    --x: 16.57;
    --y: 120.72;
    --fs: 92.07;
    --a: 0.9973;
    --b: -0.0739;
    --c: -0.0655;
    --d: 0.9979;
    letter-spacing: 0.11em;
  }
}
.ms-scc__title-wide {
  letter-spacing: 0.06em;
  @media (max-width: 740px) {
    letter-spacing: 0.11em;
  }
}
.ms-scc__title-line.-center {
  --x: 448.05;
  --y: 264.28;
  --fs: 212;
  --a: 0.9925;
  --b: -0.1219;
  --c: -0.0698;
  --d: 0.9976;
  letter-spacing: -0.02em;
  @media (max-width: 740px) {
    --x: 15.45;
    --y: 219.24;
    --fs: 92.07;
    --a: 0.9987;
    --b: -0.051;
    --c: -0.1405;
    --d: 0.9901;
  }
}
.ms-scc__title-tight {
  letter-spacing: -0.07em;
  @media (max-width: 740px) {
    letter-spacing: -0.05em;
  }
}
.ms-scc__title-en {
  --x: 30.66;
  --y: 559.65;
  --fs: 48;
  --a: 0.9925;
  --b: -0.1219;
  --c: 0.1219;
  --d: 0.9925;
  font-family: Impact, "Anton", sans-serif;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  @media (max-width: 740px) {
    --x: 15.14;
    --y: 332.87;
    --fs: 25.43;
    --a: 0.9967;
    --b: -0.0811;
    --c: 0.0813;
    --d: 0.9967;
  }
}
.ms-scc__ribbon {
  position: absolute;
  top: 118.1px;
  left: calc(247.1 / 1440 * 100%);
  width: calc(529.5 / 1440 * 100%);
  padding: 4px 10px;
  background: var(--PageColor-Gold);
  clip-path: polygon(0 0, 100% 0, 97.5% 48.1%, 100% 100%, 0 100%);
  font-size: min(3.4rem, calc(34 / 1440 * 100vw));
  line-height: 1.45;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  translate: -50% -50%;
  rotate: -7.49deg;
  @media (max-width: 1100px) {
    top: calc(118.1 / 1440 * 100vw);
  }
  @media (max-width: 740px) {
    top: calc(72.9 / 390 * 100vw);
    left: 50%;
    width: calc(418 / 390 * 100%);
    padding: calc(4 / 390 * 100vw) 0;
    font-size: calc(28.9 / 390 * 100vw);
    rotate: -3.06deg;
  }
}
.ms-scc__ribbon::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 1px;
  background: linear-gradient(to right, var(--PageColor-Main), var(--PageColor-Green2));
  clip-path: polygon(0 0, 100% 0, 97.4% 48.1%, 100% 100%, 0 100%);
}
.ms-scc__ribbon strong {
  font-weight: 700;
}
.ms-scc__logo {
  position: absolute;
  z-index: 1;
  top: 60.6px;
  left: calc(925.6 / 1440 * 100%);
  width: calc(184 / 1440 * 100%);
  @media (max-width: 1100px) {
    top: calc(60.6 / 1440 * 100vw);
  }
  @media (max-width: 740px) {
    top: calc(201.6 / 390 * 100vw);
    left: calc(224.6 / 390 * 100%);
    width: calc(100 / 390 * 100%);
  }
}
.ms-scc__about {
  position: relative;
  max-width: 1080px;
  margin: -97px auto 0;
  padding: 40px 20px;
  border-radius: 6px;
  background: var(--PageColor-GreenGray);
  box-shadow: 1px 1px 2.5px rgba(8, 105, 54, 0.36);
  @media (max-width: 1100px) {
    margin-inline: var(--ms-inner-padding-pc);
  }
  @media (max-width: 740px) {
    margin: calc(-66 / 390 * 100vw) var(--ms-inner-padding-sp) 0;
    padding: calc(24 / 390 * 100vw) calc(30 / 390 * 100vw);
    box-shadow: 0 calc(1 / 390 * 100vw) calc(7 / 390 * 100vw) rgba(8, 105, 54, 0.45);
  }
}
.ms-scc__about-body {
  max-width: 860px;
  margin-inline: auto;
}
.ms-scc__about-title {
  padding-bottom: 16px;
  border-bottom: 2px solid var(--PageColor-Main);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  @media (max-width: 1100px) {
    font-size: calc(32 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    padding-bottom: calc(12 / 390 * 100vw);
    font-size: calc(22 / 390 * 100vw);
  }
}
.ms-scc__about-text {
  margin-top: 16px;
  font-size: 1.8rem;
  text-align: center;
  @media (max-width: 740px) {
    margin-top: calc(12 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    text-align: left;
  }
}

/* ==========================================================================
   04 とことん現場手技（キャッチ）
   ========================================================================== */
.ms-catch {
  padding: 120px 0 5px;
  @media (max-width: 1100px) {
    padding-top: calc(120 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    padding: calc(48 / 390 * 100vw) 0 calc(7 / 390 * 100vw);
  }
}
.ms-catch__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-inline: var(--ms-inner-padding-pc);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  @media (max-width: 740px) {
    padding-inline: calc(10 / 390 * 100vw);
  }
}
.ms-catch__line {
  display: block;
  transform: skewX(-8deg) scaleY(0.99);
}
.ms-catch__line.-lead {
  font-size: 7rem;
  letter-spacing: -0.02em;
  @media (max-width: 1100px) {
    font-size: calc(70 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(33 / 390 * 100vw);
  }
}
.ms-catch__line.-large {
  font-family: var(--ms-font-yu);
  font-size: 10rem;
  font-feature-settings: "palt" 1;
  @media (max-width: 1100px) {
    font-size: calc(100 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(58 / 390 * 100vw);
    line-height: 1.107;
    padding-bottom: calc(16 / 390 * 100vw);
  }
}
.ms-catch__line.-mid {
  font-size: 6.4rem;
  letter-spacing: 0.03em;
  @media (max-width: 1100px) {
    font-size: calc(64 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(26 / 390 * 100vw);
    letter-spacing: -0.02em;
  }
}
.ms-catch__line + .ms-catch__line {
  margin-top: -22px;
  @media (max-width: 1100px) {
    margin-top: calc(-22 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    margin-top: calc(-6 / 390 * 100vw);
  }
}
.ms-catch__line.-marker + .ms-catch__line {
  margin-top: -9px;
  @media (max-width: 1100px) {
    margin-top: calc(-9 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    margin-top: calc(-6 / 390 * 100vw);
  }
}
.ms-catch__marker {
  display: inline-block;
  position: relative;
}
/* 2つに分けたグラデ文字を、1本のグラデーションとしてつなげる（幅は「スポーツ臨床力」全体） */
.ms-catch__marker .ms-grad-text {
  background-size: 7.92em 100%;
  @media (max-width: 740px) {
    background-size: 8.06em 100%;
  }
}
.ms-catch__marker.-end .ms-grad-text {
  background-position: right;
}
.ms-catch__marker::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 67.5%;
  right: 0;
  left: 0.037em;
  height: 19.3%;
  background: var(--PageColor-GreenGray);
  @media (max-width: 740px) {
    top: 70.7%;
    right: 0.097em;
    left: 0.098em;
    height: 17.8%;
  }
}
.ms-catch__marker.-end::before {
  right: 0.038em;
  left: 0;
  @media (max-width: 740px) {
    top: 81.2%;
    right: 0.027em;
    left: 0.028em;
  }
}
.ms-catch__because {
  display: grid;
  place-items: center;
  width: 250px;
  margin-top: 13px;
  padding: 8.2px 0 31.8px;
  background: linear-gradient(to bottom, var(--PageColor-Green2), var(--PageColor-Main));
  clip-path: polygon(0 0, 100% 0, 100% 82.63%, 49.06% 100%, 0 82.63%);
  font-size: 6.1rem;
  line-height: 1.21;
  letter-spacing: -0.02em;
  color: #fff;
  @media (max-width: 1100px) {
    width: calc(250 / 1100 * 100vw);
    margin-top: calc(13 / 1100 * 100vw);
    padding: calc(8.2 / 1100 * 100vw) 0 calc(31.8 / 1100 * 100vw);
    font-size: calc(61 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    width: calc(128 / 390 * 100vw);
    margin-top: calc(10 / 390 * 100vw);
    padding: calc(4.2 / 390 * 100vw) 0 calc(15 / 390 * 100vw);
    font-size: calc(32 / 390 * 100vw);
  }
}
.ms-catch__because span {
  transform: skewX(-8deg) scaleY(0.99);
}
.ms-catch__because + .ms-catch__line {
  margin-top: 2px;
  @media (max-width: 1100px) {
    margin-top: calc(2 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    margin-top: calc(10 / 390 * 100vw);
  }
}
.ms-catch .ms-marquee {
  margin-top: 96px;
  @media (max-width: 1100px) {
    margin-top: calc(96 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    margin-top: calc(41 / 390 * 100vw);
  }
}
.ms-catch__line.-lead:last-child {
  @media (max-width: 740px) {
    font-size: calc(36 / 390 * 100vw);
  }
}
.ms-catch__line.-large.-marker {
  @media (max-width: 740px) {
    padding-bottom: 0;
    font-size: calc(64 / 390 * 100vw);
    line-height: 1.08;
  }
}
.ms-catch__line.-mid + .ms-catch__line {
  @media (max-width: 740px) {
    margin-top: calc(3 / 390 * 100vw);
  }
}

/* ==========================================================================
   05 スポーツ臨床力
   ========================================================================== */
.ms-power {
  padding: 80px 10px 100px;
  @media (max-width: 740px) {
    padding: calc(64 / 390 * 100vw) calc(30 / 390 * 100vw) calc(48 / 390 * 100vw);
  }
}
.ms-power__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1080px;
  margin-inline: auto;
}
.ms-power__goal {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 32px;
  @media (max-width: 740px) {
    margin-top: calc(24 / 390 * 100vw);
  }
}
.ms-power__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  width: 100%;
  @media (max-width: 740px) {
    grid-template-columns: 1fr;
    gap: calc(16 / 390 * 100vw);
  }
}
.ms-power__card {
  display: grid;
  grid-template-areas: "stack";
  align-items: center;
  position: relative;
  background: #fff;
  @media (max-width: 1100px) {
    container-type: inline-size;
  }
}
.ms-power__card::after {
  --ms-power-border: 4px;
  content: "";
  position: absolute;
  inset: calc(var(--ms-power-border) * -1);
  border: var(--ms-power-border) solid var(--PageColor-LightGreen);
  pointer-events: none;
  @media (max-width: 740px) {
    --ms-power-border: calc(2.52 / 390 * 100vw);
  }
}
.ms-power__card.-judo::after {
  --ms-power-border: 5px;
  border-color: var(--PageColor-EmeraldGreen);
  @media (max-width: 740px) {
    --ms-power-border: calc(3.15 / 390 * 100vw);
  }
}
.ms-power__photo {
  grid-area: stack;
  width: calc(332 / 524 * 100%);
  @media (max-width: 740px) {
    width: calc(209 / 330 * 100%);
  }
}
.ms-power__labels {
  grid-area: stack;
  position: relative;
  margin-left: calc(240 / 524 * 100%);
  @media (max-width: 740px) {
    margin-left: calc(110 / 330 * 100%);
  }
}
.ms-power__label-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 13.07px;
  @media (max-width: 1100px) {
    gap: calc(6 / 524 * 100cqw);
    margin-left: calc(13.07 / 524 * 100cqw);
  }
  @media (max-width: 740px) {
    gap: calc(5 / 390 * 100vw);
    margin-left: calc(10.4 / 390 * 100vw);
  }
}
.ms-power__label {
  padding: 3px 23px 3px 19px;
  background: rgba(142, 183, 62, 0.69);
  clip-path: polygon(12.17px 0, 100% 0, calc(100% - 12.17px) 100%, 0 100%);
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.4;
  color: #fff;
  @media (max-width: 1100px) {
    padding: calc(3 / 524 * 100cqw) calc(23 / 524 * 100cqw) calc(3 / 524 * 100cqw) calc(19 / 524 * 100cqw);
    clip-path: polygon(calc(12.17 / 524 * 100cqw) 0, 100% 0, calc(100% - calc(12.17 / 524 * 100cqw)) 100%, 0 100%);
    font-size: calc(30 / 524 * 100cqw);
  }
  @media (max-width: 740px) {
    padding: calc(2.7 / 390 * 100vw) calc(18 / 390 * 100vw) calc(2.7 / 390 * 100vw) calc(16 / 390 * 100vw);
    clip-path: polygon(calc(9.7 / 390 * 100vw) 0, 100% 0, calc(100% - calc(9.7 / 390 * 100vw)) 100%, 0 100%);
    font-size: calc(23 / 390 * 100vw);
  }
}
.ms-power__card.-judo .ms-power__label {
  background: rgba(0, 153, 169, 0.68);
}
.ms-power__label-row .ms-power__label {
  font-family: var(--ms-font-yu);
  font-weight: 700;
}
.ms-power__label-row + .ms-power__label {
  display: inline-block;
  margin-top: 3px;
  @media (max-width: 740px) {
    margin-top: calc(2.4 / 390 * 100vw);
  }
}
.ms-power__cross {
  width: 42px;
  @media (max-width: 1100px) {
    width: calc(42 / 524 * 100cqw);
  }
  @media (max-width: 740px) {
    width: calc(33 / 390 * 100vw);
  }
}
.ms-power__arrow {
  width: 240px;
  @media (max-width: 740px) {
    width: calc(200 / 390 * 100vw);
  }
}
.ms-power__lead {
  margin-top: 32px;
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  @media (max-width: 1100px) {
    font-size: calc(32 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    margin-top: calc(24 / 390 * 100vw);
    font-size: calc(22 / 390 * 100vw);
    font-weight: 700;
  }
}
.ms-power__lead-line + .ms-power__lead-line {
  margin-top: 8px;
  @media (max-width: 740px) {
    margin-top: calc(8 / 390 * 100vw);
  }
}
.ms-power__lead-line {
  display: block;
}
.ms-power .ms-goal {
  margin-top: 16px;
  @media (max-width: 740px) {
    margin-top: calc(8 / 390 * 100vw);
  }
}
.ms-power .ms-goal__badge,
.ms-power .ms-goal__badge.-medical {
  @media (max-width: 740px) {
    width: calc(288 / 390 * 100vw);
  }
}

/* ==========================================================================
   06 INAC神戸レオネッサ
   ========================================================================== */
.ms-inac {
  position: relative;
  overflow: hidden;
  background: url(../img/sports-2026/inac-texture@2x.webp) left top / auto 100% no-repeat, var(--PageColor-Red);
  @media (max-width: 1100px) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32%;
  }
  @media (max-width: 740px) {
    display: block;
    background: url(../img/sports-2026/inac-texture-sp@2x.webp) center top / 100% auto no-repeat, var(--PageColor-Red);
  }
}
.ms-inac__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 339px) minmax(0, 507px);
  align-items: start;
  gap: 0 68px;
  max-width: calc(1080px + var(--ms-inner-padding-pc) * 2);
  margin-inline: auto;
  padding-inline: var(--ms-inner-padding-pc);
  @media (max-width: 1100px) {
    grid-area: 1 / 1;
    grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
    gap: 0 24px;
    max-width: none;
    margin: 0;
    padding: 0 0 0 var(--ms-inner-padding-pc);
  }
  @media (max-width: 740px) {
    grid-template-columns: 1fr;
    padding: 0;
  }
}
.ms-inac__label {
  position: relative;
  padding: 12px 0 48px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 38.7px), 50% 100%, 0 calc(100% - 38.7px));
  @media (max-width: 740px) {
    width: calc(321 / 390 * 100vw);
    margin-inline: auto;
    padding: calc(15 / 390 * 100vw) 0 calc(49 / 390 * 100vw);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - calc(36.5 / 390 * 100vw)), 50% 100%, 0 calc(100% - calc(36.5 / 390 * 100vw)));
  }
}
.ms-inac__label::before,
.ms-inac__label::after {
  content: "";
  position: absolute;
  top: 0;
}
.ms-inac__label::before {
  right: 6.8px;
  bottom: 5.3px;
  left: 6.8px;
  background: var(--PageColor-Red);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 37.1px), 50% 100%, 0 calc(100% - 37.1px));
  @media (max-width: 740px) {
    right: calc(6.4 / 390 * 100vw);
    bottom: calc(5 / 390 * 100vw);
    left: calc(6.4 / 390 * 100vw);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - calc(35 / 390 * 100vw)), 50% 100%, 0 calc(100% - calc(35 / 390 * 100vw)));
  }
}
.ms-inac__label::after {
  right: 8px;
  bottom: 6.6px;
  left: 8px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 36.9px), 50% 100%, 0 calc(100% - 36.9px));
  @media (max-width: 740px) {
    right: calc(7.6 / 390 * 100vw);
    bottom: calc(6.2 / 390 * 100vw);
    left: calc(7.6 / 390 * 100vw);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - calc(34.8 / 390 * 100vw)), 50% 100%, 0 calc(100% - calc(34.8 / 390 * 100vw)));
  }
}
.ms-inac__label-text {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin-inline: auto;
  font-size: 3.9rem;
  font-weight: 900;
  line-height: 1.3;
  color: var(--PageColor-Red);
  @media (max-width: 1100px) {
    font-size: calc(30 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    margin-left: calc(31 / 390 * 100vw);
    font-size: calc(37 / 390 * 100vw);
    line-height: 1.21;
  }
}
.ms-inac__label-text span {
  color: var(--PageColor-Black);
}
.ms-inac__body {
  padding: 40px 0 53px;
  @media (max-width: 1100px) {
    padding: 32px 24px 40px 0;
  }
  @media (max-width: 740px) {
    padding: calc(1.4 / 390 * 100vw) calc(30 / 390 * 100vw) 0;
  }
}
.ms-inac__logo {
  width: 423px;
  @media (max-width: 1100px) {
    width: 100%;
    max-width: 423px;
  }
  @media (max-width: 740px) {
    width: 100%;
  }
}
.ms-inac__text {
  margin-top: 16px;
  font-size: 1.6rem;
  color: #fff;
  @media (max-width: 740px) {
    font-size: calc(14 / 390 * 100vw);
  }
}
.ms-inac__photo {
  position: absolute;
  top: 0;
  right: 0;
  width: min(379px, calc(50% - 341px), calc(100% - 921px));
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: left center;
  @media (max-width: 1100px) {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
  }
  @media (max-width: 740px) {
    position: static;
    width: 100%;
    height: auto;
    margin-top: calc(-23 / 390 * 100vw);
  }
}
.ms-inac > picture {
  @media (max-width: 1100px) {
    grid-area: 1 / 2;
  }
}

/* ==========================================================================
   07 5つの臨床力プログラム
   ========================================================================== */
.ms-program {
  padding: 160px 20px 40px;
  @media (max-width: 1100px) {
    padding-top: calc(160 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    padding: calc(64 / 390 * 100vw) calc(20 / 390 * 100vw) calc(48 / 390 * 100vw);
  }
}
.ms-program .ms-marquee {
  margin-inline: -20px;
  @media (max-width: 740px) {
    margin-inline: calc(-20 / 390 * 100vw);
  }
}
.ms-program__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  max-width: 1080px;
  margin: 71px auto 0;
  @media (max-width: 1100px) {
    margin-top: calc(71 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    gap: calc(16 / 390 * 100vw);
    margin-top: calc(24 / 390 * 100vw);
  }
}
.ms-program__head {
  display: flex;
  align-items: center;
  gap: 24px;
  @media (max-width: 740px) {
    flex-direction: column;
    gap: calc(16 / 390 * 100vw);
  }
}
.ms-program__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 747.7px;
  font-family: var(--ms-font-yu);
  font-weight: 700;
  line-height: 1.4;
  @media (max-width: 1100px) {
    width: auto;
  }
  @media (max-width: 740px) {
    width: 100%;
  }
}
.ms-program__label {
  padding: 8px 20px 5px;
  border-radius: 3px;
  background: var(--PageColor-Main);
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: -0.06em;
  color: #fff;
  font-feature-settings: "halt" 1;
  @media (max-width: 1100px) {
    font-size: calc(28 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(21 / 390 * 100vw);
  }
}
.ms-program__title-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  @media (max-width: 740px) {
    line-height: 1.3;
  }
}
.ms-program__title-row {
  display: flex;
  align-items: center;
  align-self: flex-start;
  font-size: 4rem;
  @media (max-width: 1100px) {
    font-size: calc(40 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    flex-direction: column;
    align-self: center;
    font-size: calc(32 / 390 * 100vw);
  }
}
.ms-program__title-row .ms-grad-text {
  font-size: 6rem;
  font-feature-settings: "palt" 1;
  @media (max-width: 1100px) {
    font-size: calc(60 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(36 / 390 * 100vw);
  }
}
.ms-program__title-number {
  display: flex;
  align-items: baseline;
  margin-top: -14px;
  font-size: 6rem;
  font-feature-settings: "palt" 1;
  @media (max-width: 1100px) {
    font-size: calc(60 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    margin-top: 0;
    font-size: calc(33 / 390 * 100vw);
  }
}
.ms-program__title-num {
  font-size: 8rem;
  @media (max-width: 1100px) {
    font-size: calc(80 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(43 / 390 * 100vw);
  }
}
.ms-program__title-small {
  font-size: 4.7rem;
  font-feature-settings: normal;
  @media (max-width: 1100px) {
    font-size: calc(47 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(30 / 390 * 100vw);
  }
}
.ms-program__text {
  font-size: 2rem;
  line-height: 1.64;
  text-align: center;
  @media (max-width: 740px) {
    font-size: calc(15 / 390 * 100vw);
    line-height: 1.5;
    text-align: left;
  }
}
.ms-program__arrow {
  width: 220px;
  margin-top: 32px;
  @media (max-width: 740px) {
    width: calc(78.3 / 390 * 100vw);
    margin-top: calc(8 / 390 * 100vw);
  }
}
.ms-program .ms-logo {
  @media (max-width: 1100px) {
    width: calc(184 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    width: calc(120 / 390 * 100vw);
  }
}

/* ==========================================================================
   ボタン・リンク
   ========================================================================== */
/* 詳細はこちらボタン */
.ms-more-button {
  display: flex;
  align-items: center;
  min-width: 357px;
  max-width: 100%;
  padding: 18px 16px;
  background: var(--PageColor-Black);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  transition: background-color 0.3s ease-out;
  @media (max-width: 740px) {
    min-width: 0;
    width: 100%;
    padding: calc(18 / 390 * 100vw) calc(16 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
}
.ms-more-button::after {
  content: "";
  flex-shrink: 0;
  width: 14px;
  aspect-ratio: 1;
  margin-left: auto;
  background: currentColor;
  -webkit-mask: url(../img/sports-2026/icon-arrow@2x.webp) center / contain no-repeat;
  mask: url(../img/sports-2026/icon-arrow@2x.webp) center / contain no-repeat;
  @media (max-width: 740px) {
    width: calc(14 / 390 * 100vw);
  }
}
.ms-more-button__text {
  flex: 1;
  text-align: center;
}
.ms-main a.ms-more-button:hover {
  opacity: 1 !important;
  background: var(--PageColor-Main);
}
.ms-main a.ms-more-button.-jusei:hover {
  background: var(--PageColor-EmeraldGreen);
}
/* WEBレポートを見るボタン */
.ms-report-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 14px;
  border-radius: 47px;
  background: var(--PageColor-Main);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  white-space: nowrap;
  transition: background-color 0.3s ease-out;
  @media (max-width: 740px) {
    padding: calc(8 / 390 * 100vw) calc(14 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
}
.ms-report-button::before {
  content: "";
  flex-shrink: 0;
  width: 24px;
  aspect-ratio: 1;
  background: currentColor;
  -webkit-mask: url(../img/sports-2026/icon-link@2x.webp) center / contain no-repeat;
  mask: url(../img/sports-2026/icon-link@2x.webp) center / contain no-repeat;
  @media (max-width: 740px) {
    width: calc(24 / 390 * 100vw);
  }
}
.ms-main a.ms-report-button:hover {
  opacity: 1 !important;
  background: var(--PageColor-Black);
}
/* WEBレポートを見るテキストリンク */
.ms-report-link {
  font-weight: 500;
  color: var(--PageColor-Main);
  text-decoration: underline !important;
  text-underline-position: from-font;
  transition: opacity 0.3s ease-out, text-decoration-color 0.3s ease-out;
}
.ms-main a.ms-report-link:hover {
  opacity: 0.8 !important;
  text-decoration-color: transparent !important;
}

/* ==========================================================================
   08 特徴 #01〜#05
   ========================================================================== */
.ms-feature {
  --ms-person-top: -100.9;
  --ms-person-left: 44.5;
  --ms-person-width: 239.3;
  --ms-person-sp-left: 103.3;
  --ms-person-sp-width: 201;
  --ms-person-sp-overlap: 208.9;
  position: relative;
}
.ms-feature + .ms-feature {
  margin-top: 100px;
  @media (max-width: 740px) {
    margin-top: calc(40 / 390 * 100vw);
  }
}
.ms-feature.-f02 {
  --ms-person-top: -57.1;
  --ms-person-left: 5.4;
  --ms-person-width: 409;
  --ms-person-sp-left: 91.5;
  --ms-person-sp-width: 208;
  --ms-person-sp-overlap: 217.1;
}
.ms-feature.-f03 {
  --ms-person-top: -143.9;
  --ms-person-left: 7.8;
  --ms-person-width: 261.8;
  --ms-person-sp-left: 85.1;
  --ms-person-sp-width: 220;
  --ms-person-sp-overlap: 219.3;
}
.ms-feature.-f04 {
  --ms-person-top: -123.1;
  --ms-person-left: 0.6;
  --ms-person-width: 420;
  --ms-person-sp-left: 75.7;
  --ms-person-sp-width: 239;
  --ms-person-sp-overlap: 231.8;
}
.ms-feature.-f05 {
  --ms-person-top: -116.4;
  --ms-person-left: 0;
  --ms-person-width: 349.9;
  --ms-person-sp-left: 84.5;
  --ms-person-sp-width: 218;
  --ms-person-sp-overlap: 233.9;
}
.ms-feature__person {
  display: block;
  position: absolute;
  z-index: 2;
  top: calc(var(--ms-person-top) * 1px);
  left: max(0px, calc(50% - 720px + var(--ms-person-left) * 1px));
  width: calc(var(--ms-person-width) * 1px);
  pointer-events: none;
  @media (max-width: 1439px) {
    top: calc(var(--ms-person-top) / 1440 * 100vw);
    left: calc(var(--ms-person-left) / 1440 * 100vw);
    width: calc(var(--ms-person-width) / 1440 * 100vw);
  }
  @media (max-width: 740px) {
    position: relative;
    z-index: 0;
    top: auto;
    left: auto;
    width: calc(var(--ms-person-sp-width) / 390 * 100vw);
    margin-left: calc(var(--ms-person-sp-left) / 390 * 100vw);
  }
}
.ms-feature__head {
  position: relative;
  padding: 64px 180px 140px;
  color: #fff;
  text-align: center;
  @media (max-width: 1439px) {
    padding: calc(64 / 1440 * 100vw) calc(180 / 1440 * 100vw) 140px;
  }
  @media (max-width: 740px) {
    margin-top: calc(var(--ms-person-sp-overlap) / 390 * -100vw);
    padding: calc(32 / 390 * 100vw) calc(20 / 390 * 100vw) calc(32 / 390 * 100vw) calc(40 / 390 * 100vw);
  }
}
.ms-feature__head-bg {
  position: absolute;
  inset: 0;
}
.ms-feature__head-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ms-feature__head-inner {
  position: relative;
}
.ms-feature__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  @media (max-width: 1439px) {
    gap: calc(24 / 1440 * 100vw);
  }
  @media (max-width: 740px) {
    flex-direction: column;
    gap: calc(16 / 390 * 100vw);
  }
}
.ms-feature__num {
  font-family: var(--ms-font-en);
  font-size: 4rem;
  font-weight: 700;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px #fff;
  @media (max-width: 1439px) {
    font-size: max(2.4rem, calc(40 / 1440 * 100vw));
  }
  @media (max-width: 740px) {
    font-size: calc(24 / 390 * 100vw);
  }
}
.ms-feature__target {
  padding: 3px 16px;
  border-radius: 49px;
  background: #fff;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--PageColor-Main);
  @media (max-width: 1439px) {
    font-size: max(1.4rem, calc(23 / 1440 * 100vw));
  }
  @media (max-width: 740px) {
    font-size: calc(20 / 390 * 100vw);
  }
}
.ms-feature__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 24px;
  font-weight: 900;
  line-height: 1.4;
  @media (max-width: 1439px) {
    margin-top: calc(24 / 1440 * 100vw);
  }
  @media (max-width: 740px) {
    margin-top: calc(16 / 390 * 100vw);
  }
}
.ms-feature__title-sub {
  font-size: 3.6rem;
  @media (max-width: 1439px) {
    font-size: calc(36 / 1440 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(22 / 390 * 100vw);
  }
}
.ms-feature__title-main {
  font-size: 5.9rem;
  font-feature-settings: "palt" 1;
  @media (max-width: 1439px) {
    font-size: calc(59 / 1440 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(32 / 390 * 100vw);
    line-height: 1.3;
  }
}
.ms-feature__title-main.-nesta {
  margin-top: 16px;
  line-height: 1.3;
  @media (max-width: 740px) {
    margin-top: calc(3 / 390 * 100vw);
    font-size: calc(30 / 390 * 100vw);
    letter-spacing: -0.02em;
  }
}
.ms-feature__title-main rt {
  position: relative;
  top: -12.6px;
  padding-left: 1.58em;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 1.58em;
  ruby-align: center;
  @media (max-width: 740px) {
    top: 0;
    padding-left: 0;
    font-size: calc(12 / 390 * 100vw);
    letter-spacing: 0.51em;
  }
}
.ms-feature__body {
  position: relative;
  z-index: 1;
  max-width: calc(var(--ms-inner-width) + var(--ms-inner-padding-pc) * 2);
  margin: -76px auto 0;
  padding-inline: var(--ms-inner-padding-pc);
  @media (max-width: 740px) {
    margin: 0;
    padding: 0;
  }
}
.ms-feature__card {
  display: flex;
  flex-direction: column;
  padding: 64px;
  border-radius: 6px;
  background: #fff;
  box-shadow: 1px 1px 2.5px rgba(8, 105, 54, 0.36);
  @media (max-width: 1100px) {
    padding: 48px 40px;
  }
  @media (max-width: 740px) {
    padding: calc(32 / 390 * 100vw) calc(20 / 390 * 100vw) calc(64 / 390 * 100vw);
    border-radius: 0;
  }
}
.ms-feature__card > * + * {
  margin-top: 40px;
  @media (max-width: 740px) {
    margin-top: calc(32 / 390 * 100vw);
  }
}
.ms-feature__intro {
  width: calc(1040 / 1152 * 100%);
  margin-left: auto;
  @media (max-width: 740px) {
    width: 100%;
  }
}
.ms-feature__lead {
  padding-left: 10px;
  border-left: 8px solid #50933a;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  @media (max-width: 740px) {
    padding: 0 0 calc(16 / 390 * 100vw);
    border-left: 0;
    border-bottom: calc(8 / 390 * 100vw) solid #50933a;
    font-size: calc(20 / 390 * 100vw);
    line-height: 1.3;
  }
}
.ms-feature__text {
  margin-top: 20px;
  font-size: 1.8rem;
  @media (max-width: 740px) {
    margin-top: calc(20 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
}
.ms-feature.-f02 .ms-feature__text {
  line-break: strict;
}
.ms-feature__figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  @media (max-width: 740px) {
    gap: calc(12 / 390 * 100vw);
  }
}
.ms-feature__figure img {
  width: 100%;
}
.ms-feature__figures {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  @media (max-width: 740px) {
    grid-template-columns: 1fr;
    gap: calc(24 / 390 * 100vw);
  }
}
.ms-feature__caption {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  @media (max-width: 740px) {
    font-size: calc(18 / 390 * 100vw);
    line-height: 1.3;
  }
}
.ms-feature__caption.-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-align: left;
  @media (max-width: 740px) {
    font-size: calc(18 / 390 * 100vw);
    line-height: 1.3;
    flex-direction: column;
    gap: calc(12 / 390 * 100vw);
    text-align: center;
  }
}
.ms-feature__photos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  @media (max-width: 740px) {
    grid-template-columns: 1fr;
    gap: calc(10 / 390 * 100vw);
  }
}
.ms-feature__photos img {
  width: 100%;
}
.ms-feature__nesta {
  display: grid;
  grid-template-areas: "stack";
  align-items: center;
  @media (max-width: 740px) {
    display: flex;
    flex-direction: column;
    gap: calc(32 / 390 * 100vw);
  }
}
.ms-feature__nesta-photo {
  grid-area: stack;
  width: 100%;
}
.ms-feature__nesta-photo img {
  width: 100%;
}
.ms-feature__nesta .ms-points {
  grid-area: stack;
  justify-self: start;
  margin-left: calc(848 / 1152 * 100%);
  @media (max-width: 1100px) {
    margin-left: calc(820 / 1152 * 100%);
  }
  @media (max-width: 740px) {
    margin-left: 0;
    width: 100%;
  }
}
.ms-feature.-f02 .ms-feature__title-sub {
  @media (max-width: 740px) {
    margin-top: calc(8 / 390 * 100vw);
  }
}
.ms-feature.-f04 .ms-feature__title-main {
  @media (max-width: 740px) {
    align-self: flex-start;
    width: calc(100% + 60 / 390 * 100vw);
    margin-left: calc(-40 / 390 * 100vw);
  }
}
.ms-feature__title-small {
  @media (max-width: 740px) {
    font-size: calc(22 / 390 * 100vw);
    line-height: 1.4;
  }
}
.ms-feature.-f03 .ms-feature__card > * + *,
.ms-feature.-f04 .ms-feature__card > * + * {
  @media (max-width: 740px) {
    margin-top: calc(24 / 390 * 100vw);
  }
}
.ms-feature.-f03 .ms-feature__card {
  @media (max-width: 740px) {
    padding-top: calc(36 / 390 * 100vw);
  }
}
.ms-feature.-f05 .ms-feature__card {
  @media (max-width: 740px) {
    padding-top: calc(41 / 390 * 100vw);
    padding-bottom: calc(32 / 390 * 100vw);
  }
}
.ms-feature__figure.-main + .ms-feature__figures {
  @media (max-width: 740px) {
    margin-top: calc(24 / 390 * 100vw);
  }
}
.ms-feature__photos.-room {
  @media (max-width: 740px) {
    grid-template-columns: repeat(2, 1fr);
  }
}
.ms-feature__photos.-room img:nth-child(1) {
  @media (max-width: 740px) {
    order: 2;
  }
}
.ms-feature__photos.-room img:nth-child(2) {
  @media (max-width: 740px) {
    order: -1;
    grid-column: 1 / -1;
  }
}
.ms-feature__photos.-room img:nth-child(3) {
  @media (max-width: 740px) {
    order: 3;
    grid-column: 1 / -1;
  }
}
.ms-feature__photos.-room img:nth-child(4) {
  @media (max-width: 740px) {
    order: 1;
  }
}
/* ポイント（#02） */
.ms-points {
  display: flex;
  flex-direction: column;
  gap: 8px;
  @media (max-width: 740px) {
    gap: calc(10 / 390 * 100vw);
  }
}
.ms-points__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 272px;
  padding: 10px 16px;
  border-radius: 6px;
  background: #fff;
  @media (max-width: 1100px) {
    min-width: 0;
  }
  @media (max-width: 740px) {
    flex-direction: row;
    gap: calc(12 / 390 * 100vw);
    min-width: 0;
    width: 100%;
    padding: calc(12 / 390 * 100vw) calc(20 / 390 * 100vw);
    background: var(--PageColor-GreenGray);
  }
}
.ms-points__icon {
  width: 100px;
  @media (max-width: 1100px) {
    width: 64px;
  }
  @media (max-width: 740px) {
    width: calc(80 / 390 * 100vw);
  }
}
.ms-points__text {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  @media (max-width: 1100px) {
    font-size: 1.6rem;
  }
  @media (max-width: 740px) {
    font-size: calc(18 / 390 * 100vw);
    line-height: 1.3;
    text-align: left;
    white-space: normal;
  }
}
/* 柔整トレーナーコース（#02） */
.ms-course {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px 64px;
  border: 1px solid var(--PageColor-Green2);
  @media (max-width: 740px) {
    padding: calc(24 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
}
.ms-course__title {
  align-self: stretch;
  padding-bottom: 24px;
  border-bottom: 2px solid var(--PageColor-Main);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--PageColor-Main);
  text-align: center;
  @media (max-width: 740px) {
    padding-bottom: calc(16 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
    line-height: 1.3;
    text-align: left;
  }
}
.ms-course__text {
  align-self: stretch;
  margin-top: 24px;
  font-size: 1.8rem;
  @media (max-width: 740px) {
    margin-top: calc(16 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
}
.ms-course__license {
  position: relative;
  width: 770px;
  max-width: 100%;
  margin-top: 32px;
  @media (max-width: 740px) {
    width: calc(280 / 390 * 100vw);
    margin-top: calc(24 / 390 * 100vw);
  }
}
.ms-course__logo {
  position: absolute;
  top: calc(141.6 / 179 * 100%);
  left: calc(32 / 770 * 100%);
  width: calc(234 / 770 * 100%);
  @media (max-width: 740px) {
    top: calc(122.6 / 378 * 100%);
    left: calc(28 / 280 * 100%);
    width: calc(202.2 / 280 * 100%);
  }
}
.ms-course .ms-more-button {
  margin-top: 32px;
  @media (max-width: 740px) {
    margin-top: calc(32 / 390 * 100vw);
  }
}
/* 実績ボックス */
.ms-works {
  padding: 24px 32px;
  border: 1px solid var(--PageColor-Green2);
  @media (max-width: 740px) {
    padding: calc(24 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
}
.ms-works__title {
  padding: 10px 16px;
  background: var(--PageColor-GreenGray);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  @media (max-width: 740px) {
    padding: calc(10 / 390 * 100vw) calc(16 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
    line-height: 1.3;
  }
}
.ms-works__list,
.ms-works__text,
.ms-seminar {
  margin-top: 24px;
  font-size: 1.6rem;
}
.ms-feature.-f01 .ms-works__list {
  margin-top: 20px;
}
.ms-works__list li {
  margin-left: 24px;
  list-style: disc;
  @media (max-width: 740px) {
    margin-left: 1.5em;
  }
}
.ms-works__list .ms-report-link {
  margin-left: 20px;
  @media (max-width: 740px) {
    margin-left: 0;
  }
}
.ms-seminar__item + .ms-seminar__item {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--PageColor-Main);
  @media (max-width: 740px) {
    margin-top: calc(16 / 390 * 100vw);
    padding-top: calc(16 / 390 * 100vw);
  }
}
.ms-seminar__title {
  display: flex;
  align-items: center;
  gap: 8.7px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  @media (max-width: 740px) {
    align-items: flex-start;
    gap: calc(8.7 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
  }
}
.ms-seminar__title::before {
  content: "";
  flex-shrink: 0;
  width: 13px;
  aspect-ratio: 1;
  margin-left: 2.7px;
  background: var(--PageColor-Main);
  rotate: 45deg;
  @media (max-width: 740px) {
    width: calc(13 / 390 * 100vw);
    margin-top: calc(6.3 / 390 * 100vw);
    margin-left: calc(2.7 / 390 * 100vw);
  }
}
.ms-seminar__text {
  margin-top: 16px;
  @media (max-width: 740px) {
    margin-top: calc(12 / 390 * 100vw);
  }
}
.ms-works__list,
.ms-works__text,
.ms-seminar,
.ms-feature.-f01 .ms-works__list {
  @media (max-width: 740px) {
    margin-top: calc(16 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
}

/* ==========================================================================
   09 CTA
   ========================================================================== */
.ms-cta {
  position: relative;
  overflow: hidden;
  color: #fff;
}
.ms-features + .ms-cta {
  margin-top: 100px;
  @media (max-width: 740px) {
    margin-top: calc(63 / 390 * 100vw);
  }
}
.ms-cta__bg {
  position: absolute;
  inset: 0;
}
.ms-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ms-cta__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 80px 10px;
  @media (max-width: 740px) {
    gap: calc(32 / 390 * 100vw);
    padding: calc(32 / 390 * 100vw) calc(20 / 390 * 100vw) calc(64 / 390 * 100vw);
  }
}
.ms-cta__head {
  display: flex;
  align-items: center;
  gap: 24px;
  @media (max-width: 1100px) {
    flex-direction: column;
  }
  @media (max-width: 740px) {
    gap: calc(24 / 390 * 100vw);
  }
}
.ms-cta__logo {
  width: 148px;
  flex-shrink: 0;
  @media (max-width: 740px) {
    width: calc(120 / 390 * 100vw);
  }
}
.ms-cta__copy {
  text-align: center;
  @media (max-width: 740px) {
    width: calc(330 / 390 * 100vw);
  }
}
.ms-goal.-light .ms-goal__text {
  color: #fff;
}
.ms-cta__text {
  margin-top: 8px;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "palt" 1;
  @media (max-width: 1100px) {
    font-size: calc(40 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    margin-top: calc(4 / 390 * 100vw);
    font-size: calc(32 / 390 * 100vw);
  }
}
.ms-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  @media (max-width: 740px) {
    flex-direction: column;
    width: 100%;
  }
}
.ms-cta__button {
  display: flex;
  align-items: center;
  width: 357px;
  max-width: 100%;
  padding: 18px 28.75px;
  background: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--PageColor-Black);
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
  @media (max-width: 740px) {
    width: 100%;
    padding: calc(18 / 390 * 100vw) calc(28.75 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
}
.ms-cta__button::after {
  content: "";
  flex-shrink: 0;
  width: 14px;
  aspect-ratio: 1;
  margin-left: auto;
  background: currentColor;
  -webkit-mask: url(../img/sports-2026/icon-arrow@2x.webp) center / contain no-repeat;
  mask: url(../img/sports-2026/icon-arrow@2x.webp) center / contain no-repeat;
  @media (max-width: 740px) {
    width: calc(14 / 390 * 100vw);
  }
}
.ms-main a.ms-cta__button {
  color: var(--PageColor-Black);
}
.ms-main a.ms-cta__button:hover {
  opacity: 1 !important;
  background: var(--PageColor-Black);
  color: #fff;
}
.ms-cta__button-text {
  flex: 1;
  text-align: center;
}

/* ==========================================================================
   10 スペシャルインフォメーション
   ========================================================================== */
.ms-special__en {
  position: relative;
  z-index: 1;
  padding-top: 80px;
  @media (max-width: 740px) {
    padding-top: calc(64 / 390 * 100vw);
  }
}
.ms-special__en-text {
  font-weight: 600;
  -webkit-text-stroke-color: var(--PageColor-EmeraldGreen);
}
.ms-special__block {
  position: relative;
  padding: 120px 80px;
  @media (max-width: 1100px) {
    padding-inline: var(--ms-inner-padding-pc);
  }
  @media (max-width: 740px) {
    padding: calc(64 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
}
.ms-special__bg {
  position: absolute;
  inset: 0;
}
.ms-special__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ms-special__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  max-width: var(--ms-inner-width);
  margin-inline: auto;
  @media (max-width: 740px) {
    gap: calc(32 / 390 * 100vw);
  }
}
.ms-special__label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  @media (max-width: 740px) {
    flex-direction: column;
    gap: calc(16 / 390 * 100vw);
  }
}
.ms-special__num {
  font-family: var(--ms-font-en);
  font-size: 4rem;
  font-weight: 700;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px #fff;
  @media (max-width: 740px) {
    font-size: calc(24 / 390 * 100vw);
  }
}
.ms-special__target {
  padding: 3px 16px;
  border-radius: 49px;
  background: #fff;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--PageColor-EmeraldGreen);
  @media (max-width: 740px) {
    padding: calc(3 / 390 * 100vw) calc(16 / 390 * 100vw);
    font-size: calc(20 / 390 * 100vw);
  }
}
.ms-special__target.-green {
  color: var(--PageColor-Main);
}
.ms-special__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  width: 100%;
  padding: 64px;
  border-radius: 6px;
  background: #fff;
  box-shadow: 1px 1px 2.5px rgba(8, 105, 54, 0.36);
  container-type: inline-size;
  @media (max-width: 1100px) {
    padding: 48px 40px;
  }
  @media (max-width: 740px) {
    gap: calc(40 / 390 * 100vw);
    padding: calc(24 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
}
.ms-special__card.-club {
  gap: 48px;
  border: 1px solid var(--PageColor-Main);
  box-shadow: none;
  @media (max-width: 740px) {
    gap: calc(24 / 390 * 100vw);
  }
}
.ms-special__movie {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 100%;
  @media (max-width: 740px) {
    gap: calc(24 / 390 * 100vw);
  }
}
.ms-special__movie-title {
  font-size: min(3.6rem, calc(36 / 1280 * 100vw));
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  @media (max-width: 1100px) {
    font-size: calc(36 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(22 / 390 * 100vw);
  }
}
.ms-video {
  width: min(100%, 1080px);
  aspect-ratio: 16 / 9;
  background: var(--PageColor-Black);
}
.ms-video iframe,
.ms-video .js-youtube {
  display: block;
  width: 100%;
  height: 100%;
}
/* 柔整トレーナーコース（SI#01） */
.ms-course-info {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 100%;
  @media (max-width: 740px) {
    gap: calc(16 / 390 * 100vw);
  }
}
.ms-course-info__title,
/* 部活・サークル（SI#02） */
.ms-club__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 900;
  text-align: center;
  @media (max-width: 740px) {
    gap: calc(5 / 390 * 100vw);
  }
}
.ms-course-info__title-sub,
.ms-club__title-sub {
  font-size: min(3.6rem, calc(36 / 1280 * 100vw));
  line-height: 1.4;
  color: var(--PageColor-EmeraldGreen);
  @media (max-width: 1100px) {
    font-size: calc(36 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    font-size: calc(22 / 390 * 100vw);
  }
}
.ms-course-info__title-main,
.ms-club__title-main {
  font-size: min(5.9rem, calc(59 / 1280 * 100vw));
  line-height: 1.26;
  font-feature-settings: "palt" 1;
  @media (max-width: 1100px) {
    font-size: calc(59 / 1100 * 100vw);
  }
}
.ms-course-info__title-date {
  font-size: min(5.3rem, calc(53 / 1280 * 100vw));
  line-height: 1.26;
  font-feature-settings: "palt" 1;
  @media (max-width: 1100px) {
    font-size: calc(53 / 1100 * 100vw);
  }
}
.ms-course-info__body {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 24px 43px;
  @media (max-width: 740px) {
    display: contents;
  }
}
.ms-course-info__banner {
  flex: 0 1 594px;
  min-width: 0;
  @media (max-width: 740px) {
    flex: none;
    width: 100%;
    margin-top: calc(8 / 390 * 100vw);
  }
}
.ms-course-info__side {
  display: flex;
  flex: 1 1 357px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  min-width: 0;
  @media (max-width: 740px) {
    display: contents;
  }
}
.ms-course-info__jobs {
  align-self: stretch;
  padding: 14px 24px;
  border: 1px solid var(--PageColor-EmeraldGreen);
  @media (max-width: 740px) {
    padding: calc(14 / 390 * 100vw) calc(16 / 390 * 100vw);
  }
}
.ms-course-info__jobs-title,
.ms-club__heading {
  display: flex;
  align-items: center;
  gap: 8.7px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  @media (max-width: 740px) {
    gap: calc(8.7 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
  }
}
.ms-course-info__jobs-title::before,
.ms-club__heading::before {
  content: "";
  flex-shrink: 0;
  width: 13px;
  aspect-ratio: 1;
  margin-left: 2.7px;
  background: var(--PageColor-EmeraldGreen);
  rotate: 45deg;
  @media (max-width: 740px) {
    width: calc(13 / 390 * 100vw);
    margin-left: calc(2.7 / 390 * 100vw);
  }
}
.ms-course-info__jobs-list,
.ms-club__list {
  margin-top: 8px;
  font-size: 1.6rem;
  @media (max-width: 740px) {
    margin-top: calc(8 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
}
.ms-course-info__jobs-list li,
.ms-club__list li {
  margin-left: 24px;
  list-style: disc;
  @media (max-width: 740px) {
    margin-left: calc(21 / 390 * 100vw);
  }
}
.ms-course-info__text {
  font-size: 1.8rem;
  @media (max-width: 740px) {
    order: 1;
    font-size: calc(15 / 390 * 100vw);
  }
}
.ms-course-info__title-main,
.ms-course-info__title-date,
.ms-club__title-main {
  @media (max-width: 740px) {
    font-size: calc(29 / 390 * 100vw);
    line-height: 1.3;
  }
}
.ms-course-info .ms-more-button {
  @media (max-width: 740px) {
    order: 2;
    align-self: center;
    width: auto;
    margin-top: calc(8 / 390 * 100vw);
    gap: calc(14 / 390 * 100vw);
  }
}
.ms-course-info .ms-more-button__text {
  @media (max-width: 740px) {
    flex: 0 1 auto;
    min-width: 0;
  }
}
.ms-club__title-sub {
  color: var(--PageColor-Main);
}
.ms-club__item {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
  @media (max-width: 1100px) {
    gap: 24px;
  }
  @media (max-width: 740px) {
    flex-direction: column;
    gap: calc(16 / 390 * 100vw);
  }
}
.ms-club__photo {
  flex-shrink: 0;
  width: calc(454 / 1152 * 100%);
  @media (max-width: 740px) {
    width: 100%;
  }
}
.ms-club__photo img {
  width: 100%;
}
.ms-club__body {
  flex: 1;
  min-width: 0;
}
.ms-club__name {
  padding: 12px 0;
  background: var(--PageColor-GreenGray);
  font-size: min(2rem, calc(20 / 1280 * 100vw));
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  @media (max-width: 1100px) {
    font-size: 2rem;
  }
  @media (max-width: 740px) {
    padding: calc(12 / 390 * 100vw) 0;
    font-size: calc(18 / 390 * 100vw);
  }
}
.ms-club__text {
  margin-top: 24px;
  font-size: 1.6rem;
  @media (max-width: 740px) {
    margin-top: calc(16 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
}
.ms-club__note {
  display: block;
  font-size: 1.2rem;
  @media (max-width: 740px) {
    font-size: calc(12 / 390 * 100vw);
  }
}
.ms-club__heading {
  margin-top: 24px;
  @media (max-width: 740px) {
    margin-top: calc(16 / 390 * 100vw);
  }
}
.ms-club__heading::before {
  background: var(--PageColor-Main);
}
.ms-club__item + .ms-club__item {
  @media (max-width: 740px) {
    margin-top: calc(8 / 390 * 100vw);
  }
}
/* INAC（白カード内） */
.ms-inac.-card {
  width: 100%;
  @media (min-width: 741px) {
    @container (max-width: 999px) {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 32%;
    }
  }
  @media (max-width: 740px) {
    background: url(../img/sports-2026/inac-card-texture-sp@2x.webp) center top / 100% auto no-repeat, var(--PageColor-Red);
  }
}
.ms-inac.-card .ms-inac__inner {
  gap: 0 40px;
  max-width: none;
  padding-inline: 20px 0;
  @media (min-width: 741px) {
    @container (max-width: 999px) {
      grid-area: 1 / 1;
      display: flex;
      flex-wrap: wrap;
      gap: 0 24px;
      padding: 0 0 0 20px;
    }
  }
  @media (max-width: 740px) {
    display: grid;
    grid-template-columns: 1fr;
    padding: 0;
  }
}
.ms-inac.-card .ms-inac__photo {
  width: min(379px, calc(100% - 773px));
  @media (min-width: 741px) {
    @container (max-width: 999px) {
      position: static;
      width: 100%;
      height: 100%;
    }
  }
  @media (max-width: 740px) {
    width: 100%;
    margin-top: calc(-62 / 390 * 100vw);
  }
}
.ms-inac.-card > picture {
  @media (min-width: 741px) {
    @container (max-width: 999px) {
      grid-area: 1 / 2;
    }
  }
}
.ms-inac.-card .ms-inac__label {
  @media (min-width: 741px) {
    @container (max-width: 999px) {
      flex: 0 0 240px;
    }
  }
  @media (max-width: 740px) {
    width: calc(272 / 390 * 100vw);
    padding: calc(12 / 390 * 100vw) 0 calc(42 / 390 * 100vw);
  }
}
.ms-inac.-card .ms-inac__label-text {
  @media (min-width: 741px) {
    @container (max-width: 999px) {
      font-size: 3rem;
    }
  }
  @media (max-width: 740px) {
    margin-left: calc(26 / 390 * 100vw);
    font-size: calc(32 / 390 * 100vw);
  }
}
.ms-inac.-card .ms-inac__body {
  @media (min-width: 741px) {
    @container (max-width: 999px) {
      flex: 1 1 300px;
      padding: 32px 24px 40px 0;
    }
  }
  @media (max-width: 740px) {
    padding-inline: calc(10 / 390 * 100vw);
  }
}
.ms-inac.-card .ms-inac__logo {
  @media (min-width: 741px) {
    @container (max-width: 999px) {
      width: 100%;
      max-width: 423px;
    }
  }
  @media (max-width: 740px) {
    width: calc(270 / 390 * 100vw);
    margin-inline: auto;
  }
}

/* ==========================================================================
   11 とことん現場手技（再掲）・写真帯
   ========================================================================== */
.ms-catch.-second {
  padding: 140px 0 5px;
  @media (max-width: 1100px) {
    padding-top: calc(140 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    padding: calc(58 / 390 * 100vw) 0 calc(7 / 390 * 100vw);
  }
}
.ms-catch__head {
  position: relative;
  margin-top: 91px;
  @media (max-width: 1100px) {
    margin-top: calc(91 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(16 / 390 * 100vw);
    margin-top: calc(24 / 390 * 100vw);
  }
}
.ms-catch__logo {
  position: absolute;
  top: -64px;
  left: calc(50% - 364.7px);
  width: 184px;
  @media (max-width: 1100px) {
    top: calc(-64 / 1100 * 100vw);
    left: calc(50% - 364.7 / 1100 * 100vw);
    width: calc(184 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    position: static;
    width: calc(120 / 390 * 100vw);
  }
}
.ms-catch__label {
  width: fit-content;
  margin-inline: auto;
  padding: 8px 20px 6px;
  border-radius: 3px;
  background: var(--PageColor-Main);
  font-family: var(--ms-font-yu);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.06em;
  color: #fff;
  font-feature-settings: "halt" 1;
  @media (max-width: 1100px) {
    font-size: calc(28 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    padding: calc(8 / 390 * 100vw) calc(20 / 390 * 100vw) calc(6 / 390 * 100vw);
    font-size: calc(21 / 390 * 100vw);
  }
}
.ms-catch.-second .ms-marquee:first-child {
  margin-top: 0;
}
.ms-catch.-second .ms-marquee:last-child {
  margin-top: 36px;
  @media (max-width: 1100px) {
    margin-top: calc(36 / 1100 * 100vw);
  }
  @media (max-width: 740px) {
    margin-top: calc(27 / 390 * 100vw);
  }
}
.ms-strip {
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.ms-strip__photo {
  flex-shrink: 0;
  width: calc(464 / 1440 * 100vw);
  @media (max-width: 740px) {
    width: calc(140 / 390 * 100vw);
  }
}
.ms-strip__photo.-edge {
  width: calc(256 / 1440 * 100vw);
  @media (max-width: 740px) {
    width: calc(55 / 390 * 100vw);
  }
}
.ms-strip__photo img {
  width: 100%;
}
.ms-catch.-second .ms-catch__title {
  @media (max-width: 740px) {
    margin-top: calc(8 / 390 * 100vw);
  }
}

/* ==========================================================================
   12 教員陣
   ========================================================================== */
.ms-faculty {
  padding: 100px 10px;
  background: var(--PageColor-GreenGray);
  @media (max-width: 740px) {
    padding: calc(60 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
}
.ms-faculty__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, min(583px, 45vw));
  align-items: center;
  column-gap: 38px;
  max-width: var(--ms-inner-width);
  margin-inline: auto;
  @media (max-width: 1100px) {
    grid-template-columns: minmax(0, 583px);
    justify-content: center;
  }
  @media (max-width: 740px) {
    grid-template-columns: minmax(0, 1fr);
  }
}
.ms-faculty__head {
  --ms-faculty-en-size: min(8.7rem, calc(87 / 633 * 100cqw));
  container-type: inline-size;
}
.ms-faculty__en {
  background: url(../img/sports-2026/title-texture.webp) -0.701em -3.241em / 16.552em 8.276em no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  font-family: var(--ms-font-en);
  padding-bottom: 0.04em;
  font-size: var(--ms-faculty-en-size);
  font-weight: 600;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  color: transparent;
}
.ms-faculty__title {
  margin-top: calc(36px - var(--ms-faculty-en-size) * 0.04);
  font-size: min(6rem, calc(60 / 1440 * 100vw), calc(100cqw / 11.2));
  font-weight: 900;
  line-height: 1.4;
  @media (max-width: 1100px) {
    font-size: min(calc(60 / 1100 * 100vw), calc(100cqw / 11.2));
  }
  @media (max-width: 740px) {
    margin-top: calc(16 / 390 * 100vw - var(--ms-faculty-en-size) * 0.04);
    font-size: calc(30 / 390 * 100vw);
    line-height: 1.3;
  }
}
.ms-faculty__tags {
  margin-top: 20px;
  @media (max-width: 740px) {
    margin-top: calc(16 / 390 * 100vw);
  }
}
.ms-faculty__tag {
  width: fit-content;
  padding: 3px 23px 3px 22px;
  background: var(--PageColor-LightGreen);
  clip-path: polygon(12.17px 0, 100% 0, calc(100% - 12.17px) 100%, 0 100%);
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.4;
  color: #fff;
  @media (max-width: 740px) {
    padding: calc(2.1 / 390 * 100vw) calc(16 / 390 * 100vw) calc(2.1 / 390 * 100vw) calc(15.5 / 390 * 100vw);
    clip-path: polygon(calc(8.5 / 390 * 100vw) 0, 100% 0, calc(100% - 8.5 / 390 * 100vw) 100%, 0 100%);
    font-size: calc(21 / 390 * 100vw);
  }
}
.ms-faculty__tag.-judo {
  margin-top: 8px;
  background: var(--PageColor-EmeraldGreen);
  @media (max-width: 740px) {
    margin-top: calc(6 / 390 * 100vw);
  }
}
.ms-faculty__head + .ms-teacher {
  @media (max-width: 1100px) {
    margin-top: 48px;
  }
  @media (max-width: 740px) {
    margin-top: calc(37.9 / 390 * 100vw);
  }
}
.ms-teacher + .ms-teacher {
  margin-top: 48px;
  @media (max-width: 740px) {
    margin-top: calc(48 / 390 * 100vw);
  }
}
.ms-teacher {
  --ms-photo-right: calc(-57 / 583 * 100%);
  --ms-photo-width: calc(323 / 583 * 100%);
  width: 583px;
  max-width: 100%;
  @media (max-width: 740px) {
    --ms-photo-right: calc(-20 / 390 * 100vw);
    --ms-photo-width: calc(188 / 390 * 100vw);
    width: 100%;
  }
}
.ms-teacher.-kishigami {
  --ms-photo-right: calc(-47.9 / 583 * 100%);
  --ms-photo-width: calc(378 / 583 * 100%);
  @media (max-width: 740px) {
    --ms-photo-right: calc(-20 / 390 * 100vw);
    --ms-photo-width: calc(252 / 390 * 100vw);
  }
}
.ms-teacher.-kawashima {
  --ms-photo-right: calc(-43.3 / 583 * 100%);
  --ms-photo-width: calc(338.5 / 583 * 100%);
  @media (max-width: 740px) {
    --ms-photo-right: calc(-20 / 390 * 100vw);
    --ms-photo-width: calc(221 / 390 * 100vw);
  }
}
.ms-teacher__en {
  position: relative;
  z-index: 1;
  margin-left: 13px;
  font-family: var(--ms-font-en);
  font-size: min(11rem, calc(110 / 1440 * 100vw));
  font-weight: 700;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 1px #4b903a;
  @media (max-width: 1100px) {
    font-size: 11rem;
  }
  @media (max-width: 740px) {
    margin-left: 0;
    font-size: calc(60 / 390 * 100vw);
  }
}
.ms-teacher__box {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  background: linear-gradient(to left, var(--PageColor-LightGreen), var(--PageColor-Main));
  @media (max-width: 740px) {
    grid-template-columns: minmax(0, 1fr);
    margin-top: calc(1.4 / 390 * 100vw);
  }
}
.ms-teacher__photo {
  position: absolute;
  z-index: 2;
  right: var(--ms-photo-right);
  bottom: 0;
  width: var(--ms-photo-width);
  max-width: none;
  pointer-events: none;
}
.ms-teacher__photo img {
  width: 100%;
  max-width: none;
}
.ms-teacher__body {
  display: contents;
}
.ms-teacher__catch {
  position: relative;
  z-index: 3;
  grid-column: 1 / -1;
  padding-top: 28px;
  @media (max-width: 740px) {
    padding-top: calc(28 / 390 * 100vw);
  }
}
.ms-teacher__catch span {
  display: block;
  width: fit-content;
  padding: 0 10px;
  background: #fff;
  font-size: min(3rem, calc(30 / 1440 * 100vw));
  font-weight: 700;
  line-height: 1.4;
  color: var(--PageColor-Main);
  @media (max-width: 1100px) {
    font-size: 3rem;
  }
  @media (max-width: 740px) {
    padding: 0 calc(10 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
  }
}
.ms-teacher__catch span + span {
  margin-top: 4px;
  @media (max-width: 740px) {
    margin-top: calc(4 / 390 * 100vw);
  }
}
.ms-teacher__text {
  position: relative;
  z-index: 3;
  max-width: 278px;
  margin-top: 16px;
  padding: 0 0 28px 22px;
  font-size: 1.6rem;
  color: #fff;
  @media (max-width: 740px) {
    max-width: calc(244 / 390 * 100vw);
    margin-top: calc(16 / 390 * 100vw);
    padding: 0 0 0 calc(16 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    line-height: 1.4;
  }
}
.ms-teacher__name {
  position: relative;
  z-index: 3;
  align-self: end;
  max-width: 300px;
  background: #fff;
  @media (max-width: 740px) {
    justify-self: start;
    max-width: 100%;
    margin-top: calc(16 / 390 * 100vw);
  }
}
.ms-teacher.-kishigami .ms-teacher__name,
.ms-teacher.-kawashima .ms-teacher__name {
  width: 260px;
  @media (max-width: 740px) {
    width: calc(190 / 390 * 100vw);
  }
}
.ms-teacher__dept {
  width: fit-content;
  padding: 2px 10px 3px;
  background: var(--PageColor-Main);
  font-size: 1.7rem;
  line-height: 1.5;
  color: #fff;
  @media (max-width: 740px) {
    padding: calc(2 / 390 * 100vw) calc(10 / 390 * 100vw) calc(3 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
}
.ms-teacher__name-body {
  padding: 4px 10px 6px;
  @media (max-width: 740px) {
    padding: calc(4 / 390 * 100vw) calc(10 / 390 * 100vw) calc(6 / 390 * 100vw);
  }
}
.ms-teacher__name-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 3px;
  font-weight: 700;
  @media (max-width: 740px) {
    gap: 0 calc(3 / 390 * 100vw);
  }
}
.ms-teacher__position {
  font-size: 1.7rem;
  line-height: 1.5;
  @media (max-width: 740px) {
    font-size: calc(18 / 390 * 100vw);
  }
}
.ms-teacher__name-text {
  font-size: 3.2rem;
  line-height: 1.3;
  letter-spacing: 0.08em;
  @media (max-width: 740px) {
    font-size: calc(22 / 390 * 100vw);
  }
}
.ms-teacher__suffix {
  font-size: 2.2rem;
  line-height: 1.5;
  @media (max-width: 740px) {
    font-size: calc(18 / 390 * 100vw);
  }
}
.ms-teacher__license {
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.5;
  @media (max-width: 740px) {
    font-size: calc(14 / 390 * 100vw);
  }
}

/* ==========================================================================
   13 卒業生の活躍
   ========================================================================== */
.ms-graduate {
  padding: 100px 10px;
  background: var(--PageColor-GreenGray);
  @media (max-width: 740px) {
    padding: calc(40 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
}
.ms-graduate__inner {
  max-width: var(--ms-inner-width-narrow);
  margin-inline: auto;
}
.ms-graduate__head {
  --ms-graduate-en-size: min(15.8rem, calc(158 / 1080 * 100cqw));
  container-type: inline-size;
  text-align: center;
}
.ms-graduate__en {
  background: url(../img/sports-2026/title-texture.webp) -1.359em -1.399em / 9.114em 4.557em no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  font-family: var(--ms-font-en);
  padding-bottom: 0.04em;
  font-size: var(--ms-graduate-en-size);
  font-weight: 600;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  color: transparent;
}
.ms-graduate__title {
  margin-top: calc(27px - var(--ms-graduate-en-size) * 0.04);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  @media (max-width: 740px) {
    margin-top: calc(16 / 390 * 100vw - var(--ms-graduate-en-size) * 0.04);
    font-size: calc(18 / 390 * 100vw);
  }
}
.ms-graduate__head + .ms-message {
  margin-top: 48px;
  @media (max-width: 740px) {
    margin-top: calc(40 / 390 * 100vw);
  }
}
.ms-message + .ms-message {
  margin-top: 32px;
  @media (max-width: 740px) {
    margin-top: calc(32 / 390 * 100vw);
  }
}
.ms-message {
  display: flex;
  @media (max-width: 740px) {
    flex-direction: column;
  }
}
.ms-message.-reverse {
  flex-direction: row-reverse;
  @media (max-width: 740px) {
    flex-direction: column;
  }
}
.ms-message__photo {
  flex: 1;
  min-width: 0;
}
.ms-message__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  @media (max-width: 740px) {
    height: auto;
  }
}
.ms-message__body {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: calc(600 / 1080 * 100%);
  padding: 48px 32px;
  background: linear-gradient(to left, var(--PageColor-LightGreen), var(--PageColor-Main));
  color: #fff;
  @media (max-width: 1100px) {
    padding: 40px 24px;
  }
  @media (max-width: 740px) {
    width: 100%;
    padding: calc(32 / 390 * 100vw) calc(20 / 390 * 100vw);
  }
}
.ms-message__body::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url(../img/sports-2026/texture@2x.webp) center / cover;
  opacity: 0.35;
}
.ms-message__en {
  position: absolute;
  top: 0;
  right: 0;
  font-family: var(--ms-font-en);
  font-size: 4rem;
  font-weight: 700;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px var(--PageColor-Main);
  @media (max-width: 740px) {
    font-size: calc(32 / 390 * 100vw);
  }
}
.ms-message__name {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  @media (max-width: 740px) {
    font-size: calc(22 / 390 * 100vw);
  }
}
.ms-message__name span {
  font-size: 2.4rem;
  letter-spacing: 0;
  @media (max-width: 740px) {
    font-size: calc(18 / 390 * 100vw);
  }
}
.ms-message__job {
  align-self: stretch;
  margin-top: 12px;
  padding: 4px 10px;
  background: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--PageColor-Main);
  @media (max-width: 740px) {
    margin-top: calc(12 / 390 * 100vw);
    padding: calc(2 / 390 * 100vw) calc(6 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
  }
}
.ms-message__license {
  display: flex;
  gap: 16px;
  margin-top: 12px;
  font-size: 1.7rem;
  line-height: 1.4;
  @media (max-width: 740px) {
    gap: 0;
    margin-top: calc(8 / 390 * 100vw);
    font-size: calc(15 / 390 * 100vw);
    line-height: 1.5;
  }
}
.ms-message__license dt {
  flex-shrink: 0;
}
.ms-message__text {
  align-self: stretch;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #fff;
  font-size: 1.6rem;
  @media (max-width: 740px) {
    margin-top: calc(12 / 390 * 100vw);
    padding-top: calc(12 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
}
.ms-message__movie {
  display: inline-flex;
  align-items: center;
  gap: 32px;
  margin-top: 32px;
  padding: 0 10px 6px;
  border-bottom: 1px solid #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  transition: opacity 0.3s ease-out;
  @media (max-width: 740px) {
    align-self: flex-end;
    gap: calc(32 / 390 * 100vw);
    margin-top: calc(32 / 390 * 100vw);
    padding: 0 calc(10 / 390 * 100vw) calc(6 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
  }
}
.ms-message__movie::after {
  content: "";
  flex-shrink: 0;
  width: 14px;
  aspect-ratio: 1;
  background: currentColor;
  -webkit-mask: url(../img/sports-2026/icon-arrow@2x.webp) center / contain no-repeat;
  mask: url(../img/sports-2026/icon-arrow@2x.webp) center / contain no-repeat;
  @media (max-width: 740px) {
    width: calc(14 / 390 * 100vw);
  }
}
.ms-main a.ms-message__movie {
  color: #fff;
}
.ms-main a.ms-message__movie:hover {
  opacity: 0.8 !important;
}
.ms-message.-reverse .ms-message__body {
  @media (max-width: 740px) {
    padding-inline: calc(24 / 390 * 100vw);
  }
}

/* ==========================================================================
   14 PICK UP
   ========================================================================== */
.ms-pickup .ms-pickup__title {
  font-family: var(--ms-font-yu);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.06em;
  color: var(--PageColor-Main);
  @media (max-width: 740px) {
    font-size: calc(25.4 / 390 * 100vw);
  }
}

/* ==========================================================================
   共通フッター
   ========================================================================== */
.r4-cmn-footer-pc02 p {
  line-height: 1.8;
}
.r4-cmn-footer-sp__address {
  line-height: 22px;
}
