@charset "UTF-8";

body {
  letter-spacing: 1px;
  max-width: 100%;
  word-break: break-all;
  background-color: #292929;
}

.common__btn {
  position: absolute;
  background-color: #fff;
  color: #000;
  top: 60%;
  right: 40%;
  padding: 30px 60px;
  cursor: pointer;
}
.common__btn:hover span {
  font-weight: bold;
  color: #fff;
}
.common__btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #a5ffc9;
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.common__btn:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.common__btn span {
  content: "";
  position: absolute;
  z-index: 6;
  top: 0;
  left: 0;
  color: #000;
  width: 100%;
  height: 100%;
  text-align: center;
  transform: translate(0%, 40%);
}

@media (max-width: 375px) {
  .common__btn {
    right: 35%;
  }
}

/* 文字がふわっと出て来る */
.fadeUpTrigger {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.9s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeLeft {
  animation-name: fadeLeftAnime;
  animation-duration: 0.9s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.fadeRight {
  animation-name: fadeRightAnime;
  animation-duration: 0.9s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}
