@media (max-width: 767px) {
  .hp_pcOnly {
    display: none !important;
  }
}

@media not all and (max-width: 767px) {
  .hp_spOnly {
    display: none !important;
  }
}

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

:root,
:host {
  interpolate-size: allow-keywords;
}

html,
body {
  height: 100%;
}

html.is_locked {
  position: fixed;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  width: 100%;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(var(--htmlW) * 32 / 2400 / 10 * 1rem, 3.2rem);
  font-weight: 500;
  line-height: 1.75;
  overflow-wrap: anywhere;
  -moz-osx-font-smoothing: unset;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
  }
}
@media (max-width: 767px) {
  body {
    font-size: calc(var(--htmlW) * 26 / 640 / 10 * 1rem);
    letter-spacing: -0.05em;
  }
}

img {
  max-width: 100%;
  height: auto;
}

.ly_container {
  width: min(var(--htmlW) * 2040 / 2400 / 10 * 1rem, 204rem);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .ly_container {
    width: 90%;
  }
}
.ly_container__wide {
  width: min(var(--htmlW) * 2200 / 2400 / 10 * 1rem, 220rem);
}
@media (max-width: 767px) {
  .ly_container__wide {
    width: 90%;
  }
}
.ly_container__narrow {
  width: min(var(--htmlW) * 1840 / 2400 / 10 * 1rem, 184rem);
}
@media (max-width: 767px) {
  .ly_container__narrow {
    width: 90%;
  }
}

.js_scrollAnimationFade {
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
  opacity: 0;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-duration: 0.9s;
  transition-duration: 0.9s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}

.js_scrollAnimationFade.js_show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}