@charset "UTF-8";

/* btn style */
.c-btn {
  position: relative;
  cursor: pointer;
  text-align: center;
  display: inline-block;
  margin: 0 auto;
}
.c-btn:before,
.c-btn:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  transition: 0.3s ease;
  width: 100%;
  height: 100%;
  border-radius: 9999px; /* 高さに関係なく、完全に丸みを持たせる */
}
.c-btn:before {
  background: linear-gradient(108deg, #c1272d 0%, #e71a2f 100%);

  z-index: 1;
}
.c-btn:after {
  background: linear-gradient(108deg, #e71a2f 0%, #c1272d 100%);

  z-index: 0;
}
.c-btn__text {
  text-decoration: none;
  display: inline-block;
  padding: 18px 100px 18px 30px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: normal;
  position: relative;
  transition: 0.3s ease;
  z-index: 2;
}
.c-btn__text:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 9px solid #fff;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  transform: translateY(-50%);
  transition: 0.3s ease;
}
.c-btn:hover .c-btn__text:after {
  animation: a-arrow-right 0.6s ease-in-out;
}

@keyframes a-arrow-right {
  0% {
    transform: translate(0, -50%);
    opacity: 1;
  }
  50% {
    transform: translate(20px, -50%);
    opacity: 0;
  }
  51% {
    transform: translate(-20px, -50%);
    opacity: 0;
  }
  100% {
    transform: translate(0, -50%);
    opacity: 1;
  }
}

.c-btn__text[target="_blank"]:after {
  font-family: "Font Awesome 6 Free";
  margin: 0 3px 5px;
  content: "\f35d";
  font-weight: 900;
  display: inline-block;
  font-size: 1.4rem;
  border-top: 0;
  border-right: 0;
  transform: rotate(0deg) translateY(-60%);
}
.c-btn:hover .c-btn__text[target="_blank"]:after {
  right: 30px;
}
