@charset "UTF-8";
/* イラスト・アニメーション */
@keyframes fluffy-rotate {
  0% {
    transform: translateY(0) rotate(3deg);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0) rotate(3deg);
  }
}
@keyframes fluffy {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
/* 左から右へ フェードイン */
._fadeIn--left {
  animation: fadeInLeft 1s ease-out forwards;
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-100px) scale(0.9);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1) rotate(2deg);
  }
}
/* 右から左へ フェードイン */
._fadeIn--right {
  animation: fadeInRight 1s ease-out forwards;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(100px) scale(0.9); /* 初期位置を右に設定 */
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1) rotate(-2deg);
  }
}
.ripples--animation {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  cursor: pointer;
  transition: box-shadow 0.3s;
}
.ripples--animation::before, .ripples--animation::after {
  content: "";
  display: block;
  width: var(--magicCard-width);
  height: var(--magicCard-width);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border: 1px solid var(--assort-color);
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  opacity: 0;
}
.ripples--animation:hover {
  opacity: 1;
}
.ripples--animation:hover::before, .ripples--animation:hover::after {
  animation: pulsate 2s linear infinite;
}
.ripples--animation:hover::after {
  animation-delay: 1s;
}
@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}

/* ----------------------------------------------
 * Generated by Animista on 2025-5-8 18:35:12
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info.
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
.slide-in-blurred-top {
  -webkit-animation: slide-in-blurred-top 0.6s cubic-bezier(0.23, 1, 0.32, 1) 2.5s 1 both;
  animation: slide-in-blurred-top 0.6s cubic-bezier(0.23, 1, 0.32, 1) 2.5s 1 both;
}

/**
 * ----------------------------------------
 * animation slide-in-blurred-top
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-blurred-top {
  0% {
    -webkit-transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
    transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-filter: blur(40px);
    filter: blur(40px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) scaleY(1) scaleX(1);
    transform: translateY(0) scaleY(1) scaleX(1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
  }
}
@keyframes slide-in-blurred-top {
  0% {
    -webkit-transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
    transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-filter: blur(40px);
    filter: blur(40px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) scaleY(1) scaleX(1);
    transform: translateY(0) scaleY(1) scaleX(1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
  }
}
.slide-in-elliptic-bottom-bck {
  opacity: 0;
  -webkit-animation: slide-in-elliptic-bottom-bck 1.2s ease-out 1.5s 1 normal forwards;
  animation: slide-in-elliptic-bottom-bck 1.2s ease-out 1.5s 1 normal forwards;
}

/**
 * ----------------------------------------
 * animation slide-in-elliptic-bottom-bck
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-elliptic-bottom-bck {
  0% {
    -webkit-transform: translateY(600px) rotateX(-30deg) scale(6.5);
    transform: translateY(600px) rotateX(-30deg) scale(6.5);
    -webkit-transform-origin: 50% -100%;
    transform-origin: 50% -100%;
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) rotateX(0) scale(1);
    transform: translateY(0) rotateX(0) scale(1);
    -webkit-transform-origin: 50% 500px;
    transform-origin: 50% 500px;
    opacity: 1;
  }
}
@keyframes slide-in-elliptic-bottom-bck {
  0% {
    -webkit-transform: translateY(600px) rotateX(-30deg) scale(6.5);
    transform: translateY(600px) rotateX(-30deg) scale(6.5);
    -webkit-transform-origin: 50% -100%;
    transform-origin: 50% -100%;
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0) rotateX(0) scale(1);
    transform: translateY(0) rotateX(0) scale(1);
    -webkit-transform-origin: 50% 500px;
    transform-origin: 50% 500px;
    opacity: 1;
  }
}
.slit-in-vertical {
  -webkit-animation: slit-in-vertical 0.3s;
  animation: slit-in-vertical 0.3s;
}

/**
 * ----------------------------------------
 * animation slit-in-vertical
 * ----------------------------------------
 */
@-webkit-keyframes slit-in-vertical {
  0% {
    -webkit-transform: translateZ(-800px) rotateY(90deg);
    transform: translateZ(-800px) rotateY(90deg);
    opacity: 0;
  }
  54% {
    -webkit-transform: translateZ(-160px) rotateY(87deg);
    transform: translateZ(-160px) rotateY(87deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateZ(0) rotateY(0);
    transform: translateZ(0) rotateY(0);
  }
}
@keyframes slit-in-vertical {
  0% {
    -webkit-transform: translateZ(-800px) rotateY(90deg);
    transform: translateZ(-800px) rotateY(90deg);
    opacity: 0;
  }
  54% {
    -webkit-transform: translateZ(-160px) rotateY(87deg);
    transform: translateZ(-160px) rotateY(87deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateZ(0) rotateY(0);
    transform: translateZ(0) rotateY(0);
  }
}
.slide-in-elliptic-left-bck {
  -webkit-animation: slide-in-elliptic-left-bck 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: slide-in-elliptic-left-bck 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

/**
 * ----------------------------------------
 * animation slide-in-elliptic-left-bck
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-elliptic-left-bck {
  0% {
    -webkit-transform: translateX(-800px) rotateY(-30deg) scale(6.5);
    transform: translateX(-800px) rotateY(-30deg) scale(6.5);
    -webkit-transform-origin: 200% 50%;
    transform-origin: 200% 50%;
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0) rotateY(0) scale(1);
    transform: translateX(0) rotateY(0) scale(1);
    -webkit-transform-origin: -600px 50%;
    transform-origin: -600px 50%;
    opacity: 1;
  }
}
@keyframes slide-in-elliptic-left-bck {
  0% {
    -webkit-transform: translateX(-800px) rotateY(-30deg) scale(6.5);
    transform: translateX(-800px) rotateY(-30deg) scale(6.5);
    -webkit-transform-origin: 200% 50%;
    transform-origin: 200% 50%;
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0) rotateY(0) scale(1);
    transform: translateX(0) rotateY(0) scale(1);
    -webkit-transform-origin: -600px 50%;
    transform-origin: -600px 50%;
    opacity: 1;
  }
}
.slide-in-elliptic-right-bck {
  -webkit-animation: slide-in-elliptic-right-bck 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: slide-in-elliptic-right-bck 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

/**
 * ----------------------------------------
 * animation slide-in-elliptic-right-bck
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-elliptic-right-bck {
  0% {
    -webkit-transform: translateX(800px) rotateY(30deg) scale(6.5);
    transform: translateX(800px) rotateY(30deg) scale(6.5);
    -webkit-transform-origin: -100% 50%;
    transform-origin: -100% 50%;
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0) rotateY(0) scale(1);
    transform: translateX(0) rotateY(0) scale(1);
    -webkit-transform-origin: 600px 50%;
    transform-origin: 600px 50%;
    opacity: 1;
  }
}
@keyframes slide-in-elliptic-right-bck {
  0% {
    -webkit-transform: translateX(800px) rotateY(30deg) scale(6.5);
    transform: translateX(800px) rotateY(30deg) scale(6.5);
    -webkit-transform-origin: -100% 50%;
    transform-origin: -100% 50%;
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0) rotateY(0) scale(1);
    transform: translateX(0) rotateY(0) scale(1);
    -webkit-transform-origin: 600px 50%;
    transform-origin: 600px 50%;
    opacity: 1;
  }
}
.tilt-in-top-1 {
  -webkit-animation: tilt-in-top-1 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: tilt-in-top-1 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

/**
 * ----------------------------------------
 * animation tilt-in-top-1
 * ----------------------------------------
 */
@-webkit-keyframes tilt-in-top-1 {
  0% {
    -webkit-transform: rotateY(30deg) translateY(-300px) skewY(-30deg);
    transform: rotateY(30deg) translateY(-300px) skewY(-30deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0deg) translateY(0) skewY(0deg);
    transform: rotateY(0deg) translateY(0) skewY(0deg);
    opacity: 1;
  }
}
@keyframes tilt-in-top-1 {
  0% {
    -webkit-transform: rotateY(30deg) translateY(-300px) skewY(-30deg);
    transform: rotateY(30deg) translateY(-300px) skewY(-30deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0deg) translateY(0) skewY(0deg);
    transform: rotateY(0deg) translateY(0) skewY(0deg);
    opacity: 1;
  }
}
