.mainVisual {
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .mainVisual {
    height: calc(100svh - 75px);
  }
}
@media screen and (max-width: 768px) {
  .mainVisual {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-bottom: 5.2rem;
  }
}
.mainVisual__bg {
  display: none;
}
.mainVisual__visual {
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__visual {
    bottom: 0;
    left: 0;
    position: absolute;
    width: min(27.7777777778vw, 57.1428571429svh);
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__visual {
    margin-top: 3.2rem;
    order: 2;
    width: 34.6rem;
  }
}
.mainVisual__visual .photo,
.mainVisual__visual .photo__pic,
.mainVisual__visual .photo__image {
  display: block;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__visual .photo__capIn {
    right: -8rem;
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__visual .photo__capIn {
    bottom: -2rem;
  }
}
.mainVisual__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  position: relative;
  text-align: center;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__inner {
    padding-top: min(5.5555555556vw, 11.4285714286svh);
    width: 120rem;
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__inner {
    order: 1;
    padding: 5.2rem 2.1rem 0;
    width: 100%;
  }
}
.mainVisual__logo {
  align-items: center;
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__logo {
    width: min(56.9444444444vw, 117.1428571429svh);
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__logo {
    position: relative;
    width: 31.8rem;
  }
}
.mainVisual__logo .logoMark {
  width: 100%;
}
.mainVisual__logo .logoMark .photo,
.mainVisual__logo .logoMark .photo__pic,
.mainVisual__logo .logoMark .photo__image {
  display: block;
  width: 100%;
}
.mainVisual__logo .logoMark .photo__image {
  aspect-ratio: auto;
  height: auto;
}
.mainVisual__logo .logoEn {
  align-items: center;
  color: #231815;
  display: flex;
  font-family: "Bodoni Moda", serif;
  justify-content: center;
  letter-spacing: 0.5em;
  line-height: 1;
  opacity: 0;
  text-indent: 0.55em;
  transition: letter-spacing 1.2s cubic-bezier(0.22, 0.61, 0.36, 1) 1.5s, opacity 1.2s cubic-bezier(0.22, 0.61, 0.36, 1) 1.5s;
  white-space: nowrap;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__logo .logoEn {
    font-size: min(1.5277777778vw, 3.1428571429svh);
    gap: min(1.875vw, 3.8571428571svh);
    margin-top: min(2.7083333333vw, 5.5714285714svh);
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__logo .logoEn {
    align-items: flex-start;
    bottom: 1.3rem;
    display: flex;
    flex-direction: column;
    font-size: 0.8rem;
    gap: 0;
    height: 6.6rem;
    justify-content: space-between;
    left: 0.2rem;
    letter-spacing: 0.12em;
    line-height: 1.4;
    margin-top: 0;
    position: absolute;
    text-align: left;
    text-indent: 0;
    white-space: nowrap;
    width: 6.44rem;
  }
}
.mainVisual__logo .logoEn::before, .mainVisual__logo .logoEn::after {
  background: currentcolor;
  content: "";
  flex: 1 1 auto;
  height: 1px;
  transition: clip-path 1.6s cubic-bezier(0.22, 0.61, 0.36, 1) 2s;
}
@media screen and (max-width: 768px) {
  .mainVisual__logo .logoEn::before, .mainVisual__logo .logoEn::after {
    background: none;
    border-bottom: 1px solid currentcolor;
    border-top: 1px solid currentcolor;
    box-sizing: border-box;
    flex: 0 0 auto;
    height: 0.4rem;
    width: 100%;
  }
}
.mainVisual__logo .logoEn::before {
  clip-path: inset(0 0 0 100%);
}
@media screen and (max-width: 768px) {
  .mainVisual__logo .logoEn::before {
    clip-path: inset(0 100% 0 0);
  }
}
.mainVisual__logo .logoEn::after {
  clip-path: inset(0 100% 0 0);
}
@media print, screen and (min-width: 768px) {
  .mainVisual__logo .logoEn__words {
    display: contents;
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__logo .logoEn__words {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-left: 0.1rem;
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .mainVisual__logo .logoEn__word {
    display: contents;
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__logo .logoEn__word {
    display: block;
    line-height: 1;
    text-align: center;
  }
  .mainVisual__logo .logoEn__word:last-child {
    letter-spacing: 0.36em;
  }
}
.mainVisual__tagline {
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.12em;
  line-height: 1.6;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__tagline {
    font-size: min(2.0833333333vw, 4.2857142857svh);
    margin-top: min(2.7777777778vw, 5.7142857143svh);
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__tagline {
    font-size: 2.2rem;
    margin-top: 5.2rem;
  }
}
.mainVisual__placeName {
  position: relative;
}
.mainVisual__note {
  color: #8a8a8a;
  left: 100%;
  line-height: 1;
  position: absolute;
  top: 0.1em;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__note {
    font-size: min(0.6944444444vw, 1.4285714286svh);
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__note {
    font-size: 0.8rem;
  }
}
.mainVisual__callout {
  position: absolute;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__callout {
    bottom: 2.7777777778vw;
    right: 5.5555555556vw;
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__callout {
    margin: 4.7rem auto 0;
    order: 3;
    padding: 0 2.1rem;
    position: static;
    width: 100%;
  }
}
.mainVisual__calloutLine {
  align-items: center;
  color: #231815;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__calloutLine {
    align-items: baseline;
    font-size: min(1.9444444444vw, 4svh);
    justify-content: flex-start;
    letter-spacing: 0.12em;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__calloutLine {
    align-items: flex-end;
    align-items: last baseline;
    display: flex;
    flex-wrap: wrap;
    font-size: 2.1rem;
    justify-content: center;
    line-height: 1.4;
  }
}
@media print, screen and (min-width: 768px) {
  .mainVisual__calloutLine + .mainVisual__calloutLine {
    margin-top: min(0.6944444444vw, 1.4285714286svh);
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__calloutLine + .mainVisual__calloutLine {
    margin-top: 0.8rem;
  }
}
.mainVisual__calloutLine .num {
  font-family: Lato, "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1;
  padding: 0 0.08em;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__calloutLine .num {
    font-size: min(6.25vw, 12.8571428571svh);
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__calloutLine .num {
    font-size: 6.8rem;
  }
}
.mainVisual__calloutLine .num--magenta {
  color: transparent;
  letter-spacing: 0;
  line-height: 0.8;
  padding: 0;
  -webkit-text-stroke: 1px #d7167d;
  transition: color 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media print, screen and (min-width: 768px) {
  .mainVisual__calloutLine .num--magenta {
    font-size: min(9.0277777778vw, 18.5714285714svh);
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__calloutLine .num--magenta {
    font-size: 8.5rem;
  }
}
.mainVisual__calloutLine .num--teal {
  color: transparent;
  letter-spacing: 0;
  line-height: 0.8;
  -webkit-text-stroke: 1px #00aec4;
  transition: color 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 768px) {
  .mainVisual__calloutTxt {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__calloutSub {
    flex-basis: 100%;
    text-align: center;
  }
}
.mainVisual__place {
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .mainVisual__place {
    font-size: 2.9861111111vw;
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__place {
    font-size: 3.1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .mainVisual__place--mall {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .mainVisual__place--mall {
    font-size: 2.6rem;
  }
}
@keyframes mv-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mv-fade-up {
  from {
    opacity: 0;
    transform: translate3d(0, 0.6rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes mv-clip-reveal {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes mv-scale {
  from {
    filter: blur(6px) brightness(1.25);
    transform: scale(1.08);
  }
  to {
    filter: blur(0) brightness(1);
    transform: scale(1);
  }
}
@keyframes mv-scale-sp {
  from {
    filter: blur(6px) brightness(1.25);
    transform: scale(1.2);
  }
  to {
    filter: blur(0) brightness(1);
    transform: scale(1);
  }
}
.mainVisual__visual, .mainVisual__tagline {
  opacity: 0;
}
.mainVisual__logo .logoMark {
  opacity: 0;
}
.mainVisual__calloutLine {
  clip-path: inset(0 100% 0 0);
}
.is-mvReady .mainVisual__logo .logoMark {
  animation: mv-fade 3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1s both;
}
.is-mvReady .mainVisual__logo .logoEn {
  letter-spacing: 0.55em;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .is-mvReady .mainVisual__logo .logoEn {
    letter-spacing: 0.12em;
  }
}
.is-mvReady .mainVisual__logo .logoEn::before,
.is-mvReady .mainVisual__logo .logoEn::after {
  clip-path: inset(0);
}
.is-mvReady .mainVisual__visual {
  animation: mv-fade 3s cubic-bezier(0.39, 0.575, 0.565, 1) 1s both;
}
.is-mvReady .mainVisual__visual .photo__pic {
  animation: mv-scale 3s cubic-bezier(0.39, 0.575, 0.565, 1) 1s both;
}
@media print, screen and (min-width: 768px) {
  .is-mvReady .mainVisual__visual .photo__pic {
    transform-origin: left bottom;
  }
}
@media screen and (max-width: 768px) {
  .is-mvReady .mainVisual__visual .photo__pic {
    animation-name: mv-scale-sp;
  }
}
.is-mvReady .mainVisual__tagline {
  animation: mv-fade-up 1.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.6s both;
}
@media print, screen and (min-width: 768px) {
  .is-mvReady .mainVisual__calloutLine {
    animation: mv-clip-reveal 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  }
  .is-mvReady .mainVisual__calloutLine:nth-child(1) {
    animation-delay: 2.5s;
  }
  .is-mvReady .mainVisual__calloutLine:nth-child(2) {
    animation-delay: 3s;
  }
  .is-mvReady .mainVisual__calloutLine .num--magenta {
    color: #d7167d;
    transition-delay: 3.5s;
  }
  .is-mvReady .mainVisual__calloutLine .num--teal {
    color: #00aec4;
    transition-delay: 4.2s;
  }
}
@media screen and (max-width: 768px) and (prefers-reduced-motion: no-preference) {
  .mainVisual__callout.sai-animate .mainVisual__calloutLine {
    animation: mv-clip-reveal 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  }
  .mainVisual__callout.sai-animate .mainVisual__calloutLine:nth-child(1) {
    animation-delay: 0s;
  }
  .mainVisual__callout.sai-animate .mainVisual__calloutLine:nth-child(2) {
    animation-delay: 0.4s;
  }
  .mainVisual__callout.sai-animate .mainVisual__calloutLine .num--magenta {
    color: #d7167d;
    transition-delay: 1.5s;
  }
  .mainVisual__callout.sai-animate .mainVisual__calloutLine .num--teal {
    color: #00aec4;
    transition-delay: 1.9s;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mainVisual__logo,
  .mainVisual__logo .logoMark,
  .mainVisual__visual,
  .mainVisual__visual .photo__pic,
  .mainVisual__tagline,
  .mainVisual__calloutLine {
    animation: none;
    opacity: 1;
  }
  .mainVisual__calloutLine {
    clip-path: none;
  }
  .mainVisual__calloutLine .num--magenta {
    color: #d7167d;
    transition: none;
  }
  .mainVisual__calloutLine .num--teal {
    color: #00aec4;
    transition: none;
  }
  .mainVisual__logo .logoEn {
    letter-spacing: 0.55em;
    opacity: 1;
    transition: none;
  }
}
@media screen and (prefers-reduced-motion: reduce) and (max-width: 768px) {
  .mainVisual__logo .logoEn {
    letter-spacing: 0.12em;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mainVisual__logo .logoEn::before,
  .mainVisual__logo .logoEn::after {
    clip-path: none;
    transition: none;
  }
}
.uspStats {
  color: #231815;
}
.uspStats__noteHost {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .uspStats__ldk {
    font-size: 7.6rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__ldk {
    font-size: 3.7rem;
  }
}
.uspStats__inner {
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .uspStats__inner {
    width: 96rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__inner {
    width: 100%;
  }
}
.uspStats__item {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .uspStats__item + .uspStats__item {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__item + .uspStats__item {
    margin-top: 3.2rem;
  }
}
.uspStats__label {
  align-items: center;
  color: #999;
  display: flex;
  font-family: "Lato", "Noto Sans JP", sans-serif;
  justify-content: center;
  letter-spacing: 0.45em;
  line-height: 1;
  transition: letter-spacing 1s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media print, screen and (min-width: 768px) {
  .uspStats__label {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__label {
    font-size: 1.4rem;
  }
}
.uspStats__label:before, .uspStats__label:after {
  background: #999;
  content: "";
  display: block;
  flex: 1;
  height: 1px;
  transition: clip-path 1.2s cubic-bezier(0.22, 0.61, 0.36, 1) 0.4s;
}
.uspStats__label:before {
  clip-path: inset(0 0 0 100%);
}
@media print, screen and (min-width: 768px) {
  .uspStats__label:before {
    margin-right: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__label:before {
    margin-right: 1.2rem;
  }
}
.uspStats__label:after {
  clip-path: inset(0 100% 0 0);
}
@media print, screen and (min-width: 768px) {
  .uspStats__label:after {
    margin-left: 1.1rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__label:after {
    margin-left: 0.8rem;
  }
}
.uspStats__item.sai-animate .uspStats__label {
  letter-spacing: 0.5em;
}
.uspStats__item.sai-animate .uspStats__label:before, .uspStats__item.sai-animate .uspStats__label:after {
  clip-path: inset(0);
}
@media (prefers-reduced-motion: reduce) {
  .uspStats__label {
    letter-spacing: 0.5em;
    transition: none;
  }
  .uspStats__label:before, .uspStats__label:after {
    clip-path: none;
    transition: none;
  }
}
.uspStats__rows {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .uspStats__rows {
    margin-top: 3.8rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__rows {
    margin-top: 2rem;
  }
}
.uspStats__row {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  letter-spacing: 0.08em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row {
    font-size: 3.4rem;
    gap: 0 1.9rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row {
    font-size: 2rem;
    gap: 0 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .uspStats__row + .uspStats__row {
    margin-top: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row + .uspStats__row {
    margin-top: 1rem;
  }
}
.uspStats__row .uspStats__grp {
  align-items: baseline;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .uspStats__grp {
    gap: 0 0.2rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .uspStats__grp {
    gap: 0 0.4rem;
  }
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .uspStats__nm,
  .uspStats__row .uspStats__vl,
  .uspStats__row .uspStats__sub-line {
    display: contents;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .uspStats__nm,
  .uspStats__row .uspStats__vl,
  .uspStats__row .uspStats__sub-line {
    align-items: baseline;
    display: flex;
    justify-content: center;
  }
}
.uspStats__row .num {
  color: #d7167d;
  font-family: Lato, "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .num {
    font-size: 9.5rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .num {
    font-size: 4.5rem;
  }
}
.uspStats__row .num--lg {
  letter-spacing: -0.08em;
  margin: 0 0.8rem;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .num--lg {
    font-size: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .num--lg {
    font-size: 4.9rem;
  }
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .num--sm {
    font-size: 7.6rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .num--sm {
    font-size: 4.5rem;
  }
}
.uspStats__row .num--teal {
  color: #00aec4;
}
.uspStats__row .area {
  letter-spacing: 0.08em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .area {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .area {
    font-size: 2.4rem;
  }
}
.uspStats__row .sta {
  letter-spacing: 0.12em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .sta {
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .sta {
    font-size: 1.6rem;
  }
}
.uspStats__row .unit {
  letter-spacing: 0.12em;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .unit {
    font-size: 2.7rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .unit {
    font-size: 1.6rem;
  }
}
.uspStats__row .sub {
  letter-spacing: 0.12em;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .sub {
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .sub {
    font-size: 1.6rem;
  }
}
.uspStats__row .key {
  color: #d7167d;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .key {
    font-size: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .key {
    font-size: 2.9rem;
  }
}
.uspStats__row .key--teal {
  color: #00aec4;
}
.uspStats__row .badge {
  align-self: baseline;
  background: #231815;
  color: #fff;
  letter-spacing: 0.12em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .badge {
    font-size: 3rem;
    margin: 0 0.8rem;
    padding: 0.55rem 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .badge {
    font-size: 1.6rem;
    padding: 0.4rem;
  }
}
.uspStats__row .note {
  bottom: 100%;
  color: #8a8a8a;
  letter-spacing: 0.12em;
  line-height: 1;
  position: absolute;
  right: 0;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .uspStats__row .note {
    font-size: 1rem;
    margin-bottom: 0.4rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row .note {
    font-size: 1rem;
    margin-bottom: 0.4rem;
  }
}
.uspStats__note {
  color: #8a8a8a;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .uspStats__note {
    font-size: 1rem;
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__note {
    font-size: 1rem;
    margin-top: 1rem;
  }
}
.uspStats__grpNote {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .uspStats__grpNote .uspStats__note {
    max-width: 16rem;
    white-space: normal;
  }
}
@media print, screen and (min-width: 768px) {
  .uspStats__row--station {
    gap: 0 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row--station {
    flex-wrap: nowrap;
    gap: 0 3.2rem;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row--station .uspStats__grp {
    flex-direction: column;
    gap: 0.8rem 0;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row--facility {
    flex-wrap: nowrap;
    gap: 0 0.8rem;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row--facility .uspStats__grp {
    align-items: center;
    flex-direction: column;
    gap: 1.6rem 0;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row--facility .num {
    font-size: 4.9rem;
  }
}
@media print, screen and (min-width: 768px) {
  .uspStats__row--bright {
    gap: 0 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row--bright {
    flex-wrap: wrap;
    gap: 2.4rem 3.2rem;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row--bright .uspStats__grp--break {
    flex-basis: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .uspStats__row--various {
    gap: 0 3.2rem;
  }
  .uspStats__row--various .uspStats__sub-line .unit {
    align-self: center;
    line-height: 1.2;
    padding-left: 1rem;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row--various {
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0 2.4rem;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__row--various .uspStats__grp {
    align-items: center;
    flex-direction: column;
    gap: 0.6rem 0;
  }
}
.uspStats__btn {
  display: flex;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .uspStats__btn {
    margin-top: 5.6rem;
  }
}
@media screen and (max-width: 768px) {
  .uspStats__btn {
    margin-top: 4rem;
  }
}
.infoSect {
  color: #231815;
}
.infoSect__head {
  text-align: center;
}
.infoSect__head .enTtl {
  color: #999;
}
.infoSect__head .photo {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .infoSect__head .photo {
    margin-top: 4rem;
    width: 55rem;
  }
}
@media screen and (max-width: 768px) {
  .infoSect__head .photo {
    margin-top: 2.9rem;
    width: 100%;
  }
}
.infoSect__head .usableList {
  gap: 2rem;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .infoSect__head .usableList {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .infoSect__head .usableList {
    align-items: center;
    margin-top: 3.3rem;
  }
}
@media print, screen and (min-width: 768px) {
  .infoSect .generalBtn--request,
  .infoSect .generalBtn--reserve {
    height: 8rem;
    width: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .infoSect .generalBtn--request,
  .infoSect .generalBtn--reserve {
    font-size: 1.4rem;
    height: 8rem;
    width: 34.2rem;
  }
}
@media screen and (max-width: 768px) {
  .infoSect .generalBtn--request .en,
  .infoSect .generalBtn--reserve .en {
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
  }
}
.infoSect .generalBtn--request {
  background: #595757;
}
.conceptSect {
  background: transparent;
  margin-left: auto;
  margin-right: auto;
  max-width: 124rem;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .conceptSect {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .conceptSect {
    padding-top: 3.3rem;
  }
}
.conceptSect::before {
  background: #fff;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: -1;
}
@media print, screen and (min-width: 768px) {
  .conceptSect::before {
    -webkit-mask-composite: xor;
            mask-composite: xor;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-mask-image: url("../imgs/pc/logo-concept.svg"), linear-gradient(#000, #000);
            mask-image: url("../imgs/pc/logo-concept.svg"), linear-gradient(#000, #000);
    -webkit-mask-position: center 10rem, center;
            mask-position: center 10rem, center;
    -webkit-mask-repeat: no-repeat, no-repeat;
            mask-repeat: no-repeat, no-repeat;
    -webkit-mask-size: 60rem auto, 100% 100%;
            mask-size: 60rem auto, 100% 100%;
  }
}
@media screen and (max-width: 768px) {
  .conceptSect::before {
    -webkit-mask-composite: xor;
            mask-composite: xor;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-mask-image: url("../imgs/sp/logo-concept.svg"), linear-gradient(#000, #000);
            mask-image: url("../imgs/sp/logo-concept.svg"), linear-gradient(#000, #000);
    -webkit-mask-position: center 6.8rem, center;
            mask-position: center 6.8rem, center;
    -webkit-mask-repeat: no-repeat, no-repeat;
            mask-repeat: no-repeat, no-repeat;
    -webkit-mask-size: 22.9rem auto, 100% 100%;
            mask-size: 22.9rem auto, 100% 100%;
  }
}
.conceptSect__head {
  text-align: center;
}
.conceptSect__head .headingCombi {
  margin-top: 25rem;
}
.conceptSect__head .heading {
  color: #231815;
  letter-spacing: 0.12em;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .conceptSect__head .heading {
    font-size: 2.8rem;
    max-width: 50rem;
  }
}
@media screen and (max-width: 768px) {
  .conceptSect__head .heading {
    font-size: 2.3rem;
  }
}
.conceptSect__head .txt {
  color: #555;
  line-height: 2.4;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .conceptSect__head .txt {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    margin-top: 4rem;
    max-width: 67.6rem;
  }
}
@media screen and (max-width: 768px) {
  .conceptSect__head .txt {
    font-size: 1.3rem;
    letter-spacing: 0;
    margin-top: 2.9rem;
  }
}
.conceptSect__head .txt sup {
  font-size: 0.65em;
  vertical-align: super;
}
.conceptSect__en {
  color: #999;
  font-family: "Lato", "Noto Sans JP", sans-serif;
  letter-spacing: 0.28em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .conceptSect__en {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .conceptSect__en {
    font-size: 1.6rem;
  }
}
.conceptSect__cont {
  margin: 0 auto;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .conceptSect__cont {
    aspect-ratio: 1240/473;
    margin-top: 8rem;
    width: 124rem;
  }
}
@media screen and (max-width: 768px) {
  .conceptSect__cont {
    aspect-ratio: 350/158;
    margin-top: 5rem;
    width: 100%;
  }
}
.conceptSect__cont .photo,
.conceptSect__cont .photo__pic,
.conceptSect__cont .photo__image {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.conceptSect__cont .photo__pic {
  filter: blur(6px) brightness(1.2) saturate(1.2) contrast(1.02);
  transform: scale(1.04);
  transform-origin: bottom center;
  transition: transform 2.6s ease, filter 2.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.conceptSect__cont .photo.sai-animate .photo__pic {
  filter: blur(0) brightness(1) saturate(1) contrast(1);
  transform: scale(1);
}
@media (prefers-reduced-motion: reduce) {
  .conceptSect__cont .photo__pic {
    filter: none;
    transform: none;
    transition: none;
  }
}
.currentPage--top {
  background: transparent;
}
.prismBg {
  background-image: url("../common/imgs/bg-movie-poster.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.5;
  pointer-events: none;
  position: fixed;
  width: 100%;
  z-index: -1;
}
.mvPoster {
  background: #fff;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 1;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.8s ease, visibility 0s linear 0.8s;
  visibility: visible;
  z-index: 998;
}
.mvPoster::before {
  background-image: url("../common/imgs/bg-movie-poster.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.5;
  position: absolute;
}
.is-mvReady .mvPoster {
  opacity: 0;
  visibility: hidden;
}
@media print, screen and (min-width: 768px) {
  .top-usp {
    padding: 10rem 0;
  }
}
@media screen and (max-width: 768px) {
  .top-usp {
    padding: 6.2rem 0 0;
  }
}
@media print, screen and (min-width: 768px) {
  .top-information {
    padding: 10rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  .top-information {
    padding: 7.3rem 0 0;
  }
}
@media print, screen and (min-width: 768px) {
  .top-concept {
    padding: 12rem 0 14rem;
  }
}
@media screen and (max-width: 768px) {
  .top-concept {
    padding: 7.3rem 0;
  }
}
@media print, screen and (min-width: 768px) {
  .top-concept .wrap {
    width: 124rem;
  }
}
.top-thumbsCap {
  color: #8a8a8a;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .top-thumbsCap {
    font-size: 1rem;
    margin-bottom: 0.8rem;
    padding-left: calc((100% - 120rem) / 2);
  }
}
@media screen and (max-width: 768px) {
  .top-thumbsCap {
    font-size: 0.9rem;
    margin-bottom: 0.6rem;
    padding-left: 2.1rem;
  }
}
.top-thumbs {
  overflow: hidden;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .top-thumbs {
    height: 9.7222222222vw;
  }
}
@media screen and (max-width: 768px) {
  .top-thumbs {
    height: 10.4rem;
  }
}
.loopSlider__inner {
  animation: loop-slide 40s linear infinite;
  display: flex;
  height: 100%;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
}
.loopSlider__image {
  flex-shrink: 0;
  height: 100%;
  margin: 0;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .loopSlider__image {
    margin-right: 0.8333333333vw;
    width: 20.1388888889vw;
  }
}
@media screen and (max-width: 768px) {
  .loopSlider__image {
    margin-right: 0.8rem;
    width: 16.6rem;
  }
}
.loopSlider__image .photo,
.loopSlider__image .photo__pic,
.loopSlider__image .photo__image {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.loopSlider__note {
  bottom: 0;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  padding: 0 0.5rem 0.5rem 0;
  position: absolute;
  right: 0;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1rem, rgba(0, 0, 0, 0.7) 1px 1px 1rem, rgba(0, 0, 0, 0.7) 1px 1px 1rem, rgba(0, 0, 0, 0.7) 1px 1px 1rem, rgba(0, 0, 0, 0.7) 1px 1px 1rem, rgba(0, 0, 0, 0.7) 1px 1px 1rem;
}
@media print, screen and (min-width: 768px) {
  .loopSlider__note {
    font-size: max(1rem, 10px);
  }
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
/*# sourceMappingURL=style.css.map */
