/*-----------------------------------------
** btn effect
-----------------------------------------*/
/* rumble effect */
.__rumble:hover{
	animation: rumble 0.12s linear 2;
}

@keyframes rumble{
	0%	{transform:rotate(0deg)	translate(0,0);}
	12.5%	{transform:rotate(0.4deg)	translate(1px,-1px);}
	25%	{transform:rotate(0.8deg)	translate(0px,1px);}
	37.5%	{transform:rotate(0.4deg)	translate(-1px,0);}
	50%	{transform:rotate(0deg)	translate(0,0);}
	62.5%	{transform:rotate(-0.4deg)	translate(1px,0);}
	75%	{transform:rotate(-0.8deg)	translate(0,1px);}
	87.5%	{transform:rotate(-0.4deg)	translate(-1px,-1px);}
	100%	{transform:rotate(0deg)	translate(0,0);}
}

/* ripple efect */
.ripple__effect {
	/* 値の変更はエフェクト形体・サイズ・スピードに影響する */
	width: 150px;
	height: 150px;
	/* 必須 */
	position: absolute;
	border-radius: 100%;
	pointer-events: none;
	transform: scale(0);
	opacity: 0;
}
/* エフェクト要素の色を指定 */
.ripple__effect.is-orange { background: #FFB700;}
.ripple__effect.is-blue   { background: #4aa3df;}
.ripple__effect.is-black  { background: #999;}
/* classが付与されたらアニメーションを実行 */
.ripple__effect.is-show {
	animation: ripple 0.75s ease-out;
}
@keyframes ripple {
	from {
		opacity: 1;
		background: rgba(255,255,25,,1.0);
	}
	to {
		transform: scale(2);
		opacity: 0;
		background: rgba(255,255,25,,1.0);
	}
}

@keyframes zoomUp {
	0% {
		transform: translateX(50%) scale(1.0);
	}
	50% {
		transform: translateX(50%) scale(1.1);
	}
	100% {
		transform: translateX(50%) scale(1.0);
	}
}

/* bounce effect */
.__bounce:hover {
	animation: bounce 0.5s ease-out;
}
@keyframes bounce {
	0% {transform: scale(1.0, 1.0);}
	40% {transform: scale(1.2, 1.2);}
	60% {transform: scale(1.0, 1.0);}
	80% {transform: scale(1.1, 1.1);}
	100% {transform: scale(1.0, 1.0);}
}

/* blur efect */
@keyframes blurAnimation {
	0% {
		filter: blur(20px);
	}
	100% {
		filter: blur(0);
	}
}
.__blurAnimation {
	animation: blurAnimation 1s linear 0s 1 normal forwards running;
}
