@charset "utf-8";
/* CSS Document */
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}

/* fadeUp */

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

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

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

/* fadeLeft */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:1s;
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.5s;
animation-fill-mode:forwards;
opacity:0;
}

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

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

/*ボタン*/
.btn002-01 {
    width: 100%;
    max-width: 200px;
    height: 60px;
    padding: 0 20px;
	margin: 20px auto;
    position: relative;
    text-decoration: none;
    outline: none;
    display: flex;
    border-radius: 9999px;
    background-color: #fff;
    transition: all 0.3s ease, background-color 0.3s;
    overflow: hidden;
    background-size: 400%;
	border: 1px solid #116066;
}
/* 伸びてくる背景 */
.btn002-01::before {
    content: '';
    position: absolute;
    top: 0;
    left: -10px;
    z-index: 2;
    transform: scaleX(0);
    transform-origin: 0 50%;
    width: 110%;
    height: inherit;
    border-radius: inherit;
    background-color: #116066;
    transition: all 0.3s ease;
}
/* 丸アイコン */
.btn002-01::after {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
    z-index: 3;
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #ddc537;
    border-radius: 20px;
    transition: all 0.3s ease;
}
/* テキスト */
.btn002-01 .text {
	font-size: 1rem;
	font-weight: bold;
	color: #116066;
    position: relative;
    position: absolute;
    top: 45%;
    left: 20px;
    z-index: 3;
    transform: translateY(-50%);
    transition: all 0.3s ease;
}
/* ホバーアニメーション */
.btn002-01:active::before {
    transform: scaleX(1);
}
.btn002-01:active .text {
    color: #fff;
}
.btn002-01:active::after {
    background-color: #ddc537;
    transform-origin: center;
    transform: scale(2);
}



@media screen and (max-width: 768px) {
/* ホバーアニメーション */
.btn002-01:hover::before {
    pointer-events: none;
}
.btn002-01:hover .text {
    pointer-events: none;
}
.btn002-01:hover::after {
    pointer-events: none;
}
}