@charset "UTF-8";
.infinity-floating {
  animation-name: floating;
  animation-duration: 2000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  animation-direction: alternate-reverse;
}

@keyframes floating {
  0% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(10%);
  }
}
/*hover*/
.hover-scaleUp {
  transition: all 300ms; /* アニメーションの速度 */
}

.hover-scaleUp:hover {
  transform: scale(1.2); /* 変化するスケール値 */
}

.hover-scaleDown {
  transition: all 300ms; /* アニメーションの速度 */
}

.hover-scaleDown:hover {
  transform: scale(0.8); /* 変化するスケール値 */
}

.hover-scaleUp-overflow {
  overflow: hidden;
}
.hover-scaleUp-overflow > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: all 300ms; /* アニメーションの速度 */
}

.hover-scaleUp-overflow:hover > img {
  transform: scale(1.2); /* 変化するスケール値 */
}

.hover-scaleDown-overflow {
  overflow: hidden;
}
.hover-scaleDown-overflow > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.2); /* 変化するスケール値 */
  transition: all 300ms; /* アニメーションの速度 */
}

.hover-scaleDown-overflow:hover > img {
  transform: scale(1);
}

/*scroll*/
/* フェードイン */
.-intersecting-fadeIn-from {
  opacity: 0;
}

.-intersecting-fadeIn-to {
  animation-name: fadeIn;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* フェードイン + 下から上へ */
.-intersecting-fadeInUp-from {
  transform: translate(0, 10%);
  opacity: 0;
}

.-intersecting-fadeInUp-to {
  animation-name: fadeInUp;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes fadeInUp {
  0% {
    transform: translate(0, 10%);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
/* フェードイン + 上から下へ */
.-intersecting-fadeInDown-from {
  transform: translate(0, -10%);
  opacity: 0;
}

.-intersecting-fadeInDown-to {
  animation-name: fadeInDown;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes fadeInDown {
  0% {
    transform: translate(0, -10%);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
/* フェードイン + 右から左へ */
.-intersecting-fadeInLeft-from {
  transform: translate(10%, 0);
  opacity: 0;
}

.-intersecting-fadeInLeft-to {
  animation-name: fadeInLeft;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes fadeInLeft {
  0% {
    transform: translate(10%, 0);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
/* フェードイン + 左から右へ */
.-intersecting-fadeInRight-from {
  transform: translate(-10%, 0);
  opacity: 0;
}

.-intersecting-fadeInRight-to {
  animation-name: fadeInRight;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes fadeInRight {
  0% {
    transform: translate(-10%, 0);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
/* スケールアップ */
.-intersecting-scaleUp-from {
  transform: scale(0);
}

.-intersecting-scaleUp-to {
  animation-name: scaleUp;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes scaleUp {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
/* 回転(時計回り) */
.-intersecting-rotationRight-from {
  transform: rotate(-180deg);
  opacity: 0;
}

.-intersecting-rotationRight-to {
  animation-name: rotationRight;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes rotationRight {
  0% {
    transform: rotate(-180deg);
    opacity: 0;
  }
  100% {
    transform: rotate(0);
    opacity: 1;
  }
}
/* 回転(反時計回り) */
.-intersecting-rotationLeft-from {
  transform: rotate(180deg);
  opacity: 0;
}

.-intersecting-rotationLeft-to {
  animation-name: rotationLeft;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes rotationLeft {
  0% {
    transform: rotate(180deg);
    opacity: 0;
  }
  100% {
    transform: rotate(0);
    opacity: 1;
  }
}
/* 伸縮 */
.-intersecting-stretch-from {
  transform: scale(1, 1) translate(0, 0);
  opacity: 0;
}

.-intersecting-stretch-to {
  animation-name: stretches;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes stretches {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
    opacity: 0;
  }
  15% {
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    transform: scale(0.8, 1.3) translate(0%, -10%);
  }
  70% {
    transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  100% {
    transform: scale(1, 1) translate(0%, 0%);
    opacity: 1;
  }
}
/* 落下してバウンド */
.-intersecting-fallingBound-from {
  transform: translate(0, 100%);
  opacity: 0;
}

.-intersecting-fallingBound-to {
  animation-name: fallingBound;
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
  animation-delay: 0ms;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

@keyframes fallingBound {
  0% {
    transform: translate(0, -100%);
    opacity: 0;
  }
  50% {
    transform: translate(0, 30%);
    opacity: 1;
  }
  75% {
    transform: translate(0, -30%);
  }
  100% {
    transform: translate(0, 0);
  }
}
.swiper-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 1200px;
}

.swiper {
  width: 900px;
  margin: 0 auto;
}

.swiper-slide {
  width: 300px;
  height: 400px;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

:root {
  --swiper-navigation-size:none;
}

.swiper-button-next, .swiper-button-prev {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  font-size: 48px;
}

/* ページネーション */
.swiper-pagination {
  position: relative;
  margin-top: 36px;
}

[data-story-image] {
  position: relative;
  width: 300px;
  height: 300px;
}

[data-story-image] img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.mouse-stalker {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1px;
  height: 1px;
  z-index: 9999;
  pointer-events: none;
  mix-blend-mode: exclusion;
}

.mouse-stalker-item {
  /* width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #666666; */
  flex-shrink: 0;
}

.mouse-stalker-hover {
  cursor: pointer;
}

.mouse-stalker-hover p {
  font-size: 48px;
  color: #ffffff;
}

.mouse-stalker-item-circle {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #00ff62;
  transition: all 500ms;
}

.mouse-stalker-item-circle-active {
  transform: scale(1.5);
}/*# sourceMappingURL=library.css.map */