@charset "UTF-8";
.ttl__clip {
  clip-path: inset(0 100% 0 0);
  overflow: hidden;
}

.js-split-up,
.js-left {
  overflow: hidden;
}

/**
**  グラフ
**/
.chart-wrap {
  height: 31.25rem;
}
@media screen and (max-width: 960px) {
  .chart-wrap {
    height: 17.1428571429rem;
  }
}

/** 無限ループ **/
.js-loop {
  --duration: 20s;
  width: 100vw;
}

*:has(> .js-loop-item) {
  display: flex;
  flex-wrap: nowrap;
}

.js-loop-item {
  white-space: nowrap;
  animation: loop_anim var(--duration) linear infinite;
  padding-inline-start: var(--gap, 1em);
}

@keyframes loop_anim {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}
/** gallery slider **/
.gallery-loop__slider {
  --item-max-width: 31.25rem;
  --duration: 30s;
  --gap: 1.875rem;
}
@media screen and (max-width: 960px) {
  .gallery-loop__slider {
    --item-max-width: 18.75rem;
    --gap: 0.625rem;
  }
}

.gallery-loop__slider.-reverse {
  --direction: reverse;
  --flex-direction: row-reverse;
}

.gallery-loop__slider .wp-block-gallery {
  flex-wrap: nowrap;
  gap: var(--gap);
  margin: 0;
}

.gallery-loop__slider .wp-block-image {
  max-width: var(--item-max-width, 0px);
  width: var(--item-max-width) !important;
  margin-inline: auto;
}

body {
  font-family: var(--swl-font_family);
  font-weight: var(--swl-font_weight);
}
body.is-scroll-lock {
  overflow: hidden;
}

.fv__img {
  clip-path: inset(100% 0 0 0);
  overflow: hidden;
}

.fv-copy__text figure {
  opacity: var(--opacity, 0);
}

.top-performance__section .loop__text__wrap {
  transform: rotate(90deg);
  position: absolute;
  left: 0;
  bottom: 0;
  font-family: var(--font-eng);
  font-weight: 300;
  opacity: 0.1;
  color: var(--color_main);
  font-size: 4rem;
  transform-origin: top right;
  line-height: 1.5;
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .top-performance__section .loop__text__wrap {
    transform: rotate(0);
  }
}
.top-performance__section .loop__text__wrap .loop__text {
  --duration: 50s;
  margin: 0;
}
.top-performance__section .loop__text__wrap .loop__text p {
  margin: 0;
}
.top-performance__section .loop__text__wrap .loop__text:nth-of-type(2) .js-loop-item {
  animation-direction: reverse;
}