@charset "UTF-8"; /* =================================================================
   【cssはこのファイルを編集してください】
   ================================================================= */
html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
}

/* 375px - 414px */
@media (max-width: 414px) {
  html {
    /* 同倍率 */
    font-size: 3.8647342995vw;
  }
}

/* 414px - 767px */
@media (min-width: 414px) and (max-width: 767.98px) {
  html {
    font-size: calc((100vw - 414px) / 353 * 5 + 16px);
    font-size: 3.8647342995vw;
  }
}

/* 769px - 1399px */
@media (min-width: 768px) and (max-width: 1399px) {
  html {
    font-size: calc((100vw - 768px) / 632 * 3 + 13px);
  }
}

em {
  font-style: normal;
}

li {
  list-style: none;
}

/* リンクホバー調整 */
a {
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  transform: scale(1.03);
  opacity: 1;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }

  .pc {
    display: inline-block;
  }
}

@media screen and (max-width: 767.98px) {
  .sp {
    display: block;
  }

  .pc {
    display: none;
  }
}

.jam-s__cta {
  max-width: 929px;
  width: 90%;
  margin-inline: auto;
  text-align: center;
  z-index: 2;
  position: relative;
}

.jam-s__cta-row {
  margin-inline: auto;
  display: flex;
  align-items: end;
  gap: 19px;
  gap: 1.1875rem;
  justify-content: center;
}

.jam-s__cta-link {
  display: block;
}

.jam-s__cta-link--trial {
  flex: 0 1 504px;
  flex: 0 1 31.5rem;
}

.jam-s__cta-link--phone {
  flex: 0 1 410px;
  flex: 0 1 25.625rem;
}

.jam-s__cta-image {
  width: 100%;
}

.jam-s__cta-link--trial .jam-s__cta-image {
  aspect-ratio: 504 / 145;
}

.jam-s__cta-link--phone .jam-s__cta-image {
  aspect-ratio: 410 / 120;
}

.jam-s__cta-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-cta__text {
  margin-top: 18px;
  margin-top: 1.125rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17.2px;
  font-size: 1.075rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 1.72px;
  letter-spacing: 0.1075rem;
  text-align: center;
}

.jam-cta {
  width: 100%;
  overflow: hidden;
  padding: 23px 30px 24px;
  padding: 1.4375rem 1.875rem 1.5rem;
  color: #ffffff;
  background-color: #ffffff;
}

.jam-cta__panel {
  position: relative;
  max-width: 100%;
  overflow: hidden;
  padding-bottom: 42px;
  padding-bottom: 2.625rem;
}

.jam-cta__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.jam-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jam-cta__camera {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 33.765432%;
  max-width: 547px;
}

.jam-cta__camera img {
  width: 100%;
  height: auto;
}

.jam-cta__woman {
  position: absolute;
  right: 24px;
  right: 1.5rem;
  bottom: 0;
  z-index: 1;
  width: 18.765432%;
  max-width: 304px;
}

.jam-cta__woman img {
  width: 100%;
  height: auto;
}

.jam-cta__content {
  position: relative;
  z-index: 2;
  margin-inline: auto;
  padding-top: 59px;
  padding-top: 3.6875rem;
  text-align: center;
}

.jam-cta__logo {
  width: 132.775px;
  width: 8.2984375rem;
  margin-inline: auto;
  margin-bottom: 41px;
  margin-bottom: 2.5625rem;
}

.jam-cta__logo img {
  width: 100%;
  height: auto;
}

.jam-cta__sub-title {
  padding-bottom: 7.4px;
  padding-bottom: 0.4625rem;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 31.488px;
  font-size: 1.968rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 6.298px;
  letter-spacing: 0.393625rem;
  text-align: center;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  margin-bottom: 4.98px;
  margin-bottom: 0.31125rem;
}

.jam-cta__sub-title::before {
  content: "";
  position: absolute;
  top: -4px;
  top: -0.25rem;
  left: 14.6px;
  left: 0.9125rem;
  width: 115.2px;
  width: 7.2rem;
  height: 3.84px;
  height: 0.24rem;
  background-image: url("../img/jam-cta-line-sp.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

.jam-cta__sub-title::after {
  content: "";
  background: #fff;
  width: 104%;
  height: 1px;
  height: 0.0625rem;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.jam-cta__ttl {
  margin-bottom: 33.8px;
  margin-bottom: 2.1125rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  font-size: 53.2px;
  font-size: 3.325rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 71.68px */
  letter-spacing: 7.448px;
  letter-spacing: 0.4655rem;
}

.jam-cta__ttl span {
  font-size: 81.2px;
  font-size: 5.075rem;
  line-height: 140%;
  letter-spacing: 11.368px;
  letter-spacing: 0.7105rem;
}

.jam-cta__lead {
  margin-bottom: 49px;
  margin-bottom: 3.0625rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 3.42px;
  letter-spacing: 0.21375rem;
  text-align: center;
}

.jam-cta-noise-bg {
  background: url(../img/bg-noise-white.png);
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
}

/* この下からcssを記述して下さい */
.jam {
  position: relative;
}

.jam > .jam-fv-header {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 30;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-inline: auto;
  margin-bottom: 0;
  padding-top: 26.867px;
  padding-top: 1.6791875rem;
  padding-top: 1.399226%;
  padding-left: 31.413px;
  padding-left: 1.9633125rem;
  box-sizing: border-box;
  width: 97%;
  transform: translateX(-50%);
}

.jam-fv-header__brand {
  display: flex;
  align-items: flex-start;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  margin-top: min(0.297619vw, 5px);
  color: #ffffff;
  column-gap: min(1.533452vw, 25.762px);
}

.jam-fv-header__logo {
  flex: 0 0 auto;
  width: min(11.834821vw, 198.825px);
  height: min(2.484226vw, 41.735px);
}

.jam-fv-header__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-fv-header__tagline {
  margin-top: min(0.06744vw, 1.133px);
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(0.916667vw, 15.4px);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: min(0.275vw, 4.62px);
  white-space: nowrap;
}

.jam-fv-header__actions {
  display: flex;
  align-items: flex-start;
  flex: 0 0 auto;
  column-gap: min(0.595238vw, 10px);
}

.jam-fv-header__link {
  display: block;
}

.jam-fv-header__link:hover {
  transform: scale(1.03);
  opacity: 1;
}

.jam-fv-header__image {
  display: block;
  width: auto;
  height: min(3.452381vw, 58px);
}

.jam-fv-header__link:first-child .jam-fv-header__image {
  width: min(13.511905vw, 227px);
}

.jam-fv-header__link:last-child .jam-fv-header__image {
  width: min(10.357143vw, 174px);
}

.jam-fv {
  width: 100%;
  overflow: hidden;
  background-color: #d70718;
}

.jam-fv__inner {
  margin-inline: auto;
  position: relative;
}

.jam-fv__stage {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1680 / 1283;
  background-color: #d70718;
}

.jam-fv__stage--pc {
  display: block;
}

.jam-fv__stage--sp {
  display: none;
  aspect-ratio: 414 / 854;
}

.jam-fv__base {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.jam-fv__base img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jam-fv__niji {
  position: absolute;
  top: 7.8%;
  left: 4.702381%;
  z-index: 1;
  width: 90.595238%;
  height: 62.120031%;
}

.jam-fv__niji img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-fv__head {
  position: absolute;
  top: 1.4%;
  left: 31.532143%;
  z-index: 10;
  width: 40.535714%;
  height: 13.483242%;
}

.jam-fv__head img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-fv__frame-mask {
  position: absolute;
  right: 0;
  bottom: 0.7%;
  left: 0;
  z-index: 4;
  height: 30.164458%;
}

.jam-fv__frame-mask img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jam-fv__asset {
  position: absolute;
  opacity: 0;
  transform: scale(0.6);
  transform-origin: center center;
  animation: jam-fv-rise 400ms cubic-bezier(0.17, 0.88, 0.34, 1.27) forwards;
  will-change: opacity, transform;
}

.jam-fv:not(.jam-fv--ready) .jam-fv__asset {
  animation-play-state: paused;
}

.jam-fv.jam-fv--ready .jam-fv__asset {
  animation-play-state: running;
}

.jam-fv__asset img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-fv__asset--circle {
  top: 17.147311%;
  left: 23.095238%;
  z-index: 3;
  width: 54.22619%;
  height: 70.998441%;
  opacity: 0;
  transform: translateY(50px);
  animation-name: jam-fv-hitoup, jam-fv-hitoup2;
  animation-duration: 450ms;
  animation-fill-mode: forwards;
  animation-delay: 400ms;
  animation-timing-function:
    cubic-bezier(0.21, 0.04, 0.24, 0.98), cubic-bezier(0.25, 0.61, 0, 1.55);
  will-change: opacity, transform;
}

.jam-fv__asset--title {
  top: 23.298285%;
  left: 25.87006%;
  z-index: 9;
  width: 49.61381%;
  height: 34.155729%;
  opacity: 0;
  transform: translateY(50px);
  animation-name: jam-fv-hitoup, jam-fv-hitoup2;
  animation-duration: 450ms;
  animation-fill-mode: forwards;
  animation-delay: 400ms;
  animation-timing-function:
    cubic-bezier(1, -0.07, 0.78, 0.96), cubic-bezier(0.25, 0.61, 0, 1.55);
  will-change: opacity, transform;
}

.jam-fv__asset--film {
  top: 50.090491%;
  z-index: 8;
  width: 100%;
  height: 28.527%;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  clip-path: inset(0 100% 0 0);
  animation: jam-fv-film-reveal 720ms cubic-bezier(0.5, 0, 0.2, 1) forwards;
  animation-delay: 700ms;
  will-change: clip-path;
}

.jam-fv__asset--tower-left {
  top: 4.832424%;
  left: 6.011905%;
  z-index: 1;
  width: 27.559524%;
  height: 46.765394%;
  animation-delay: 1580ms;
}

.jam-fv__asset--right-team {
  top: 10.366329%;
  left: 71.488095%;
  z-index: 4;
  width: 28.511905%;
  height: 58.06703%;
  animation-delay: 1700ms;
}

.jam-fv__asset--woman-camera-left {
  top: 7.794232%;
  left: 0;
  z-index: 7;
  width: 39.1076%;
  height: 59.080281%;
  animation-delay: 1750ms;
}

.jam-fv__asset--camera-man {
  top: 7.844739%;
  left: 61.488095%;
  z-index: 5;
  width: 15.13381%;
  height: 36.504443%;
  animation-delay: 1880ms;
}

.jam-fv__asset--tv {
  top: 48.947779%;
  left: 6.011905%;
  z-index: 9;
  width: 9.166667%;
  height: 19.329696%;
  animation-delay: 1980ms;
}

.jam-fv__asset--reel {
  top: 61.340608%;
  left: 86.72619%;
  z-index: 9;
  width: 18.630952%;
  height: 21.512081%;
  animation-delay: 2100ms;
}

.jam-fv__asset--badge {
  top: 53.883086%;
  right: 0.8333333333%;
  z-index: 11;
  width: 20.714286%;
  height: 7.638347%;
  animation-delay: 2350ms;
}

.jam-fv__asset--sp-circle {
  top: 18.032787%;
  left: -0.752944%;
  z-index: 2;
  width: 101.432999%;
  height: 49.172552%;
  opacity: 0;
  transform: translateY(50px);
  animation-name: jam-fv-hitoup, jam-fv-hitoup2;
  animation-duration: 350ms;
  animation-fill-mode: forwards;
  animation-delay: 400ms;
  animation-timing-function:
    cubic-bezier(0.21, 0.04, 0.24, 0.98), cubic-bezier(0.17, 0.88, 0.28, 1.67);
  will-change: opacity, transform;
}

.jam-fv__asset--sp-title {
  top: 23.242188%;
  left: 3.255208%;
  z-index: 9;
  width: 95.456861%;
  height: 24.355057%;
  opacity: 0;
  transform: translateY(50px);
  animation-name: jam-fv-hitoup, jam-fv-hitoup2;
  animation-duration: 350ms;
  animation-fill-mode: forwards;
  animation-delay: 400ms;
  animation-timing-function:
    cubic-bezier(0.21, 0.04, 0.24, 0.98), cubic-bezier(0.17, 0.88, 0.28, 1.67);
  will-change: opacity, transform;
}

.jam-fv__asset--sp-tower-left {
  top: 6.440281%;
  left: 0;
  z-index: 1;
  width: 23.671498%;
  height: 37.93911%;
  animation-delay: 1380ms;
}

.jam-fv__asset--sp-team-right {
  top: 35.714286%;
  left: 49.138647%;
  z-index: 5;
  width: 51.465316%;
  height: 41.686183%;
  animation-delay: 1600ms;
}

.jam-fv__asset--sp-camera-man {
  top: 10.44719%;
  left: 62.801932%;
  z-index: 6;
  width: 34.782609%;
  height: 35.454479%;
  animation-delay: 1780ms;
}

.jam-fv__asset--sp-tv {
  top: 47.388642%;
  left: 2.415459%;
  z-index: 6;
  width: 38.647343%;
  height: 27.786977%;
  animation-delay: 2000ms;
}

.jam-fv__asset--sp-crew {
  top: 44.496487%;
  left: 15.217391%;
  z-index: 8;
  width: 70.048309%;
  height: 30.679157%;
  animation-delay: 2300ms;
}

.jam-fv__asset--sp-reel {
  top: 16.276464%;
  left: 24.154589%;
  z-index: 7;
  width: 13.496322%;
  height: 6.648862%;
  animation-delay: 2450ms;
}

.jam-fv__asset--sp-film {
  top: 69.096019%;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 31.381733%;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  clip-path: inset(0 100% 0 0);
  animation: jam-fv-film-reveal 400ms cubic-bezier(0.5, 0, 0.2, 1) forwards;
  animation-delay: 2750ms;
  will-change: clip-path;
}

.jam-fv__asset--sp-badge {
  top: 69.120843%;
  right: -1.207729%;
  z-index: 11;
  width: 51.932367%;
  height: 6.908665%;
  animation-delay: 3200ms;
}

.jam-fv__asset--sp-badge img {
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.3s;
}

.jam-fv__asset--sp-badge:hover img {
  transform: scale(1.03);
}

@keyframes jam-fv-fade {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes jam-fv-rise {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes jam-fv-hitoup {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes jam-fv-hitoup2 {
  0% {
    transform: translateY(50px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes jam-fv-circle-land {
  0% {
    transform: translate3d(0, 6rem, 0) scale(1);
    animation-timing-function: cubic-bezier(0.08, 0.96, 0.12, 1);
  }

  10% {
    transform: translate3d(0, -1rem, 0) scale(1);
    animation-timing-function: linear;
  }

  11% {
    transform: translate3d(0, -1rem, 0) scale(1);
    animation-timing-function: cubic-bezier(0.78, 0, 0.92, 0.42);
  }

  42% {
    transform: translate3d(0, 0, 0) scale(1);
    animation-timing-function: ease-out;
  }

  54% {
    transform: translate3d(0, 0, 0) scale(1);
    animation-timing-function: ease-out;
  }

  67% {
    transform: translate3d(0, 0, 0) scale(1);
    animation-timing-function: ease-out;
  }

  80% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes jam-fv-circle-opacity {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes jam-fv-sp-circle-land {
  0% {
    transform: translate3d(0, 6rem, 0) scale(1);
    animation-timing-function: cubic-bezier(0.08, 0.96, 0.12, 1);
  }

  10% {
    transform: translate3d(0, -1rem, 0) scale(1);
    animation-timing-function: linear;
  }

  11% {
    transform: translate3d(0, -1rem, 0) scale(1);
    animation-timing-function: cubic-bezier(0.78, 0, 0.92, 0.42);
  }

  42% {
    transform: translate3d(0, 0, 0) scale(1);
    animation-timing-function: ease-out;
  }

  54% {
    transform: translate3d(0, 0, 0) scale(1);
    animation-timing-function: ease-out;
  }

  67% {
    transform: translate3d(0, 0, 0) scale(1);
    animation-timing-function: ease-out;
  }

  80% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes jam-fv-land {
  0% {
    opacity: 0;
    transform: translate3d(0, 6rem, 0);
    animation-timing-function: cubic-bezier(0.08, 0.96, 0.12, 1);
  }

  10% {
    opacity: 1;
    transform: translate3d(0, -1rem, 0);
    animation-timing-function: linear;
  }

  11% {
    opacity: 1;
    transform: translate3d(0, -1rem, 0);
    animation-timing-function: cubic-bezier(0.78, 0, 0.92, 0.42);
  }

  42% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    animation-timing-function: ease-out;
  }

  54% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    animation-timing-function: ease-out;
  }

  67% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    animation-timing-function: ease-out;
  }

  80% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes jam-fv-title-land {
  0% {
    opacity: 0;
    transform: translate3d(0, -1rem, 0);
    animation-timing-function: linear;
  }

  10% {
    opacity: 0;
    transform: translate3d(0, -1rem, 0);
    animation-timing-function: linear;
  }

  11% {
    opacity: 1;
    transform: translate3d(0, -1rem, 0);
    animation-timing-function: cubic-bezier(0.78, 0, 0.92, 0.42);
  }

  42% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    animation-timing-function: ease-out;
  }

  54% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    animation-timing-function: ease-out;
  }

  67% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    animation-timing-function: ease-out;
  }

  80% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes jam-fv-film-reveal {
  0% {
    clip-path: inset(0 100% 0 0);
  }

  100% {
    clip-path: inset(0 0 0 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .jam-fv__asset {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    animation-duration: 1ms;
    animation-delay: 0ms;
  }

  .jam-fv__asset--film {
    clip-path: inset(0 0 0 0);
    animation-duration: 1ms;
    animation-delay: 0ms;
  }

  .jam-fv__asset--sp-film {
    clip-path: inset(0 0 0 0);
    animation-duration: 1ms;
    animation-delay: 0ms;
  }
}

.jam-fv__cta {
  position: absolute;
  bottom: 6.7%;
  left: 50%;
  width: min(55.297619vw, 929px);
  max-width: none;
  transform: translateX(-50%);
  z-index: 99;
}

.jam-fv__cta .jam-s__cta-row {
  gap: min(1.130952vw, 19px);
}

.jam-fv__cta .jam-s__cta-link--trial {
  flex-basis: min(30vw, 504px);
}

.jam-fv__cta .jam-s__cta-link--phone {
  flex-basis: min(24.404762vw, 410px);
}

.jam-fv__cta .jam-cta__text {
  margin-top: min(1.071429vw, 18px);
  font-size: min(1.202381vw, 20.2px);
  letter-spacing: min(0.120238vw, 2.02px);
}

.jam-s1 {
  width: 100%;
  overflow: hidden;
  color: #ffffff;
  background-color: #ffffff;
  background-image: url("../img/s1-background-layer.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 97.619047619% 95.1%;
}

.jam-s1__stage {
  width: min(100%, 1680px);
  min-height: 54.1875rem;
  margin-inline: auto;
  padding-top: 115px;
  padding-top: 7.1875rem;
}

.jam-s1__top {
  display: flex;
  column-gap: 58.6px;
  column-gap: 3.6625rem;
  align-items: center;
  max-width: 1308.4px;
  width: 90%;
  margin-inline: auto;
  transform: translateX(15px);
  margin-bottom: 62px;
  margin-bottom: 3.875rem;
}

.jam-s1__video {
  position: relative;
  flex: 1;
  aspect-ratio: 1186 / 784;
  overflow: hidden;
}

.jam-s1__video-conetnt {
  position: absolute;
  top: 5%;
  left: 3%;
  z-index: 2;
  width: 94%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  cursor: pointer;
  background: #000;
  border-radius: 0.625rem;
}

.jam-s1__video-conetnt iframe {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.jam-s1__video-poster {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  background-color: #111111;
  border: 0;
  appearance: none;
}

.jam-s1__video-poster[hidden] {
  display: none;
}

.jam-s1__video-conetnt.is-playing .jam-s1__video-poster {
  display: none;
}

.jam-s1__video-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jam-s1__video-poster-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: clamp(4.25rem, 12.8%, 5.5rem);
  aspect-ratio: 68 / 48;
  background-color: #ff0000;
  border-radius: clamp(0.75rem, 1.45vw, 1rem);
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
}

.jam-s1__video-poster-icon::before {
  position: absolute;
  top: 50%;
  left: 53%;
  width: 31%;
  height: 42%;
  content: "";
  background-color: #ffffff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: translate(-50%, -50%);
}

.jam-s1__video-poster:hover .jam-s1__video-poster-icon {
  transform: translate(-50%, -50%) scale(1.04);
}

.jam-s1__video-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.jam-s1__video img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s1__video-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s1__ttl {
  width: 655px;
  width: 40.9375rem;
  max-width: 100%;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 93.486px;
  font-size: 5.842875rem;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 18.6972px;
  letter-spacing: 1.168575rem;
  text-align: center;
  white-space: nowrap;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.jam-s1__ttl em {
  position: relative;
}

.jam-s1__ttl em::after {
  content: "";
  background: #fff;
  width: 94.3%;
  height: 3px;
  height: 0.1875rem;
  position: absolute;
  left: 0;
  bottom: 1px;
  bottom: 0.0625rem;
}

.jam-s1__badges {
  margin-bottom: 44.2px;
  margin-bottom: 2.7625rem;
}

.jam-s1__badge {
  display: flex;
  align-items: center;
  height: 44px;
  height: 2.75rem;
  padding-inline: 20.7px;
  padding-inline: 1.29375rem;
  color: #9d1c2b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 25.5px;
  font-size: 1.59375rem;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 4.59px;
  letter-spacing: 0.286875rem;
  white-space: nowrap;
  background-color: #ffffff;
}

.jam-s1__badge--fan {
  width: 425.6px;
  width: 26.6rem;
}

.jam-s1__brand-row {
  display: flex;
  align-items: center;
  column-gap: 26px;
  column-gap: 1.625rem;
  margin-top: 10px;
  margin-top: 0.625rem;
}

.jam-s1__badge--service {
  width: 367.2px;
  width: 22.95rem;
}

.jam-s1__logo {
  width: 207.712px;
  width: 12.982rem;
  aspect-ratio: 207.712 / 43.603;
}

.jam-s1__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s1__feature-list {
  display: flex;
  flex-direction: column;
  row-gap: 22.45px;
  row-gap: 1.403125rem;
}

.jam-s1__feature {
  display: flex;
  align-items: flex-start;
  column-gap: 12px;
  column-gap: 0.75rem;
}

.jam-s1__feature-icon {
  flex: 0 0 auto;
  width: 26.969px;
  width: 1.6855625rem;
  height: 24.052px;
  height: 1.50325rem;
}

.jam-s1__feature-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s1__feature-text {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.jam-s1__thumbs {
  --jam-s1-thumb-width: 331px;
  --jam-s1-thumb-width: 20.6875rem;
  --jam-s1-thumb-gap: 23px;
  --jam-s1-thumb-gap: 1.4375rem;
  width: max-content;
}

.jam-s1__thumb-row {
  width: max-content;
}

.jam-s1__thumb-row--bottom {
  display: none;
}

.jam-s1__thumb-track {
  display: flex;
  column-gap: var(--jam-s1-thumb-gap);
  width: max-content;
  animation: jam-s1-thumbs-loop-left 30s linear infinite;
  will-change: transform;
}

.jam-s1__thumb-track--top {
  --jam-s1-loop-count: 6;
}

.jam-s1__thumb-track--bottom {
  --jam-s1-loop-count: 6;
  animation-name: jam-s1-thumbs-loop-right;
}

.jam-s1__thumb {
  flex: 0 0 auto;
  width: var(--jam-s1-thumb-width);
  height: 186px;
  height: 11.625rem;
  overflow: hidden;
  border: 1px solid #ffffff;
  border: 0.15rem solid #ffffff;
  border-radius: 5px;
  border-radius: 0.6125rem;
  box-sizing: border-box;
}

.jam-s1__thumb img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.jam-s2 {
  width: 100%;
  overflow: hidden;
  color: #131313;
  background-image: url("../img/s2-background.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%;
  padding: 37px 0 78px;
  padding: 2.3125rem 0 4.875rem;
}

.jam-s2__inner {
  margin-inline: auto;
}

.jam-s2__ttl {
  max-width: 1226.22px;
  width: 90%;
  margin-inline: auto;
  transform: translateX(-5px);
  margin-bottom: 46px;
  margin-bottom: 2.875rem;
  position: relative;
}

.jam-s2__ttl::after {
  content: "PROBLEM";
  color: #fff;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 289.78px;
  font-size: 18.11125rem;
  font-style: normal;
  font-weight: 600;
  line-height: 120%;
  /* 347.736px */
  letter-spacing: 43.467px;
  letter-spacing: 2.7166875rem;
  position: absolute;
  top: -123px;
  top: -7.6875rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.jam-s2__ttl-text {
  position: absolute;
  width: 1px;
  width: 0.0625rem;
  height: 1px;
  height: 0.0625rem;
  margin: -1px;
  margin: -0.0625rem;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.jam-s2__ttl-image {
  display: block;
  width: 100%;
  aspect-ratio: 1226.215 / 243;
}

.jam-s2__ttl-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s2__problem-list {
  max-width: 992px;
  width: fit-content;
  margin-inline: auto;
  transform: translateX(-0.7625rem);
  margin-bottom: 115.86px;
  margin-bottom: 7.24125rem;
}

.jam-s2__problem {
  display: flex;
  column-gap: 30px;
  column-gap: 1.875rem;
}

.jam-s2__problem--1 {
  margin-bottom: 54.95px;
  margin-bottom: 3.434375rem;
}

.jam-s2__problem--2 {
  margin-bottom: 56.06px;
  margin-bottom: 3.50375rem;
}

.jam-s2__problem--3 {
  margin-bottom: 41.51px;
  margin-bottom: 2.594375rem;
}

.jam-s2__problem--4 {
  margin-bottom: 39.94px;
  margin-bottom: 2.49625rem;
}

.jam-s2__problem-label {
  width: 100%;
  margin-top: 29.45px;
  margin-top: 1.840625rem;
  max-width: 274.92px;
}

.jam-s2__problem--2 .jam-s2__problem-label {
  transform: translateY(7.46px);
}

.jam-s2__problem--3 .jam-s2__problem-label {
  transform: translateY(13.97px);
}

.jam-s2__problem--4 .jam-s2__problem-label {
  transform: translateY(10.71px);
}

.jam-s2__problem--5 .jam-s2__problem-label {
  transform: translateY(14.73px);
}

.jam-s2__problem-label img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.jam-s2__problem-body {
  min-width: 0;
  flex: 1;
}

.jam-s2__problem-number {
  display: flex;
  align-items: center;
  gap: 8px;
  gap: 0.5rem;
  margin-bottom: 8.2px;
  margin-bottom: 0.5125rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11.322px;
  font-size: 0.707625rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 2.264px;
  letter-spacing: 0.1415rem;
  white-space: nowrap;
}

.jam-s2__problem-number::before {
  content: "";
  display: block;
  width: 32.237px;
  width: 2.0148125rem;
  height: 1px;
  height: 0.0625rem;
  background-color: #131313;
}

.jam-s2__problem-text {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22.015px;
  font-size: 1.3759375rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 4.403px;
  letter-spacing: 0.2751875rem;
}

.jam-s2__problem-text em {
  display: inline-block;
  padding-inline: 6.5px;
  padding-inline: 0.40625rem;
  color: #ffffff;
  line-height: 1.686;
  background-color: #131313;
}

.jam-s2__cause {
  max-width: 674px;
  width: 65%;
  margin-inline: auto;
  text-align: center;
  border: 1px solid #000;
  border: 0.0625rem solid #000;
  position: relative;
  padding: 60px 0 56.27px;
  padding: 3.75rem 0 3.516875rem;
}

.jam-s2__cause-label {
  width: 335.872px;
  width: 20.992rem;
  height: 59.904px;
  height: 3.744rem;
  margin-inline: auto;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 33.913px;
  font-size: 2.1195625rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 10.1739px;
  letter-spacing: 0.63586875rem;
  background-color: #131313;
  border-radius: 3.2px;
  border-radius: 0.2rem;
  padding: 0 0 6px 15px;
  padding: 0 0 0.375rem 0.9375rem;
  display: inline-grid;
  place-items: center;
  position: absolute;
  top: -17%;
  left: 50%;
  transform: translateX(-50%);
}

.jam-s2__cause-main {
  white-space: nowrap;
  color: #131313;
  text-align: center;
  font-family: "Noto Serif JP";
  font-size: 32.472px;
  font-size: 2.0295rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  /* 51.673px */
  letter-spacing: 1.624px;
  letter-spacing: 0.1015rem;
}

.jam-s2__cause-keyword {
  font-size: 44.571px;
  font-size: 2.7856875rem;
  letter-spacing: 4.457px;
  letter-spacing: 0.2785625rem;
  margin-right: 0.6px;
  margin-right: 0.0375rem;
  line-height: 1;
}

.jam-s3 {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: url(../img/s3-bg.webp) no-repeat;
  background-size: 100% 100%;
  padding-top: 100px;
  padding-top: 6.25rem;
  padding-bottom: 462px;
  padding-bottom: 28.875rem;
}

.jam-s3__inner {
  position: relative;
  margin-inline: auto;
}

.jam-s3__ttl-text {
  color: #fff;
  font-family: "Noto Serif JP";
  font-size: 67.99px;
  font-size: 4.249375rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 13.598px;
  letter-spacing: 0.849875rem;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 84.4px;
  margin-bottom: 5.275rem;
}

.jam-s3__ttl-text span {
  font-size: 80.99px;
  font-size: 5.061875rem;
  letter-spacing: 16.198px;
  letter-spacing: 1.012375rem;
  border-bottom: 1px solid #fff;
  border-bottom: 0.0625rem solid #fff;
  padding-bottom: 10px;
  padding-bottom: 0.625rem;
  display: inline-block;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
  margin-right: 10px;
  margin-right: 0.625rem;
}

.jam-s3__ttl-text em {
  font-size: 80.99px;
  font-size: 5.061875rem;
  letter-spacing: 16.198px;
  letter-spacing: 1.012375rem;
  background: url(../img/s3-ttl-bg.webp) no-repeat;
  background-size: 100% 100%;
  display: inline-block;
  padding: 7px 13px 15px 14px;
  padding: 0.4375rem 0.8125rem 0.9375rem 0.875rem;
  margin-right: 20px;
  margin-right: 1.25rem;
  margin-left: 170px;
  margin-left: 10.625rem;
}

.jam-s3__comparison {
  position: relative;
  z-index: 0;
  display: flex;
  column-gap: 40px;
  column-gap: 2.5rem;
  align-items: flex-start;
  max-width: 1171px;
  width: 93%;
  min-height: 754px;
  min-height: 47.125rem;
  margin-inline: auto;
  transform: translateX(1.125rem);
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
}

.jam-s3__comparison-card {
  position: static;
  flex: 0 0 auto;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 16.2px;
  border-radius: 1.0125rem;
}

.jam-s3__comparison-card--traditional {
  max-width: 505px;
  height: 44.3125rem;
  margin-top: 22px;
  margin-top: 1.375rem;
  background-color: #efefef;
  flex: 1;
}

.jam-s3__comparison-card--fan {
  max-width: 626px;
  height: 754px;
  height: 47.125rem;
  background-color: #ffffff;
  border-width: 4.86px;
  border-width: 0.30375rem;
  border-style: solid;
  border-color: #cd0f12;
  flex: 1;
}

.jam-s3__people {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  top: 648px;
  top: 40.5rem;
  top: 62.1%;
  left: 65.952381%;
  width: 639.876px;
  width: 39.99225rem;
  width: 38.0878571429vw;
  height: 518.45px;
  height: 32.403125rem;
  height: 49.203125%;
}

.jam-s3__people img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s3__camera {
  position: absolute;
  top: 1144px;
  top: 71.5rem;
  left: 0;
  width: 319px;
  width: 19.9375rem;
  width: 18.9880952381vw;
  height: 376px;
  height: 23.5rem;
}

.jam-s3__camera img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s3__reel {
  position: absolute;
  top: 1075.8px;
  top: 67.2375rem;
  right: 0;
  width: 303px;
  width: 18.9375rem;
  width: 18.0357142857vw;
  height: 381px;
  height: 23.8125rem;
}

.jam-s3__reel img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s4 {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: -167.2px;
  margin-top: -10.45rem;
}

.jam-s4__bg {
  position: absolute;
  z-index: -1;
  left: 50%;
  width: 100%;
  height: 100%;
  background-image: url("../img/s4-background-layer.webp");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: translateX(-50%);
}

.jam-s4__inner {
  position: relative;
  margin-inline: auto;
  padding-top: 0;
  padding-bottom: 92px;
  padding-bottom: 5.75rem;
}

.jam-s4__logo {
  width: 292.715px;
  width: 18.2946875rem;
  height: 61.448px;
  height: 3.8405rem;
  margin-inline: auto;
  margin-bottom: 55.6px;
  margin-bottom: 3.475rem;
}

.jam-s4__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s4__ttl {
  margin-bottom: 56.54px;
  margin-bottom: 3.53375rem;
  color: #ffffff;
  font-family: "Noto Serif JP";
  text-align: center;
  white-space: nowrap;
  font-size: 56.981px;
  font-size: 3.5613125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 89.573px */
  letter-spacing: 9.117px;
  letter-spacing: 0.5698125rem;
}

.jam-s4__programs {
  display: flex;
  column-gap: 27.1px;
  column-gap: 1.69375rem;
  align-items: start;
  justify-content: center;
  max-width: 1142.7px;
  width: 90%;
  margin-inline: auto;
  margin-bottom: 111.54px;
  margin-bottom: 6.97125rem;
}

.jam-s4__program {
  flex: 0 1 557.8px;
  max-width: 557.8px;
  min-width: 0;
}

.jam-s4__video {
  position: relative;
  width: 100%;
  aspect-ratio: 558 / 391;
  margin-bottom: 25.13px;
  margin-bottom: 1.570625rem;
  overflow: hidden;
}

.jam-s4__video img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s4__video-conetnt {
  position: absolute;
  top: 7.8%;
  left: 3%;
  z-index: 2;
  width: 94%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 0.625rem;
  border: 0.125rem solid #fff;
  background: #000;
  cursor: pointer;
}

.jam-s4__video-conetnt iframe {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 0;
}

.jam-s4__video-poster {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  background-color: #111111;
  border: 0;
  appearance: none;
}

.jam-s4__video-poster[hidden] {
  display: none;
}

.jam-s4__video-conetnt.is-playing .jam-s4__video-poster {
  display: none;
}

.jam-s4__video-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jam-s4__video-poster-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: clamp(4.25rem, 12.8%, 5.5rem);
  aspect-ratio: 68 / 48;
  background-color: #ff0000;
  border-radius: clamp(0.75rem, 1.45vw, 1rem);
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
}

.jam-s4__video-poster-icon::before {
  position: absolute;
  top: 50%;
  left: 53%;
  width: 31%;
  height: 42%;
  content: "";
  background-color: #ffffff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: translate(-50%, -50%);
}

.jam-s4__video-poster:hover .jam-s4__video-poster-icon {
  transform: translate(-50%, -50%) scale(1.04);
}

.jam-s4__video-conetnt-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.jam-s4__video-conetnt-bg picture {
  display: block;
  width: 100%;
  height: 100%;
}

.jam-s4__video-conetnt-bg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s4__phone-row {
  position: relative;
  display: flex;
  gap: 13.5px;
  gap: 0.84375rem;
  width: fit-content;
  margin-inline: auto;
  max-width: 468.88px;
  width: 90%;
}

.jam-s4__phone {
  flex: 0 0 auto;
  flex: 1;
}

.jam-s4__phone img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s4__sns-label {
  position: absolute;
  bottom: -46px;
  bottom: -2.375rem;
  right: -31px;
  right: -1.9375rem;
  width: 190px;
  width: 11.875rem;
  height: 68px;
  height: 4.25rem;
}

.jam-s4__sns-label img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s4__points {
  display: flex;
  column-gap: 48.15px;
  column-gap: 3.009375rem;
  max-width: 1241.65px;
  width: 93%;
  margin-inline: auto;
  margin-bottom: 72.92px;
  margin-bottom: 4.5575rem;
}

.jam-s4__point {
  min-height: 15.79375rem;
  padding-bottom: 29px;
  padding-bottom: 1.8125rem;
  border-bottom: 1px solid #fff;
  border-bottom: 0.0625rem solid #fff;
  flex: 1;
}

.jam-s4__point-head {
  display: flex;
  align-items: center;
  gap: 13.45px;
  gap: 0.840625rem;
  margin-bottom: 22.16px;
  margin-bottom: 1.385rem;
}

.jam-s4__point-label {
  flex: 0 0 auto;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13.49px;
  font-size: 0.843125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 2.698px;
  letter-spacing: 0.168625rem;
  white-space: nowrap;
}

.jam-s4__point-line {
  flex: 1 1 auto;
  height: 1px;
  height: 0.0625rem;
  background-color: #fff;
}

.jam-s4__point-title {
  margin-bottom: 22.39px;
  margin-bottom: 1.399375rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 27.74px;
  font-size: 1.73375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 4.161px;
  letter-spacing: 0.2600625rem;
  white-space: nowrap;
}

.jam-s4__point:first-child .jam-s4__point-title {
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
}

.jam-s4__point-text {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17.1px;
  font-size: 1.06875rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.jam-s4__note {
  position: relative;
  max-width: 812px;
  width: 90%;
  margin-inline: auto;
  padding: 33.21px 16px 23.88px;
  padding: 2.075625rem 1rem 1.4925rem;
  color: #131313;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  border-radius: 0.5rem;
  margin-bottom: 69px;
  margin-bottom: 4.3125rem;
}

.jam-s4__note-icon {
  position: absolute;
  top: -37.6px;
  top: -2.35rem;
  left: 50%;
  width: 67.4px;
  width: 4.2125rem;
  height: 67.4px;
  height: 4.2125rem;
  transform: translateX(-50%);
}

.jam-s4__note-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s4__note-text {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17.69px;
  font-size: 1.105625rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 1.9976px;
  letter-spacing: 0.12485rem;
  white-space: nowrap;
  margin-bottom: 3.92px;
  margin-bottom: 0.245rem;
}

.jam-s4__note-highlight {
  display: inline-flex;
  align-items: center;
  min-height: 37.84px;
  min-height: 2.365rem;
  padding-inline: 11.56px 0;
  padding-inline: 0.7225rem 0;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 3.9951px;
  letter-spacing: 0.24969375rem;
  background-color: #131313;
}

.jam-s5 {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #131313;
}

.jam-s5__bg {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  background-image: url("../img/s5-background-layer.webp");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.jam-s5__inner {
  position: relative;
  margin-inline: auto;
  padding-top: 115px;
  padding-top: 7.1875rem;
  padding-bottom: 71px;
  padding-bottom: 4.4375rem;
}

.jam-s5__intro {
  position: relative;
  text-align: center;
  margin-bottom: 60.52px;
  margin-bottom: 3.7825rem;
}

.jam-s5__bg-word {
  position: absolute;
  top: -138px;
  top: -8.625rem;
  left: 50%;
  z-index: 0;
  color: rgba(255, 255, 255, 0.06);
  font-family: "Noto Serif JP", serif;
  font-size: 176.78px;
  font-size: 11.04875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 17.678px;
  letter-spacing: 1.104875rem;
  white-space: nowrap;
  transform: translateX(-50%);
}

.jam-s5__ttl {
  position: relative;
  z-index: 1;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 38px;
  margin-bottom: 2.375rem;
}

.jam-s5__ttl-main {
  color: transparent;
  font-family: "Noto Serif JP", serif;
  font-size: 79.444px;
  font-size: 4.96525rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 7.944px;
  letter-spacing: 0.4965rem;
  background-image:
    linear-gradient(
      94.72019956505292deg,
      rgba(102, 102, 102, 0.4) 1.0421%,
      rgba(255, 255, 255, 0.4) 34.58%,
      rgba(255, 255, 255, 0.4) 58.802%,
      rgba(255, 255, 255, 0.4) 76.036%,
      rgba(102, 102, 102, 0.4) 97.929%
    ),
    linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  border-bottom: 1px solid #ffffff;
  border-bottom: 0.0625rem solid #ffffff;
}

.jam-s5__ttl-main span {
  letter-spacing: 10.328px;
  letter-spacing: 0.6455rem;
}

.jam-s5__ttl-sub {
  margin-left: 13px;
  margin-left: 0.8125rem;
  color: #c8c8c8;
  font-family: "Noto Serif JP", serif;
  font-size: 64.144px;
  font-size: 4.009rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 12.829px;
  letter-spacing: 0.8018125rem;
}

.jam-s5__lead {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 35.4px;
  font-size: 2.2125rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 3.894px;
  letter-spacing: 0.243375rem;
  text-align: center;
}

.jam-s5__staff {
  display: flex;
  align-items: flex-start;
  gap: 63px;
  gap: 3.9375rem;
  justify-content: center;
  max-width: 1233px;
  width: 92%;
  margin-inline: auto;
  margin-bottom: 75px;
  margin-bottom: 4.6875rem;
}

.jam-s5__staff-card {
  position: relative;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  grid-template-columns: 13.125rem minmax(0, 1fr);
  width: 100%;
  min-height: 383px;
  min-height: 23.9375rem;
  color: #131313;
  background-color: #ffffff;
}

.jam-s5__staff-card--expanded {
  min-height: 919px;
  min-height: 57.4375rem;
}

.jam-s5__staff-card--tanaka {
  grid-template-columns: 190px minmax(0, 1fr);
  grid-template-columns: 11.875rem minmax(0, 1fr);
}

.jam-s5__staff-card--tanaka.jam-s5__staff-card--expanded {
  min-height: 939px;
  min-height: 58.6875rem;
}

.jam-s5__staff-image {
  width: 364px;
  width: 22.75rem;
  height: 383px;
  height: 23.9375rem;
}

.jam-s5__staff-card--expanded .jam-s5__staff-image {
  height: 383px;
  height: 23.9375rem;
}

.jam-s5__staff-card--tanaka .jam-s5__staff-image {
  width: 248px;
  width: 15.5rem;
}

.jam-s5__staff-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jam-s5__staff-body {
  position: relative;
  z-index: 1;
  grid-column: 2 / 3;
  grid-row: 1;
  padding-top: 46px;
  padding-top: 2.875rem;
  padding-right: 38px;
  padding-right: 2.375rem;
  padding-bottom: 22px;
  padding-bottom: 1.375rem;
}

.jam-s5__staff-tag {
  display: inline-flex;
  align-items: center;
  min-height: 27.9px;
  min-height: 1.74375rem;
  margin-bottom: 9px;
  margin-bottom: 0.5625rem;
  padding-inline: 9px;
  padding-inline: 0.5625rem;
  padding-bottom: 1px;
  padding-bottom: 0.0625rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18.873px;
  font-size: 1.1795625rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 4.152px;
  letter-spacing: 0.2595rem;
  white-space: nowrap;
  background-color: #131313;
}

.jam-s5__staff-name {
  margin-bottom: 2px;
  margin-bottom: 0.125rem;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 36.873px;
  font-size: 2.3045625rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 14.7491px;
  letter-spacing: 0.92181875rem;
  white-space: nowrap;
}

.jam-s5__staff-role {
  margin-bottom: 33.4px;
  margin-bottom: 2.0875rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18.873px;
  font-size: 1.1795625rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 1.8873px;
  letter-spacing: 0.11795625rem;
  white-space: nowrap;
}

.jam-s5__staff-copy {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17.073px;
  font-size: 1.0670625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.7073px;
  letter-spacing: 0.10670625rem;
}

.jam-s5__staff-card--riku .jam-s5__staff-copy {
  margin-left: 96px;
  margin-left: 6rem;
}

.jam-s5__staff-card--tanaka .jam-s5__staff-copy {
  margin-left: 59.4px;
  margin-left: 3.7125rem;
}

.jam-s5__staff-more {
  position: absolute;
  top: 331px;
  top: 20.6875rem;
  right: 38px;
  right: 2.375rem;
  z-index: 4;
  display: block;
  width: fit-content;
  min-width: 72px;
  min-height: 32px;
  min-height: 2rem;
  padding: 2px 0;
  padding: 0.125rem 0;
  color: #131313;
  appearance: none;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17.073px;
  font-size: 1.0670625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.7073px;
  letter-spacing: 0.10670625rem;
  text-align: right;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.jam-s5__staff-more::after {
  display: none;
  width: 54px;
  width: 3.375rem;
  height: 1px;
  height: 0.0625rem;
  margin-inline: auto;
  margin-top: 1px;
  margin-top: 0.0625rem;
  content: "";
  background-color: #131313;
}

.jam-s5__staff-more:focus-visible {
  outline: 0;
  text-decoration: none;
}

.jam-s5__staff-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 185.4px;
  min-height: 54.9px;
  min-height: 3.43125rem;
  margin-top: 11px;
  margin-top: 0.6875rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17.073px;
  font-size: 1.0670625rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.7073px;
  letter-spacing: 0.10670625rem;
  border: 2.7px solid #000000;
  border: 0.16875rem solid #000000;
  border-radius: 7.2px;
  border-radius: 0.45rem;
  box-shadow: 0 2.7px 0 0 #000000;
  box-shadow: 0 0.16875rem 0 0 #000000;
  margin-left: 58px;
  margin-left: 3.625rem;
}

.jam-s5__staff-card--tanaka .jam-s5__staff-more {
  top: 332px;
  top: 20.75rem;
  right: 38px;
  right: 2.375rem;
}

.jam-s5__staff-card--expanded .jam-s5__staff-more {
  top: auto;
  right: 50%;
  width: 54px;
  width: 3.375rem;
  min-width: 54px;
  bottom: 29px;
  bottom: 1.8125rem;
  text-align: center;
  transform: translateX(50%);
}

.jam-s5__staff-card--expanded .jam-s5__staff-more::after {
  display: block;
}

.jam-s5__staff-detail {
  position: absolute;
  top: 342px;
  top: 21.375rem;
  left: 28px;
  left: 1.75rem;
  margin-top: 15px;
  margin-top: 0.9375rem;
  z-index: 2;
  box-sizing: border-box;
  width: 528px;
  width: 33rem;
  min-height: 482px;
  min-height: 30.125rem;
  padding: 37px 35px 24px;
  padding: 2.3125rem 2.1875rem 1.5rem;
  color: #000000;
  border-radius: 15px;
  border-radius: 0.9375rem;
  background: #fff;
  box-shadow: 0 4px 11px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 0.25rem 0.6875rem 0 rgba(0, 0, 0, 0.15);
}

.jam-s5__staff-card--tanaka .jam-s5__staff-detail {
  min-height: 506px;
  min-height: 31.625rem;
}

.jam-s5__staff-detail-item {
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.jam-s5__staff-detail-item:last-child {
  margin-bottom: 0;
}

.jam-s5__staff-detail-title {
  margin-bottom: 8px;
  margin-bottom: 0.5rem;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 3.8px;
  letter-spacing: 0.2375rem;
  white-space: nowrap;
}

.jam-s5__staff-detail-num {
  color: #ba0016;
}

.jam-s5__staff-detail-label {
  color: #000000;
}

.jam-s5__staff-detail-text {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
}

.jam-s5__staff-en {
  position: absolute;
  top: 8px;
  top: 0.5rem;
  right: -33px;
  right: -2.0625rem;
  color: #cecece;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19.773px;
  font-size: 1.2358125rem;
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: 7.9091px;
  letter-spacing: 0.49431875rem;
  writing-mode: vertical-rl;
}

.jam-s5__channels {
  margin-bottom: 46.24px;
  margin-bottom: 2.89rem;
}

.jam-s5__channels-title {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 44.34px;
  font-size: 2.77125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 10.0679px;
  letter-spacing: 0.62924375rem;
  text-align: center;
  white-space: nowrap;
  margin-bottom: 22px;
  margin-bottom: 1.675rem;
}

.jam-s5__channels-title-nine {
  display: inline-block;
  margin-inline: -17px -17px;
  margin-inline: -1.0625rem -1.3625rem;
  line-height: 0.9;
  vertical-align: -0.17em;
  font-size: 129.189px;
  font-size: 8.0743125rem;
}

.jam-s5__channels-title-sp {
  display: none;
}

.jam-s5__channels-panel {
  position: relative;
  background: url(../img/s5-channels-panel-bg.webp) no-repeat;
  background-size: 96.6% 100%;
  background-position: center;
  margin-inline: auto;
  padding: 81px 0;
  padding: 5.0625rem 0;
}

.jam-s5__channel-list {
  width: 73%;
  position: relative;
  z-index: 1;
  max-width: 669px;
  margin-inline: auto;
}

.jam-s5__channel-item {
  display: grid;
  grid-template-columns: 118px 250px 1fr;
  grid-template-columns: 7.375rem 15.625rem 1fr;
  align-items: center;
  min-height: 26.93px;
  min-height: 1.683125rem;
  margin-bottom: 20.59px;
  margin-bottom: 1.286875rem;
  color: #ffffff;
}

.jam-s5__channel-item:last-child {
  margin-bottom: 0;
}

.jam-s5__channel-num {
  display: flex;
  align-items: center;
  padding-left: 29.57px;
  padding-left: 1.848125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 27.31px;
  font-size: 1.706875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 5.462px;
  letter-spacing: 0.341375rem;
  border-left: 1px solid #fff;
  border-left: 0.0625rem solid #fff;
  border-right: 1px solid #fff;
  border-right: 0.0625rem solid #fff;
}

.jam-s5__channel-num-text {
  display: none;
}

.jam-s5__channel-num-image {
  display: block;
  width: 62px;
  width: 3.175rem;
  height: 32px;
  height: 1.6rem;
}

.jam-s5__channel-num-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s5__channel-name {
  display: block;
  padding-left: 35px;
  padding-left: 2.1875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20.021px;
  font-size: 1.2513125rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 2.002px;
  letter-spacing: 0.125125rem;
}

.jam-s5__channel-desc {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18.168px;
  font-size: 1.1355rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 1.817px;
  letter-spacing: 0.1135625rem;
  white-space: nowrap;
}

.jam-s5__ranking {
  max-width: 942.3px;
  width: 90%;
  margin-inline: auto;
  margin-bottom: 156.45px;
  margin-bottom: 8.778125rem;
}

.jam-s5__ranking-crown {
  width: 34.992px;
  width: 2.187rem;
  height: 24.529px;
  height: 1.5330625rem;
  margin-inline: auto;
  margin-bottom: 15.6px;
  margin-bottom: 0.975rem;
}

.jam-s5__ranking-crown img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s5__ranking-title {
  margin-bottom: 12.8px;
  margin-bottom: 0.8rem;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 36.791px;
  font-size: 2.2994375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 7.3582px;
  letter-spacing: 0.4598875rem;
  text-align: center;
}

.jam-s5__ranking-sub {
  margin-bottom: 34px;
  margin-bottom: 2.125rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22.94px;
  font-size: 1.43375rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 4.588px;
  letter-spacing: 0.28675rem;
  text-align: center;
}

.jam-s5__tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 13.78125rem));
  gap: 9px;
  gap: 0.5625rem;
  justify-content: start;
}

.jam-s5__tab {
  border: 0;
  appearance: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50.4px;
  min-height: 3.15rem;
  padding: 0;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20.646px;
  font-size: 1.290375rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 4.1292px;
  letter-spacing: 0.258075rem;
  background-color: rgba(217, 217, 217, 0.3);
}

.jam-s5__tab:focus-visible {
  outline: 2px solid #edf9ff;
  outline: 0.125rem solid #edf9ff;
  outline-offset: 3px;
  outline-offset: 0.1875rem;
}

.jam-s5__tab--active {
  color: #131313;
  font-weight: 500;
  background-color: #edf9ff;
}

.jam-s5__rank-table {
  border: 0.9px solid #edf9ff;
  border: 0.05625rem solid #edf9ff;
}

.jam-s5__rank-row {
  display: grid;
  grid-template-columns: 108px 73px 181px 1fr;
  grid-template-columns: 6.75rem 4.5625rem 11.3125rem 1fr;
  align-items: center;
  min-height: 92.7px;
  min-height: 5.79375rem;
  padding-inline: 43px 44px;
  padding-inline: 2.6875rem 2.75rem;
  color: #ffffff;
  text-align: left;
}

.jam-s5__rank-row + .jam-s5__rank-row {
  border-top: 0.9px solid rgba(217, 217, 217, 0.6);
  border-top: 0.05625rem solid rgba(217, 217, 217, 0.6);
}

.jam-s5__rank-order {
  position: relative;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 25.012px;
  font-size: 1.56325rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 5px;
  letter-spacing: 0.3125rem;
  text-align: center;
}

.jam-s5__rank-row:first-child .jam-s5__rank-order::after {
  position: absolute;
  top: -8px;
  top: -0.5rem;
  right: 8px;
  right: 0.5rem;
  width: 29.871px;
  width: 1.8669375rem;
  height: 24.507px;
  height: 1.5316875rem;
  content: "";
  background-image: url("../img/s5-crown.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: rotate(21.71deg);
}

.jam-s5__rank-row:nth-child(2) .jam-s5__rank-order {
  color: #dbdbdb;
}

.jam-s5__rank-row:nth-child(3) .jam-s5__rank-order {
  color: #b0b0b0;
}

.jam-s5__rank-order span {
  font-size: 40.312px;
  font-size: 2.5195rem;
  letter-spacing: 8.0624px;
  letter-spacing: 0.5039rem;
}

.jam-s5__rank-row:nth-child(2) .jam-s5__rank-order span {
  font-size: 34.912px;
  font-size: 2.182rem;
}

.jam-s5__rank-row:nth-child(3) .jam-s5__rank-order span {
  font-size: 30.412px;
  font-size: 1.90075rem;
}

.jam-s5__rank-channel {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62.1px;
  width: 3.88125rem;
  min-height: 34.2px;
  min-height: 2.1375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 23.347px;
  font-size: 1.4591875rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 2.3347px;
  letter-spacing: 0.14591875rem;
  border: 0.9px solid #d9d9d9;
  border: 0.05625rem solid #d9d9d9;
  padding-bottom: 1px;
  padding-bottom: 0.0625rem;
}

.jam-s5__rank-channel img {
  display: block;
  width: 32px;
  width: 2.5rem;
  height: auto;
}

.jam-s5__rank-name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19.746px;
  font-size: 1.234125rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1.9746px;
  letter-spacing: 0.1234125rem;
  white-space: nowrap;
}

.jam-s5__rank-reason {
  padding-left: 34px;
  padding-left: 2.125rem;
  font-family: "Noto Sans JP", sans-serif;
  border-left: 0.9px solid #d9d9d9;
  border-left: 0.05625rem solid #d9d9d9;
  min-height: 36.9px;
  min-height: 2.30625rem;
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 24px */
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
}

.jam-s5__bottom-title {
  margin-bottom: 28.2px;
  margin-bottom: 1.7625rem;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 45.49px;
  font-size: 2.843125rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 6.823px;
  letter-spacing: 0.4264375rem;
  text-align: center;
}

.jam-s5__bottom-text {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 3.2px;
  letter-spacing: 0.2rem;
  text-align: center;
}

/* s5 ranking row border adjustment */
.jam-s5__rank-row {
  position: relative;
}

.jam-s5__rank-row + .jam-s5__rank-row {
  border-top: 0;
}

.jam-s5__rank-row + .jam-s5__rank-row::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 90%;
  height: 0.9px;
  height: 0.05625rem;
  content: "";
  background-color: rgba(217, 217, 217, 0.6);
  transform: translateX(-50%);
}

.jam-studio {
  width: 100%;
  overflow: hidden;
  color: #131313;
  background-color: #ffffff;
}

.jam-studio__inner {
  width: 100%;
  margin-inline: auto;
  padding-top: 83px;
  padding-top: 5.1875rem;
  padding-bottom: 70px;
  padding-bottom: 4.375rem;
}

.jam-studio__heading {
  margin: 0 0 32px;
  margin: 0 0 2rem;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  text-align: center;
}

.jam-studio__eyebrow {
  display: block;
  margin-bottom: 24.5px;
  margin-bottom: 1.53125rem;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 47.79px;
  font-size: 2.986875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 5.735px;
  letter-spacing: 0.3584375rem;
  text-align: center;
  white-space: nowrap;
}

.jam-studio__partner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 100%;
  margin-inline: auto;
  width: fit-content;
}

.jam-studio__partner-name {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 48.79px;
  font-size: 3.049375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 5.855px;
  letter-spacing: 0.3659375rem;
  white-space: nowrap;
  border: 2px solid #131313;
  border: 0.125rem solid #131313;
  padding: 0.3rem 1.3rem 0.3rem 1.7rem;
}

.jam-studio__partner-suffix {
  margin-left: 26px;
  margin-left: 1.625rem;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 48.79px;
  font-size: 3.049375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 5.855px;
  letter-spacing: 0.3659375rem;
  white-space: nowrap;
}

.jam-studio__brand {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 74.6428571429%;
  max-width: 1254px;
  max-width: 78.375rem;
  margin-inline: auto;
  margin-bottom: 1.625rem;
}

.jam-studio__brand-body {
  position: relative;
  margin-inline: 6.25rem;
  text-align: center;
  max-width: 398px;
  width: 42%;
}

.jam-studio__brand-body::before {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  height: 1px;
  height: 0.0625rem;
  width: 100%;
  content: "";
  background-color: #131313;
  transform: translate(100%, -50%);
}

.jam-studio__brand-body::after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  height: 1px;
  height: 0.0625rem;
  width: 100%;
  content: "";
  background-color: #131313;
  transform: translate(-100%, -50%);
}

.jam-studio__brand-name {
  margin: 0;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 38.79px;
  font-size: 2.424375rem;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 4.655px;
  letter-spacing: 0.2909375rem;
  text-align: center;
  white-space: nowrap;
}

.jam-studio__brand-note {
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 17.79px;
  font-size: 1.111875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 2.0148px;
  letter-spacing: 0.125925rem;
  text-align: center;
  white-space: nowrap;
}

.jam-studio__lead {
  text-align: center;
  margin-bottom: 30.15px;
  margin-bottom: 1.884375rem;
}

.jam-studio__lead-main {
  margin: 0;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 25px;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 1.46px;
  letter-spacing: 0.09125rem;
  text-align: center;
  white-space: nowrap;
}

.jam-studio__lead-text {
  margin: 0;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 1.46px;
  letter-spacing: 0.09125rem;
  text-align: center;
  white-space: nowrap;
}

.jam-studio__gallery {
  max-width: 1197px;
  width: 95%;
  overflow: visible;
  margin-inline: auto;
}

.jam-studio__track {
  display: flex;
  column-gap: 30.1px;
  column-gap: 1.88125rem;
}

.jam-studio-card {
  flex: 1;
  min-width: 0;
}

.jam-studio-card--clone {
  display: none;
}

.jam-studio-card__photo {
  width: 100%;
  overflow: hidden;
}

.jam-studio-card__photo img {
}

.jam-studio-card__caption {
  margin: 9.15px 0 0;
  margin: 0.571875rem 0 0;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.22px;
  letter-spacing: 0.07625rem;
  text-align: center;
  white-space: nowrap;
}

@keyframes jam-studio-loop {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(
      calc((var(--jam-studio-card-width) + var(--jam-studio-card-gap)) * -3),
      0,
      0
    );
  }
}

.jam-s7 {
  width: 100%;
  overflow: hidden;
  color: #131313;
  background-color: #ffffff;
}

.jam-s7__inner {
  position: relative;
  padding-top: 107px;
  padding-top: 6.6875rem;
  padding-bottom: 61px;
  padding-bottom: 3.8125rem;
}

.jam-s7__intro {
  position: relative;
  text-align: center;
  margin-bottom: 49px;
  margin-bottom: 3.0625rem;
}

.jam-s7__bg-word {
  position: absolute;
  top: -131px;
  top: -8.1875rem;
  left: 50%;
  color: rgba(22, 22, 22, 0.1);
  font-family: "Noto Serif JP", serif;
  font-size: 132.989px;
  font-size: 8.3118125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 11.969px;
  letter-spacing: 0.7480625rem;
  transform: translateX(-50%);
}

.jam-s7__ttl {
  position: relative;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 64.79px;
  font-size: 4.049375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 7.775px;
  letter-spacing: 0.4859375rem;
  text-align: center;
}

.jam-s7__lead {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 23px;
  font-size: 1.4375rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 4.6px;
  letter-spacing: 0.2875rem;
  text-align: center;
}

.jam-s7__lead span {
  color: #ce0018;
}

.jam-s7__message {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 903px;
  width: 56.4375rem;
  max-width: 90%;
  min-height: 81px;
  min-height: 5.0625rem;
  margin-inline: auto;
  color: #ffffff;
  background-color: #cd0f12;
  border-radius: 10px;
  border-radius: 0.625rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.jam-s7__message-text {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 13px;
  gap: 0.8125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.jam-s7__message-normal {
  font-size: 26px;
  font-size: 1.625rem;
  letter-spacing: 5.2px;
  letter-spacing: 0.325rem;
}

.jam-s7__message-key {
  border-bottom: 2px solid #ffffff;
  border-bottom: 0.125rem solid #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 41px;
  font-size: 2.5625rem;
  letter-spacing: 8.2px;
  letter-spacing: 0.5125rem;
  padding-bottom: 3px;
  padding-bottom: 0.1875rem;
}

.jam-s7__description {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
  text-align: center;
  margin-bottom: 67px;
  margin-bottom: 4.1875rem;
}

.jam-s7__panel {
  max-width: 1296px;
  width: 90%;
  margin-inline: auto;
  position: relative;
  margin-bottom: 51px;
  margin-bottom: 3.1875rem;
}

.jam-s7__panel-moji {
  position: absolute;
  top: -6px;
  top: -0.375rem;
  right: -65px;
  right: -4.0625rem;
  width: 195.48px;
  width: 12.2175rem;
  width: min(18vw, 12.2175rem);
}

.jam-s7__bottom {
  display: flex;
  align-items: center;
  gap: 48px;
  gap: 3rem;
  max-width: 1219px;
  width: 90%;
  margin-inline: auto;
  padding: 27px 87px 25px 28px;
  padding: 1.6875rem 5.4375rem 1.5625rem 1.75rem;
  border-radius: 10px;
  border-radius: 0.625rem;
  background: url(../img/bg-noise-red.png);
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
}

.jam-s7__bottom-mark {
  flex: 0 0 auto;
  width: 258px;
  width: 16.125rem;
  height: 178px;
  height: 11.125rem;
}

.jam-s7__bottom-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s7__bottom-body {
  flex: 1 1 auto;
  min-width: 0;
}

.jam-s7__bottom-title {
  color: #fff;
  margin-bottom: 14px;
  margin-bottom: 0.875rem;
  font-family: "Noto Serif JP", serif;
  font-size: 29.989px;
  font-size: 1.8743125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 5.9978px;
  letter-spacing: 0.3748625rem;
}

.jam-s7__bottom-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 1.44px;
  letter-spacing: 0.09rem;
  color: #fff;
}

.jam-s8 {
  width: 100%;
  overflow: hidden;
  color: #ffffff;
  background-image: url("../img/s8-background-layer.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 96.4285714286% 98.25%;
  padding-bottom: 29px;
  padding-bottom: 1.8125rem;
}

.jam-s8__inner {
  position: relative;
  margin-inline: auto;
  padding-top: 51px;
  padding-top: 3.1875rem;
  padding-bottom: 70px;
  padding-bottom: 4.375rem;
}

.jam-s8__head {
  text-align: center;
  margin-bottom: 46px;
  margin-bottom: 2.875rem;
}

.jam-s8__ttl {
  margin-bottom: 53.15px;
  margin-bottom: 3.321875rem;
  font-family: "Noto Serif JP", serif;
  font-size: 59.79px;
  font-size: 3.736875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 7.773px;
  letter-spacing: 0.4858125rem;
  text-align: center;
}

.jam-s8__ttl-line {
  display: block;
  white-space: nowrap;
}

.jam-s8__ttl-line:first-of-type {
  font-size: 64.79px;
  font-size: 4.049375rem;
  letter-spacing: 11.662px;
  letter-spacing: 0.728875rem;
}

.jam-s8__ttl-num {
  font-size: 95.39px;
  font-size: 5.961875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  /* 133.546px */
  letter-spacing: 17.078px;
  letter-spacing: 1.067375rem;
  margin-right: 3px;
  margin-right: 0.1875rem;
}

.jam-s8__sub {
  margin-bottom: 16px;
  margin-bottom: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 3.6px;
  letter-spacing: 0.225rem;
  position: relative;
  width: fit-content;
  margin-inline: auto;
}

.jam-s8__sub::before,
.jam-s8__sub::after {
  content: "";
  background: #fff;
  height: 1px;
  height: 0.0625rem;
  width: 83px;
  width: 5.1875rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.jam-s8__sub::before {
  left: -50%;
}

.jam-s8__sub::after {
  right: -50%;
}

.jam-s8__catch {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 33px;
  font-size: 2.0625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 5.94px;
  letter-spacing: 0.37125rem;
}

.jam-s8__usage {
  max-width: 965px;
  width: 92%;
  margin-inline: auto;
  margin-bottom: 45px;
  margin-bottom: 2.8125rem;
}

.jam-s8__feature-row {
  display: flex;
  gap: 23px;
  gap: 1.4375rem;
}

.jam-s8__feature-card {
  position: relative;
  display: flex;
  height: 189px;
  height: 11.8125rem;
  padding: 12px 0px 16px 24px;
  padding: 0.75rem 0rem 1rem 1.5rem;
  color: #131313;
  background-color: #ffffff;
  flex: 1;
}

.jam-s8__number {
  display: block;
  width: 55px;
  width: 3.4375rem;
  width: min(4vw, 3.4375rem);
  height: min(5vw, 4.625rem);
  margin-right: 16px;
  margin-right: 1rem;
}

.jam-s8__number img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s8__feature-body {
  flex: 1 1 auto;
  min-width: 0;
  padding-top: 2px;
  padding-top: 0.125rem;
  margin-top: 15px;
  margin-top: 0.9375rem;
  z-index: 2;
}

.jam-s8__feature-title {
  display: inline-block;
  margin-bottom: 6px;
  margin-bottom: 0.375rem;
  padding-bottom: 4px;
  padding-bottom: 0.25rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 23px;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 4.6px;
  letter-spacing: 0.2875rem;
  border-bottom: 2px solid #131313;
  border-bottom: 0.125rem solid #131313;
  white-space: nowrap;
}

.jam-s8__feature-text {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 2.8px;
  letter-spacing: 0.175rem;
}

.jam-s8__feature-text--strong {
  color: #665f11;
  font-size: 23px;
  font-size: 1.4375rem;
  font-weight: 700;
  letter-spacing: 4.6px;
  letter-spacing: 0.2875rem;
  white-space: nowrap;
  margin-top: 6px;
  margin-top: 0.375rem;
}

.jam-s8__feature-note {
  width: max-content;
  margin-top: 9px;
  margin-top: 0.5625rem;
  padding: 10px 26px;
  padding: 0.625rem 1.625rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 2.8px;
  letter-spacing: 0.175rem;
  background-color: #efefef;
  border-radius: 0 20px 20px 20px;
  border-radius: 0 1.25rem 1.25rem 1.25rem;
  white-space: nowrap;
}

.jam-s8__feature-note--strong {
  color: #ffffff;
  background-color: #8c8103;
}

.jam-s8__feature-image {
  position: absolute;
}

.jam-s8__feature-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s8__feature-image--sns {
  top: -6px;
  top: -0.375rem;
  right: 8px;
  right: 0.5rem;
  width: 115px;
  width: 7.1875rem;
  height: 196px;
  height: 12.25rem;
}

.jam-s8__feature-image--youtube {
  top: -23px;
  top: -1.4375rem;
  right: -34px;
  right: -2.125rem;
  width: 204px;
  width: 12.75rem;
  height: 174px;
  height: 10.875rem;
}

.jam-s8__card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 23px;
  gap: 1.5rem 1.4375rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.jam-s8__card {
  height: 189px;
  height: 11.8125rem;
  padding: 3px 9px 13px 25px;
  padding: 0.1875rem 0.5625rem 0.8125rem 1.5625rem;
  color: #131313;
  background-color: #ffffff;
}

.jam-s8__card-title {
  display: block;
  width: fit-content;
  margin-top: -6px;
  margin-top: -0.375rem;
  margin-bottom: 9px;
  margin-bottom: 0.5625rem;
  padding-bottom: 3px;
  padding-bottom: 0.1875rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-size: 1.0625rem;
  font-size: min(1.7vw, 1.0625rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 2.55px;
  letter-spacing: 0.159375rem;
  border-bottom: 1px solid #131313;
  border-bottom: 0.0625rem solid #131313;
  white-space: nowrap;
}

.jam-s8__card-text {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.4px;
  letter-spacing: 0.0875rem;
}

.jam-s8__message {
  margin-inline: auto;
  text-align: center;
  margin-bottom: 39px;
  margin-bottom: 2.4375rem;
}

.jam-s8__message-title {
  margin-bottom: 14px;
  margin-bottom: 0.875rem;
  padding-bottom: 9px;
  padding-bottom: 0.5625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 25px;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 3.75px;
  letter-spacing: 0.234375rem;
  border-bottom: 1px solid #ffffff;
  border-bottom: 0.0625rem solid #ffffff;
  width: fit-content;
  margin-inline: auto;
}

.jam-s8__message-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 1.8px;
  letter-spacing: 0.1125rem;
}

.jam-s8__tower {
  position: absolute;
  z-index: 0;
  right: 79px;
  right: 4.9375rem;
  bottom: -14px;
  bottom: -0.875rem;
  width: 238px;
  width: 14.875rem;
  width: 14.1666666667vw;
  height: 515px;
  height: 32.1875rem;
  height: 30.6547619048vw;
}

.jam-s8__tower img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s9 {
  width: 100%;
  overflow: hidden;
  color: #131313;
  background-color: #f6f6f6;
  background-image: url("../img/s9-background-layer.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1680px 2337px;
  background-size: 105rem 146.0625rem;
  background-size: 100% 100%;
}

.jam-s9__inner {
  position: relative;
  margin-inline: auto;
  padding-top: 152px;
  padding-top: 9.5rem;
  padding-bottom: 140px;
  padding-bottom: 8.75rem;
}

.jam-s9__inner::before {
  position: absolute;
  top: 22px;
  top: 1.375rem;
  left: 50%;
  z-index: 0;
  color: rgba(22, 22, 22, 0.05);
  font-family: "Noto Serif JP", serif;
  font-size: 132.989px;
  font-size: 8.3118125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 11.969px;
  letter-spacing: 0.7480625rem;
  white-space: nowrap;
  content: "DON’T STOP";
  transform: translateX(-50%);
}

.jam-s9__ttl {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 53.79px;
  font-size: 3.361875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 6.455px;
  letter-spacing: 0.12em;
  text-align: center;
}

.jam-s9__patterns {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 25.0625rem));
  justify-content: center;
  gap: 24px;
  gap: 1.5rem;
  width: min(calc(100% - 48px), 1251px);
  margin-top: 73px;
  margin-top: 4.5625rem;
  margin-inline: auto;
}

.jam-s9__pattern-card {
  position: relative;
  height: 475px;
  height: 29.6875rem;
  min-height: 475px;
  min-height: 29.6875rem;
  margin-top: 82px;
  margin-top: 5.125rem;
  padding: 0 25px 25px;
  padding: 0 1.5625rem 1.5625rem;
  background-color: #ffffff;
  border-radius: 18px;
  border-radius: 1.125rem;
  box-shadow: 0px 0px 9.9px 0px rgba(0, 0, 0, 0.11);
  box-shadow: 0rem 0rem 0.61875rem 0rem rgba(0, 0, 0, 0.11);
}

.jam-s9__pattern-head {
  height: auto;
  margin-top: -82px;
  margin-top: -5.125rem;
}

.jam-s9__pattern-head img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s9__pattern-head--a {
  width: 337.501px;
  width: 21.0938125rem;
  margin-left: 7px;
  margin-left: 0.4375rem;
}

.jam-s9__pattern-head--b {
  width: 357.649px;
  width: 22.3530625rem;
  margin-left: -3px;
  margin-left: -0.1875rem;
}

.jam-s9__pattern-head--c {
  width: 359.497px;
  width: 22.4685625rem;
  margin-left: -3px;
  margin-left: -0.1875rem;
}

.jam-s9__pattern-body {
  display: grid;
  grid-template-columns: 29.5px minmax(0, 1fr);
  grid-template-columns: 1.84375rem minmax(0, 1fr);
  column-gap: 13.5px;
  column-gap: 0.84375rem;
  margin-top: 23px;
  margin-top: 1.4375rem;
  margin-left: 17px;
  margin-left: 1.0625rem;
}

.jam-s9__pattern-body--b {
  grid-template-columns: 26.1px minmax(0, 1fr);
  grid-template-columns: 1.63125rem minmax(0, 1fr);
  column-gap: 13.5px;
  column-gap: 0.84375rem;
  margin-left: 6.35px;
  margin-left: 0.396875rem;
}

.jam-s9__pattern-body--c {
  grid-template-columns: 26px minmax(0, 1fr);
  grid-template-columns: 1.625rem minmax(0, 1fr);
  column-gap: 13.5px;
  column-gap: 0.84375rem;
  margin-left: 26.85px;
  margin-left: 1.678125rem;
}

.jam-s9__timeline img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s9__timeline--a {
  width: 29.475px;
  width: 1.8421875rem;
  height: 222.977px;
  height: 13.9360625rem;
}

.jam-s9__timeline--b {
  width: 26.1px;
  width: 1.63125rem;
  height: 207px;
  height: 12.9375rem;
}

.jam-s9__pattern-flow {
  padding-top: 0;
}

.jam-s9__flow-title {
  min-height: 58px;
  min-height: 3.625rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19.08px;
  font-size: 1.1925rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.908px;
  letter-spacing: 0.11925rem;
}

.jam-s9__flow-note {
  margin-top: 17.6px;
  margin-top: 1.1rem;
  color: #ab880a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18.18px;
  font-size: 1.13625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.818px;
  letter-spacing: 0.113625rem;
}

.jam-s9__flow-result {
  margin-top: 26.2px;
  margin-top: 1.6375rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19.08px;
  font-size: 1.1925rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.908px;
  letter-spacing: 0.11925rem;
}

.jam-s9__pattern-body--c .jam-s9__flow-note {
  margin-top: 8px;
  margin-top: 0.5rem;
}

.jam-s9__pattern-body--c .jam-s9__flow-result {
  margin-top: 7px;
  margin-top: 0.4375rem;
}

.jam-s9__fan-label {
  position: absolute;
  width: 92.443px;
  width: 5.7776875rem;
  height: 57.284px;
  height: 3.58025rem;
}

.jam-s9__fan-label img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s9__fan-label--a {
  top: 90px;
  top: 5.625rem;
  right: 13px;
  right: 0.8125rem;
}

.jam-s9__fan-label--b {
  top: 89px;
  top: 5.5625rem;
  right: 8px;
  right: 0.5rem;
}

.jam-s9__fan-label--c {
  top: 80px;
  top: 5rem;
  right: 13px;
  right: 0.8125rem;
}

.jam-s9__fit-box {
  box-sizing: border-box;
  margin-top: 32.25px;
  margin-top: 2.015625rem;
  padding: 16.7px 26.85px 24px;
  padding: 1.04375rem 1.678125rem 1.5rem;
  background-color: #f7f7f7;
  border-radius: 18px;
  border-radius: 1.125rem;
}

.jam-s9__fit-box--a {
  margin-top: 16.45px;
  margin-top: 1.028125rem;
}

.jam-s9__fit-label {
  width: max-content;
  margin-bottom: 18.9px;
  margin-bottom: 1.18125rem;
  padding-bottom: 0;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18.18px;
  font-size: 1.13625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.818px;
  letter-spacing: 0.113625rem;
  border-bottom: 0;
}

.jam-s9__fit-label--balloon {
  position: relative;
  overflow: visible;
  width: max-content;
  height: auto;
  margin-bottom: 10.8px;
  margin-bottom: 0.675rem;
  padding-bottom: 8.73px;
  padding-bottom: 0.545625rem;
  color: #131313;
  white-space: nowrap;
  background-image: none;
}

.jam-s9__fit-label--balloon::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  height: 5.67px;
  height: 0.354375rem;
  background-image: url("../img/s9-fit-label-balloon.webp");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 100%;
}

.jam-s9__fit-text {
  margin-left: 18px;
  margin-left: 1.125rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20.88px;
  font-size: 1.305rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 3.132px;
  letter-spacing: 0.19575rem;
  white-space: nowrap;
}

.jam-s9__plus {
  margin-top: 58px;
  margin-top: 3.625rem;
  text-align: center;
  margin-bottom: 75.8px;
  margin-bottom: 4.7375rem;
}

.jam-s9__plus-title {
  margin-bottom: 26px;
  margin-bottom: 1.625rem;
  font-family: "Noto Serif JP", serif;
  font-size: 36.989px;
  font-size: 2.3118125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 4.809px;
  letter-spacing: 0.3005625rem;
}

.jam-s9__plus-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-size: min(1.7vw, 1.125rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 3.06px;
  letter-spacing: 0.19125rem;
  text-align: center;
}

.jam-s9__comparison-title {
  margin-bottom: 51px;
  margin-bottom: 3.1875rem;
  font-family: "Noto Serif JP", serif;
  font-size: 29.59px;
  font-size: 1.849375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 3.551px;
  letter-spacing: 0.2219375rem;
  text-align: center;
  position: relative;
  width: fit-content;
  margin-inline: auto;
}

.jam-s9__comparison-title::before,
.jam-s9__comparison-title::after {
  content: "";
  background: #000000;
  height: 1px;
  height: 0.0625rem;
  width: 101px;
  width: 6.3125rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.jam-s9__comparison-title::before {
  left: -40%;
}

.jam-s9__comparison-title::after {
  right: -40%;
}

.jam-s9__comparison-table {
  max-width: 897.75px;
  width: 90%;
  margin-inline: auto;
  transform: translateX(-3.125rem);
}

.jam-s9__comparison-table img {
  width: 100%;
  height: auto;
}

.jam-s9__tv {
  position: absolute;
  right: 251px;
  right: 14.6875%;
  bottom: 87px;
  bottom: 5.4375rem;
  width: 135px;
  width: 8.4375rem;
  height: 218px;
  height: 13.625rem;
}

.jam-s9__tv img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s10 {
  width: 100%;
  overflow: hidden;
  padding-top: 120px;
  padding-top: 7.5rem;
  padding-bottom: 117px;
  padding-bottom: 7.3125rem;
}

.jam-s10__inner {
  position: relative;
  margin-inline: auto;
}

.jam-s10__inner::before {
  content: "";
  background: url(../img/s10-deco-01.webp) no-repeat;
  background-size: contain;
  width: 607px;
  width: 36.130952381%;
  height: 916px;
  height: 54.5238095238vw;
  position: absolute;
  top: -120px;
  top: -7.5rem;
  right: 0;
}

.jam-s10__inner::after {
  content: "";
  background: url(../img/s10-deco-02.webp) no-repeat;
  background-size: contain;
  width: 253px;
  width: 15.8125rem;
  width: 15.0595238095%;
  height: 965px;
  height: 57.4404761905vw;
  position: absolute;
  top: 1024px;
  top: 64rem;
  left: 0;
}

.jam-s10__ttl {
  position: relative;
  z-index: 1;
  width: max-content;
  margin-inline: auto;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 56.69px;
  font-size: 3.543125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 11.338px;
  letter-spacing: 0.708625rem;
  text-align: center;
  margin-bottom: 60px;
  margin-bottom: 3.75rem;
}

.jam-s10__ttl::before {
  position: absolute;
  top: -119px;
  top: -7.4375rem;
  left: 50%;
  z-index: -1;
  color: rgba(22, 22, 22, 0.05);
  font-family: "Noto Serif JP", serif;
  font-size: 132.989px;
  font-size: 8.3118125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 11.969px;
  letter-spacing: 0.7480625rem;
  white-space: nowrap;
  content: "REASON";
  transform: translateX(-50%);
}

.jam-s10__reasons {
  position: relative;
  z-index: 1;
  max-width: 1188px;
  width: 90%;
  margin-inline: auto;
  margin-bottom: 145px;
  margin-bottom: 9.0625rem;
}

.jam-s10__reason {
  display: flex;
  column-gap: 61px;
  column-gap: 3.8125rem;
  align-items: start;
}

.jam-s10__reason-01 {
  margin-bottom: 100px;
  margin-bottom: 6.25rem;
}

.jam-s10__reason-02 {
  margin-bottom: 90px;
  margin-bottom: 5.625rem;
  column-gap: 86px;
  column-gap: 5.375rem;
  column-gap: min(5.8vw, 5.375rem);
}

.jam-s10__reason-03 {
  margin-bottom: 114px;
  margin-bottom: 7.125rem;
}

.jam-s10__reason-04 {
  gap: 86px;
  gap: 5.375rem;
  gap: min(5.8vw, 5.375rem);
}

.jam-s10__reason:nth-child(even) {
  max-width: 1137px;
  margin-right: auto;
}

.jam-s10__reason:nth-child(odd) {
  max-width: 1157px;
  margin-left: auto;
}

.jam-s10__reason-content {
  flex: 1;
}

.jam-s10__reason-number {
  width: 42px;
  width: 2.625rem;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}

.jam-s10__reason-title {
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 43.989px;
  font-size: 2.7493125rem;
  font-size: min(3.9vw, 2.7493125rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 8.798px;
  letter-spacing: 0.549875rem;
  letter-spacing: 0.11em;
}

.jam-s10__reason-label {
  display: inline-block;
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
  padding: 4px 8px 5px;
  padding: 0.25rem 0.5rem 0.3125rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 21px;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.14em;
  white-space: nowrap;
  background: url(../img/bg-noise-red.png);
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
}

.jam-s10__reason-text {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.1em;
  max-width: 519px;
}

.jam-s10__reason-image {
  max-width: 552px;
  width: 47%;
  overflow: hidden;
  border-radius: 15px;
  border-radius: 0.9375rem;
  aspect-ratio: 552 / 335;
}

.jam-s10__reason-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jam-s10__connection {
  position: relative;
  z-index: 1;
  text-align: center;
}

.jam-s10__connection-label {
  position: relative;
  width: 301px;
  width: 18.8125rem;
  height: 62.3px;
  height: 3.89375rem;
  margin-inline: auto;
  margin-bottom: 0.4px;
  margin-bottom: 0.025rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24.615px;
  font-size: 1.5384375rem;
  font-weight: 700;
  line-height: 51px;
  line-height: 3.1875rem;
  letter-spacing: 4.923px;
  letter-spacing: 0.3076875rem;
  background: url(../img/s10-connection-label-bg.webp) no-repeat;
  background-size: 100% 100%;
}

.jam-s10__connection-title {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 48.725px;
  font-size: 3.0453125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 9.745px;
  letter-spacing: 0.6090625rem;
}

.jam-s10__connection-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 38rem));
  column-gap: 22px;
  column-gap: 1.375rem;
  max-width: 1172px;
  width: 96%;
  margin-top: 53px;
  margin-top: 3.3125rem;
  margin-inline: auto;
  align-items: end;
  margin-bottom: 51px;
  margin-bottom: 3.1875rem;
}

.jam-s10__connection-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}

.jam-s10__connection-head {
  margin-left: auto;
}

.jam-s10__connection-image {
  margin-inline: auto;
}

.jam-s10__connection-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s10__connection-image--employee {
  width: 379px;
  width: 23.6875rem;
  height: 141px;
  height: 8.8125rem;
}

.jam-s10__connection-image--president {
  width: 412px;
  width: 25.75rem;
  height: 151px;
  height: 9.4375rem;
}

.jam-s10__connection-list {
  width: 100%;
  padding: 61px 47px 59px 54px;
  padding: 3.8125rem 2.9375rem 3.6875rem 3.375rem;
  text-align: left;
  background-color: #ffffff;
  border: 2px solid #131313;
  border: 0.125rem solid #131313;
  border-radius: 10px;
  border-radius: 0.625rem;
}

.jam-s10__connection-list li {
  position: relative;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  padding-left: 41px;
  padding-left: 2.5625rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18.92px;
  font-size: 1.1825rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.jam-s10__connection-list li::before {
  content: "";
  background: url(../img/s10-connection-list-check.webp) no-repeat;
  background-size: contain;
  width: 26.97px;
  width: 1.685625rem;
  height: 24.05px;
  height: 1.503125rem;
  position: absolute;
  left: 0;
  top: 0;
}

.jam-s10__connection-list li:last-child {
  margin-bottom: 0;
}

.jam-s10__connection-result {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  gap: 1rem;
  margin-top: 29px;
  margin-top: 1.8125rem;
  color: #e5011c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 33.16px;
  font-size: 2.0725rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.jam-s10__connection-arrow {
  display: block;
  width: 31px;
  width: 1.9375rem;
  height: 31px;
  height: 1.9375rem;
}

.jam-s10__connection-arrow img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s10__closing {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20.16px;
  font-size: 1.26rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.06em;
  text-align: center;
}

.jam-s10__closing em {
  color: #cd0f12;
  border-bottom: 1px solid;
  border-bottom: 0.0625rem solid;
  padding-bottom: 4px;
  padding-bottom: 0.25rem;
  font-weight: 700;
}

.jam-s10__bottom-curve {
  position: absolute;
  top: 1894px;
  top: 118.375rem;
  left: 48%;
  z-index: 0;
  width: 1914.5px;
  width: 119.65625rem;
  height: 601.5px;
  height: 37.59375rem;
  transform: translateX(-50%);
}

.jam-s10__bottom-curve img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s11 {
  overflow: hidden;
}

.jam-s11__panel {
  margin-inline: auto;
  padding-top: 78px;
  padding-top: 4.875rem;
  background-image: url("../img/s11-background-layer.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 96.4285714286% 98.6%;
  padding-bottom: 94.4px;
  padding-bottom: 5.9rem;
}

.jam-s11__intro {
  text-align: center;
}

.jam-s11__ttl {
  margin-bottom: 28.25px;
  margin-bottom: 1.765625rem;
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 51.021px;
  font-size: 3.1888125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-align: center;
}

.jam-s11__lead {
  margin-bottom: 37px;
  margin-bottom: 2.3125rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28.31px;
  font-size: 1.769375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  border-bottom: 2px solid #131313;
  border-bottom: 0.125rem solid #131313;
  width: fit-content;
  margin-inline: auto;
  padding-bottom: 9px;
  padding-bottom: 0.5625rem;
  padding-inline: 15px 0px;
  padding-inline: 0.9375rem 0rem;
}

.jam-s11__comparison-image {
  max-width: 1161.55px;
  width: 90%;
  margin-inline: auto;
  transform: translateX(22px);
  margin-bottom: 80px;
  margin-bottom: 5rem;
}

.jam-s11__comparison-image img {
  width: 100%;
  height: auto;
}

.jam-s11__plan {
  max-width: 1101px;
  width: 90%;
  margin-inline: auto;
  padding-top: 52px;
  padding-top: 3.25rem;
  padding-bottom: 58px;
  padding-bottom: 3.625rem;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 36px;
  border-radius: 2.25rem;
  margin-bottom: 60px;
  margin-bottom: 3.75rem;
}

.jam-s11__plan-title {
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 45.352px;
  font-size: 2.8345rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 9.07px;
  letter-spacing: 0.566875rem;
  text-align: center;
  position: relative;
  width: fit-content;
  margin-inline: auto;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.jam-s11__plan-title::after {
  content: "";
  background: #131313;
  width: 30%;
  height: 2px;
  height: 0.125rem;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.jam-s11__plan-text {
  margin-bottom: 6px;
  margin-bottom: 0.375rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15.2px;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 4.56px;
  letter-spacing: 0.285rem;
  text-align: center;
}

.jam-s11__plan-note {
  margin-bottom: 23px;
  margin-bottom: 1.4375rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 9.6px;
  font-size: 0.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.96px;
  letter-spacing: 0.06rem;
  text-align: center;
}

.jam-s11__price-image {
  max-width: 756px;
  width: 90%;
  margin-inline: auto;
  transform: translateX(-0.9375rem);
  margin-right: auto;
  margin-bottom: 35px;
  margin-bottom: 2.1875rem;
}

.jam-s11__price-image img {
  width: 100%;
  height: auto;
}

.jam-s11__button {
  align-items: center;
  justify-content: center;
  width: 372.8px;
  width: 23.3rem;
  height: 84.8px;
  height: 5.3rem;
  margin-inline: auto;
  color: #ffffff;
  background-image: linear-gradient(90deg, #e43033 0%, #bc0508 100%);
  border-radius: 6px;
  border-radius: 0.375rem;
  box-shadow: 0 6px 0 #9b0013;
  box-shadow: 0 0.375rem 0 #9b0013;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20.224px;
  font-size: 1.264rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 3.034px;
  letter-spacing: 0.189625rem;
  text-align: center;
  position: relative;
  display: flex;
}

.jam-s11__button::after {
  content: "";
  width: 11.38px;
  width: 0.71125rem;
  height: 15.03px;
  height: 0.939375rem;
  position: absolute;
  right: 23px;
  right: 1.4375rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/s11-button-arrow.webp) no-repeat;
  background-size: contain;
}

.jam-s11__campaign {
  max-width: 674.4px;
  width: 90%;
  margin-inline: auto;
  text-align: center;
}

.jam-s11__campaign-label-text {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 26.56px;
  font-size: 1.66rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 5.312px;
  letter-spacing: 0.332rem;
  text-align: center;
  position: relative;
  width: 100%;
  height: 49.6px;
  height: 3.1rem;
  margin-inline: auto;
  background: url(../img/s11-campaign-label.webp) no-repeat;
  background-size: 100% 100%;
  margin-bottom: 12.8px;
  margin-bottom: 0.8rem;
}

.jam-s11__campaign-title {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30.4px;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 4.56px;
  letter-spacing: 0.285rem;
  text-align: center;
  white-space: nowrap;
  margin-bottom: 14.68px;
  margin-bottom: 0.9175rem;
}

.jam-s11__campaign-title span {
  font-size: 44px;
  font-size: 2.75rem;
  letter-spacing: 6.6px;
  letter-spacing: 0.4125rem;
}

.jam-s11__benefits {
  display: grid;
  grid-template-columns: repeat(3, 12.5rem);
  justify-content: center;
  gap: 28.8px;
  gap: 1.8rem;
}

.jam-s11__benefit {
  display: flex;
  align-items: flex-start;
  gap: 15.44px;
  gap: 0.965rem;
  padding-bottom: 5.3px;
  padding-bottom: 0.33125rem;
  border-bottom: 1px solid #131313;
  border-bottom: 0.0625rem solid #131313;
}

.jam-s11__benefit-icon {
  flex: 0 0 auto;
  width: 25.165px;
  width: 1.5728125rem;
  height: 25.165px;
  height: 1.5728125rem;
}

.jam-s11__benefit-text {
  display: block;
  white-space: nowrap;
  color: #131313;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 15.2px;
  font-size: 0.95rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 22.8px */
  letter-spacing: 1.52px;
  letter-spacing: 0.095rem;
}

.jam-s11__benefit:first-child .jam-s11__benefit-text {
  letter-spacing: 0.304px;
  letter-spacing: 0.019rem;
}

.jam-s12 {
  position: relative;
  overflow: hidden;
  background: url(../img/bg-noise-white.png);
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
  padding-top: 131px;
  padding-top: 8.1875rem;
  padding-bottom: 80.21px;
  padding-bottom: 5.013125rem;
}

.jam-s12__ribbon {
  position: absolute;
  top: 274.619px;
  top: 17.1636875rem;
  left: 50%;
  width: 1928.804px;
  width: 120.55025rem;
  height: 695.124px;
  height: 43.44525rem;
  transform: translateX(-50%);
}

.jam-s12__ribbon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s12__inner {
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

.jam-s12__ttl {
  color: #131313;
  font-family: "Noto Serif JP";
  font-size: 51.021px;
  font-size: 3.1888125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 10.204px;
  letter-spacing: 0.63775rem;
  position: relative;
  text-align: center;
  margin-bottom: 60.5px;
  margin-bottom: 3.78125rem;
}

.jam-s12__ttl::after {
  content: "VOICE";
  color: #161616;
  font-family: "Noto Serif JP", serif;
  font-size: 132.989px;
  font-size: 8.3118125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 11.969px;
  letter-spacing: 0.7480625rem;
  opacity: 0.05;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -100px;
  top: -6.25rem;
  z-index: -1;
}

.jam-s12__voice {
  position: relative;
  max-width: 1204px;
  width: 94%;
  margin-inline: auto;
  padding: 51px 76px 57.35px 45px;
  padding: 3.1875rem 4.75rem 3.584375rem 2.8125rem;
  overflow: hidden;
  background-color: #ffffff;
  border: 8px solid #eeeeee;
  border: 0.5rem solid #eeeeee;
  border-radius: 50px;
  border-radius: 3.125rem;
  margin-bottom: 31px;
  margin-bottom: 1.9375rem;
}

.jam-s12__left-accent {
  position: absolute;
  top: -9px;
  top: -0.5625rem;
  left: -15px;
  left: -0.9375rem;
  width: 572.957px;
  width: 35.8098125rem;
  height: 599px;
  height: 37.4375rem;
}

.jam-s12__left-accent img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s12__body {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 59px;
  gap: 3.6875rem;
}

.jam-s12__profile {
  position: relative;
  z-index: 1;
  max-width: 417px;
  width: 40%;
}

.jam-s12__content {
  flex: 1;
  min-width: 0;
  margin-top: 0.8rem;
}

.jam-s12__photo {
  width: 100%;
  overflow: hidden;
}

.jam-s12__person {
  margin-top: 15px;
  margin-top: 0.9375rem;
  margin-left: 9px;
  margin-left: 0.5625rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.jam-s12__logo {
  width: 193px;
  width: 12.0625rem;
  margin-bottom: 18.79px;
  margin-bottom: 1.174375rem;
}

.jam-s12__company {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 25.76px;
  font-size: min(2.6vw, 1.61rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  position: relative;
  width: fit-content;
  padding-bottom: 10.9px;
  padding-bottom: 0.68125rem;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}

.jam-s12__company::after {
  content: "";
  background: #131313;
  width: 100%;
  height: 2px;
  height: 0.125rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}

.jam-s12__copy {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.08em;
}

.jam-s12__copy + .jam-s12__copy {
  margin-top: 0;
}

.jam-s12__results {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 15rem 15.125rem 16.25rem;
  width: 689px;
  width: 43.0625rem;
  margin-top: 30.65px;
  margin-top: 1.915625rem;
  margin-inline: auto;
  transform: translateX(-7px);
}

.jam-s12__result {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 6.35px;
  padding-top: 0.396875rem;
}

.jam-s12__result + .jam-s12__result {
  border-left: 1px solid #d0d0d0;
  border-left: 0.0625rem solid #d0d0d0;
}

.jam-s12__result-text {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}

.jam-s12__result-icon {
  width: 117.632px;
  width: 7.352rem;
  height: 89.439px;
  height: 5.5899375rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.jam-s12__result-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s12__result-icon--motivation {
  width: 98.788px;
  width: 6.17425rem;
  height: 102.417px;
  height: 6.4010625rem;
  margin-top: 17px;
  margin-top: 1.0625rem;
}

.jam-s12__result-icon--engagement {
  width: 132.841px;
  width: 8.3025625rem;
  height: 78.705px;
  height: 4.9190625rem;
  margin-top: 29px;
  margin-top: 1.8125rem;
}

.jam-s12__note {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 1.7px;
  letter-spacing: 0.10625rem;
  text-align: center;
}

.jam-s13 {
  width: 100%;
  overflow: hidden;
  background: url(../img/bg-noise-white.png);
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
}

.jam-s13__panel {
  max-width: 96.4285714286%;
  width: 100%;
  margin-inline: auto;
  background-color: #d40019;
  background-image: url("../img/s13-background-layer.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%;
}

.jam-s13__inner {
  margin-inline: auto;
  padding-top: 167px;
  padding-top: 10.4375rem;
  padding-bottom: 118.7px;
  padding-bottom: 7.41875rem;
}

.jam-s13__heading-label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 417px;
  height: 53px;
  height: 3.3125rem;
  padding-right: 39px;
  padding-right: 2.4375rem;
  padding-left: 40px;
  padding-left: 2.5rem;
  padding-bottom: 12px;
  padding-bottom: 0.75rem;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 25.911px;
  font-size: 1.6194375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 5.182px;
  letter-spacing: 0.323875rem;
  text-align: center;
  white-space: nowrap;
  background: url(../img/s13-heading-label-bg.webp) no-repeat;
  background-size: 100% 100%;
  margin-bottom: 5px;
  margin-bottom: 0.3125rem;
}

.jam-s13__ttl {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 68.69px;
  font-size: 4.293125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 28.163px;
  letter-spacing: 1.7601875rem;
  text-align: center;
  text-indent: 28.163px;
  text-indent: 1.7601875rem;
  margin-inline: auto;
  position: relative;
  z-index: 2;
  width: fit-content;
  margin-bottom: 41px;
  margin-bottom: 2.5625rem;
}

.jam-s13__ttl::after {
  content: "FLOW";
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 144px;
  font-size: 9rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 14.4px;
  letter-spacing: 0.9rem;
  opacity: 0.16;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -112px;
  top: -7rem;
  z-index: -1;
}

.jam-s13__ttl em {
  display: block;
  width: fit-content;
  margin-inline: auto;
  transform: translateX(4px);
}

.jam-s13__flow {
  max-width: 961px;
  width: 90%;
  margin-inline: auto;
}

.jam-s13__step {
  position: relative;
}

.jam-s13__step:nth-child(2) {
  margin-top: 32px;
  margin-top: 2rem;
}

.jam-s13__step:nth-child(3) {
  margin-top: 26px;
  margin-top: 1.625rem;
}

.jam-s13__step:nth-child(4) {
  margin-top: 29px;
  margin-top: 1.8125rem;
}

.jam-s13__step-badge {
  position: absolute;
  z-index: 2;
  top: -18px;
  top: -1.125rem;
  left: -30px;
  left: -1.875rem;
  width: 108.882px;
  width: 6.805125rem;
  height: 108.882px;
  height: 6.805125rem;
}

.jam-s13__step-badge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s13__card {
  min-height: 13.875rem;
  padding: 38.34px 58px 36px 128px;
  padding: 2.39625rem 3.625rem 2.25rem 8rem;
  background-color: #ffffff;
  border-radius: 20px;
  border-radius: 1.25rem;
}

.jam-s13__card--consultation {
  display: flex;
  column-gap: 46px;
  column-gap: 2.875rem;
  padding-top: 18px;
  padding-top: 1.125rem;
  padding-right: 20px;
  padding-right: 1.25rem;
  padding-bottom: 21px;
  padding-bottom: 1.3125rem;
  align-items: center;
  justify-content: space-between;
}

.jam-s13__card--shooting {
  min-height: 24.6875rem;
  padding-top: 45px;
  padding-top: 2.8125rem;
  padding-bottom: 31px;
  padding-bottom: 1.9375rem;
}

.jam-s13__card--delivery {
  position: relative;
  min-height: 13.1875rem;
  padding-top: 34px;
  padding-top: 2.125rem;
}

.jam-s13__card-content {
  min-width: 0;
}

.jam-s13__card-title {
  margin-bottom: 5.5px;
  margin-bottom: 0.34375rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 33px;
  font-size: 2.0625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.jam-s13__card-text {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
}

.jam-s13__consultation-media {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.jam-s13__consultation-photo {
  width: 292px;
  width: 18.25rem;
  height: 182px;
  height: 11.375rem;
  overflow: hidden;
  border-radius: 16px;
  border-radius: 1rem;
}

.jam-s13__consultation-photo img {
  display: block;
  width: 100%;
  height: 100%;
}

.jam-s13__free-label {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 101px;
  width: 6.3125rem;
  height: 53px;
  height: 3.3125rem;
  color: #131313;
  background-color: #f3e064;
  border-top-right-radius: 15px;
  border-top-right-radius: 0.9375rem;
  border-bottom-left-radius: 15px;
  border-bottom-left-radius: 0.9375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 25.504px;
  font-size: 1.594rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 5.101px;
  letter-spacing: 0.3188125rem;
}

.jam-s13__schedule {
  display: flex;
  align-items: center;
  max-width: 756px;
  margin-top: 23.78px;
  margin-top: 1.48625rem;
  padding: 20px 30px 20px 43px;
  padding: 1.25rem 1.875rem 1.25rem 2.6875rem;
  background-color: #efefef;
  border-radius: 15px;
  border-radius: 0.9375rem;
  justify-content: space-between;
}

.jam-s13__schedule-title {
  margin-bottom: 9.2px;
  margin-bottom: 0.575rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 1.9px;
  letter-spacing: 0.11875rem;
}

.jam-s13__schedule-note {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 1.2px;
  letter-spacing: 0.075rem;
}

.jam-s13__schedule-list {
  position: relative;
  display: grid;
  row-gap: 19px;
  row-gap: 1.1875rem;
  padding-left: 18px;
  padding-left: 1.125rem;
  margin-right: -11.2px;
  margin-right: -0.7rem;
}

.jam-s13__schedule-list::before {
  position: absolute;
  top: 10px;
  top: 0.625rem;
  bottom: 10px;
  bottom: 0.625rem;
  left: 0.4px;
  left: 0.025rem;
  width: 1px;
  width: 0.0625rem;
  background-color: #434343;
  content: "";
}

.jam-s13__schedule-item {
  position: relative;
  display: grid;
  grid-template-columns: 66px 1fr;
  grid-template-columns: 4.125rem 1fr;
  column-gap: 26px;
  column-gap: 1.625rem;
  align-items: center;
}

.jam-s13__schedule-item::before {
  position: absolute;
  top: 50%;
  left: -23px;
  left: -1.4375rem;
  width: 12.604px;
  width: 0.78775rem;
  height: 12.604px;
  height: 0.78775rem;
  background-color: #ffffff;
  border: 1px solid #434343;
  border: 0.0625rem solid #434343;
  border-radius: 50%;
  content: "";
  transform: translateY(-50%);
}

.jam-s13__schedule-time {
  color: #434343;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
}

.jam-s13__schedule-text {
  color: #434343;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 1.6px;
  letter-spacing: 0.1rem;
  white-space: nowrap;
}

.jam-s13__schedule-photo {
  max-width: 247px;
  width: 36.2%;
}

.jam-s13__schedule-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jam-s13__clapper {
  position: absolute;
  right: -40px;
  right: -2.5rem;
  bottom: -42px;
  bottom: -2.625rem;
  width: 125.98px;
  width: 7.87375rem;
  height: 128.024px;
  height: 8.0015rem;
}

.jam-s13__clapper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s14 {
  width: 100%;
  overflow: hidden;
  padding-top: 160px;
  padding-top: 10rem;
  padding-bottom: 97px;
  padding-bottom: 6.0625rem;
  background: url(../img/bg-noise-white.png);
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
}

.jam-s14__inner {
  max-width: 967px;
  width: 95%;
  margin-inline: auto;
}

.jam-s14__ttl {
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 45.989px;
  font-size: 2.8743125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 9.198px;
  letter-spacing: 0.574875rem;
  text-align: center;
  text-indent: 9.198px;
  text-indent: 0.574875rem;
  position: relative;
  margin-bottom: 66px;
  margin-bottom: 4.125rem;
}

.jam-s14__ttl::after {
  content: "QUESTION";
  color: #161616;
  font-family: "Noto Serif JP", serif;
  font-size: 133px;
  font-size: 8.3125rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 25.27px;
  letter-spacing: 1.579375rem;
  opacity: 0.05;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -111px;
  top: -6.9375rem;
}

.jam-s14__faq {
  width: 100%;
}

.jam-s14__item {
  display: flex;
  column-gap: 20px;
  column-gap: 1.25rem;
  padding-right: 64px;
  padding-right: 4rem;
  padding-bottom: 36px;
  padding-bottom: 2.25rem;
  padding-left: 74px;
  padding-left: 4.625rem;
  border-bottom: 1px solid #d4d4d4;
  border-bottom: 0.0625rem solid #d4d4d4;
}

.jam-s14__item + .jam-s14__item {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.jam-s14__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.jam-s14__mark {
  color: #d40019;
  font-family: "Noto Serif JP", serif;
  font-size: 38px;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 7.6px;
  letter-spacing: 0.475rem;
  text-align: center;
}

.jam-s14__body {
  min-width: 0;
  padding-top: 26px;
  padding-top: 1.625rem;
}

.jam-s14__question {
  margin-bottom: 11.54px;
  margin-bottom: 0.72125rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 3.8px;
  letter-spacing: 0.2375rem;
}

.jam-s14__answer {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.92px;
  letter-spacing: 0.12rem;
}

.jam-s15 {
  overflow: hidden;
  padding-top: 2.025rem;
  padding-bottom: 4.25rem;
  background: url(../img/bg-noise-white.png);
  background-size: 100px 100px;
  background-size: 6.25rem 6.25rem;
}

.jam-s15__inner {
  display: flex;
  align-items: center;
  max-width: 1186px;
  width: 94%;
  margin-inline: auto;
  justify-content: space-between;
  gap: 17.6px;
  gap: 1.1rem;
}

.jam-s15__info {
  margin-top: 71.8px;
  margin-top: 1.7875rem;
}

.jam-s15__heading {
  display: flex;
  align-items: center;
  padding-left: 13px;
  padding-left: 0.8125rem;
  gap: 45px;
  gap: 2.8125rem;
  margin-bottom: 65px;
  margin-bottom: 4.0625rem;
}

.jam-s15__ttl {
  color: #131313;
  font-family: "Noto Serif JP", serif;
  font-size: 34.989px;
  font-size: 2.1868125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.jam-s15__logo {
  width: 256.896px;
  width: 16.056rem;
}

.jam-s15__table {
  width: 100%;
}

.jam-s15__row {
  display: grid;
  grid-template-columns: 197px minmax(0, 30.625rem);
  grid-template-columns: 12.3125rem minmax(0, 30.625rem);
  min-height: 54px;
  min-height: 3.375rem;
  border-bottom: 1px solid #d4d4d4;
  border-bottom: 0.0625rem solid #d4d4d4;
  padding-bottom: 0px;
  padding-bottom: 0rem;
}

.jam-s15__row--address {
  min-height: 70px;
  min-height: 4.375rem;
}

.jam-s15__row:nth-child(4) {
  min-height: 51px;
  min-height: 3.1875rem;
}

.jam-s15__row--business {
  min-height: 72px;
  min-height: 4.5rem;
}

.jam-s15__row:nth-child(6) {
  min-height: 50px;
  min-height: 3.125rem;
}

.jam-s15__term {
  display: flex;
  align-items: center;
  padding-left: 54px;
  padding-left: 3.375rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.92px;
  letter-spacing: 0.12rem;
  border-bottom: 1px solid #939393;
  border-bottom: 0.0625rem solid #939393;
  padding-bottom: 0;
}

.jam-s15__desc {
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
  padding-left: 24px;
  padding-left: 1.5rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.92px;
  letter-spacing: 0.12rem;
}

.jam-s15__visual {
  align-items: start;
  max-width: 414.2px;
  width: 38%;
}

.jam-s16 {
  position: relative;
  overflow: hidden;
  padding-top: 146px;
  padding-top: 9.125rem;
  padding-bottom: 71px;
  padding-bottom: 4.4375rem;
  background: url(../img/s16-background-layer.webp) no-repeat;
  background-size: 100% 100%;
}

.jam-s16__building {
  position: absolute;
  top: 88px;
  top: 5.5rem;
  left: calc(50% - 709px);
  width: 239px;
  width: 14.9375rem;
  height: 488px;
  height: 30.5rem;
}

.jam-s16__building img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s16__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1680px);
  margin-inline: auto;
}

.jam-s16__heading {
  text-align: center;
}

.jam-s16__ttl {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 45.989px;
  font-size: 2.8743125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
  margin-bottom: 79px;
  margin-bottom: 4.9375rem;
}

.jam-s16__ttl::after {
  content: "CONTACT";
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 144px;
  font-size: 9rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 14.4px;
  letter-spacing: 0.9rem;
  opacity: 0.16;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  top: -94px;
  top: -5.875rem;
  left: 50%;
  transform: translateX(-50%);
}

.jam-s16__errors {
  width: min(100%, 1095px);
  margin-inline: auto;
  margin-top: 68px;
  margin-top: 4.25rem;
  margin-bottom: -45px;
  margin-bottom: -2.8125rem;
  padding: 18px 28px;
  padding: 1.125rem 1.75rem;
  color: #cd0f12;
  background-color: #ffffff;
  border-radius: 12px;
  border-radius: 0.75rem;
}

.jam-s16__error-text {
  color: #cd0f12;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.8px;
  letter-spacing: 0.05rem;
}

.jam-s16__error-text + .jam-s16__error-text {
  margin-top: 4px;
  margin-top: 0.25rem;
}

.jam-s16__form {
  max-width: 1095px;
  width: 93%;
  margin-inline: auto;
  padding: 86px 0 82px;
  padding: 5.375rem 0 5.125rem;
  color: #131313;
  background-color: #ffffff;
  border-radius: 40px;
  border-radius: 2.5rem;
  position: relative;
}

.jam-s16__form::before {
  content: "";
  background: url(../img/s16-building.webp) no-repeat;
  background-size: contain;
  width: 239px;
  width: 14.9375rem;
  height: 488px;
  height: 30.5rem;
  position: absolute;
  left: -160px;
  left: -10rem;
  top: -210px;
  top: -13.125rem;
  z-index: -1;
}

.jam-s16__form-ttl {
  color: #131313;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 30px;
  font-size: 1.875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 190%;
  /* 57px */
  letter-spacing: 3px;
  letter-spacing: 0.1875rem;
  margin-bottom: 21px;
  margin-bottom: 1.3125rem;
}

.jam-s16__form-ttl em {
  color: #fff;
  border-radius: 7px;
  border-radius: 0.4375rem;
  background: #de0c2f;
  padding: 2px 8px 5px 9px;
  padding: 0.125rem 0.5rem 0.3125rem 0.5625rem;
  margin-right: 12px;
  margin-right: 0.75rem;
}

.jam-s16__form-text {
  color: #131313;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
  /* 34.2px */
  letter-spacing: 0.9px;
  letter-spacing: 0.05625rem;
  margin-bottom: 43px;
  margin-bottom: 2.6875rem;
}

.jam-s16__field {
  display: flex;
  align-items: start;
  justify-content: space-between;
  width: 90%;
  max-width: 821px;
  margin-inline: auto;
}

.jam-s16__field + .jam-s16__field {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.jam-s16__field--date {
  margin-top: 19px;
  margin-top: 1.1875rem;
}

.jam-s16__field--message {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.jam-s16__label-wrap {
  min-width: 0;
  padding-top: 16px;
  padding-top: 1rem;
}

.jam-s16__label-wrap--date {
  padding-top: 47px;
  padding-top: 2.9375rem;
}

.jam-s16__label {
  display: block;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 1.9px;
  letter-spacing: 0.11875rem;
}

.jam-s16__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  width: 2.375rem;
  height: 18px;
  height: 1.125rem;
  margin-top: 2px;
  margin-top: 0.125rem;
  font-family: "Noto Sans JP";
  font-size: 12.374px;
  font-size: 0.773375rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.248px;
  letter-spacing: 0.0155rem;
  border-radius: 2px;
  border-radius: 0.125rem;
  padding-bottom: 0.5px;
  padding-bottom: 0.03125rem;
}

.jam-s16__badge--required {
  color: #ffffff;
  background-color: #cd0f12;
}

.jam-s16__badge--optional {
  color: #cd0f12;
  background-color: #ffffff;
  border: 1px solid #cd0f12;
  border: 0.0625rem solid #cd0f12;
}

.jam-s16__input {
  display: block;
  width: 100%;
  height: 70px;
  height: 4.375rem;
  padding-right: 24px;
  padding-right: 1.5rem;
  padding-left: 24px;
  padding-left: 1.5rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: 0.36px;
  letter-spacing: 0.0225rem;
  border: 2px solid #e7e7e7;
  border: 0.125rem solid #e7e7e7;
  border-radius: 7px;
  border-radius: 0.4375rem;
  flex: 1;
  min-width: 0;
  max-width: 36.875rem;
}

.jam-s16__input::placeholder {
  color: rgba(73, 73, 73, 0.3);
  opacity: 1;
}

.jam-s16__date-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 18.1875rem));
  column-gap: 9px;
  column-gap: 0.5625rem;
}

.jam-s16__date-group {
  position: relative;
  min-width: 0;
}

.jam-s16__date-group--empty::before {
  content: attr(data-date-placeholder);
  position: absolute;
  top: 52%;
  left: 24px;
  left: 1.5rem;
  z-index: 0;
  color: rgba(73, 73, 73, 0.3);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: 0.36px;
  letter-spacing: 0.0225rem;
}

.jam-s16__date-group .jam-s16__badge {
  margin-bottom: 7px;
  margin-bottom: 0.4375rem;
}

.jam-s16__input--date {
  position: relative;
  z-index: 1;
  color: #131313;
  background-color: transparent;
}

.jam-s16__input--date::-webkit-datetime-edit {
  color: #131313;
}

.jam-s16__date-group--empty .jam-s16__input--date {
  color: transparent;
}

.jam-s16__date-group--empty .jam-s16__input--date::-webkit-datetime-edit {
  color: transparent;
}

.jam-s16__textarea {
  display: block;
  max-width: 36.875rem;
  width: 100%;
  height: 264px;
  height: 16.5rem;
  padding-top: 26px;
  padding-top: 1.625rem;
  padding-right: 24px;
  padding-right: 1.5rem;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
  padding-left: 24px;
  padding-left: 1.5rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: 0.36px;
  letter-spacing: 0.0225rem;
  background-color: #ffffff;
  border: 2px solid #e7e7e7;
  border: 0.125rem solid #e7e7e7;
  border-radius: 7px;
  border-radius: 0.4375rem;
  resize: vertical;
}

.jam-s16__textarea::placeholder {
  color: rgba(73, 73, 73, 0.3);
  opacity: 1;
}

.jam-s16__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  margin-inline: auto;
  width: 439px;
  width: 27.4375rem;
  height: 95px;
  height: 5.9375rem;
  margin-top: 50px;
  margin-top: 3.125rem;
  color: #ffffff;
  background-color: #3c52e2;
  border-radius: 7.061px;
  border-radius: 0.4413125rem;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24.748px;
  font-size: 1.54675rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 3.217px;
  letter-spacing: 0.2010625rem;
  text-align: center;
  transition: 0.3s;
  cursor: pointer;
}

.jam-s16__submit:hover {
  transform: scale(1.03);
  opacity: 1;
}

.jam-s16__submit::after {
  content: "";
  background: url(../img/s16-submit-arrow.webp) no-repeat;
  background-size: contain;
  width: 9.12px;
  width: 0.57rem;
  height: 14.88px;
  height: 0.93rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 53px;
  right: 3.3125rem;
}

.jam-s16__notice {
  max-width: 880px;
  width: 80%;
  margin-inline: auto;
  margin-top: 43px;
  margin-top: 2.6875rem;
  padding: 45px 40px 44px;
  padding: 2.8125rem 2.5rem 2.75rem;
  color: #131313;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 40px;
  border-radius: 2.5rem;
}

.jam-s16__notice-title {
  padding-bottom: 13px;
  padding-bottom: 0.8125rem;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18.467px;
  font-size: 1.1541875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 2.3px;
  letter-spacing: 0.14375rem;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #131313;
  border-bottom: 0.0625rem solid #131313;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 21px;
  margin-bottom: 1.3125rem;
}

.jam-s16__notice-text {
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15.255px;
  font-size: 0.9534375rem;
  font-size: min(1.5vw, 0.9534375rem);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.1em;
  text-align: center;
}

.jam-s16__notice-text em {
  position: relative;
  background: #c3bc35;
  display: inline-block;
  padding: 0px 1px 1px 9px;
  padding: 0rem 0.0625rem 0.0625rem 0.5625rem;
}

.jam-s16__notice-text span {
  color: #cd0f12;
  font-weight: 700;
  border-bottom: 1px solid;
  border-bottom: 0.0625rem solid;
  padding-bottom: 2px;
  padding-bottom: 0.125rem;
}

.jam-footer {
  position: relative;
  z-index: 1;
  background: url(../img/footer-background-layer.webp) no-repeat;
  background-size: 100% 100%;
  padding: 36px 0 44px;
  padding: 2.25rem 0 2.75rem;
  outline: 1px solid rgba(255, 255, 255, 0.4);
  outline: 0.0625rem solid rgba(255, 255, 255, 0.4);
}

.jam-footer__copyright {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 1.4px;
  letter-spacing: 0.0875rem;
  text-align: center;
  display: block;
}

.jam-thanks {
  position: relative;
  min-height: 1069px;
  min-height: 66.8125rem;
  overflow: hidden;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #d40019;
  background-image: url("../img/thanks-background.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.jam-thanks__header {
  margin-inline: auto;
  margin-bottom: 40.398px;
  margin-bottom: 2.524875rem;
  padding-top: 26.867px;
  padding-top: 1.6791875rem;
  padding-top: 1.399226%;
  padding-left: 31.413px;
  padding-left: 1.9633125rem;
  box-sizing: border-box;
  width: 97%;
}

.jam-thanks__brand {
  display: flex;
  align-items: flex-start;
  width: max-content;
  max-width: calc(100% - 40px);
  color: #ffffff;
  column-gap: 25.762px;
  column-gap: 1.610125rem;
}

.jam-thanks__logo {
  flex: 0 0 auto;
  width: 198.825px;
  width: 12.4265625rem;
  height: 41.735px;
  height: 2.6084375rem;
}

.jam-thanks__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-thanks__tagline {
  margin-top: 1.133px;
  margin-top: 0.0708125rem;
  color: #ffffff;
  font-size: 15.4px;
  font-size: 0.9625rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 4.62px;
  letter-spacing: 0.28875rem;
  white-space: nowrap;
}

.jam-thanks__main {
  width: min(100%, 1680px);
  margin-inline: auto;
}

.jam-thanks__heading {
  position: relative;
  height: 235.8px;
  height: 14.7375rem;
  margin-bottom: 64.2px;
  margin-bottom: 4.0125rem;
  text-align: center;
}

.jam-thanks__heading-back {
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 144px;
  font-size: 9rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 14.4px;
  letter-spacing: 0.9rem;
  opacity: 0.16;
  white-space: nowrap;
  transform: translateX(-50%);
}

.jam-thanks__ttl {
  position: relative;
  margin: 0;
  padding-top: 107px;
  padding-top: 6.6875rem;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 45.99px;
  font-size: 2.874375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 9.198px;
  letter-spacing: 0.574875rem;
  text-align: center;
  white-space: nowrap;
}

.jam-thanks__card {
  position: relative;
  width: 90%;
  max-width: 1374px;
  min-height: 460px;
  min-height: 28.75rem;
  margin-inline: auto;
  padding-top: 86px;
  padding-top: 5.375rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
  color: #35373c;
  text-align: center;
  background-color: #ffffff;
  border-radius: 57px;
  border-radius: 3.5625rem;
  box-sizing: border-box;
}

.jam-thanks__lead {
  margin-bottom: 79px;
  margin-bottom: 4.9375rem;
  color: #35373c;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 1.52px;
  letter-spacing: 0.095rem;
  text-align: center;
  white-space: nowrap;
}

.jam-thanks__body {
  color: #35373c;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 1.52px;
  letter-spacing: 0.095rem;
  text-align: center;
  white-space: nowrap;
}

.jam-thanks__deco {
  position: absolute;
  z-index: 1;
}

.jam-thanks__deco img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-thanks__deco--tv {
  top: -111px;
  top: -6.9375rem;
  left: -36px;
  left: -2.25rem;
  width: 122.806px;
  width: 7.675375rem;
  height: 198.4px;
  height: 12.4rem;
}

.jam-thanks__deco--antenna {
  top: 70px;
  top: 4.375rem;
  right: -89.81px;
  right: -5.613125rem;
  width: 235.62px;
  width: 14.72625rem;
  height: 510.51px;
  height: 31.906875rem;
}

.jam-thanks__footer {
  width: 100%;
  margin-top: 120px;
  margin-top: 7.5rem;
  padding-top: 28px;
  padding-top: 1.75rem;
  padding-bottom: 33px;
  padding-bottom: 2.0625rem;
  border-top: 1px solid rgba(255, 255, 255, 0.48);
  border-top: 0.0625rem solid rgba(255, 255, 255, 0.48);
  box-sizing: border-box;
}

.jam-thanks__copyright {
  color: #ffffff;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 1.4px;
  letter-spacing: 0.0875rem;
  text-align: center;
  white-space: nowrap;
}

@keyframes jam-s1-thumbs-loop-left {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(
      calc(
        (var(--jam-s1-thumb-width) + var(--jam-s1-thumb-gap)) *
          var(--jam-s1-loop-count) * -1
      ),
      0,
      0
    );
  }
}

@keyframes jam-s1-thumbs-loop-right {
  from {
    transform: translate3d(
      calc(
        (var(--jam-s1-thumb-width) + var(--jam-s1-thumb-gap)) *
          var(--jam-s1-loop-count) * -1
      ),
      0,
      0
    );
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.jam-s3__comparison-label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.jam-s3__comparison-card--traditional {
  display: block;
  padding: 33px 24.8px 0;
  padding: 2.0625rem 1.55rem 0;
}

.jam-s3__comparison-card--traditional .jam-s3__comparison-label {
  width: 320px;
  width: 20rem;
  height: 54px;
  height: 3.375rem;
  margin: 0 auto;
  border-radius: 10px;
  border-radius: 0.625rem;
  color: #e2e2e2;
  background-color: #161414;
  font-size: 24.468px;
  font-size: 1.52925rem;
  letter-spacing: 4.8937px;
  letter-spacing: 0.30585625rem;
}

.jam-s3__comparison-card--traditional .jam-s3__comparison-lead {
  display: block;
  margin-top: 41px;
  margin-top: 2.5625rem;
}

.jam-s3__comparison-card--traditional .jam-s3__window--traditional {
  max-width: 272.88px;
  width: 70%;
  height: 151.92px;
  height: 9.495rem;
  margin: 0 auto;
}

.jam-s3__window picture {
  display: block;
  width: 100%;
  height: 100%;
}

.jam-s3__window img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s3__comparison-card--traditional .jam-s3__comparison-copy {
  width: 100%;
  margin-top: 22px;
  margin-top: 1.375rem;
}

.jam-s3__comparison-heading {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

.jam-s3__comparison-card--traditional .jam-s3__comparison-heading {
  color: #131313;
  font-size: 30.6px;
  font-size: 1.9125rem;
  line-height: 1;
  letter-spacing: 3.06px;
  letter-spacing: 0.19125rem;
  text-align: center;
}

.jam-s3__comparison-flow {
  margin: 0;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 3px;
  letter-spacing: 0.1875rem;
}

.jam-s3__comparison-flow-red {
  color: inherit;
}

.jam-s3__comparison-flow-blue {
  color: inherit;
}

.jam-s3__comparison-card--traditional .jam-s3__comparison-flow {
  margin: 16px auto 0;
  margin: 1rem auto 0;
  width: fit-content;
}

.jam-s3__comparison-card--traditional .jam-s3__comparison-line {
  width: 398.7px;
  width: 24.91875rem;
  margin: 28px auto 0;
  margin: 1.75rem auto 0;
}

.jam-s3__comparison-line {
  height: 1px;
  height: 0.0625rem;
  background-color: rgba(19, 19, 19, 0.32);
}

.jam-s3__stats {
  margin: 0;
  padding: 0;
}

.jam-s3__comparison-card--traditional .jam-s3__stats--traditional {
  width: max-content;
  margin: 14px auto 0;
  margin: 0.875rem auto 0;
}

.jam-s3__stat {
  display: flex;
  align-items: center;
  margin: 0;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  gap: 6.21px;
  gap: 0.388125rem;
}

.jam-s3__stat-icon {
  width: 23.1px;
  width: 1.44375rem;
  height: 23.1px;
  height: 1.44375rem;
}

.jam-s3__stats--traditional .jam-s3__stat {
  min-height: 36px;
  min-height: 2.25rem;
  font-size: 19.57px;
  font-size: 1.223125rem;
  line-height: 1.8;
  letter-spacing: 3.9139px;
  letter-spacing: 0.24461875rem;
}

.jam-s3__stats--traditional .jam-s3__stat-icon {
  width: 21px;
  width: 1.3125rem;
  height: 21px;
  height: 1.3125rem;
  margin-right: 8.35px;
  margin-right: 0.521875rem;
}

.jam-s3__stat-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.jam-s3__stat-text {
  display: block;
  font-size: 21.527px;
  font-size: 1.3454375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  /* 38.748px */
  letter-spacing: 4.305px;
  letter-spacing: 0.2690625rem;
}

.jam-s3__stats--traditional .jam-s3__stat-text {
  font-size: 19.57px;
  font-size: 1.223125rem;
  line-height: 1.8;
  letter-spacing: 3.9139px;
  letter-spacing: 0.24461875rem;
}

.jam-s3__stat-accent {
  color: #00ba00;
}

.jam-s3__quote {
  width: 100%;
  margin: 0;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  transform: none;
}

.jam-s3__comparison-card--traditional .jam-s3__quote {
  margin-top: 9px;
  margin-top: 0.5625rem;
  transform: none;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 2.8px;
  letter-spacing: 0.175rem;
}

.jam-s3__comparison-card--traditional .jam-s3__source-list {
  position: static;
  width: max-content;
  margin: 22px auto 0;
  margin: 1.375rem auto 0;
}

.jam-s3__source-list {
  padding: 0;
}

.jam-s3__source-item {
  margin: 0;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 1px;
  letter-spacing: 0.0625rem;
}

.jam-s3__source-item a {
  color: inherit;
  text-decoration: underline;
  text-underline-position: from-font;
}

.jam-s3__source-item a:hover {
  transform: none;
  opacity: 0.7;
}

.jam-s3__comparison-card--fan {
  display: block;
  padding: 24.34px 49px 0;
  padding: 1.52125rem 3.0625rem 0;
}

.jam-s3__comparison-card--fan .jam-s3__comparison-label {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 392.4px;
  width: 100%;
  height: 69.6px;
  height: 4.35rem;
  margin: 0 auto 44.5px;
  margin: 0 auto 2.78125rem;
  color: #ffffff;
  font-size: 36.703px;
  font-size: 2.2939375rem;
  letter-spacing: 7.3405px;
  letter-spacing: 0.45878125rem;
  background-image: url("../img/s3-comparison-label-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  padding-bottom: 2px;
  padding-bottom: 0.125rem;
}

.jam-s3__comparison-card--fan .jam-s3__comparison-lead {
  display: block;
  margin-bottom: 18.3px;
  margin-bottom: 1.14375rem;
}

.jam-s3__comparison-card--fan .jam-s3__window--fan {
  position: static;
  width: 347px;
  width: 21.6875rem;
  height: 209px;
  height: 13.0625rem;
  margin: 0 auto 24.6px;
  margin: 0 auto 1.5375rem;
}

.jam-s3__comparison-card--fan .jam-s3__comparison-copy {
  width: 100%;
}

.jam-s3__comparison-card--fan .jam-s3__comparison-heading {
  position: static;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  color: #cd0f12;
  font-size: 33.66px;
  font-size: 2.10375rem;
  font-size: min(2.5vw, 2.10375rem);
  line-height: 1;
  letter-spacing: 3.366px;
  letter-spacing: 0.210375rem;
  text-align: left;
  background-image: linear-gradient(133deg, #ff4d00 14.914%, #d40019 110.19%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
}

.jam-s3__comparison-card--fan .jam-s3__comparison-flow {
  margin: 0;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 3.2px;
  letter-spacing: 0.2rem;
  width: 96%;
  margin-left: auto;
}

.jam-s3__comparison-card--fan .jam-s3__comparison-line {
  position: static;
  max-width: 502.92px;
  width: 100%;
  margin: 0 auto 15.4px;
  margin: 0 auto 0.9625rem;
}

.jam-s3__comparison-card--fan .jam-s3__stats--fan {
  width: max-content;
  margin: 0 auto 14px;
  margin: 0 auto 0.875rem;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.jam-s3__comparison-card--fan .jam-s3__quote {
  margin-bottom: 15.2px;
  margin-bottom: 0.95rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 3.2px;
  letter-spacing: 0.2rem;
}

.jam-s3__comparison-card--fan .jam-s3__source-text {
  position: static;
  margin: 0;
  color: #131313;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11px;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 2.2px;
  letter-spacing: 0.1375rem;
  text-align: center;
  white-space: nowrap;
}

.jam-s3__comparison-card--fan .jam-s3__source-text a {
  color: inherit;
  text-decoration: underline;
  text-underline-position: from-font;
}

.jam-s3__source-text a:hover {
  transform: none;
  opacity: 0.7;
}

@media (prefers-reduced-motion: reduce) {
  .jam-s1__thumb-track {
    animation: none;
  }

  .jam-studio__track {
    animation: none;
  }
}

@media (max-width: 767.98px) {
  /* スマホではpcクラスは非表示 */
  .pc {
    display: none !important;
  }

  .jam > .jam-fv-header {
    top: 17px;
    top: 1.0625rem;
    left: 20px;
    left: 1.25rem;
    display: flex;
    width: auto;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    transform: none;
  }

  .jam > .jam-fv-header .jam-fv-header__brand {
    margin-top: 0;
    column-gap: 8px;
    column-gap: 0.5rem;
  }

  .jam > .jam-fv-header .jam-fv-header__logo {
    width: 119px;
    width: 7.4375rem;
    height: 25px;
    height: 1.5625rem;
  }

  .jam > .jam-fv-header .jam-fv-header__tagline {
    margin-top: 1px;
    margin-top: 0.0625rem;
    font-size: 7.4px;
    font-size: 0.4625rem;
    line-height: 1.35;
    letter-spacing: 1.18px;
    letter-spacing: 0.07375rem;
  }

  .jam > .jam-fv-header .jam-fv-header__actions {
    display: none;
  }

  .jam-fv__inner {
    width: 100%;
    padding-bottom: 0;
  }

  .jam-fv__stage--pc {
    display: none;
  }

  .jam-fv__stage--sp {
    display: block;
  }

  .jam-fv__cta {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    max-width: none;
    padding-bottom: 53px;
    padding-bottom: 3.3125rem;
    margin-top: 0;
    background-image: url("../img/fv-cta-bg-sp.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
    box-sizing: border-box;
    transform: none;
  }

  .jam-fv__cta .jam-s__cta-row {
    flex-direction: column;
    align-items: center;
    width: 345px;
    width: 21.5625rem;
    max-width: calc(100% - 4.25rem);
    margin-inline: auto;
    gap: 8px;
    gap: 0.5rem;
  }

  .jam-fv__cta .jam-s__cta-link--trial {
    flex: none;
    width: 100%;
  }

  .jam-fv__cta .jam-s__cta-link--phone {
    flex: none;
    width: 100%;
  }

  .jam-fv__cta .jam-s__cta-image {
    width: 100%;
  }

  .jam-fv__cta .jam-s__cta-image img {
    height: auto;
    object-fit: contain;
  }

  .jam-fv__cta .jam-cta__text {
    width: 100%;
    margin-top: 20px;
    margin-top: 1.25rem;
    margin-right: auto;
    margin-left: auto;
    font-size: 12.2px;
    font-size: 0.7625rem;
    line-height: 1.45;
    letter-spacing: 1.22px;
    letter-spacing: 0.07625rem;
  }

  .jam-cta__text {
    width: 260px;
    width: 16.25rem;
    margin: 9.67px auto 0;
    margin: 0.604375rem auto 0;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12.2px;
    font-size: 0.7625rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.22px;
    letter-spacing: 0.07625rem;
    text-align: center;
    white-space: normal;
  }

  /* jam-cta smartphone design */
  .jam-cta {
    padding: 11px 11px 14px;
    padding: 0.6875rem 0.6875rem 0.875rem;
    overflow: hidden;
    background-color: #ffffff;
    box-sizing: border-box;
  }

  .jam-cta .jam-cta__panel {
    position: relative;
    width: 392px;
    width: 24.5rem;
    max-width: 100%;
    margin-inline: auto;
    padding-bottom: 0;
    overflow: hidden;
    background-image: url("../img/jam-cta-background-sp.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
    box-sizing: border-box;
  }

  .jam-cta .jam-cta__bg {
    display: none;
  }

  .jam-cta .jam-cta__camera {
    left: 0;
    top: 303px;
    top: 18.9375rem;
    bottom: auto;
    z-index: 1;
    width: 362px;
    width: 22.625rem;
    max-width: none;
    height: 280px;
    height: 17.5rem;
    background-image: url("../img/jam-cta-people-sp.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
  }

  .jam-cta .jam-cta__camera img {
    display: none;
  }

  .jam-cta .jam-cta__woman {
    display: none;
  }

  .jam-cta .jam-cta__content {
    position: relative;
    z-index: 2;
    margin-inline: auto;
    padding-top: 42px;
    padding-top: 2.625rem;
    padding-bottom: 43px;
    padding-bottom: 2.6875rem;
    text-align: center;
  }

  .jam-cta .jam-cta__logo {
    width: 96.07px;
    width: 6.004375rem;
    margin-bottom: 19px;
    margin-bottom: 1.1875rem;
  }

  .jam-cta .jam-cta__sub-title {
    position: relative;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 11px;
    margin-bottom: 0.6875rem;
    padding-bottom: 7px;
    padding-bottom: 0.4375rem;
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: 19.68px;
    font-size: 1.23rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 4.92px;
    letter-spacing: 0.3075rem;
    letter-spacing: 0.2em;
    text-align: center;
    white-space: nowrap;
  }

  .jam-cta .jam-cta__sub-title::before {
    content: "";
    position: absolute;
    top: -3px;
    top: -0.1875rem;
    left: 14.5px;
    left: 0.90625rem;
    width: 90px;
    width: 5.625rem;
    height: 3px;
    height: 0.1875rem;
    background-image: url("../img/jam-cta-line-sp.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
  }

  .jam-cta .jam-cta__sub-title::after {
    width: 282.5px;
    width: 17.65625rem;
    height: 1px;
    height: 0.0625rem;
    background-color: #ffffff;
  }

  .jam-cta .jam-cta__ttl {
    margin-bottom: 14px;
    margin-bottom: 0.875rem;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 27px;
    font-size: 1.6875rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 0.1em;
  }

  .jam-cta .jam-cta__ttl span {
    font-size: 41.767px;
    font-size: 2.6104375rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }

  .jam-cta .jam-cta__lead {
    margin-bottom: 174px;
    margin-bottom: 10.875rem;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-align: center;
    white-space: nowrap;
  }

  .jam-cta .jam-s__cta {
    width: 345px;
    width: 21.5625rem;
    max-width: 100%;
    margin-inline: auto;
  }

  .jam-cta .jam-s__cta-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 8px;
    gap: 0.5rem;
  }

  .jam-cta .jam-s__cta-link {
    display: block;
  }

  .jam-cta .jam-s__cta-link--trial {
    flex: none;
    width: 345px;
    width: 21.5625rem;
    max-width: 100%;
  }

  .jam-cta .jam-s__cta-link--phone {
    flex: none;
    width: 345px;
    width: 21.5625rem;
    max-width: 100%;
  }

  .jam-cta .jam-s__cta-image {
    width: 100%;
  }

  .jam-cta .jam-s__cta-image img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* s1 SP design */
  .jam-s1 {
    overflow: hidden;
    padding: 8px 11px 19px;
    padding: 0.5rem 0.6875rem 1.1875rem;
    background-color: #ffffff;
    background-image: none;
    box-sizing: border-box;
  }

  .jam-s1__stage {
    width: 392px;
    width: 24.5rem;
    max-width: 100%;
    margin-inline: auto;
    padding: 28px 18px 42px;
    padding: 1.75rem 1.125rem 2.625rem;
    overflow: hidden;
    background-image: url("../img/s1-background-layer-sp.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
    box-sizing: border-box;
  }

  .jam-s1__top {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    margin-bottom: 0;
    column-gap: 0;
    transform: none;
  }

  .jam-s1__video-conetnt {
    top: 8%;
    left: 3%;
  }

  .jam-s1__content {
    display: contents;
  }

  .jam-s1__ttl {
    order: 1;
    width: 176px;
    width: 11rem;
    max-width: 100%;
    margin: 0 auto 40.2px;
    margin: 0 auto 2.5125rem;
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: 53.988px;
    font-size: 3.37425rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 5.3988px;
    letter-spacing: 0.337425rem;
    text-align: center;
  }

  .jam-s1__ttl em {
    display: block;
    position: relative;
  }

  .jam-s1__ttl em::after {
    left: 50%;
    bottom: -10.5px;
    bottom: -0.65625rem;
    width: 171px;
    width: 10.6875rem;
    height: 2px;
    height: 0.125rem;
    transform: translateX(-50%);
  }

  .jam-s1__badges {
    order: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 21.3px;
    margin-bottom: 1.33125rem;
  }

  .jam-s1__badge {
    justify-content: center;
    height: 31.2px;
    height: 1.95rem;
    padding-inline: 10px;
    padding-inline: 0.625rem;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 1.5;
    letter-spacing: 3.06px;
    letter-spacing: 0.19125rem;
    box-sizing: border-box;
  }

  .jam-s1__badge--fan {
    width: 278.4px;
    width: 17.4rem;
    margin-bottom: 6px;
    margin-bottom: 0.375rem;
  }

  .jam-s1__brand-row {
    flex-direction: column;
    align-items: center;
    row-gap: 21.5px;
    row-gap: 1.34375rem;
    margin-top: 0;
    column-gap: 0;
  }

  .jam-s1__badge--service {
    width: 237.6px;
    width: 14.85rem;
  }

  .jam-s1__logo {
    width: 187.637px;
    width: 11.7273125rem;
    height: 39.389px;
    height: 2.4618125rem;
    aspect-ratio: auto;
  }

  .jam-s1__logo picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s1__video {
    order: 3;
    flex: none;
    width: 355.14px;
    width: 22.19625rem;
    max-width: 100%;
    height: 248.598px;
    height: 15.537375rem;
    margin: 0 auto 28.4px;
    margin: 0 auto 1.775rem;
  }

  .jam-s1__video picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s1__video img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s1__feature-list {
    order: 4;
    width: 296.78px;
    width: 18.54875rem;
    max-width: 100%;
    margin: 0 auto 38.95px;
    margin: 0 auto 2.434375rem;
    row-gap: 18.95px;
    row-gap: 1.184375rem;
  }

  .jam-s1__feature {
    align-items: center;
    column-gap: 9.5px;
    column-gap: 0.59375rem;
  }

  .jam-s1__feature-icon {
    width: 21.36px;
    width: 1.335rem;
    height: 19.05px;
    height: 1.190625rem;
  }

  .jam-s1__feature-icon picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s1__feature-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s1__feature-text {
    font-size: 13.5px;
    font-size: 0.84375rem;
    line-height: 1;
    letter-spacing: 0.75px;
    letter-spacing: 0.046875rem;
    letter-spacing: 0.05em;
  }

  .jam-s1__thumbs {
    --jam-s1-thumb-width: 165.5px;
    --jam-s1-thumb-width: 10.34375rem;
    --jam-s1-thumb-gap: 11.5px;
    --jam-s1-thumb-gap: 0.71875rem;
    display: flex;
    flex-direction: column;
    row-gap: 9.5px;
    row-gap: 0.59375rem;
    width: max-content;
    margin-left: -117.25px;
    margin-left: -7.328125rem;
  }

  .jam-s1__thumb-row {
    width: max-content;
  }

  .jam-s1__thumb-row--bottom {
    display: block;
  }

  .jam-s1__thumb-track {
    column-gap: var(--jam-s1-thumb-gap);
    animation-duration: 24s;
  }

  .jam-s1__thumb-track--bottom {
    animation-duration: 22s;
  }

  .jam-s1__thumb {
    width: var(--jam-s1-thumb-width);
    height: 93px;
    height: 5.8125rem;
    overflow: hidden;
    border: 1px solid #ffffff;
    border: 0.15rem solid #ffffff;
    border-radius: 5px;
    border-radius: 0.4125rem;
    box-sizing: border-box;
  }

  .jam-s1__thumb picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s1__thumb img {
    width: 100%;
    height: 100%;
    object-fit: fill;
  }

  /* s2 smartphone design */
  .jam-s2 {
    padding: 0 0 58.48px;
    padding: 0 0 3.655rem;
    background-image: url("../img/s2-background-sp.webp");
    background-size: 100% 100%;
    padding-top: 8px;
    padding-top: 0.5rem;
  }

  .jam-s2__inner {
    width: 100%;
    margin-inline: 0;
  }

  .jam-s2__ttl {
    position: relative;
    width: 380.8px;
    width: 23.8rem;
    max-width: none;
    height: 200.2px;
    height: 12.5125rem;
    margin: -0.4px auto 23.79px;
    margin: -0.025rem auto 1.486875rem;
    transform: none;
  }

  .jam-s2__ttl::after {
    top: -20px;
    top: -1.25rem;
    left: 164px;
    left: 10.25rem;
    z-index: 0;
    color: #ffffff;
    font-size: 84.934px;
    font-size: 5.308375rem;
    line-height: 1.2;
    letter-spacing: 12.7401px;
    letter-spacing: 0.79625625rem;
  }

  .jam-s2__ttl-image {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }

  .jam-s2__ttl-image picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s2__ttl-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s2__problem-list {
    width: 326.55px;
    width: 20.409375rem;
    max-width: none;
    margin-right: 0;
    margin-bottom: 73.76px;
    margin-bottom: 4.61rem;
    margin-left: 50.69px;
    margin-left: 3.168125rem;
    transform: none;
  }

  .jam-s2__problem {
    position: relative;
    display: block;
    min-height: 111.86px;
    min-height: 6.99125rem;
  }

  .jam-s2__problem--1 {
    margin-bottom: 23.38px;
    margin-bottom: 1.46125rem;
  }

  .jam-s2__problem--2 {
    min-height: 113.07px;
    min-height: 7.066875rem;
    margin-bottom: 23.4px;
    margin-bottom: 1.4625rem;
  }

  .jam-s2__problem--3 {
    min-height: 110.92px;
    min-height: 6.9325rem;
    margin-bottom: 25.14px;
    margin-bottom: 1.57125rem;
  }

  .jam-s2__problem--4 {
    min-height: 109.46px;
    min-height: 6.84125rem;
    margin-bottom: 23.26px;
    margin-bottom: 1.45375rem;
  }

  .jam-s2__problem--5 {
    min-height: 110.77px;
    min-height: 6.923125rem;
    margin-bottom: 0;
  }

  .jam-s2__problem-label {
    position: absolute;
    z-index: 0;
    width: 86.31px;
    width: 5.394375rem;
    margin-top: 0;
  }

  .jam-s2__problem--1 .jam-s2__problem-label {
    top: -0.45px;
    top: -0.028125rem;
    left: 257.31px;
    left: 16.081875rem;
    width: 86.31px;
    width: 5.394375rem;
    transform: none;
  }

  .jam-s2__problem--2 .jam-s2__problem-label {
    top: -6.34px;
    top: -0.39625rem;
    left: 259.31px;
    left: 16.206875rem;
    width: 81.47px;
    width: 5.091875rem;
    transform: none;
  }

  .jam-s2__problem--3 .jam-s2__problem-label {
    top: 11.3px;
    top: 0.70625rem;
    left: 261.31px;
    left: 16.331875rem;
    width: 79.89px;
    width: 4.993125rem;
    transform: none;
  }

  .jam-s2__problem--4 .jam-s2__problem-label {
    top: -8.13px;
    top: -0.508125rem;
    left: 263.31px;
    left: 16.456875rem;
    width: 82.31px;
    width: 5.144375rem;
    transform: none;
  }

  .jam-s2__problem--5 .jam-s2__problem-label {
    top: -10.44px;
    top: -0.6525rem;
    left: 264.31px;
    left: 16.519375rem;
    width: 95.6px;
    width: 5.975rem;
    transform: none;
  }

  .jam-s2__problem-label picture {
    display: block;
    width: 100%;
    height: auto;
  }

  .jam-s2__problem-label img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .jam-s2__problem-body {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .jam-s2__problem-number {
    gap: 5.62px;
    gap: 0.35125rem;
    margin-bottom: 3.78px;
    margin-bottom: 0.23625rem;
    font-size: 7.39px;
    font-size: 0.461875rem;
    line-height: 1.7;
    letter-spacing: 0.2em;
  }

  .jam-s2__problem-number::before {
    width: 16px;
    width: 1rem;
  }

  .jam-s2__problem-text {
    font-size: 17.465px;
    font-size: 1.0915625rem;
    line-height: 1.7;
    letter-spacing: 2.0958px;
    letter-spacing: 0.1309875rem;
    white-space: nowrap;
  }

  .jam-s2__problem-text em {
    display: inline;
    padding: 0 5px 2px;
    padding: 0 0.3125rem 0.125rem;
    line-height: 1.7;
    letter-spacing: 1.92px;
    letter-spacing: 0.12rem;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  .jam-s2__problem--1 .jam-s2__problem-text em {
    margin-left: -5px;
    margin-left: -0.3125rem;
    padding-right: 4px;
    padding-right: 0.25rem;
    padding-left: 4px;
    padding-left: 0.25rem;
  }

  .jam-s2__problem--5 .jam-s2__problem-text em {
    margin-left: -1.5px;
    margin-left: -0.09375rem;
    padding-right: 2px;
    padding-right: 0.125rem;
    padding-left: 2px;
    padding-left: 0.125rem;
  }

  .jam-s2__cause {
    margin-inline: auto;
    width: 368px;
    width: 23rem;
    padding: 35px 0 33px;
    padding: 2.1875rem 0 2.0625rem;
  }

  .jam-s2__cause-label {
    width: 159.014px;
    width: 9.938375rem;
    height: 28.361px;
    height: 1.7725625rem;
    padding: 0 0 2px 5px;
    padding: 0 0 0.125rem 0.3125rem;
    border-radius: 1.711px;
    border-radius: 0.1069375rem;
    font-size: 16.056px;
    font-size: 1.0035rem;
    line-height: 1;
    letter-spacing: 4.817px;
    letter-spacing: 0.3010625rem;
  }

  .jam-s2__cause-main {
    margin-bottom: 0;
    font-size: 19.48px;
    font-size: 1.2175rem;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }

  .jam-s2__cause-keyword {
    display: inline-block;
    margin-right: -2px;
    margin-right: -0.125rem;
    font-size: 26.74px;
    font-size: 1.67125rem;
    line-height: 1;
    letter-spacing: 2.674px;
    letter-spacing: 0.167125rem;
  }

  /* s3 SP design */
  .jam-s3 {
    padding-top: 48.59px;
    padding-top: 3.036875rem;
    padding-bottom: 337.6px;
    padding-bottom: 21.1rem;
    overflow: hidden;
    background-image: url("../img/s3-bg-sp.webp");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    box-sizing: border-box;
  }

  .jam-s3__inner {
    width: 100%;
    margin-inline: 0;
  }

  .jam-s3__ttl-text {
    width: 280px;
    width: 17.5rem;
    max-width: none;
    margin: 0 auto 31px;
    margin: 0 auto 1.9375rem;
    margin-bottom: 31px;
    margin-bottom: 1.9375rem;
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: 29.372px;
    font-size: 1.83575rem;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: 5.874px;
    letter-spacing: 0.367125rem;
  }

  .jam-s3__ttl-text span {
    margin: 0 5px 11.8px 0;
    margin: 0 0.3125rem 0.7375rem 0;
    padding-bottom: 6px;
    padding-bottom: 0.375rem;
    border-bottom: 1px solid #ffffff;
    border-bottom: 0.0625rem solid #ffffff;
    color: #ffffff;
    font-size: 27.666px;
    font-size: 1.729125rem;
    line-height: 1.18;
    letter-spacing: 5.533px;
    letter-spacing: 0.3458125rem;
  }

  .jam-s3__ttl-text em {
    margin: 0 8px 0 30px;
    margin: 0 0.5rem 0 1.875rem;
    padding: 0 9.8px 2.8px 9.6px;
    padding: 0 0.6125rem 0.175rem 0.6rem;
    color: #ffffff;
    font-size: 31.103px;
    font-size: 1.9439375rem;
    line-height: 1.28;
    letter-spacing: 6.221px;
    letter-spacing: 0.3888125rem;
    background-image: url("../img/s3-ttl-bg.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
  }

  .jam-s3__comparison {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: none;
    min-height: 0;
    margin-inline: 0;
    row-gap: 19px;
    row-gap: 1.1875rem;
    transform: none;
  }

  .jam-s3__comparison-card {
    flex: none;
    max-width: none;
    overflow: hidden;
    border-radius: 10px;
    border-radius: 0.625rem;
    box-sizing: border-box;
  }

  .jam-s3__comparison-card--traditional {
    display: block;
    position: static;
    width: 351px;
    width: 21.9375rem;
    height: 524px;
    height: 32.75rem;
    margin-top: 0;
    padding: 32px 22px 0;
    padding: 2rem 1.375rem 0;
    background-color: #efefef;
    box-sizing: border-box;
  }

  .jam-s3__comparison-card--fan {
    width: 381px;
    width: 23.8125rem;
    height: 588px;
    height: 36.75rem;
    background-color: #ffffff;
    border-width: 2px;
    border-width: 0.125rem;
    border-color: #cd0f12;
    border-radius: 10px;
    border-radius: 0.625rem;
  }

  .jam-s3__comparison-label {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-label {
    width: 230px;
    width: 14.375rem;
    height: 39px;
    height: 2.4375rem;
    margin: 0 auto 24px;
    margin: 0 auto 1.5rem;
    border-radius: 6px;
    border-radius: 0.375rem;
    color: #e2e2e2;
    background-color: #161414;
    font-size: 17.573px;
    font-size: 1.0983125rem;
    letter-spacing: 3.515px;
    letter-spacing: 0.2196875rem;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-label {
    top: 34px;
    top: 2.125rem;
    left: 48px;
    left: 3rem;
    width: 283px;
    width: 17.6875rem;
    height: 51px;
    height: 3.1875rem;
    color: #ffffff;
    font-size: 24.426px;
    font-size: 1.526625rem;
    letter-spacing: 4.885px;
    letter-spacing: 0.3053125rem;
    background-image: url("../img/s3-comparison-label-bg.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-lead {
    display: flex;
    align-items: center;
    column-gap: 21px;
    column-gap: 1.3125rem;
    margin-bottom: 16.24px;
    margin-bottom: 1.015rem;
    margin-left: 20px;
    margin-left: 1.25rem;
    margin-top: 0;
  }

  .jam-s3__window {
    position: absolute;
  }

  .jam-s3__window picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s3__window img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s3__window--traditional {
    flex: 0 0 auto;
    position: static;
    width: 51px;
    width: 3.1875rem;
    height: 81px;
    height: 5.0625rem;
    margin-top: 23px;
    margin-top: 1.4375rem;
  }

  .jam-s3__comparison-card--traditional .jam-s3__window--traditional {
    width: 50.56px;
    width: 3.16rem;
    height: 81.28px;
    height: 5.08rem;
    max-width: 100%;
  }

  .jam-s3__window--fan {
    top: 164px;
    top: 10.25rem;
    left: 33px;
    left: 2.0625rem;
    width: 95px;
    width: 5.9375rem;
    height: 63px;
    height: 3.9375rem;
  }

  .jam-s3__comparison-heading {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-copy {
    width: 215px;
    width: 13.4375rem;
    margin-top: 0;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-heading {
    color: #131313;
    font-size: 22.977px;
    font-size: 1.4360625rem;
    line-height: 1;
    letter-spacing: 2.298px;
    letter-spacing: 0.143625rem;
    text-align: left;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-heading {
    top: 111px;
    top: 6.9375rem;
    left: 143px;
    left: 8.9375rem;
    color: #cd0f12;
    font-size: 25.66px;
    font-size: 1.60375rem;
    line-height: 1.4;
    letter-spacing: 2.566px;
    letter-spacing: 0.160375rem;
    background-image: linear-gradient(133deg, #ff4d00 14.914%, #d40019 110.19%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
  }

  .jam-s3__comparison-flow {
    margin: 0;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
    white-space: nowrap;
  }

  .jam-s3__comparison-flow-red {
    color: #ef2f0a;
  }

  .jam-s3__comparison-flow-blue {
    color: #1151bf;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-flow {
    margin: 0;
    margin-top: 8px;
    margin-top: 0.5rem;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-flow {
    top: 192px;
    top: 12rem;
    left: 143px;
    left: 8.9375rem;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
  }

  .jam-s3__comparison-line {
    height: 1px;
    height: 0.0625rem;
    background-color: rgba(19, 19, 19, 0.32);
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-line {
    position: static;
    width: 308px;
    width: 19.25rem;
    margin-top: 0;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-line {
    top: 307px;
    top: 19.1875rem;
    left: 29px;
    left: 1.8125rem;
    width: 324px;
    width: 20.25rem;
  }

  .jam-s3__stats {
    margin: 0;
    padding: 0;
  }

  .jam-s3__stat {
    display: flex;
    align-items: center;
    margin: 0;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    white-space: nowrap;
  }

  .jam-s3__stats--traditional {
    position: static;
    margin-top: 16px;
    margin-top: 1rem;
    margin-left: 24px;
    margin-left: 1.5rem;
  }

  .jam-s3__comparison-card--traditional .jam-s3__stats--traditional {
    margin-top: 16.52px;
    margin-top: 1.0325rem;
  }

  .jam-s3__stats--fan {
    top: 328px;
    top: 20.5rem;
    left: 42px;
    left: 2.625rem;
  }

  .jam-s3__stats--traditional .jam-s3__stat {
    min-height: 34px;
    min-height: 2.125rem;
    font-size: 18.993px;
    font-size: 1.1870625rem;
    line-height: 1.8;
    letter-spacing: 3.799px;
    letter-spacing: 0.2374375rem;
  }

  .jam-s3__stats--fan .jam-s3__stat {
    min-height: 39px;
    min-height: 2.4375rem;
    font-size: 21.311px;
    font-size: 1.3319375rem;
    line-height: 1.8;
    letter-spacing: 4.262px;
    letter-spacing: 0.266375rem;
  }

  .jam-s3__stats--traditional .jam-s3__stat-icon {
    width: 20px;
    width: 1.25rem;
    height: 20px;
    height: 1.25rem;
    margin-right: 8px;
    margin-right: 0.5rem;
  }

  .jam-s3__stats--fan .jam-s3__stat-icon {
    width: 23px;
    width: 1.4375rem;
    height: 23px;
    height: 1.4375rem;
    margin-right: 6px;
    margin-right: 0.375rem;
  }

  .jam-s3__stat-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s3__stat-text {
    display: block;
  }

  .jam-s3__stat-accent {
    color: #00ba00;
  }

  .jam-s3__quote {
    left: 0;
    width: 100%;
    margin: 0;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
    transform: none;
  }

  .jam-s3__comparison-card--traditional .jam-s3__quote {
    position: static;
    width: 100%;
    margin-top: 17px;
    margin-top: 1.0625rem;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 2.8px;
    letter-spacing: 0.175rem;
  }

  .jam-s3__comparison-card--fan .jam-s3__quote {
    top: 464px;
    top: 29rem;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 1.5;
    letter-spacing: 3.4px;
    letter-spacing: 0.2125rem;
  }

  .jam-s3__source-list {
    margin: 0;
    padding: 0;
  }

  .jam-s3__comparison-card--traditional .jam-s3__source-list {
    position: static;
    margin-top: 15px;
    margin-top: 0.9375rem;
    margin-left: 6px;
    margin-left: 0.375rem;
  }

  .jam-s3__source-item {
    margin: 0 0 0px;
    margin: 0 0 0rem;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 8px;
    font-size: 0.5rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.4px;
    letter-spacing: 0.025rem;
    white-space: nowrap;
  }

  .jam-s3__source-item a {
    color: inherit;
    text-decoration: underline;
    text-underline-position: from-font;
  }

  .jam-s3__source-text {
    top: 521px;
    top: 32.5625rem;
    left: 87px;
    left: 5.4375rem;
    margin: 0;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 11px;
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 2.2px;
    letter-spacing: 0.1375rem;
    white-space: nowrap;
  }

  .jam-s3__source-text a {
    color: inherit;
    text-decoration: underline;
    text-underline-position: from-font;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24.52px;
    margin-bottom: 1.5325rem;
  }

  .jam-s3__comparison-card--fan {
    display: block;
    position: static;
    padding: 31.74px 27px 0;
    padding: 1.98375rem 1.6875rem 0;
    border-width: 3px;
    border-width: 0.1875rem;
    border-style: solid;
    box-sizing: border-box;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-label {
    display: flex;
    align-items: center;
    justify-content: center;
    position: static;
    width: 282.528px;
    width: 17.658rem;
    height: 50.112px;
    height: 3.132rem;
    margin: 0 auto 26.14px;
    margin: 0 auto 1.63375rem;
    border-radius: 8.64px;
    border-radius: 0.54rem;
    padding-bottom: 2px;
    padding-bottom: 0.125rem;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-lead {
    display: flex;
    align-items: flex-start;
    column-gap: 15px;
    column-gap: 0.9375rem;
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
    margin-left: 3px;
    margin-left: 0.1875rem;
  }

  .jam-s3__comparison-card--fan .jam-s3__window--fan {
    flex: 0 0 auto;
    position: static;
    width: 95px;
    width: 5.9375rem;
    height: 63px;
    height: 3.9375rem;
    margin-top: 53.23px;
    margin-top: 3.326875rem;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-copy {
    width: 210px;
    width: 13.125rem;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-heading {
    position: static;
    margin-bottom: 9px;
    margin-bottom: 0.5625rem;
    text-align: left;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-flow {
    position: static;
    margin: 0;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-line {
    position: static;
    margin: 0 auto 19.6px;
    margin: 0 auto 1.225rem;
  }

  .jam-s3__comparison-card--fan .jam-s3__stats--fan {
    position: static;
    width: max-content;
    margin: 0 auto 20px;
    margin: 0 auto 1.25rem;
  }

  .jam-s3__comparison-card--fan .jam-s3__quote {
    margin-bottom: 4.8px;
    margin-bottom: 0.3rem;
    transform: none;
  }

  .jam-s3__comparison-card--fan .jam-s3__source-text {
    position: static;
    margin: 0;
    text-align: center;
  }

  .jam-s3__people {
    top: 1187.2px;
    top: 74.2rem;
    left: -1px;
    left: -0.0625rem;
    z-index: 2;
    width: 405px;
    width: 25.3125rem;
    height: 306px;
    height: 19.125rem;
  }

  .jam-s3__people picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s3__people img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s3__camera {
    top: 1496.6px;
    top: 92.5375rem;
    left: -222px;
    left: -13.875rem;
    z-index: 3;
    width: 306px;
    width: 19.125rem;
    height: 112px;
    height: 7rem;
  }

  .jam-s3__camera picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s3__camera img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s3__reel {
    top: 1411.4px;
    top: 88.2125rem;
    right: -58px;
    right: -3.625rem;
    z-index: 3;
    width: 186px;
    width: 11.625rem;
    height: 164px;
    height: 10.25rem;
  }

  .jam-s3__reel picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s3__reel img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* s4 smartphone design */
  .jam-s4 {
    width: 100%;
    margin-top: -40px;
    margin-top: -2.5rem;
    overflow: hidden;
    color: #ffffff;
    background-image: url("../img/s4-background-layer-sp.webp");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

  .jam-s4 .jam-s4__bg {
    display: none;
  }

  .jam-s4 .jam-s4__inner {
    padding-top: 6.94px;
    padding-top: 0.43375rem;
    padding-top: 0;
    padding-bottom: 43px;
    padding-bottom: 2.6875rem;
  }

  .jam-s4 picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s4 img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s4 .jam-s4__logo {
    width: 150.334px;
    width: 9.395875rem;
    height: 31.512px;
    height: 1.9695rem;
    margin-inline: auto;
    margin-bottom: 36.55px;
    margin-bottom: 2.284375rem;
  }

  .jam-s4 .jam-s4__logo img {
    object-fit: contain;
  }

  .jam-s4 .jam-s4__ttl {
    margin-bottom: 32.11px;
    margin-bottom: 2.006875rem;
    font-size: 25.592px;
    font-size: 1.5995rem;
    letter-spacing: 5.1185px;
    letter-spacing: 0.31990625rem;
  }

  .jam-s4 .jam-s4__programs {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    margin-bottom: 66.7px;
    margin-bottom: 4.16875rem;
    row-gap: 35.5px;
    row-gap: 2.21875rem;
    column-gap: 0;
  }

  .jam-s4 .jam-s4__program {
    flex: none;
    width: 369.333px;
    width: 23.0833125rem;
    max-width: 100%;
    min-width: 0;
    padding-bottom: 14px;
    padding-bottom: 0.875rem;
  }

  .jam-s4 .jam-s4__video {
    width: 369.333px;
    width: 23.0833125rem;
    max-width: 100%;
    height: 258.667px;
    height: 16.1666875rem;
    margin-bottom: 15.1px;
    margin-bottom: 0.94375rem;
    aspect-ratio: auto;
  }

  .jam-s4 .jam-s4__video img {
    object-fit: contain;
  }

  .jam-s4 .jam-s4__phone-row {
    position: relative;
    display: flex;
    gap: 10.03px;
    gap: 0.626875rem;
    width: fit-content;
    margin-inline: auto;
  }

  .jam-s4 .jam-s4__phone {
    flex: 0 0 auto;
    width: 62.694px;
    width: 3.918375rem;
    height: 116.697px;
    height: 7.2935625rem;
  }

  .jam-s4 .jam-s4__phone img {
    object-fit: contain;
  }

  .jam-s4 .jam-s4__sns-label {
    position: absolute;
    right: -27.5px;
    right: -1.71875rem;
    bottom: -14px;
    bottom: -0.875rem;
    width: 130.667px;
    width: 8.1666875rem;
    height: 45px;
    height: 2.8125rem;
  }

  .jam-s4 .jam-s4__sns-label img {
    object-fit: contain;
  }

  .jam-s4 .jam-s4__points {
    display: flex;
    flex-direction: column;
    width: 342px;
    width: 21.375rem;
    max-width: 100%;
    margin-inline: auto;
    margin-bottom: 62.8px;
    margin-bottom: 3.925rem;
    row-gap: 0;
    column-gap: 0;
  }

  .jam-s4 .jam-s4__point {
    flex: none;
    min-height: 0;
    padding-bottom: 0;
    border-bottom: 0;
  }

  .jam-s4 .jam-s4__point:first-child {
    margin-bottom: 46.65px;
    margin-bottom: 2.915625rem;
  }

  .jam-s4 .jam-s4__point:nth-child(2) {
    margin-bottom: 38.65px;
    margin-bottom: 2.415625rem;
  }

  .jam-s4 .jam-s4__point-head {
    display: flex;
    align-items: center;
    gap: 20px;
    gap: 1.25rem;
    margin-bottom: 18.05px;
    margin-bottom: 1.128125rem;
  }

  .jam-s4 .jam-s4__point-label {
    flex: 0 0 auto;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12.141px;
    font-size: 0.7588125rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 2.4282px;
    letter-spacing: 0.1517625rem;
    white-space: nowrap;
  }

  .jam-s4 .jam-s4__point-line {
    flex: 1 1 auto;
    height: 1px;
    height: 0.0625rem;
    background-color: #ffffff;
  }

  .jam-s4 .jam-s4__point-title {
    margin-bottom: 8.35px;
    margin-bottom: 0.521875rem;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 23px;
    font-size: 1.4375rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3.45px;
    letter-spacing: 0.215625rem;
    white-space: nowrap;
  }

  .jam-s4 .jam-s4__point:first-child .jam-s4__point-title {
    letter-spacing: 2.3px;
    letter-spacing: 0.14375rem;
  }

  .jam-s4 .jam-s4__point-text {
    width: 333px;
    width: 20.8125rem;
    max-width: 100%;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.6;
  }

  .jam-s4 .jam-s4__note {
    position: relative;
    width: 330px;
    width: 20.625rem;
    margin-inline: auto;
    margin-bottom: 36px;
    margin-bottom: 2.25rem;
    padding: 32.37px 6px 29px;
    padding: 2.023125rem 0.375rem 1.8125rem;
  }

  .jam-s4 .jam-s4__note-icon {
    position: absolute;
    top: -28px;
    top: -1.75rem;
    left: 50%;
    width: 53.333px;
    width: 3.3333125rem;
    height: 53.12px;
    height: 3.32rem;
    transform: translateX(-50%);
  }

  .jam-s4 .jam-s4__note-icon img {
    object-fit: contain;
  }

  .jam-s4 .jam-s4__note-text {
    width: 346px;
    width: 21.625rem;
    max-width: 100%;
    margin-inline: auto;
    margin-bottom: 0;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12.96px;
    font-size: 0.81rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.1em;
    white-space: normal;
  }

  .jam-s4 .jam-s4__note-text:first-of-type {
    margin-bottom: 6px;
    margin-bottom: 0.375rem;
  }

  .jam-s4 .jam-s4__note-text:nth-of-type(2) {
    margin-bottom: 5px;
    margin-bottom: 0.3125rem;
  }

  .jam-s4 .jam-s4__note-highlight {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 229px;
    width: 14.3125rem;
    min-height: 34px;
    min-height: 2.125rem;
    padding: 0;
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.1em;
    background-color: #131313;
    padding-inline: 14.56px 0;
    padding-inline: 0.91rem 0;
    margin-left: 6px;
    margin-left: 0.375rem;
  }

  .jam-s4 .jam-s__cta {
    width: 345px;
    width: 21.5625rem;
    margin-inline: auto;
  }

  .jam-s4 .jam-s__cta-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4.25px;
    gap: 0.265625rem;
  }

  .jam-s4 .jam-s__cta-link {
    display: block;
    width: 100%;
  }

  .jam-s4 .jam-s__cta-link--trial {
    flex: none;
  }

  .jam-s4 .jam-s__cta-link--phone {
    flex: none;
  }

  .jam-s4 .jam-s__cta-image {
    width: 100%;
  }

  /* s5 smartphone design */
  .jam-s5 {
    padding: 0;
    overflow: hidden;
    background-color: #e5011c;
    background-image: url("../img/s5-background-layer-sp.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
  }

  .jam-s5__bg {
    display: none;
  }

  .jam-s5__inner {
    width: 396px;
    width: 24.75rem;
    padding-top: 38.04px;
    padding-top: 2.3775rem;
    padding-bottom: 31.6px;
    padding-bottom: 1.975rem;
  }

  .jam-s5__intro {
    margin-bottom: 32px;
    margin-bottom: 2rem;
  }

  .jam-s5__bg-word {
    top: -42.04px;
    top: -2.6275rem;
    font-size: 46.39px;
    font-size: 2.899375rem;
    line-height: 1.2;
    letter-spacing: 4.639px;
    letter-spacing: 0.2899375rem;
    left: 51.1%;
  }

  .jam-s5__ttl {
    margin-bottom: 16px;
    margin-bottom: 1rem;
  }

  .jam-s5__ttl-main {
    display: block;
    width: fit-content;
    margin-inline: auto;
    font-size: 46.46px;
    font-size: 2.90375rem;
    line-height: 1.4;
    letter-spacing: 4.646px;
    letter-spacing: 0.290375rem;
  }

  .jam-s5__ttl-main span {
    letter-spacing: 6.04px;
    letter-spacing: 0.3775rem;
  }

  .jam-s5__ttl-sub {
    display: block;
    margin-left: 0;
    font-size: 37.513px;
    font-size: 2.3445625rem;
    line-height: 1.4;
    letter-spacing: 7.5025px;
    letter-spacing: 0.46890625rem;
    color: #fff;
  }

  .jam-s5__lead {
    margin-inline: auto;
    color: #ffffff;
    font-size: 17.698px;
    font-size: 1.106125rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }

  .jam-s5__staff {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 362px;
    width: 22.625rem;
    max-width: calc(100% - 34px);
    margin: 0 0 75px 23px;
    margin: 0 0 4.6875rem 1.4375rem;
    gap: 23px;
    gap: 1.4375rem;
  }

  .jam-s5__staff-card {
    display: grid;
    grid-template-columns: 7.125rem minmax(0, 1fr);
    width: 341px;
    width: 21.3125rem;
    min-height: 14.25rem;
    overflow: visible;
    background-color: #ffffff;
  }

  .jam-s5__staff-card--expanded {
    min-height: 560px;
    min-height: 35rem;
  }

  .jam-s5__staff-card--tanaka {
    grid-template-columns: 7.125rem minmax(0, 1fr);
  }

  .jam-s5__staff-card--tanaka.jam-s5__staff-card--expanded {
    min-height: 580px;
    min-height: 36.25rem;
  }

  .jam-s5__staff-image {
    grid-column: 1 / 2;
    grid-row: 1;
    align-self: end;
    width: 199px;
    width: 12.4375rem;
    height: 228px;
    height: 14.25rem;
    overflow: hidden;
  }

  .jam-s5__staff-card--expanded .jam-s5__staff-image {
    height: 228px;
    height: 14.25rem;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-image {
    width: 199px;
    width: 12.4375rem;
    height: 228px;
    height: 14.25rem;
  }

  .jam-s5__staff-body {
    grid-column: 2 / 3;
    grid-row: 1;
    padding-top: 25px;
    padding-top: 1.5625rem;
    padding-right: 10px;
    padding-right: 0.625rem;
    padding-bottom: 0;
  }

  .jam-s5__staff-tag {
    min-height: 20px;
    min-height: 1.25rem;
    margin-bottom: 6.6px;
    margin-bottom: 0.4125rem;
    padding-inline: 6.36px;
    padding-inline: 0.3975rem;
    padding-bottom: 1px;
    padding-bottom: 0.0625rem;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 3.08px;
    letter-spacing: 0.1925rem;
  }

  .jam-s5__staff-card--riku .jam-s5__staff-tag {
    width: 180px;
    width: 11.25rem;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-tag {
    width: 163px;
    width: 10.1875rem;
  }

  .jam-s5__staff-name {
    margin-bottom: 0;
    font-size: 23.77px;
    font-size: 1.485625rem;
    line-height: 1.4;
    letter-spacing: 9.5078px;
    letter-spacing: 0.5942375rem;
  }

  .jam-s5__staff-role {
    margin-bottom: 19px;
    margin-bottom: 1.1875rem;
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.4;
    letter-spacing: 1.3px;
    letter-spacing: 0.08125rem;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-role {
    margin-bottom: 12px;
    margin-bottom: 0.75rem;
  }

  .jam-s5__staff-copy {
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.6;
    letter-spacing: 0.65px;
    letter-spacing: 0.040625rem;
  }

  .jam-s5__staff-card--riku .jam-s5__staff-copy {
    margin-left: 26px;
    margin-left: 1.625rem;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-copy {
    margin-left: 26px;
    margin-left: 1.625rem;
  }

  .jam-s5__staff-button {
    width: 123.061px;
    width: 7.6913125rem;
    min-width: 0;
    min-height: 36.44px;
    min-height: 2.2775rem;
    margin-top: 8.6px;
    margin-top: 0.5375rem;
    margin-left: 24.74px;
    margin-left: 1.54625rem;
    font-size: 11.332px;
    font-size: 0.70825rem;
    line-height: 1.6;
    letter-spacing: 1.1332px;
    letter-spacing: 0.070825rem;
    border-width: 1.792px;
    border-width: 0.112rem;
    border-radius: 4.779px;
    border-radius: 0.2986875rem;
    box-shadow: 0 1.792px 0 0 #000000;
    box-shadow: 0 0.112rem 0 0 #000000;
  }

  .jam-s5__staff-more {
    position: relative;
    top: auto;
    right: auto;
    grid-column: 2 / 3;
    grid-row: 1;
    align-self: end;
    justify-self: end;
    min-width: 54px;
    min-height: 16px;
    min-height: 1rem;
    margin: 0 12px 9px 0;
    margin: 0 0.75rem 0.5625rem 0;
    padding: 0;
    font-size: 10px;
    font-size: 0.625rem;
    line-height: 1.6;
    letter-spacing: 1px;
    letter-spacing: 0.0625rem;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-more {
    top: auto;
    right: auto;
  }

  .jam-s5__staff-card--expanded .jam-s5__staff-more {
    right: auto;
    bottom: auto;
    transform: none;
  }

  .jam-s5__staff-detail {
    position: static;
    grid-column: 1 / 3;
    grid-row: 2;
    width: auto;
    min-height: 0;
    margin: 14px 14px 7px;
    margin: 0.875rem 0.875rem 0.4375rem;
    padding: 20px 16px;
    padding: 1.25rem 1rem;
    border-radius: 10px;
    border-radius: 0.625rem;
    margin-top: -10px;
    margin-top: -0.625rem;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-detail {
    min-height: 0;
  }

  .jam-s5__staff-detail-item {
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
  }

  .jam-s5__staff-detail-title {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.4;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
    white-space: normal;
  }

  .jam-s5__staff-detail-text {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.6px;
    letter-spacing: 0.0375rem;
  }

  .jam-s5__staff-en {
    top: 3.88px;
    top: 0.2425rem;
    right: -21px;
    right: -1.3125rem;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.4;
    letter-spacing: 4.8px;
    letter-spacing: 0.3rem;
  }

  .jam-s5__channels {
    margin-bottom: 55px;
    margin-bottom: 3.4375rem;
  }

  .jam-s5__channels-title {
    position: relative;
    width: 100%;
    margin-bottom: 0;
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: 27.417px;
    font-size: 1.7135625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    /* 38.384px */
    letter-spacing: 0;
  }

  .jam-s5__channels-title-sp {
    display: block;
    color: #ffffff;
    font-family: "Noto Serif JP";
    font-size: 23.196px;
    font-size: 1.44975rem;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
    /* 32.475px */
    letter-spacing: 9.439px;
    letter-spacing: 0.5899375rem;
    writing-mode: vertical-rl;
    margin-inline: auto;
    width: fit-content;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: -6px;
    margin-bottom: -0.375rem;
  }

  .jam-s5__channels-title-zen {
    font-size: 45.817px;
    font-size: 2.8635625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    /* 64.144px */
    letter-spacing: 9.163px;
    letter-spacing: 0.5726875rem;
  }

  .jam-s5__channels-title-nine {
    font-size: 82.681px;
    font-size: 5.1675625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    /* 115.754px */
    letter-spacing: 16.536px;
    letter-spacing: 1.0335rem;
    vertical-align: -0.07em;
    margin-inline: -7px -14px;
    margin-inline: -0.4375rem -0.875rem;
  }

  .jam-s5__channels-panel {
    width: 396px;
    width: 24.75rem;
    max-width: 100%;
    min-height: 656px;
    min-height: 32.2025rem;
    margin-inline: auto;
    padding: 58px 0 0;
    padding: 3.625rem 0 0;
    background-image: url("../img/s5-channels-panel-bg-sp.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 396px 656px;
    background-size: 24.75rem 100%;
  }

  .jam-s5__channel-list {
    width: 285.62px;
    width: 17.85125rem;
    max-width: none;
    margin-left: 54.9px;
    margin-left: 3.43125rem;
  }

  .jam-s5__channel-item {
    grid-template-columns: 74.7px minmax(0, 1fr);
    grid-template-columns: 4.66875rem minmax(0, 1fr);
    grid-template-rows: 17.1px 17.1px;
    grid-template-rows: 0.96rem 0.96rem;
    min-height: 30.78px;
    min-height: 1.92375rem;
    margin-bottom: 0.875rem;
  }

  .jam-s5__channel-num {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    padding-left: 16.44px;
    padding-left: 1.2275rem;
    font-size: 18.9px;
    font-size: 1.18125rem;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    /* 18.9px */
    letter-spacing: 3.78px;
    letter-spacing: 0.23625rem;
  }

  .jam-s5__channel-name {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    padding-left: 18.91px;
    padding-left: 1.181875rem;
    font-size: 12.96px;
    font-size: 0.81rem;
    line-height: 1;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }

  .jam-s5__channel-desc {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    padding-left: 18.91px;
    padding-left: 1.181875rem;
    font-size: 11.34px;
    font-size: 0.70875rem;
    line-height: 1;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }

  .jam-s5__ranking {
    width: 340px;
    width: 21.25rem;
    max-width: none;
    margin-bottom: 79px;
    margin-bottom: 4.9375rem;
  }

  .jam-s5__ranking-crown {
    width: 23.328px;
    width: 1.458rem;
    height: 16.353px;
    height: 1.0220625rem;
    margin-bottom: 9.65px;
    margin-bottom: 0.603125rem;
  }

  .jam-s5__ranking-title {
    margin-bottom: 7.8px;
    margin-bottom: 0.4875rem;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: 4.8px;
    letter-spacing: 0.3rem;
    white-space: nowrap;
  }

  .jam-s5__ranking-sub {
    margin-bottom: 29.2px;
    margin-bottom: 1.825rem;
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1;
    letter-spacing: 3.8px;
    letter-spacing: 0.2375rem;
  }

  .jam-s5__tabs {
    grid-template-columns: repeat(3, 6.625rem);
    gap: 5px;
    gap: 0.3125rem;
  }

  .jam-s5__tab {
    min-height: 50px;
    min-height: 3.125rem;
    font-size: 15px;
    font-size: 0.9375rem;
    letter-spacing: 0.75px;
    letter-spacing: 0.046875rem;
  }

  .jam-s5__rank-table {
    min-height: 380px;
    min-height: 23.75rem;
    border-width: 1px;
    border-width: 0.0625rem;
  }

  .jam-s5__rank-row {
    display: grid;
    grid-template-columns: 73px minmax(0, 1fr);
    grid-template-columns: 4.5625rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    align-items: center;
    min-height: 119.8px;
    min-height: 7.4875rem;
    padding-inline: 27px 14px;
    padding-inline: 1.6875rem 0.875rem;
  }

  .jam-s5__rank-row:nth-child(2) {
    min-height: 118px;
    min-height: 7.375rem;
  }

  .jam-s5__rank-row:nth-child(3) {
    min-height: 141px;
    min-height: 8.8125rem;
  }

  .jam-s5__rank-order {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    align-self: center;
    font-size: 20.26px;
    font-size: 1.26625rem;
    letter-spacing: 4.052px;
    letter-spacing: 0.25325rem;
    transform: translateX(-0.75rem);
  }

  .jam-s5__rank-row:first-child .jam-s5__rank-order::after {
    top: -1px;
    top: -0.0625rem;
    right: 2px;
    right: 0.125rem;
    width: 25.328px;
    width: 1.583rem;
    height: 18.353px;
    height: 1.1470625rem;
  }

  .jam-s5__rank-row:nth-child(2) .jam-s5__rank-order {
    transform: translateX(-0.65rem);
    font-size: 16.615px;
    font-size: 1.0384375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 3.323px;
    letter-spacing: 0.2076875rem;
  }

  .jam-s5__rank-row:nth-child(3) .jam-s5__rank-order {
    transform: translateX(-0.55rem);
    font-size: 13.699px;
    font-size: 0.8561875rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 2.74px;
    letter-spacing: 0.17125rem;
  }

  .jam-s5__rank-order span {
    font-size: 32.653px;
    font-size: 2.0408125rem;
    letter-spacing: 6.531px;
    letter-spacing: 0.4081875rem;
  }

  .jam-s5__rank-row:nth-child(2) .jam-s5__rank-order span {
    font-size: 28.279px;
    font-size: 1.7674375rem;
    letter-spacing: 5.656px;
    letter-spacing: 0.3535rem;
  }

  .jam-s5__rank-row:nth-child(3) .jam-s5__rank-order span {
    font-size: 24.634px;
    font-size: 1.539625rem;
    letter-spacing: 4.927px;
    letter-spacing: 0.3079375rem;
  }

  .jam-s5__rank-channel {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 55.89px;
    width: 3.493125rem;
    min-height: 30.78px;
    min-height: 1.92375rem;
    font-size: 21.013px;
    font-size: 1.3133125rem;
    letter-spacing: 2.1013px;
    letter-spacing: 0.13133125rem;
  }

  .jam-s5__rank-channel img {
    width: 2.2rem;
  }

  .jam-s5__rank-name {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin-left: 65.93px;
    margin-left: 4.120625rem;
    font-size: 15.971px;
    font-size: 0.9981875rem;
    line-height: 1;
    letter-spacing: 0.1em;
  }

  .jam-s5__rank-reason {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    display: block;
    width: 209px;
    width: 13.0625rem;
    min-height: 0;
    margin-top: 10px;
    margin-top: 0.625rem;
    padding-left: 0;
    border-left: 0;
    font-size: 12.6px;
    font-size: 0.7875rem;
    line-height: 1.4;
    letter-spacing: 1.89px;
    letter-spacing: 0.118125rem;
  }

  .jam-s5__bottom-title {
    margin-bottom: 5.4px;
    margin-bottom: 0.3375rem;
    font-size: 23.1px;
    font-size: 1.44375rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    /* 36.96px */
    letter-spacing: 2.31px;
    letter-spacing: 0.144375rem;
  }

  .jam-s5__bottom-text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
  }

  .jam-s5__channel-num {
    display: flex;
    align-items: center;
    height: 34px;
    height: 2.125rem;
    line-height: 0;
  }

  .jam-s5__channel-num-text {
    display: none;
  }

  .jam-s5__channel-num-image {
    display: block;
    width: 33px;
    width: 2.0625rem;
    height: 24px;
    height: 1.1rem;
  }

  .jam-s5__channel-num-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* s5 staff close button position */
  .jam-s5__staff-card--expanded {
    padding-bottom: 20px;
    padding-bottom: 1.25rem;
  }

  .jam-s5__staff-card--expanded .jam-s5__staff-more {
    grid-column: 1 / 3;
    grid-row: 3;
    align-self: start;
    justify-self: center;
    width: fit-content;
    min-width: 54px;
    min-height: 20px;
    min-height: 1.25rem;
    margin: 4px 0 0;
    margin: 0.25rem 0 0;
    text-align: center;
  }

  .jam-studio__inner {
    padding-top: 38.27px;
    padding-top: 2.391875rem;
    padding-bottom: 37.34px;
    padding-bottom: 2.33375rem;
  }

  .jam-studio__heading {
    margin-bottom: 30.78px;
    margin-bottom: 1.92375rem;
  }

  .jam-studio__eyebrow {
    margin-bottom: 11px;
    margin-bottom: 0.6875rem;
    font-size: 21.505px;
    font-size: 1.3440625rem;
    line-height: 1.4;
    letter-spacing: 2.5807px;
    letter-spacing: 0.16129375rem;
  }

  .jam-studio__partner {
    margin-inline: auto;
  }

  .jam-studio__partner-name {
    font-size: 21.955px;
    font-size: 1.3721875rem;
    line-height: 1.4;
    letter-spacing: 2.6347px;
    letter-spacing: 0.16466875rem;
    border-width: 0.9px;
    border-width: 0.05625rem;
    padding: 0.1rem 0.3rem 0.2rem 0.8rem;
  }

  .jam-studio__partner-suffix {
    margin-left: 6.3px;
    margin-left: 0.39375rem;
    font-size: 21.955px;
    font-size: 1.3721875rem;
    letter-spacing: 2.6347px;
    letter-spacing: 0.16466875rem;
  }

  .jam-studio__brand {
    width: fit-content;
    margin-bottom: 12.8px;
    margin-bottom: 0.8rem;
  }

  .jam-studio__brand-body {
    max-width: 100%;
  }

  .jam-studio__brand-body::before {
    right: -1rem;
    width: 99px;
    width: 6.1875rem;
  }

  .jam-studio__brand-body::after {
    left: -1rem;
    width: 99px;
    width: 6.1875rem;
  }

  .jam-studio__brand-name {
    font-size: 27.929px;
    font-size: 1.7455625rem;
    line-height: 1.1;
    letter-spacing: 3.3515px;
    letter-spacing: 0.20946875rem;
  }

  .jam-studio__brand-note {
    font-size: 12.809px;
    font-size: 0.8005625rem;
    line-height: 1.4;
    letter-spacing: 1.5371px;
    letter-spacing: 0.09606875rem;
  }

  .jam-studio__lead {
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
  }

  .jam-studio__lead-main {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.8;
    letter-spacing: 1.28px;
    letter-spacing: 0.08rem;
    margin-bottom: 8.2px;
    margin-bottom: 0.5125rem;
  }

  .jam-studio__lead-text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.8;
    letter-spacing: 1.12px;
    letter-spacing: 0.07rem;
  }

  .jam-studio__gallery {
    width: 100%;
    max-width: none;
    overflow: hidden;
  }

  .jam-studio__track {
    --jam-studio-card-width: 303.12px;
    --jam-studio-card-width: 18.945rem;
    --jam-studio-card-gap: 25.88px;
    --jam-studio-card-gap: 1.6175rem;
    display: flex;
    width: max-content;
    margin-left: 28.89px;
    margin-left: 1.805625rem;
    column-gap: 25.88px;
    column-gap: 1.6175rem;
    animation: jam-studio-loop 24s linear infinite;
    will-change: transform;
  }

  .jam-studio-card {
    flex: 0 0 auto;
    width: 303.12px;
    width: 18.945rem;
  }

  .jam-studio-card--clone {
    display: block;
  }

  .jam-studio-card__photo {
    width: 303.12px;
    width: 18.945rem;
    height: 203.76px;
    height: 12.735rem;
  }

  .jam-studio-card__caption {
    margin-top: 13.62px;
    margin-top: 0.85125rem;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.6;
    letter-spacing: 1.12px;
    letter-spacing: 0.07rem;
  }

  /* s7 smartphone design */
  .jam-s7 {
    width: 100%;
    overflow: hidden;
    color: #131313;
    background-color: #ffffff;
  }

  .jam-s7 .jam-s7__inner {
    width: 415px;
    width: 25.9375rem;
    max-width: 100%;
    min-height: 182.5rem;
    margin-inline: auto;
    padding-top: 0;
    padding-bottom: 32px;
    padding-bottom: 2rem;
    box-sizing: border-box;
  }

  .jam-s7 .jam-s7__intro {
    position: relative;
    margin-bottom: 27px;
    margin-bottom: 1.6875rem;
    padding-top: 64.84px;
    padding-top: 4.0525rem;
    text-align: center;
  }

  .jam-s7 .jam-s7__bg-word {
    top: -2px;
    top: -0.125rem;
    left: 48%;
    font-size: 80.391px;
    font-size: 5.0244375rem;
    line-height: 1.4;
    letter-spacing: 7.2352px;
    letter-spacing: 0.4522rem;
    white-space: nowrap;
    transform: translateX(-50%);
  }

  .jam-s7 .jam-s7__ttl {
    margin: 0 auto 18.16px;
    margin: 0 auto 1.135rem;
    font-size: 37.832px;
    font-size: 2.3645rem;
    line-height: 1.3;
    letter-spacing: 5.6748px;
    letter-spacing: 0.354675rem;
  }

  .jam-s7 .jam-s7__lead {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: 1.6px;
    letter-spacing: 0.1rem;
  }

  .jam-s7 .jam-s7__message {
    width: 381px;
    width: 23.8125rem;
    max-width: 100%;
    margin-bottom: 13px;
    margin-bottom: 0.8125rem;
    border-radius: 8px;
    border-radius: 0.5rem;
    padding-top: 14px;
    padding-top: 0.875rem;
    padding-bottom: 11px;
    padding-bottom: 0.6875rem;
  }

  .jam-s7 .jam-s7__message-text {
    display: block;
    max-width: 100%;
    line-height: 1.6;
  }

  .jam-s7 .jam-s7__message-normal {
    font-size: 20.8px;
    font-size: 1.3rem;
    line-height: 1.6;
    letter-spacing: 4.16px;
    letter-spacing: 0.26rem;
  }

  .jam-s7 .jam-s7__message-normal:first-child {
    display: block;
    margin-bottom: -7px;
    margin-bottom: -0.4375rem;
  }

  .jam-s7 .jam-s7__message-normal:last-child {
    display: inline;
    vertical-align: baseline;
  }

  .jam-s7 .jam-s7__message-key {
    display: inline;
    margin-right: 9px;
    margin-right: 0.5625rem;
    padding-bottom: 0;
    border-bottom: 2px solid #ffffff;
    border-bottom: 0.125rem solid #ffffff;
    font-size: 32.8px;
    font-size: 2.05rem;
    line-height: 1.6;
    letter-spacing: 6.56px;
    letter-spacing: 0.41rem;
    vertical-align: baseline;
  }

  .jam-s7 .jam-s7__description {
    width: 358px;
    width: 22.375rem;
    margin-inline: auto;
    margin-bottom: 35px;
    margin-bottom: 2.1875rem;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
    text-align: left;
  }

  .jam-s7 .jam-s7__psychology {
    display: flex;
    align-items: flex-start;
    width: 395px;
    width: 24.6875rem;
    max-width: 100%;
    height: 168px;
    height: 10.5rem;
    margin: 0 auto 16px;
    margin: 0 auto 1rem;
    column-gap: 9px;
    column-gap: 0.5625rem;
    box-sizing: border-box;
  }

  .jam-s7 .jam-s7__psychology-label {
    flex: 0 0 auto;
    width: 55.92px;
    width: 3.495rem;
    height: 167.76px;
    height: 10.485rem;
  }

  .jam-s7 .jam-s7__psychology-label img {
    width: 100%;
    height: 100%;
    object-fit: fill;
  }

  .jam-s7 .jam-s7__psychology-body {
    flex: 0 0 auto;
    width: 313px;
    width: 19.5625rem;
    min-width: 0;
    border-left: 1px solid #000;
    border-left: 0.0625rem solid #000;
    padding-left: 13px;
    padding-left: 0.8125rem;
    margin-left: -6px;
    margin-left: -0.375rem;
    height: 97%;
  }

  .jam-s7 .jam-s7__psychology-title {
    margin-bottom: 9px;
    margin-bottom: 0.5625rem;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 1.6px;
    letter-spacing: 0.1rem;
    white-space: nowrap;
  }

  .jam-s7 .jam-s7__psychology-tags {
    display: flex;
    flex-wrap: wrap;
    width: 313px;
    width: 19.5625rem;
    column-gap: 8px;
    column-gap: 0.5rem;
    row-gap: 6px;
    row-gap: 0.375rem;
    margin: 0;
    padding: 0;
  }

  .jam-s7 .jam-s7__psychology-tag {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    height: 2.125rem;
    border: 1px solid #131313;
    border: 0.0625rem solid #131313;
    border-radius: 72px;
    border-radius: 4.5rem;
    color: #131313;
    background-color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    box-sizing: border-box;
    white-space: nowrap;
  }

  .jam-s7 .jam-s7__psychology-tag:nth-child(1) {
    width: 132px;
    width: 8.25rem;
  }

  .jam-s7 .jam-s7__psychology-tag:nth-child(2) {
    width: 108px;
    width: 6.75rem;
  }

  .jam-s7 .jam-s7__psychology-tag:nth-child(3) {
    width: 168px;
    width: 10.5rem;
  }

  .jam-s7 .jam-s7__psychology-tag:nth-child(4) {
    width: 137px;
    width: 8.5625rem;
  }

  .jam-s7 .jam-s7__psychology-tag:nth-child(5) {
    width: 132px;
    width: 8.25rem;
  }

  .jam-s7 .jam-s7__psychology-tag:nth-child(6) {
    width: 137px;
    width: 8.5625rem;
  }

  .jam-s7 .jam-s7__panel {
    width: 392px;
    width: 24.5rem;
    margin-bottom: 31px;
    margin-bottom: 1.9375rem;
    margin-inline: auto;
  }

  .jam-s7 .jam-s7__panel picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s7 .jam-s7__panel img {
    width: 100%;
    height: 100%;
    object-fit: fill;
  }

  .jam-s7 .jam-s7__panel-moji {
    display: none;
  }

  .jam-s7 .jam-s7__bottom {
    display: block;
    width: 374px;
    width: 23.375rem;
    max-width: 100%;
    margin-inline: auto;
    padding: 31px 0px 33px;
    padding: 1.9375rem 0rem 2.0625rem;
    border-radius: 10px;
    border-radius: 0.625rem;
    background-color: #d40019;
    background-image: url("../img/bg-noise-red.png");
    background-repeat: repeat;
    background-size: 100px 100px;
    background-size: 6.25rem 6.25rem;
    box-sizing: border-box;
  }

  .jam-s7 .jam-s7__bottom-mark {
    width: 185.36px;
    width: 11.585rem;
    height: 84px;
    height: 5.25rem;
    margin-inline: auto;
    margin-bottom: 21px;
    margin-bottom: 1.3125rem;
  }

  .jam-s7 .jam-s7__bottom-mark img {
    width: 100%;
    height: 100%;
    object-fit: fill;
  }

  .jam-s7 .jam-s7__bottom-body {
    width: 100%;
  }

  .jam-s7 .jam-s7__bottom-title {
    margin: 0 auto 16px;
    margin: 0 auto 1rem;
    font-size: 18.989px;
    font-size: 1.1868125rem;
    line-height: 1.4;
    letter-spacing: 1.8989px;
    letter-spacing: 0.11868125rem;
    transform: translateX(10px);
  }

  .jam-s7 .jam-s7__bottom-text {
    width: 314px;
    width: 19.625rem;
    max-width: 100%;
    margin-inline: auto;
    color: #ffffff;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
    text-align: left;
  }

  /* jam-s8 smartphone design */
  .jam-s8 {
    padding: 11px 11px 14px;
    padding: 0.6875rem 0.6875rem 0.875rem;
    overflow: hidden;
    background-color: #ffffff;
    background-image: none;
  }

  .jam-s8__inner {
    position: relative;
    width: 392px;
    width: 24.5rem;
    max-width: 100%;
    margin-inline: auto;
    padding: 29px 18px 37px;
    padding: 1.8125rem 1.125rem 2.3125rem;
    background-color: #d40019;
    background-image: url("../img/s8-background-layer-sp.webp");
    background-repeat: repeat;
    background-position: center top;
    background-size: 100% 100%;
  }

  .jam-s8__head {
    margin-bottom: 27.6px;
    margin-bottom: 1.725rem;
    text-align: center;
  }

  .jam-s8__ttl {
    margin-bottom: 33.08px;
    margin-bottom: 2.0675rem;
    font-size: 31.358px;
    font-size: 1.959875rem;
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: 0.1em;
  }

  .jam-s8__ttl-line {
    display: block;
    white-space: normal;
  }

  .jam-s8__ttl-line:first-child {
    line-height: 1.4;
    white-space: nowrap;
    font-size: 31.358px;
    font-size: 1.959875rem;
    letter-spacing: 0.1em;
  }

  .jam-s8__ttl-line:nth-child(2) {
    width: 370px;
    width: 23.125rem;
    max-width: 100%;
    margin-inline: auto;
    line-height: 1.28;
  }

  .jam-s8__ttl-num {
    font-size: 46.169px;
    font-size: 2.8855625rem;
    letter-spacing: 0.1em;
  }

  .jam-s8__sub {
    margin-bottom: 11.4px;
    margin-bottom: 0.7125rem;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 2.52px;
    letter-spacing: 0.1575rem;
  }

  .jam-s8__sub::before,
  .jam-s8__sub::after {
    height: 1px;
    height: 0.0625rem;
    width: 58.1px;
    width: 3.63125rem;
  }

  .jam-s8__sub::before {
    left: -55%;
  }

  .jam-s8__sub::after {
    right: -55%;
  }

  .jam-s8__catch {
    font-size: 23px;
    font-size: 1.4375rem;
    letter-spacing: 4.158px;
    letter-spacing: 0.259875rem;
  }

  .jam-s8__usage {
    width: 355px;
    width: 22.1875rem;
    max-width: 100%;
    margin-inline: auto;
    margin-bottom: 34px;
    margin-bottom: 2.125rem;
  }

  .jam-s8__feature-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    gap: 0.5rem;
  }

  .jam-s8__feature-card {
    position: relative;
    display: grid;
    grid-template-columns: 31px 1fr;
    grid-template-columns: 1.9375rem 1fr;
    column-gap: 8px;
    column-gap: 0.5rem;
    width: 355px;
    width: 22.1875rem;
    max-width: 100%;
    height: 196px;
    height: 12.25rem;
    padding: 1px 10px 0 12px;
    padding: 0.0625rem 0.625rem 0 0.75rem;
    overflow: hidden;
    color: #131313;
    background-color: #ffffff;
    box-sizing: border-box;
    flex: none;
  }

  .jam-s8__feature-card--sns {
    align-items: start;
  }

  .jam-s8__feature-card--youtube {
    align-items: start;
  }

  .jam-s8__number {
    display: block;
    width: 31px;
    width: 1.9375rem;
    height: 42px;
    height: 2.625rem;
    margin-right: 0;
  }

  .jam-s8__number img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s8__feature-body {
    position: relative;
    z-index: 2;
    min-width: 0;
    margin-top: 25px;
    margin-top: 1.5625rem;
    padding-top: 0;
  }

  .jam-s8__feature-title {
    display: inline;
    margin-bottom: 0;
    padding-bottom: 0;
    font-size: 23px;
    font-size: 1.4375rem;
    font-weight: 700;
    letter-spacing: 2.3px;
    letter-spacing: 0.14375rem;
    border-bottom: 0;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 7px;
    text-underline-offset: 0.4375rem;
  }

  .jam-s8__feature-text {
    width: 212px;
    width: 13.25rem;
    margin-top: 9px;
    margin-top: 0.5625rem;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
  }

  .jam-s8__feature-text--strong {
    width: auto;
    margin-top: 8px;
    margin-top: 0.5rem;
    color: #665f11;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 3.6px;
    letter-spacing: 0.225rem;
    white-space: nowrap;
  }

  .jam-s8__feature-note {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 201px;
    width: 12.5625rem;
    height: 44px;
    height: 2.75rem;
    margin-top: 7px;
    margin-top: 0.4375rem;
    padding: 0;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 2.8px;
    letter-spacing: 0.175rem;
    background-color: #efefef;
    border-radius: 0 20px 20px 20px;
    border-radius: 0 1.25rem 1.25rem 1.25rem;
    box-sizing: border-box;
    white-space: nowrap;
  }

  .jam-s8__feature-note--strong {
    width: 269px;
    width: 16.8125rem;
    height: 67px;
    height: 4.1875rem;
    margin-top: 5px;
    margin-top: 0.3125rem;
    padding: 0 22px;
    padding: 0 1.375rem;
    color: #ffffff;
    background-color: #8c8103;
    text-align: center;
    white-space: normal;
  }

  .jam-s8__feature-image {
    position: absolute;
  }

  .jam-s8__feature-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s8__feature-image--sns {
    top: 32px;
    top: 2rem;
    right: 10px;
    right: 0.625rem;
    width: 90px;
    width: 5.625rem;
    height: 165px;
    height: 10.3125rem;
  }

  .jam-s8__feature-image--youtube {
    top: 12px;
    top: 0.75rem;
    right: 7px;
    right: 0.4375rem;
    width: 119px;
    width: 7.4375rem;
    height: 107px;
    height: 6.6875rem;
  }

  .jam-s8__card-grid {
    display: grid;
    grid-template-columns: repeat(2, 10.875rem);
    gap: 8px 7px;
    gap: 0.5rem 0.4375rem;
    margin-top: 8px;
    margin-top: 0.5rem;
  }

  .jam-s8__card {
    width: 174px;
    width: 10.875rem;
    height: 159px;
    height: 9.9375rem;
    padding: 2px 10px 0 12px;
    padding: 0.125rem 0.325rem 0 0.95rem;
    color: #131313;
    background-color: #ffffff;
    box-sizing: border-box;
  }

  .jam-s8__card:last-child .jam-s8__card-title {
    letter-spacing: 0;
  }

  .jam-s8__card-title {
    display: block;
    width: fit-content;
    margin-top: 0;
    margin-bottom: 9px;
    margin-bottom: 0.5625rem;
    padding-bottom: 0;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15.419px;
    font-size: 0.9636875rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1.5419px;
    letter-spacing: 0.09636875rem;
    border-bottom: 0;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 4px;
    text-underline-offset: 0.25rem;
    white-space: normal;
  }

  .jam-s8__card-text {
    width: 150px;
    width: 9.375rem;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }

  .jam-s8__message {
    margin-bottom: 43px;
    margin-bottom: 2.6875rem;
  }

  .jam-s8__message-title {
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
    padding-bottom: 8px;
    padding-bottom: 0.5rem;
    font-size: 17px;
    font-size: 1.0625rem;
    letter-spacing: 3.4px;
    letter-spacing: 0.2125rem;
  }

  .jam-s8__message-text {
    margin-inline: auto;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.8;
    letter-spacing: 2.1px;
    letter-spacing: 0.13125rem;
  }

  .jam-s8__tower {
    position: absolute;
    top: 1521px;
    top: 95.0625rem;
    right: -14px;
    right: -0.875rem;
    bottom: auto;
    width: 64px;
    width: 4rem;
    height: 139px;
    height: 8.6875rem;
  }

  .jam-s8__tower img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s8 .jam-s__cta {
    width: 345px;
    width: 21.5625rem;
    max-width: 100%;
    margin-inline: auto;
  }

  .jam-s8 .jam-s__cta-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    gap: 0.3125rem;
    width: 100%;
  }

  .jam-s8 .jam-s__cta-link {
    display: block;
    width: 345px;
    width: 21.5625rem;
    max-width: 100%;
  }

  .jam-s8 .jam-s__cta-link--trial {
    flex: none;
  }

  .jam-s8 .jam-s__cta-link--phone {
    flex: none;
  }

  .jam-s8 .jam-s__cta-image {
    width: 100%;
  }

  .jam-s8 .jam-s__cta-image img {
    display: block;
    width: 100%;
    height: auto;
  }

  .jam-s8 .jam-s__cta-link--trial .jam-s__cta-image img {
    content: url("../img/s4-cta-free-trial-sp.webp");
  }

  .jam-s8 .jam-s__cta-link--phone .jam-s__cta-image img {
    content: url("../img/s4-cta-phone-sp.webp");
  }

  .jam-s8 .jam-cta__text {
    margin: 13px auto 0;
    margin: 0.8125rem auto 0;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.22px;
    letter-spacing: 0.07625rem;
    text-align: center;
  }

  .jam-s8 .jam-cta__text::after {
    content: "初月無料キャンペーン実施中\Aまずは1本、無料で体験ください";
    display: block;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12.2px;
    font-size: 0.7625rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.22px;
    letter-spacing: 0.07625rem;
    text-align: center;
    white-space: pre-line;
  }

  /* s9 smartphone design */
  .jam-s9 {
    overflow: hidden;
    background-color: #f6f6f6;
    background-image: url("../img/s9-background-layer.webp");
    background-repeat: repeat;
    background-position: center top;
    background-size: 1024px 1024px;
    background-size: 64rem 64rem;
  }

  .jam-s9 .jam-s9__inner {
    width: 414px;
    width: 25.875rem;
    max-width: 100%;
    margin-inline: auto;
    padding-top: 76px;
    padding-top: 4.75rem;
    padding-bottom: 60.76px;
    padding-bottom: 3.7975rem;
    overflow: hidden;
    box-sizing: border-box;
  }

  .jam-s9 .jam-s9__inner::before {
    top: 16px;
    top: 1rem;
    font-size: 56px;
    font-size: 3.5rem;
    line-height: 1;
    letter-spacing: 5.04px;
    letter-spacing: 0.315rem;
  }

  .jam-s9 .jam-s9__ttl {
    font-size: 27.44px;
    font-size: 1.715rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }

  .jam-s9 .jam-s9__patterns {
    display: block;
    width: 100%;
    max-width: none;
    margin-top: 36px;
    margin-top: 2.25rem;
    margin-inline: 0;
    overflow: hidden;
    padding-bottom: 6px;
    padding-bottom: 0.375rem;
  }

  .jam-s9 .jam-s9__patterns .swiper-wrapper {
    align-items: flex-start;
  }

  .jam-s9 .jam-s9__pattern-card {
    flex: none;
    width: 320.8px;
    width: 20.05rem;
    height: 380px;
    height: 23.75rem;
    min-height: 23.75rem;
    margin-top: 65.6px;
    margin-top: 4.1rem;
    padding: 0 20.2px 20px;
    padding: 0 1.2625rem 1.25rem;
    border-radius: 14.4px;
    border-radius: 0.9rem;
    box-shadow: 0 0 7.92px 0 rgba(0, 0, 0, 0.11);
    box-shadow: 0 0 0.495rem 0 rgba(0, 0, 0, 0.11);
    box-sizing: border-box;
  }

  .jam-s9 .jam-s9__pattern-head {
    height: auto;
    margin-top: -65.6px;
    margin-top: -4.1rem;
  }

  .jam-s9 .jam-s9__pattern-head img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .jam-s9 .jam-s9__pattern-head--a {
    width: 270px;
    width: 16.875rem;
    margin-left: 5.6px;
    margin-left: 0.35rem;
  }

  .jam-s9 .jam-s9__pattern-head--b {
    width: 286.1px;
    width: 17.88125rem;
    margin-left: -2.6px;
    margin-left: -0.1625rem;
  }

  .jam-s9 .jam-s9__pattern-head--c {
    width: 287.6px;
    width: 17.975rem;
    margin-left: -2.6px;
    margin-left: -0.1625rem;
  }

  .jam-s9 .jam-s9__pattern-body {
    display: grid;
    grid-template-columns: 23.58px minmax(0, 1fr);
    grid-template-columns: 1.47375rem minmax(0, 1fr);
    column-gap: 10.8px;
    column-gap: 0.675rem;
    margin-top: 18.68px;
    margin-top: 1.1675rem;
    margin-left: 13.68px;
    margin-left: 0.855rem;
  }

  .jam-s9 .jam-s9__pattern-body--b {
    grid-template-columns: 20.88px minmax(0, 1fr);
    grid-template-columns: 1.305rem minmax(0, 1fr);
    column-gap: 10.8px;
    column-gap: 0.675rem;
    margin-left: 5.08px;
    margin-left: 0.3175rem;
  }

  .jam-s9 .jam-s9__pattern-body--c {
    grid-template-columns: 20.8px minmax(0, 1fr);
    grid-template-columns: 1.3rem minmax(0, 1fr);
    column-gap: 10.8px;
    column-gap: 0.675rem;
    margin-left: 21.48px;
    margin-left: 1.3425rem;
  }

  .jam-s9 .jam-s9__timeline--a {
    width: 23.58px;
    width: 1.47375rem;
    height: 178.38px;
    height: 11.14875rem;
  }

  .jam-s9 .jam-s9__timeline--b {
    width: 20.88px;
    width: 1.305rem;
    height: 165.6px;
    height: 10.35rem;
  }

  .jam-s9 .jam-s9__flow-title {
    min-height: 45.8px;
    min-height: 2.8625rem;
    color: #131313;
    font-size: 15.264px;
    font-size: 0.954rem;
    line-height: 1.5;
    letter-spacing: 1.526px;
    letter-spacing: 0.095375rem;
    white-space: normal;
  }

  .jam-s9 .jam-s9__flow-note {
    margin-top: 21.68px;
    margin-top: 1.355rem;
    color: #ab880a;
    font-size: 14.544px;
    font-size: 0.909rem;
    line-height: 1.5;
    letter-spacing: 1.454px;
    letter-spacing: 0.090875rem;
    white-space: nowrap;
  }

  .jam-s9 .jam-s9__flow-result {
    margin-top: 19.36px;
    margin-top: 1.21rem;
    color: #131313;
    font-size: 15.264px;
    font-size: 0.954rem;
    line-height: 1.5;
    letter-spacing: 1.526px;
    letter-spacing: 0.095375rem;
    white-space: nowrap;
  }

  .jam-s9 .jam-s9__pattern-body--b .jam-s9__flow-title {
    width: 218px;
    width: 13.625rem;
  }

  .jam-s9 .jam-s9__pattern-body--b .jam-s9__flow-note {
    width: 218px;
    width: 13.625rem;
    white-space: normal;
  }

  .jam-s9 .jam-s9__pattern-body--c .jam-s9__flow-note {
    width: 218px;
    width: 13.625rem;
    margin-top: 12px;
    margin-top: 0.75rem;
    white-space: normal;
  }

  .jam-s9 .jam-s9__pattern-body--c .jam-s9__flow-result {
    margin-top: 6px;
    margin-top: 0.375rem;
  }

  .jam-s9 .jam-s9__fan-label {
    width: 73.4px;
    width: 4.5875rem;
    height: 45.9px;
    height: 2.86875rem;
  }

  .jam-s9 .jam-s9__fan-label--a {
    top: 79.08px;
    top: 4.9425rem;
    right: 10.5px;
    right: 0.65625rem;
  }

  .jam-s9 .jam-s9__fan-label--b {
    top: 78.8px;
    top: 4.925rem;
    right: 8px;
    right: 0.5rem;
  }

  .jam-s9 .jam-s9__fan-label--c {
    top: 70px;
    top: 4.375rem;
    right: 10.5px;
    right: 0.65625rem;
  }

  .jam-s9 .jam-s9__fit-box {
    width: 283.68px;
    width: 17.73rem;
    height: 124.56px;
    height: 7.785rem;
    margin-top: 10.08px;
    margin-top: 0.63rem;
    padding: 13.3px 21.47px 18px;
    padding: 0.83125rem 1.341875rem 1.125rem;
    border-radius: 14.4px;
    border-radius: 0.9rem;
    box-sizing: border-box;
  }

  .jam-s9 .jam-s9__fit-box--a {
    margin-top: 10.08px;
    margin-top: 0.63rem;
  }

  .jam-s9 .jam-s9__fit-label {
    width: max-content;
    margin-bottom: 14.6px;
    margin-bottom: 0.9125rem;
    padding-bottom: 1px;
    padding-bottom: 0.0625rem;
    color: #131313;
    font-size: 14.544px;
    font-size: 0.909rem;
    line-height: 1.5;
    letter-spacing: 1.454px;
    letter-spacing: 0.090875rem;
  }

  .jam-s9 .jam-s9__fit-label--balloon {
    position: relative;
    overflow: visible;
    width: max-content;
    height: auto;
    margin-bottom: 8.8px;
    margin-bottom: 0.55rem;
    padding-bottom: 6.7px;
    padding-bottom: 0.41875rem;
    color: #131313;
    white-space: nowrap;
    background-image: none;
    border-bottom: 0;
  }

  .jam-s9 .jam-s9__fit-label--balloon::after {
    height: 4.54px;
    height: 0.28375rem;
  }

  .jam-s9 .jam-s9__fit-text {
    margin-left: 14.3px;
    margin-left: 0.89375rem;
    color: #131313;
    font-size: 16.704px;
    font-size: 1.044rem;
    line-height: 1.5;
    letter-spacing: 2.506px;
    letter-spacing: 0.156625rem;
    white-space: nowrap;
  }

  .jam-s9 .jam-s9__patterns-pagination {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8px;
    height: 0.5rem;
    margin-top: 20px;
    margin-top: 1.25rem;
    column-gap: 17px;
    column-gap: 1.0625rem;
  }

  .jam-s9 .jam-s9__patterns-pagination .swiper-pagination-bullet {
    width: 8px;
    width: 0.5rem;
    height: 8px;
    height: 0.5rem;
    margin: 0;
    background-color: #d9d9d9;
    opacity: 1;
  }

  .jam-s9 .jam-s9__patterns-pagination .swiper-pagination-bullet-active {
    background-color: #5c5c5c;
  }

  .jam-s9 .jam-s9__plus {
    margin: 41px auto 59.8px;
    margin: 2.5625rem auto 3.7375rem;
  }

  .jam-s9 .jam-s9__plus-title {
    margin-bottom: 12px;
    margin-bottom: 0.75rem;
    font-size: 18.437px;
    font-size: 1.1523125rem;
    line-height: 1.6;
    letter-spacing: 5.598px;
    letter-spacing: 0.349875rem;
    letter-spacing: 0.1em;
  }

  .jam-s9 .jam-s9__plus-text {
    max-width: 100%;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
  }

  .jam-s9 .jam-s9__comparison {
    margin-top: 0;
  }

  .jam-s9 .jam-s9__comparison-title {
    font-size: 17.754px;
    font-size: 1.109625rem;
    letter-spacing: 2.13px;
    letter-spacing: 0.133125rem;
    margin-bottom: 27.2px;
    margin-bottom: 1.7rem;
  }

  .jam-s9__comparison-title::before,
  .jam-s9__comparison-title::after {
    content: "";
    background: #000000;
    height: 1px;
    height: 0.0625rem;
    width: 60.6px;
    width: 3.7875rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .jam-s9__comparison-title::before {
    left: -43%;
  }

  .jam-s9__comparison-title::after {
    right: -43%;
  }

  .jam-s9 .jam-s9__comparison-table {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-left: 12px;
    padding-left: 0.75rem;
    padding-right: 12px;
    padding-right: 0.75rem;
    overflow-x: auto;
    transform: none;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
  }

  .jam-s9 .jam-s9__comparison-table picture {
    display: block;
    width: max-content;
  }

  .jam-s9 .jam-s9__comparison-table img {
    display: block;
    width: 711px;
    width: 44.4375rem;
    max-width: none;
    height: auto;
  }

  .jam-s9 .jam-s9__tv {
    display: none;
  }

  .jam-s9 .scroll-hint-icon {
    top: 44%;
  }

  .jam-s9 .scroll-hint-text {
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0;
  }

  .jam-s10 {
    overflow: hidden;
    padding-top: 52px;
    padding-top: 3.25rem;
    padding-bottom: 69px;
    padding-bottom: 4.3125rem;
  }

  .jam-s10__inner {
    width: 100%;
    margin-inline: auto;
    position: relative;
  }

  .jam-s10__inner::before {
    content: none;
  }

  .jam-s10__inner::after {
    content: none;
  }

  .jam-s10__ttl {
    margin-bottom: 65px;
    margin-bottom: 4.0625rem;
    font-size: 31px;
    font-size: 1.9375rem;
    letter-spacing: 6.2px;
    letter-spacing: 0.3875rem;
  }

  .jam-s10__ttl::before {
    top: -55px;
    top: -3.4375rem;
    left: 50%;
    color: rgba(22, 22, 22, 0.05);
    font-family: "Noto Serif JP", serif;
    font-size: 64px;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 5.76px;
    letter-spacing: 0.36rem;
    transform: translateX(-50%);
  }

  .jam-s10__reasons {
    width: 370px;
    width: 23.125rem;
    margin-inline: auto;
    margin-bottom: 67.83px;
    margin-bottom: 4.239375rem;
  }

  .jam-s10__reason {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    column-gap: 0;
    align-items: stretch;
    z-index: 1;
  }

  .jam-s10__reason::before {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
    width: 253px;
    width: 15.8125rem;
    height: 253px;
    height: 15.8125rem;
    background-image: url("../img/s10-reason-circle-sp.webp");
    background-size: contain;
    border-radius: 50%;
  }

  .jam-s10__reason-01 {
    margin-bottom: 68px;
    margin-bottom: 4.25rem;
  }

  .jam-s10__reason-01::before {
    top: -32px;
    top: -2rem;
    right: -44px;
    right: -2.75rem;
  }

  .jam-s10__reason-02 {
    margin-bottom: 66px;
    margin-bottom: 4.125rem;
  }

  .jam-s10__reason-02::before {
    top: -47px;
    top: -2.9375rem;
    left: -53px;
    left: -3.3125rem;
  }

  .jam-s10__reason-03 {
    margin-bottom: 65px;
    margin-bottom: 4.0625rem;
  }

  .jam-s10__reason-03::before {
    top: -43px;
    top: -2.6875rem;
    right: -42px;
    right: -2.625rem;
  }

  .jam-s10__reason-04 {
    gap: 0;
    margin-bottom: 38px;
    margin-bottom: 2.375rem;
  }

  .jam-s10__reason-04::before {
    top: -43px;
    top: -2.6875rem;
    left: -46px;
    left: -2.875rem;
  }

  .jam-s10__reason-content {
    order: 2;
    width: 357px;
    width: 22.3125rem;
    max-width: 100%;
    margin-inline: auto;
  }

  .jam-s10__reason-image {
    order: 1;
    width: 370px;
    width: 23.125rem;
    max-width: 100%;
    overflow: hidden;
    border-radius: 15px;
    border-radius: 0.9375rem;
    aspect-ratio: 369.84 / 224.45;
    margin-bottom: 22.5px;
    margin-bottom: 1.40625rem;
  }

  .jam-s10__reason-01 .jam-s10__reason-image {
    border-radius: 10px;
    border-radius: 0.625rem;
  }

  .jam-s10__reason-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .jam-s10__reason-number {
    width: 48px;
    width: 3rem;
    height: auto;
    margin-bottom: 0;
    position: absolute;
  }

  .jam-s10__reason-01 .jam-s10__reason-number {
    bottom: 173px;
    bottom: 10.8125rem;
    left: -13px;
    left: -0.8125rem;
  }

  .jam-s10__reason-02 .jam-s10__reason-number {
    bottom: 199px;
    bottom: 12.4375rem;
    right: -5px;
    right: -0.3125rem;
  }

  .jam-s10__reason-03 .jam-s10__reason-number {
    bottom: 201px;
    bottom: 12.5625rem;
    left: -13px;
    left: -0.8125rem;
  }

  .jam-s10__reason-04 .jam-s10__reason-number {
    bottom: 173px;
    bottom: 10.8125rem;
    right: 7px;
    right: 0.4375rem;
  }

  .jam-s10__reason-number img {
    display: block;
    width: 100%;
    height: auto;
  }

  .jam-s10__reason-title {
    margin-bottom: 8px;
    margin-bottom: 0.5rem;
    font-size: 25px;
    font-size: 1.5625rem;
    font-weight: 700;
    letter-spacing: 5px;
    letter-spacing: 0.3125rem;
    letter-spacing: 0.1em;
  }

  .jam-s10__reason-label {
    margin-bottom: 12px;
    margin-bottom: 0.75rem;
    padding: 1px 6px 3px;
    padding: 0.0625rem 0.375rem 0.1875rem;
    font-size: 15.07px;
    font-size: 0.941875rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 1.507px;
    letter-spacing: 0.0941875rem;
    width: 316px;
    width: 19.75rem;
  }

  .jam-s10__reason-text {
    max-width: 100%;
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
  }

  .jam-s10__connection {
    position: relative;
    z-index: 1;
    width: 100%;
    text-align: center;
  }

  .jam-s10__connection-label {
    width: 241px;
    width: 15.0625rem;
    height: 45.8px;
    height: 2.8625rem;
    margin-inline: auto;
    margin-bottom: 4.34px;
    margin-bottom: 0.27125rem;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 17.692px;
    font-size: 1.10575rem;
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: 3.545px;
    letter-spacing: 0.2215625rem;
    background-image: url("../img/s10-connection-label-bg-sp.webp");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

  .jam-s10__connection-title {
    font-size: 31.98px;
    font-size: 1.99875rem;
    letter-spacing: 7.796px;
    letter-spacing: 0.48725rem;
    letter-spacing: 0.1em;
  }

  .jam-s10__connection-cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 50.6px;
    margin-top: 3.1625rem;
    margin-inline: auto;
    row-gap: 12px;
    row-gap: 0.75rem;
    margin-bottom: 32px;
    margin-bottom: 2rem;
  }

  .jam-s10__connection-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 388px;
    width: 24.25rem;
    max-width: calc(100% - 26px);
    min-width: 0;
  }

  .jam-s10__connection-head {
    width: 100%;
    margin-left: 0;
  }

  .jam-s10__connection-image--employee {
    width: 354px;
    width: 22.125rem;
    height: 106.39px;
    height: 6.649375rem;
    margin-left: 21px;
    margin-left: 1.3125rem;
  }

  .jam-s10__connection-image--president {
    width: 358.31px;
    width: 22.394375rem;
    height: 108.53px;
    height: 6.783125rem;
    margin-left: 19px;
    margin-left: 1.1875rem;
  }

  .jam-s10__connection-list {
    width: 364px;
    width: 22.75rem;
    max-width: 100%;
    padding: 36px 13px 37.5px 50px;
    padding: 2.25rem 0.8125rem 2.34375rem 3.125rem;
    text-align: left;
    border: 1px solid #131313;
    border: 0.0625rem solid #131313;
    border-radius: 8px;
    border-radius: 0.5rem;
    box-sizing: border-box;
  }

  .jam-s10__connection-list li {
    position: relative;
    margin-bottom: 21px;
    margin-bottom: 1.3125rem;
    padding-left: 0;
    color: #131313;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12.964px;
    font-size: 0.81025rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }

  .jam-s10__connection-list li::before {
    content: "";
    position: absolute;
    top: 0;
    left: -28px;
    left: -1.75rem;
    width: 19px;
    width: 1.1875rem;
    height: 17px;
    height: 1.0625rem;
    background-image: url("../img/s10-connection-list-check.webp");
    background-repeat: no-repeat;
    background-size: contain;
  }

  .jam-s10__connection-list li:last-child {
    margin-bottom: 0;
  }

  .jam-s10__connection-result {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    gap: 0.625rem;
    margin-top: 11px;
    margin-top: 0.6875rem;
    white-space: nowrap;
    font-size: 21.029px;
    font-size: 1.3143125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    /* 25.235px */
    letter-spacing: 2.103px;
    letter-spacing: 0.1314375rem;
  }

  .jam-s10__connection-arrow {
    display: block;
    width: 25px;
    width: 1.5625rem;
    height: 23px;
    height: 1.4375rem;
    margin-top: 2px;
    margin-top: 0.125rem;
  }

  .jam-s10__connection-arrow img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s10__closing {
    margin-inline: auto;
    font-size: 15px;
    font-size: 0.9375rem;
    letter-spacing: 1.5px;
    letter-spacing: 0.09375rem;
    text-align: center;
  }

  .jam-s10__bottom-curve {
    position: absolute;
    top: 2130px;
    top: 133.125rem;
    left: 61.8%;
    z-index: 0;
    width: 856px;
    width: 53.5rem;
    height: 281px;
    height: 17.5625rem;
    transform: translateX(-50%);
  }

  .jam-s10__bottom-curve img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* s11 SP */
  .jam-s11 {
    background-color: #f6f6f6;
  }

  .jam-s11__panel {
    max-width: 100%;
    padding-top: 56px;
    padding-top: 3.5rem;
    padding-bottom: 48.9px;
    padding-bottom: 3.05625rem;
    background-image: url("../img/s11-background-layer-sp.webp");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

  .jam-s11__ttl {
    margin-bottom: 9.8px;
    margin-bottom: 0.6125rem;
    color: #131313;
    font-size: 31px;
    font-size: 1.9375rem;
    letter-spacing: 6.2px;
    letter-spacing: 0.3875rem;
    letter-spacing: 0.1em;
  }

  .jam-s11__lead {
    width: fit-content;
    margin-bottom: 48.6px;
    margin-bottom: 3.0375rem;
    font-size: 14.115px;
    font-size: 0.8821875rem;
    line-height: 2.1;
    letter-spacing: 2.823px;
    letter-spacing: 0.1764375rem;
    border-bottom: 0;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 6px;
    text-underline-offset: 0.375rem;
    text-decoration-skip-ink: none;
  }

  .jam-s11__comparison-image {
    width: 377.981px;
    width: 23.6238125rem;
    max-width: calc(100% - 29px);
    margin-inline: auto;
    margin-bottom: 40.4px;
    margin-bottom: 2.525rem;
    transform: none;
    margin-top: -10px;
    margin-top: -0.625rem;
  }

  .jam-s11__comparison-image picture {
    display: block;
    width: 100%;
    height: auto;
  }

  .jam-s11__comparison-image img {
    display: block;
    width: 100%;
    height: auto;
  }

  .jam-s11__plan {
    width: 376px;
    width: 23.5rem;
    max-width: 100%;
    margin-bottom: 49px;
    margin-bottom: 3.0625rem;
    padding-top: 32px;
    padding-top: 2rem;
    padding-bottom: 42.7px;
    padding-bottom: 2.66875rem;
    border-radius: 30px;
    border-radius: 1.875rem;
  }

  .jam-s11__plan-title {
    margin-bottom: 18.2px;
    margin-bottom: 1.1375rem;
    padding-bottom: 12.4px;
    padding-bottom: 0.775rem;
    font-size: 29.025px;
    font-size: 1.8140625rem;
    letter-spacing: 5.805px;
    letter-spacing: 0.3628125rem;
  }

  .jam-s11__plan-title::after {
    width: 39.424px;
    width: 2.464rem;
    height: 2px;
    height: 0.125rem;
  }

  .jam-s11__plan-text {
    margin-bottom: 9px;
    margin-bottom: 0.5625rem;
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 4.2px;
    letter-spacing: 0.2625rem;
  }

  .jam-s11__plan-note {
    margin-bottom: 30px;
    margin-bottom: 1.875rem;
    font-size: 10px;
    font-size: 0.625rem;
    letter-spacing: 1px;
    letter-spacing: 0.0625rem;
  }

  .jam-s11__price-image {
    width: 319px;
    width: 19.9375rem;
    max-width: 100%;
    margin-inline: auto;
    margin-bottom: 33px;
    margin-bottom: 2.0625rem;
    transform: none;
  }

  .jam-s11__price-image picture {
    display: block;
    width: 100%;
    height: auto;
  }

  .jam-s11__price-image img {
    display: block;
    width: 100%;
    height: auto;
  }

  .jam-s11__button {
    width: 238.592px;
    width: 14.912rem;
    height: 54.272px;
    height: 3.392rem;
    color: #ffffff;
    font-size: 12.943px;
    font-size: 0.8089375rem;
    line-height: 1;
    letter-spacing: 1.941px;
    letter-spacing: 0.1213125rem;
    border-radius: 3.8px;
    border-radius: 0.2375rem;
    box-shadow: 0 3.6px 0 #9b0013;
    box-shadow: 0 0.225rem 0 #9b0013;
  }

  .jam-s11__button::after {
    right: 10.86px;
    right: 0.67875rem;
    width: 7.086px;
    width: 0.442875rem;
    height: 8.42px;
    height: 0.52625rem;
  }

  .jam-s11__campaign {
    width: 358px;
    width: 22.375rem;
    max-width: 100%;
  }

  .jam-s11__campaign-label-text {
    width: 358px;
    width: 22.375rem;
    max-width: 100%;
    height: 32px;
    height: 2rem;
    margin-bottom: 7.9px;
    margin-bottom: 0.49375rem;
    font-size: 16.998px;
    font-size: 1.062375rem;
    letter-spacing: 3.4px;
    letter-spacing: 0.2125rem;
    background: url(../img/s11-campaign-label-sp.webp) no-repeat;
    background-size: 100% 100%;
  }

  .jam-s11__campaign-title {
    margin-bottom: 22.06px;
    margin-bottom: 1.37875rem;
    font-size: 19.456px;
    font-size: 1.216rem;
    letter-spacing: 2.918px;
    letter-spacing: 0.182375rem;
  }

  .jam-s11__campaign-title span {
    font-size: 28.16px;
    font-size: 1.76rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 4.224px;
    letter-spacing: 0.264rem;
  }

  .jam-s11__benefits {
    display: flex;
    flex-direction: column;
    width: 200.206px;
    width: 12.512875rem;
    margin-inline: auto;
    gap: 11.52px;
    gap: 0.72rem;
  }

  .jam-s11__benefit {
    width: 200px;
    width: 12.5rem;
    gap: 15.04px;
    gap: 0.94rem;
    padding-bottom: 5.32px;
    padding-bottom: 0.3325rem;
    border-bottom: 1px solid #131313;
    border-bottom: 0.0625rem solid #131313;
  }

  .jam-s11__benefit:last-child {
    gap: 26px;
    gap: 1.625rem;
  }

  .jam-s11__benefit-icon {
    width: 25.165px;
    width: 1.5728125rem;
    height: 25.165px;
    height: 1.5728125rem;
  }

  .jam-s11__benefit-text {
    color: #131313;
    font-size: 15.2px;
    font-size: 0.95rem;
    line-height: 1.5;
    letter-spacing: 1.52px;
    letter-spacing: 0.095rem;
  }

  .jam-s11__benefit:first-child .jam-s11__benefit-text {
    letter-spacing: 0.304px;
    letter-spacing: 0.019rem;
  }

  /* jam-s12 smartphone design */
  .jam-s12 {
    padding-top: 92px;
    padding-top: 5.75rem;
    padding-bottom: 47.52px;
    padding-bottom: 2.97rem;
  }

  .jam-s12__ribbon {
    top: 145.6px;
    top: 9.1rem;
    width: 100%;
    height: 897px;
    height: 56.0625rem;
  }

  .jam-s12__inner {
    width: 100%;
    margin-inline: auto;
  }

  .jam-s12__ttl {
    margin-bottom: 33px;
    margin-bottom: 2.0625rem;
    font-size: 31px;
    font-size: 1.9375rem;
    letter-spacing: 6.2px;
    letter-spacing: 0.3875rem;
  }

  .jam-s12__ttl::after {
    top: -60px;
    top: -3.75rem;
    color: #161616;
    font-size: 64px;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 5.76px;
    letter-spacing: 0.36rem;
    opacity: 0.05;
  }

  .jam-s12__voice {
    width: 372px;
    width: 23.25rem;
    margin-bottom: 19px;
    margin-bottom: 1.1875rem;
    padding: 16px 0 28px;
    padding: 1rem 0 1.75rem;
    border-width: 4px;
    border-width: 0.25rem;
    border-radius: 30px;
    border-radius: 1.875rem;
  }

  .jam-s12__left-accent {
    top: 0;
    left: 0;
    width: 372px;
    width: 23.25rem;
    height: 347px;
    height: 21.6875rem;
  }

  .jam-s12__left-accent picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s12__left-accent img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s12__body {
    display: block;
  }

  .jam-s12__profile {
    width: 100%;
    max-width: 100%;
  }

  .jam-s12__photo {
    width: 320.389px;
    width: 20.0243125rem;
    height: 212.825px;
    height: 13.3015625rem;
    margin-inline: auto;
    margin-bottom: 9.4px;
    margin-bottom: 0.5875rem;
    overflow: hidden;
  }

  .jam-s12__person {
    width: 316px;
    width: 19.75rem;
    margin: 0 auto 29px;
    margin: 0 auto 1.8125rem;
    font-size: 12px;
    font-size: 0.75rem;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
    letter-spacing: 0.1em;
  }

  .jam-s12__content {
    width: 317px;
    width: 19.8125rem;
    margin-inline: auto;
  }

  .jam-s12__logo {
    width: 144.77px;
    width: 9.048125rem;
    margin-bottom: 14.5px;
    margin-bottom: 0.90625rem;
  }

  .jam-s12__company {
    margin-bottom: 11px;
    margin-bottom: 0.6875rem;
    padding-bottom: 11px;
    padding-bottom: 0.6875rem;
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: 2px;
    letter-spacing: 0.125rem;
    white-space: nowrap;
  }

  .jam-s12__company::after {
    width: 326px;
    width: 20.375rem;
    height: 1px;
    height: 0.0625rem;
    background-color: #131313;
  }

  .jam-s12__copy {
    width: 100%;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.85;
    letter-spacing: 1.12px;
    letter-spacing: 0.07rem;
  }

  .jam-s12__copy + .jam-s12__copy {
    margin-top: 0;
  }

  .jam-s12__results {
    display: flex;
    flex-direction: column;
    width: 269px;
    width: 16.8125rem;
    margin-top: 21px;
    margin-top: 1.3125rem;
    margin-left: 34px;
    margin-left: 2.125rem;
    margin-right: 0;
    transform: none;
  }

  .jam-s12__result {
    display: grid;
    grid-template-columns: 67px 1fr;
    grid-template-columns: 4.1875rem 1fr;
    column-gap: 16px;
    column-gap: 1rem;
    align-items: center;
    width: 269px;
    width: 16.8125rem;
    height: 79px;
    height: 4.9375rem;
    padding-top: 0;
    box-sizing: border-box;
  }

  .jam-s12__result:first-child {
    height: 76px;
    height: 4.75rem;
  }

  .jam-s12__result:first-child .jam-s12__result-text {
    transform: translateY(-5px);
  }

  .jam-s12__result:first-child .jam-s12__result-icon {
    transform: translateY(-5px);
  }

  .jam-s12__result + .jam-s12__result {
    border-top: 1px solid #d0d0d0;
    border-top: 0.0625rem solid #d0d0d0;
    border-left: 0;
  }

  .jam-s12__result-text {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 2.8px;
    letter-spacing: 0.175rem;
    text-align: left;
  }

  .jam-s12__result-icon {
    grid-column: 1;
    grid-row: 1;
    width: 65.873px;
    width: 4.1170625rem;
    height: 50.088px;
    height: 3.1305rem;
    margin-top: 0;
    margin-left: 3px;
    margin-left: 0.1875rem;
  }

  .jam-s12__result-icon picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .jam-s12__result-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .jam-s12__result-icon--motivation {
    width: 55.321px;
    width: 3.4575625rem;
    height: 57.353px;
    height: 3.5845625rem;
    margin-top: 0;
    margin-left: 7px;
    margin-left: 0.4375rem;
  }

  .jam-s12__result-icon--engagement {
    width: 66.952px;
    width: 4.1845rem;
    height: 39.667px;
    height: 2.4791875rem;
    margin-top: 0;
    margin-left: 3px;
    margin-left: 0.1875rem;
  }

  .jam-s12__note {
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
  }

  .jam-s13__panel {
    width: 392px;
    width: 24.5rem;
    background-image: url(../img/s13-background-layer-sp.webp);
    background-repeat: no-repeat;
  }

  .jam-s13__inner {
    width: 100%;
    padding-top: 90px;
    padding-top: 5.625rem;
    padding-bottom: 67px;
    padding-bottom: 4.1875rem;
  }

  .jam-s13__ttl {
    margin-bottom: 31px;
    margin-bottom: 1.9375rem;
    font-size: 43.962px;
    font-size: 2.747625rem;
    line-height: 1.4;
    letter-spacing: 18.024px;
    letter-spacing: 1.1265rem;
  }

  .jam-s13__ttl::after {
    top: -54px;
    top: -3.375rem;
    font-size: 64px;
    font-size: 4rem;
    letter-spacing: 6.4px;
    letter-spacing: 0.4rem;
  }

  .jam-s13__ttl em {
    transform: translateX(0px);
  }

  .jam-s13__heading-label {
    width: 294px;
    width: 18.375rem;
    max-width: none;
    height: 46px;
    height: 2.875rem;
    margin-bottom: -2px;
    margin-bottom: -0.125rem;
    padding: 0 29px 12px 30px;
    padding: 0 1.8125rem 0.75rem 1.875rem;
    box-sizing: border-box;
    font-size: 18.241px;
    font-size: 1.1400625rem;
    line-height: 1.4;
    letter-spacing: 3.648px;
    letter-spacing: 0.228rem;
    text-indent: 3.648px;
    text-indent: 0.228rem;
  }

  .jam-s13__flow {
    width: 357px;
    width: 22.3125rem;
    max-width: 100%;
  }

  .jam-s13__step {
    position: relative;
  }

  .jam-s13__step:nth-child(2) {
    margin-top: 26px;
    margin-top: 1.625rem;
  }

  .jam-s13__step:nth-child(3) {
    margin-top: 26px;
    margin-top: 1.625rem;
  }

  .jam-s13__step:nth-child(4) {
    margin-top: 26px;
    margin-top: 1.625rem;
  }

  .jam-s13__step-badge {
    top: -18px;
    top: -1.125rem;
    left: -14px;
    left: -0.875rem;
    width: 58.797px;
    width: 3.6748125rem;
    height: 58.797px;
    height: 3.6748125rem;
  }

  .jam-s13__card {
    width: 357px;
    width: 22.3125rem;
    min-height: 16.25rem;
    padding: 29px 23px 28px 39px;
    padding: 1.8125rem 1.4375rem 1.75rem 2.4375rem;
    box-sizing: border-box;
    border-radius: 20px;
    border-radius: 1.25rem;
  }

  .jam-s13__card--consultation {
    display: block;
    min-height: 21.5625rem;
    padding-top: 29px;
    padding-top: 1.8125rem;
    padding-right: 29px;
    padding-right: 1.8125rem;
    padding-bottom: 28px;
    padding-bottom: 1.75rem;
    padding-left: 39px;
    padding-left: 2.4375rem;
  }

  .jam-s13__card--shooting {
    min-height: 35.3125rem;
    padding-top: 29px;
    padding-top: 1.8125rem;
    padding-right: 28px;
    padding-right: 1.75rem;
    padding-bottom: 36px;
    padding-bottom: 2.25rem;
    padding-left: 39px;
    padding-left: 2.4375rem;
  }

  .jam-s13__card--delivery {
    min-height: 15.0625rem;
    padding-top: 29px;
    padding-top: 1.8125rem;
    padding-right: 23px;
    padding-right: 1.4375rem;
    padding-bottom: 30px;
    padding-bottom: 1.875rem;
    padding-left: 39px;
    padding-left: 2.4375rem;
  }

  .jam-s13__card-content {
    width: 295px;
    width: 18.4375rem;
  }

  .jam-s13__card-title {
    margin-bottom: 13px;
    margin-bottom: 0.8125rem;
    font-size: 21px;
    font-size: 1.3125rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }

  .jam-s13__card--consultation .jam-s13__card-title {
    letter-spacing: 0.1em;
  }

  .jam-s13__card-text {
    width: 295px;
    width: 18.4375rem;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 1.12px;
    letter-spacing: 0.07rem;
  }

  .jam-s13__consultation-media {
    display: block;
    margin-top: 23px;
    margin-top: 1.4375rem;
  }

  .jam-s13__consultation-photo {
    width: 269px;
    width: 16.8125rem;
    height: 158.4px;
    height: 9.9rem;
    margin-left: -10px;
    margin-left: -0.625rem;
    border-radius: 10px;
    border-radius: 0.625rem;
    margin-inline: auto;
  }

  .jam-s13__free-label {
    top: 171px;
    top: 10.4875rem;
    right: 29px;
    right: 2.47rem;
    width: 81px;
    width: 5.0625rem;
    height: 42px;
    height: 2.625rem;
    border-top-right-radius: 10px;
    border-top-right-radius: 0.625rem;
    border-bottom-left-radius: 10px;
    border-bottom-left-radius: 0.625rem;
    font-size: 20.403px;
    font-size: 1.2751875rem;
    letter-spacing: 4.081px;
    letter-spacing: 0.2550625rem;
  }

  .jam-s13__schedule {
    display: block;
    width: 302px;
    width: 18.875rem;
    max-width: none;
    margin-top: 20px;
    margin-top: 1.25rem;
    margin-left: -12px;
    margin-left: -0.75rem;
    padding: 27px 27px 27px 32px;
    padding: 1.6875rem 1.6875rem 1.6875rem 2rem;
    border-radius: 10px;
    border-radius: 0.625rem;
  }

  .jam-s13__schedule-head {
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
  }

  .jam-s13__schedule-title {
    margin-bottom: 3px;
    margin-bottom: 0.1875rem;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: 1.6px;
    letter-spacing: 0.1rem;
  }

  .jam-s13__schedule-note {
    font-size: 10px;
    font-size: 0.625rem;
    line-height: 1.2;
    letter-spacing: 1px;
    letter-spacing: 0.0625rem;
  }

  .jam-s13__schedule-list {
    display: grid;
    width: 198px;
    width: 12.375rem;
    margin-bottom: 13px;
    margin-bottom: 0.8125rem;
    row-gap: 13px;
    row-gap: 0.8125rem;
  }

  .jam-s13__schedule-list::before {
    top: 11px;
    top: 0.6875rem;
    bottom: 8px;
    bottom: 0.5rem;
    left: 5px;
    left: 0.3125rem;
  }

  .jam-s13__schedule-item {
    grid-template-columns: 58px 1fr;
    grid-template-columns: 3.625rem 1fr;
    column-gap: 15px;
    column-gap: 0.9375rem;
  }

  .jam-s13__schedule-item::before {
    left: -17px;
    left: -1.0625rem;
    width: 10.083px;
    width: 0.6301875rem;
    height: 10.083px;
    height: 0.6301875rem;
  }

  .jam-s13__schedule-time {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.2;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
  }

  .jam-s13__schedule-text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.2;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
  }

  .jam-s13__schedule-photo {
    width: 247px;
    width: 15.4375rem;
    height: 142px;
    height: 8.875rem;
    max-width: 100%;
  }

  .jam-s13__clapper {
    right: -13px;
    right: -0.8125rem;
    bottom: -29px;
    bottom: -1.8125rem;
    width: 75.588px;
    width: 4.72425rem;
    height: 76.815px;
    height: 4.8009375rem;
  }

  .jam-s14 {
    padding-top: 73px;
    padding-top: 4.5625rem;
    padding-bottom: 72px;
    padding-bottom: 4.5rem;
    background-image: url("../img/bg-noise-white.png");
    background-size: 100px 100px;
    background-size: 6.25rem 6.25rem;
  }

  .jam-s14__inner {
    width: 100%;
    max-width: none;
    margin-inline: auto;
  }

  .jam-s14__ttl {
    margin-bottom: 28px;
    margin-bottom: 1.75rem;
    font-size: 31px;
    font-size: 1.9375rem;
    letter-spacing: 6.2px;
    letter-spacing: 0.3875rem;
    text-align: center;
  }

  .jam-s14__ttl::after {
    top: -38px;
    top: -2.375rem;
    font-size: 64px;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 5.76px;
    letter-spacing: 0.36rem;
    opacity: 0.05;
    text-align: center;
    text-indent: 5.76px;
    text-indent: 0.36rem;
  }

  .jam-s14__faq {
    width: 361px;
    width: 22.5625rem;
    margin-inline: auto;
  }

  .jam-s14__item {
    display: flex;
    column-gap: 14px;
    column-gap: 0.875rem;
    width: 100%;
    min-height: 134px;
    min-height: 8.375rem;
    padding: 0 8px 17px 18px;
    padding: 0 0.5rem 1.0625rem 1.125rem;
  }

  .jam-s14__mark {
    flex: 0 0 21px;
    flex: 0 0 1.3125rem;
    width: 21px;
    width: 1.3125rem;
    min-width: 0;
    color: #d40019;
    font-family: "Noto Serif JP", serif;
    font-size: 26.6px;
    font-size: 1.6625rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 5.32px;
    letter-spacing: 0.3325rem;
    text-align: center;
    transform: translateX(-0.2px);
  }

  .jam-s14__body {
    width: 310px;
    width: 19.375rem;
    min-width: 0;
    padding-top: 18.5px;
    padding-top: 1.15625rem;
  }

  .jam-s14__question {
    margin-bottom: 9.68px;
    margin-bottom: 0.605rem;
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 2.8px;
    letter-spacing: 0.175rem;
    white-space: nowrap;
  }

  .jam-s14__answer {
    width: 288px;
    width: 18rem;
    max-width: 100%;
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 1.12px;
    letter-spacing: 0.07rem;
  }

  .jam-s15 {
    padding-top: 61.6px;
    padding-top: 3.85rem;
    padding-bottom: 71.6px;
    padding-bottom: 4.475rem;
    background-image: url("../img/bg-noise-white.png");
    background-size: 100px 100px;
    background-size: 6.25rem 6.25rem;
  }

  .jam-s15__inner {
    display: block;
    width: 414px;
    width: 25.875rem;
    max-width: 100%;
    margin-inline: auto;
  }

  .jam-s15__info {
    margin-top: 0;
  }

  .jam-s15__heading {
    display: block;
    margin-bottom: 50.9px;
    margin-bottom: 3.18125rem;
    padding-left: 35px;
    padding-left: 2.1875rem;
  }

  .jam-s15__ttl {
    margin-bottom: 17.7px;
    margin-bottom: 1.10625rem;
    color: #131313;
    font-family: "Noto Serif JP", serif;
    font-size: 27.991px;
    font-size: 1.7494375rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 5.598px;
    letter-spacing: 0.349875rem;
    text-align: left;
    white-space: nowrap;
  }

  .jam-s15__logo {
    width: 185px;
    width: 11.5625rem;
  }

  .jam-s15__table {
    width: 354px;
    width: 22.125rem;
    max-width: calc(100% - 52px);
    margin-left: 26px;
    margin-left: 1.625rem;
  }

  .jam-s15__row {
    display: block;
    min-height: 0;
    padding-bottom: 12px;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #d4d4d4;
    border-bottom: 0.0625rem solid #d4d4d4;
    padding-left: 20px;
    padding-left: 1.25rem;
  }

  .jam-s15__row + .jam-s15__row {
    margin-top: 10px;
    margin-top: 0.625rem;
  }

  .jam-s15__row--address {
    min-height: 0;
  }

  .jam-s15__row:nth-child(4) {
    min-height: 0;
    margin-top: 13px;
    margin-top: 0.8125rem;
  }

  .jam-s15__row--business {
    min-height: 0;
    margin-top: 12px;
    margin-top: 0.75rem;
  }

  .jam-s15__row:nth-child(6) {
    min-height: 0;
    margin-top: 14px;
    margin-top: 0.875rem;
  }

  .jam-s15__term {
    display: block;
    font-size: 12.8px;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1.536px;
    letter-spacing: 0.096rem;
    border-bottom: 0;
    padding-left: 0;
    margin-bottom: 1px;
    margin-bottom: 0.0625rem;
  }

  .jam-s15__desc {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 1.68px;
    letter-spacing: 0.105rem;
    padding-left: 0;
  }

  .jam-s15__visual {
    position: relative;
    width: 241px;
    width: 15.0625rem;
    max-width: none;
    margin-top: 49px;
    margin-top: 3.0625rem;
    margin-left: 75px;
    margin-left: 4.6875rem;
  }

  /* s16 SP */
  .jam-s16 {
    padding-top: 68.6px;
    padding-top: 4.2875rem;
    padding-bottom: 30.4px;
    padding-bottom: 1.9rem;
    background-image: url("../img/s16-background-layer-sp.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
  }

  .jam-s16__inner {
    width: 100%;
  }

  .jam-s16__heading {
    text-align: center;
  }

  .jam-s16__ttl {
    margin-top: 0;
    margin-bottom: 31px;
    margin-bottom: 1.9375rem;
    font-size: 26.962px;
    font-size: 1.685125rem;
    line-height: 1.4;
    letter-spacing: 5.3923px;
    letter-spacing: 0.33701875rem;
  }

  .jam-s16__ttl::after {
    top: -39px;
    top: -2.4375rem;
    left: 50%;
    font-size: 64px;
    font-size: 4rem;
    line-height: 1;
    letter-spacing: 6.4px;
    letter-spacing: 0.4rem;
    transform: translateX(-50%);
  }

  .jam-s16__errors {
    width: 376px;
    width: 23.5rem;
    max-width: calc(100% - 38px);
    margin-top: 0;
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
    padding: 14px 19px;
    padding: 0.875rem 1.1875rem;
    box-sizing: border-box;
    border-radius: 10px;
    border-radius: 0.625rem;
  }

  .jam-s16__error-text {
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.5;
    letter-spacing: 0.65px;
    letter-spacing: 0.040625rem;
  }

  .jam-s16__form {
    width: 376px;
    width: 23.5rem;
    margin-inline: auto;
    padding: 47px 26px 44px;
    padding: 2.9375rem 1.625rem 2.75rem;
    box-sizing: border-box;
    border-radius: 20px;
    border-radius: 1.25rem;
  }

  .jam-s16__form::before {
    display: none;
  }

  .jam-s16__form-ttl {
    font-size: 21.6px;
    font-size: 1.35rem;
    letter-spacing: 2.16px;
    letter-spacing: 0.135rem;
    margin-bottom: 26.4px;
    margin-bottom: 1.65rem;
  }

  .jam-s16__form-ttl em {
    margin-right: 8.36px;
    margin-right: 0.5225rem;
    padding: 2px 5px 4px 7px;
    padding: 0.125rem 0.3125rem 0.25rem 0.4375rem;
    border-radius: 5.04px;
    border-radius: 0.315rem;
  }

  .jam-s16__form-text {
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 0.7px;
    letter-spacing: 0.04375rem;
    margin-bottom: 33px;
    margin-bottom: 2.0625rem;
  }

  .jam-s16__field {
    display: block;
    width: 100%;
  }

  .jam-s16__field:first-of-type {
    position: relative;
  }

  .jam-s16__field:first-of-type::after {
    content: "採用TV";
    position: absolute;
    top: 44px;
    top: 2.75rem;
    left: 19px;
    left: 1.1875rem;
    z-index: 0;
    color: rgba(73, 73, 73, 0.3);
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.32;
    letter-spacing: 0.28px;
    letter-spacing: 0.0175rem;
  }

  .jam-s16__field + .jam-s16__field {
    margin-top: 20px;
    margin-top: 1.25rem;
  }

  .jam-s16__field--date {
    margin-top: 20px;
    margin-top: 1.25rem;
  }

  .jam-s16__field--message {
    margin-top: 30px !important;
    margin-top: 1.875rem !important;
  }

  .jam-s16__label-wrap {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    padding-top: 0;
    margin-bottom: 7px;
    margin-bottom: 0.4375rem;
  }

  .jam-s16__label-wrap--date {
    padding-top: 0;
    margin-bottom: 4px;
    margin-bottom: 0.25rem;
  }

  .jam-s16__label {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.32;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem;
  }

  .jam-s16__badge {
    width: 31px;
    width: 1.9375rem;
    height: 15px;
    height: 0.9375rem;
    margin-top: 2px;
    margin-top: 0.125rem;
    margin-left: 3px;
    margin-left: 0.1875rem;
    box-sizing: border-box;
    font-size: 10px;
    font-size: 0.625rem;
    line-height: 132%;
    letter-spacing: 0.2px;
    letter-spacing: 0.0125rem;
    border-radius: 2px;
    border-radius: 0.125rem;
    padding-bottom: 0;
  }

  .jam-s16__badge--optional {
    border-width: 1px;
    border-width: 0.0625rem;
  }

  .jam-s16__input {
    width: 100%;
    max-width: none;
    height: 57px;
    height: 3.5625rem;
    padding-right: 17px;
    padding-right: 1.0625rem;
    padding-left: 17px;
    padding-left: 1.0625rem;
    box-sizing: border-box;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.32;
    letter-spacing: 0.28px;
    letter-spacing: 0.0175rem;
    border-width: 2px;
    border-width: 0.125rem;
    border-radius: 7px;
    border-radius: 0.4375rem;
  }

  .jam-s16__field:first-of-type .jam-s16__input {
    position: relative;
    z-index: 1;
    background-color: transparent;
  }

  .jam-s16__field:first-of-type .jam-s16__input::placeholder {
    color: transparent;
  }

  .jam-s16__date-list {
    display: grid;
    column-gap: 12px;
    column-gap: 0.75rem;
  }

  .jam-s16__date-group {
    position: relative;
    min-width: 0;
  }

  .jam-s16__date-group--empty::before {
    content: attr(data-date-placeholder);
    position: absolute;
    top: 43px;
    top: 2.6875rem;
    left: 19px;
    left: 1.1875rem;
    z-index: 0;
    color: rgba(73, 73, 73, 0.3);
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.32;
    letter-spacing: 0.28px;
    letter-spacing: 0.0175rem;
  }

  .jam-s16__date-group .jam-s16__badge {
    margin-bottom: 8px;
    margin-bottom: 0.5rem;
    margin-left: 0;
  }

  .jam-s16__date-group:first-child .jam-s16__badge {
    margin-left: 3px;
    margin-left: 0.1875rem;
  }

  .jam-s16__input--date {
    position: relative;
    z-index: 1;
    padding-right: 11px;
    padding-right: 0.6875rem;
    padding-left: 17px;
    padding-left: 1.0625rem;
    color: #131313;
    background-color: transparent;
  }

  .jam-s16__input--date::-webkit-datetime-edit {
    color: #131313;
  }

  .jam-s16__date-group--empty .jam-s16__input--date {
    color: transparent;
  }

  .jam-s16__date-group--empty .jam-s16__input--date::-webkit-datetime-edit {
    color: transparent;
  }

  .jam-s16__textarea {
    width: 100%;
    max-width: none;
    height: 198px;
    height: 12.375rem;
    padding-top: 15px;
    padding-top: 0.9375rem;
    padding-right: 17px;
    padding-right: 1.0625rem;
    padding-bottom: 15px;
    padding-bottom: 0.9375rem;
    padding-left: 17px;
    padding-left: 1.0625rem;
    box-sizing: border-box;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.32;
    letter-spacing: 0.28px;
    letter-spacing: 0.0175rem;
    border-width: 2px;
    border-width: 0.125rem;
    border-radius: 7px;
    border-radius: 0.4375rem;
  }

  .jam-s16__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 311px;
    width: 19.4375rem;
    height: 76px;
    height: 4.75rem;
    margin-top: 30px;
    margin-top: 1.875rem;
    margin-inline: auto;
    border-radius: 5.649px;
    border-radius: 0.3530625rem;
    font-size: 19.799px;
    font-size: 1.2374375rem;
    line-height: 1.4;
    letter-spacing: 2.5738px;
    letter-spacing: 0.1608625rem;
    text-align: center;
  }

  .jam-s16__submit::after {
    right: 22.91px;
    right: 1.431875rem;
    width: 8.094px;
    width: 0.505875rem;
    height: 11.7px;
    height: 0.73125rem;
    background-size: contain;
  }

  .jam-s16__notice {
    width: 340px;
    width: 21.25rem;
    margin-top: 20px;
    margin-top: 1.25rem;
    margin-inline: auto;
    padding: 26.4px 18px 25px;
    padding: 1.65rem 1.125rem 1.603125rem;
    box-sizing: border-box;
    border-radius: 20px;
    border-radius: 1.25rem;
  }

  .jam-s16__notice-title {
    margin-bottom: 10.4px;
    margin-bottom: 0.65rem;
    padding-bottom: 0;
    font-size: 16.192px;
    font-size: 1.012rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-align: center;
    border-bottom: 0;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 5px;
    text-underline-offset: 0.3125rem;
    text-decoration-skip-ink: none;
  }

  .jam-s16__notice-text {
    max-width: 100%;
    margin-inline: auto;
    font-size: 12.6px;
    font-size: 0.7875rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-align: center;
  }

  .jam-s16__notice-text em {
    display: inline-block;
    padding: 0 3px 1px 6px;
    padding: 0 0.1875rem 0.0625rem 0.375rem;
    background-color: #c3bc35;
  }

  .jam-s16__notice-text span {
    padding-bottom: 0px;
    padding-bottom: 0rem;
  }

  .jam-footer {
    padding: 22px 0 29px;
    padding: 1.375rem 0 1.8125rem;
    background: url(../img/footer-background-layer-sp.webp) no-repeat;
    background-size: 100% 100%;
  }

  .jam-footer__copyright {
    font-size: 12px;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    /* 14.4px */
    letter-spacing: 1.2px;
    letter-spacing: 0.075rem;
  }

  .jam-thanks {
    min-height: 100svh;
    background-position: center top;
    background-size: cover;
  }

  .jam-thanks__header {
    width: 100%;
    margin-bottom: 40px;
    margin-bottom: 2.5rem;
    padding-top: 18px;
    padding-top: 1.125rem;
    padding-right: 18px;
    padding-right: 1.125rem;
    padding-left: 18px;
    padding-left: 1.125rem;
  }

  .jam-thanks__brand {
    width: 100%;
    max-width: none;
    column-gap: 12px;
    column-gap: 0.75rem;
  }

  .jam-thanks__logo {
    width: 132px;
    width: 8.25rem;
    height: 27.709px;
    height: 1.7318125rem;
  }

  .jam-thanks__tagline {
    margin-top: 0;
    font-size: 10.4px;
    font-size: 0.65rem;
    line-height: 1.35;
    letter-spacing: 1.6px;
    letter-spacing: 0.1rem;
  }

  .jam-thanks__main {
    width: 100%;
  }

  .jam-thanks__heading {
    height: auto;
    margin-bottom: 30px;
    margin-bottom: 1.875rem;
    padding-top: 22px;
    padding-top: 1.375rem;
  }

  .jam-thanks__heading-back {
    top: 0;
    font-size: 60px;
    font-size: 3.75rem;
    letter-spacing: 6px;
    letter-spacing: 0.375rem;
  }

  .jam-thanks__ttl {
    padding-top: 31px;
    padding-top: 1.9375rem;
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.55;
    letter-spacing: 3.6px;
    letter-spacing: 0.225rem;
    white-space: normal;
  }

  .jam-thanks__card {
    max-width: 100%;
    min-height: auto;
    padding-top: 64px;
    padding-top: 4rem;
    padding-right: 22px;
    padding-right: 1.375rem;
    padding-bottom: 80px;
    padding-bottom: 5rem;
    padding-left: 22px;
    padding-left: 1.375rem;
    border-radius: 28px;
    border-radius: 1.75rem;
  }

  .jam-thanks__lead {
    margin-bottom: 44px;
    margin-bottom: 2.75rem;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.8px;
    letter-spacing: 0.05rem;
    white-space: normal;
  }

  .jam-thanks__body {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.8px;
    letter-spacing: 0.05rem;
    white-space: normal;
  }

  .jam-thanks__deco--tv {
    top: -38px;
    top: -2.375rem;
    left: -10px;
    left: -0.625rem;
    width: 72px;
    width: 4.5rem;
    height: 116.314px;
    height: 7.269625rem;
  }

  .jam-thanks__deco--antenna {
    top: auto;
    right: -30px;
    right: -1.875rem;
    bottom: -74px;
    bottom: -4.625rem;
    width: 89.6px;
    width: 5.6rem;
    height: 176.936992px;
    height: 11.058562rem;
  }

  .jam-thanks__footer {
    margin-top: 92px;
    margin-top: 5.75rem;
    padding-top: 22px;
    padding-top: 1.375rem;
    padding-bottom: 26px;
    padding-bottom: 1.625rem;
  }

  .jam-thanks__copyright {
    font-size: 10px;
    font-size: 0.625rem;
    letter-spacing: 1px;
    letter-spacing: 0.0625rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .jam-s4__points {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 36.8px;
    row-gap: 2.3rem;
  }

  .jam-s4__point {
    max-width: 45%;
  }

  .jam-s4__point:last-child {
    max-width: 50%;
  }

  .jam-s9__comparison-table {
    transform: translateX(0);
  }

  .jam-s9__tv {
    right: -21px;
    right: -1.3125rem;
    bottom: 7px;
    bottom: 0.4375rem;
  }

  .jam-s8__feature-row {
    gap: 14.4px;
    gap: 0.9rem;
  }

  .jam-s8__card-grid {
    gap: 14.4px 15px;
    gap: 0.9rem 0.9375rem;
    margin-top: 14.4px;
    margin-top: 0.9rem;
  }

  .jam-s8__feature-image--sns {
    width: 87.8px;
    width: 5.4875rem;
    top: 18px;
    top: 1.125rem;
  }

  .jam-s8__tower {
    right: -25px;
    right: -1.5625rem;
  }

  .jam-s5__bg {
  }
}

@media screen and (min-width: 768px) and (max-width: 1220px) {
  .jam-s3 {
    padding-bottom: 37vw;
  }

  .jam-s3 {
    background-size: cover;
    background-position: center top;
    background-color: #0c1114;
  }

  .jam-s3__comparison {
    width: 95.983607vw;
    max-width: 1171px;
    min-height: 61.803279vw;
    column-gap: 3.278689vw;
    transform: translateX(0);
  }

  .jam-s3__comparison-card {
    flex: 0 0 auto;
    border-radius: 1.327869vw;
  }

  .jam-s3__comparison-card--traditional {
    width: 41.393443vw;
    max-width: 505px;
    height: 58.114754vw;
    margin-top: 1.803279vw;
    padding: 2.704918vw 2.032787vw 0;
  }

  .jam-s3__comparison-card--fan {
    width: 51.311475vw;
    max-width: 626px;
    height: 61.803279vw;
    padding: 1.995082vw 4.016393vw 0;
    border-width: 0.398361vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-label {
    width: 26.229508vw;
    height: 4.42623vw;
    border-radius: 0.819672vw;
    font-size: 2.005574vw;
    letter-spacing: 0.401123vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-lead {
    margin-top: 3.360656vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__window--traditional {
    width: 22.367213vw;
    max-width: 272.88px;
    height: 12.452459vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-copy {
    margin-top: 1.803279vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-heading {
    font-size: 2.508197vw;
    letter-spacing: 0.25082vw;
  }

  .jam-s3__comparison-flow {
    font-size: 1.229508vw;
    letter-spacing: 0.245902vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-flow {
    margin-top: 1.311475vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__comparison-line {
    width: 32.680328vw;
    margin-top: 2.295082vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__stats--traditional {
    margin-top: 1.147541vw;
  }

  .jam-s3__stat {
    gap: 0.509016vw;
  }

  .jam-s3__stat-icon {
    width: 1.893443vw;
    height: 1.893443vw;
  }

  .jam-s3__stats--traditional .jam-s3__stat {
    min-height: 2.95082vw;
    font-size: 1.604098vw;
    letter-spacing: 0.320811vw;
  }

  .jam-s3__stats--traditional .jam-s3__stat-icon {
    width: 1.721311vw;
    height: 1.721311vw;
    margin-right: 0.684426vw;
  }

  .jam-s3__stat-text {
    font-size: 1.764508vw;
    letter-spacing: 0.352869vw;
  }

  .jam-s3__stats--traditional .jam-s3__stat-text {
    font-size: 1.604098vw;
    letter-spacing: 0.320811vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__quote {
    margin-top: 0.737705vw;
    font-size: 1.147541vw;
    letter-spacing: 0.229508vw;
  }

  .jam-s3__comparison-card--traditional .jam-s3__source-list {
    margin-top: 1.803279vw;
  }

  .jam-s3__source-item {
    font-size: 0.819672vw;
    letter-spacing: 0.081967vw;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-label {
    max-width: 32.163934vw;
    height: 5.704918vw;
    margin-bottom: 3.647541vw;
    font-size: 3.008443vw;
    letter-spacing: 0.60168vw;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-lead {
    margin-bottom: 1.5vw;
  }

  .jam-s3__comparison-card--fan .jam-s3__window--fan {
    width: 28.442623vw;
    height: 17.131148vw;
    margin-bottom: 2.016393vw;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-heading {
    margin-bottom: 1.311475vw;
    font-size: 2.759016vw;
    letter-spacing: 0.275902vw;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-flow {
    font-size: 1.311475vw;
    letter-spacing: 0.262295vw;
  }

  .jam-s3__comparison-card--fan .jam-s3__comparison-line {
    max-width: 41.222951vw;
    margin-bottom: 1.262295vw;
  }

  .jam-s3__comparison-card--fan .jam-s3__stats--fan {
    margin-bottom: 1.147541vw;
  }

  .jam-s3__comparison-card--fan .jam-s3__quote {
    margin-bottom: 1.245902vw;
    font-size: 1.311475vw;
    letter-spacing: 0.262295vw;
  }

  .jam-s3__comparison-card--fan .jam-s3__source-text {
    font-size: 0.901639vw;
    letter-spacing: 0.180328vw;
  }

  .jam-s3__people {
    top: 79.7%;
    left: 70.8%;
    z-index: 5;
    width: 34vw;
    height: auto;
    aspect-ratio: 1280 / 1037;
  }

  .jam-s3__camera {
    top: auto;
    bottom: -256px;
    bottom: -19rem;
    left: 12px;
    left: 0.75rem;
    z-index: 1;
    width: min(20vw, 17rem);
    height: auto;
    aspect-ratio: 638 / 752;
  }

  .jam-s3__reel {
    top: auto;
    right: -32px;
    right: -2rem;
    bottom: -172px;
    bottom: -15.75rem;
    z-index: 6;
    width: min(20vw, 13rem);
    height: auto;
    aspect-ratio: 606 / 762;
  }

  .jam-s9__patterns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: center;
    gap: clamp(0.75rem, 1.967213vw, 1.5rem);
  }

  .jam-s9__pattern-card {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: auto;
    margin-top: clamp(3.25rem, 6.721311vw, 5.125rem);
    padding-right: clamp(0.5rem, 1.229508vw, 1.5625rem);
    padding-bottom: clamp(0.75rem, 2.04918vw, 1.5625rem);
    padding-left: clamp(0.5rem, 1.229508vw, 1.5625rem);
    border-radius: clamp(0.75rem, 1.47541vw, 1.125rem);
    min-height: 0;
  }

  .jam-s9__pattern-card:last-child {
    max-width: none;
  }

  .jam-s9__pattern-head {
    margin-top: calc(clamp(3.25rem, 6.721311vw, 5.125rem) * -1);
  }

  .jam-s9__pattern-head--a {
    width: 86%;
    margin-left: 3%;
  }

  .jam-s9__pattern-head--b {
    width: 91%;
    margin-left: 0;
  }

  .jam-s9__pattern-head--c {
    width: 91%;
    margin-left: 0;
  }

  .jam-s9__pattern-body {
    grid-template-columns: clamp(0.85rem, 2.416vw, 1.8421875rem) minmax(0, 1fr);
    column-gap: clamp(0.35rem, 1.106557vw, 0.84375rem);
    margin-top: clamp(0.75rem, 1.885246vw, 1.4375rem);
    margin-left: clamp(0.2rem, 1.393443vw, 1.0625rem);
  }

  .jam-s9__pattern-body--b {
    grid-template-columns: clamp(0.75rem, 2.139344vw, 1.63125rem) minmax(0, 1fr);
    column-gap: clamp(0.35rem, 1.106557vw, 0.84375rem);
    margin-left: clamp(0.1rem, 0.520492vw, 0.396875rem);
  }

  .jam-s9__pattern-body--c {
    grid-template-columns: clamp(0.75rem, 2.131148vw, 1.625rem) minmax(0, 1fr);
    column-gap: clamp(0.35rem, 1.106557vw, 0.84375rem);
    margin-left: clamp(0.25rem, 2.20082vw, 1.678125rem);
  }

  .jam-s9__timeline--a {
    width: clamp(0.85rem, 2.416vw, 1.8421875rem);
    height: clamp(8.75rem, 18.276803vw, 13.9360625rem);
  }

  .jam-s9__timeline--b {
    width: clamp(0.75rem, 2.139344vw, 1.63125rem);
    height: clamp(8rem, 16.967213vw, 12.9375rem);
  }

  .jam-s9__pattern-flow {
    box-sizing: border-box;
    padding-right: min(5.737705vw, 4.375rem);
  }

  .jam-s9__flow-title {
    min-height: clamp(2.05rem, 4.754098vw, 3.625rem);
    font-size: min(1.563934vw, 1.1925rem);
    letter-spacing: 0.08em;
  }

  .jam-s9__flow-note {
    margin-top: clamp(0.45rem, 1.442623vw, 1.1rem);
    font-size: min(1.490164vw, 1.13625rem);
    letter-spacing: 0.08em;
  }

  .jam-s9__flow-result {
    margin-top: clamp(0.45rem, 2.147541vw, 1.6375rem);
    font-size: min(1.563934vw, 1.1925rem);
    letter-spacing: 0.08em;
  }

  .jam-s9__fan-label {
    width: min(5.5vw, 4.2rem);
    height: min(3.410246vw, 2.605rem);
  }

  .jam-s9__fan-label--a {
    top: min(7.377049vw, 5.625rem);
    right: min(1.065574vw, 0.8125rem);
  }

  .jam-s9__fan-label--b {
    top: min(7.295082vw, 5.5625rem);
    right: min(0.655738vw, 0.5rem);
  }

  .jam-s9__fan-label--c {
    top: min(6.557377vw, 5rem);
    right: min(1.065574vw, 0.8125rem);
  }

  .jam-s9__fit-box {
    margin-top: clamp(0.75rem, 2.643443vw, 2.015625rem);
    padding-top: clamp(0.55rem, 1.368852vw, 1.04375rem);
    padding-right: clamp(0.65rem, 2.20082vw, 1.678125rem);
    padding-bottom: clamp(0.75rem, 1.967213vw, 1.5rem);
    padding-left: clamp(0.65rem, 2.20082vw, 1.678125rem);
    border-radius: clamp(0.75rem, 1.47541vw, 1.125rem);
  }

  .jam-s9__fit-box--a {
    margin-top: clamp(0.5rem, 1.348361vw, 1.028125rem);
  }

  .jam-s9__fit-label {
    margin-bottom: clamp(0.45rem, 1.54918vw, 1.18125rem);
    font-size: min(1.490164vw, 1.13625rem);
    letter-spacing: 0.08em;
  }

  .jam-s9__fit-label--balloon {
    margin-bottom: clamp(0.35rem, 0.885246vw, 0.675rem);
    padding-bottom: clamp(0.25rem, 0.715574vw, 0.545625rem);
  }

  .jam-s9__fit-label--balloon::after {
    height: min(0.464754vw, 0.354375rem);
  }

  .jam-s9__fit-text {
    margin-left: clamp(0.3rem, 1.47541vw, 1.125rem);
    font-size: min(1.611475vw, 1.305rem);
    letter-spacing: 0.1em;
    white-space: normal;
  }
}

.tab {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .tab {
    display: block;
  }

  .jam-s5__staff {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 4.027273vw;
    max-width: 1233px;
    width: 92vw;
    margin-bottom: 6.818182vw;
    transform: translateX(-0.4vw);
  }

  .jam-s5__staff-detail {
    top: 31.090909vw;
    left: 2.545455vw;
    width: 48vw;
    min-height: 43.818182vw;
    margin-top: 1.363636vw;
    padding: 3.363636vw 3.181818vw 2.181818vw;
    border-radius: 1.363636vw;
  }

  .jam-s5__staff-card {
    flex: 0 0 calc((100% - 5.727273vw) / 2);
    grid-template-columns: 19.090909vw minmax(0, 1fr);
    width: auto;
    min-height: 34.818182vw;
  }

  .jam-s5__staff-card--expanded {
    min-height: 83.545455vw;
  }

  .jam-s5__staff-card--tanaka {
    grid-template-columns: 17.272727vw minmax(0, 1fr);
  }

  .jam-s5__staff-card--tanaka.jam-s5__staff-card--expanded {
    min-height: 85.363636vw;
  }

  .jam-s5__staff-image {
    width: 30.090909vw;
    height: 34.818182vw;
  }

  .jam-s5__staff-card--expanded .jam-s5__staff-image {
    height: 34.818182vw;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-image {
    width: 19.545455vw;
  }

  .jam-s5__staff-body {
    padding-top: 4.181818vw;
    padding-right: 0;
    padding-bottom: 2vw;
  }

  .jam-s5__staff-tag {
    min-height: 2.536364vw;
    margin-bottom: 0.818182vw;
    padding-inline: 0.818182vw;
    font-size: 1.715727vw;
    letter-spacing: 0.377455vw;
  }

  .jam-s5__staff-name {
    margin-bottom: 0.181818vw;
    font-size: 3.352091vw;
    letter-spacing: 1.340827vw;
  }

  .jam-s5__staff-role {
    margin-bottom: 3.036364vw;
    font-size: 1.715727vw;
    letter-spacing: 0.171573vw;
  }

  .jam-s5__staff-copy {
    font-size: 1.552091vw;
    letter-spacing: 0.155209vw;
  }

  .jam-s5__staff-card--riku .jam-s5__staff-copy {
    margin-left: 1.927273vw;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-copy {
    margin-left: 1.3vw;
  }

  .jam-s5__staff-more {
    top: 30.090909vw;
    right: 3.454545vw;
    min-width: 6.545455vw;
    min-height: 2.909091vw;
    font-size: 1.552091vw;
    letter-spacing: 0.155209vw;
  }

  .jam-s5__staff-button {
    min-width: 16vw;
    min-height: 4.990909vw;
    margin-top: 1vw;
    margin-left: 5vw;
    font-size: 1.552091vw;
    letter-spacing: 0.155209vw;
    border-width: 0.245455vw;
    border-radius: 0.654545vw;
    box-shadow: 0 0.245455vw 0 0 #000000;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-more {
    top: 30.6vw;
    right: 2.7vw;
  }

  .jam-s5__staff-card--expanded .jam-s5__staff-more {
    width: 4.909091vw;
    min-width: 4.909091vw;
    bottom: 2.636364vw;
  }

  .jam-s5__staff-card--tanaka .jam-s5__staff-detail {
    min-height: 46vw;
  }

  .jam-s5__staff-detail-item {
    margin-bottom: 2.727273vw;
  }

  .jam-s5__staff-detail-title {
    margin-bottom: 0.727273vw;
    font-size: 1.727273vw;
    letter-spacing: 0.345455vw;
  }

  .jam-s5__staff-detail-text {
    font-size: 1.454545vw;
    letter-spacing: 0.145455vw;
  }

  .jam-s5__staff-en {
    top: 0.727273vw;
    right: -3vw;
    font-size: 1.797545vw;
    letter-spacing: 0.719009vw;
  }
}

/* =================================================================
   追従ボタン（jam-follow）
   SP: 画面下部全幅で2分割 / PC: 右下に縦並び固定
   ================================================================= */
.jam-follow {
  position: fixed;
  z-index: 99;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

/* 出現前（JSで .is-visible を付与して表示） */
.jam-follow:not(.is-visible) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.jam-follow.is-visible {
  opacity: 1;
  visibility: visible;
}

.jam-follow__btn {
  display: block;
  line-height: 0;
}

.jam-follow__btn img {
  width: 100%;
  height: auto;
}

/* ===== SP: 下部に2ボタン中央寄せ（暗背景バー） ===== */
.jam-follow--double {
  display: flex;
  justify-content: center;
  gap: 4px;
  gap: 0.25rem;
  /* 4px */
  bottom: 0;
  left: 0;
  right: 0;
  padding: 8px 0;
  padding: 0.5rem 0;
  /* 上下8px */
  background: rgba(18, 21, 28, 0.9);
}

.jam-follow--double .jam-follow__btn {
  width: 200px;
  width: 12.5rem;
  /* 200px */
}

/* ===== PC: 右下に縦並び固定 ===== */
@media (min-width: 768px) {
  .jam-follow--double {
    left: auto;
    right: 12px;
    right: 0.75rem;
    bottom: 12px;
    bottom: 0.75rem;
    flex-direction: column;
    gap: 7px;
    gap: 0.4375rem;
    width: 213px;
    width: 13.3125rem;
    /* 213px */
    padding: 0;
    background: none;
  }

  .jam-follow--double .jam-follow__btn {
    width: auto;
    filter: drop-shadow(0 0 9.504px rgba(0, 0, 0, 0.2));
    filter: drop-shadow(0 0 0.594rem rgba(0, 0, 0, 0.2));
    transition: transform 0.3s ease;
  }

  .jam-follow--double .jam-follow__btn:hover {
    transform: scale(1.03);
    opacity: 1;
  }
}

@media screen and (min-width: 1300px) and (max-width: 1570px) {
  .jam-s3__people {
    width: 34.087857vw;
    top: 66.2%;
    left: 71.952381%;
  }
}

@media screen and (min-width: 1221px) and (max-width: 1299.98px) {
  .jam-s3__people {
    width: 31.087857vw;
    top: 68.5%;
    left: 74.452381%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1140px) {
  .jam-s1__stage {
    min-height: 76.119403vw;
    padding-top: 10.096576vw;
  }

  .jam-s1__top {
    width: 94.872695vw;
    max-width: 1080.6px;
    column-gap: 5.144864vw;
    transform: translateX(0.316945vw);
    margin-bottom: 5.443371vw;
  }

  .jam-s1__video {
    flex: 0 0 32.221247vw;
    min-width: 0;
  }

  .jam-s1__content {
    flex: 0 0 auto;
  }

  .jam-s1__ttl {
    width: 57.506585vw;
    font-size: 8.032133vw;
    letter-spacing: 1.641545vw;
    margin-bottom: 2.633889vw;
  }

  .jam-s1__ttl em::after {
    height: 0.263389vw;
    bottom: 0.087796vw;
  }

  .jam-s1__badges {
    margin-bottom: 3.880597vw;
  }

  .jam-s1__badge {
    height: 3.863038vw;
    padding-inline: 1.817384vw;
    font-size: 2.063213vw;
    letter-spacing: 0.402985vw;
  }

  .jam-s1__badge--fan {
    width: 37.366111vw;
  }

  .jam-s1__brand-row {
    column-gap: 2.282704vw;
    margin-top: 0.877963vw;
  }

  .jam-s1__badge--service {
    width: 32.238806vw;
  }

  .jam-s1__logo {
    width: 18.236348vw;
  }

  .jam-s1__feature-list {
    row-gap: 1.971027vw;
  }

  .jam-s1__feature {
    column-gap: 1.053556vw;
  }

  .jam-s1__feature-icon {
    width: 2.367779vw;
    height: 2.111677vw;
  }

  .jam-s1__feature-text {
    font-size: 1.580334vw;
  }
}

@media screen and (min-width: 768px) and (max-width: 1140px) {
  .jam-s2__problem-list {
    transform: translateX(0);
    width: 98%;
  }

  .jam-s2__problem {
    column-gap: 1.175rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1160px) {
  .jam-cta__camera {
    width: 39.142857%;
    max-width: 602px;
  }

  .jam-cta__woman {
    width: 22.641975%;
    max-width: 334px;
    right: -1.6rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1610px) {
  .jam-s10__inner::after {
    width: 13.059524%;
    top: 82rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 960px) {
  .jam-s10__inner::before {
    width: 34.130952%;
  }
}

@media screen and (min-width: 1111px) and (max-width: 1500px) {
  .jam-s9__tv {
    right: 2.6875%;
  }
}
