/* animation */


/* Zoom In #1 */

.hover01 img {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover01:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}


/* Zoom In #2 */

.hover02 img {
	width: 300px;
	height: auto;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover02 .tpl_image:hover img {
	width: 350px;
}


/* Zoom Out #1 */

.hover03 img {
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover03 .tpl_image:hover img {
	-webkit-transform: scale(1);
	transform: scale(1);
}


/* Zoom Out #2 */

.hover04 img img {
	width: 400px;
	height: auto;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover04 img:hover img {
	width: 300px;
}


/* Slide */

.hover05 img {
	margin-left: 30px;
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover05 .tpl_image:hover img {
	margin-left: 0;
}


/* Rotate */

.hover06 img {
	-webkit-transform: rotate(0) scale(1);
	transform: rotate(0) scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover06:hover img {
	-webkit-transform: rotate(15deg) scale(1.4);
	transform: rotate(15deg) scale(1.4);
}


/* Blur */

.hover07 img {
	-webkit-filter: blur(0px);
	filter: blur(0px);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover07:hover img {
	-webkit-filter: blur(3px);
	filter: blur(3px);
}


/* Gray Scale */

.hover08 img {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover08 .tpl_image:hover img {
	-webkit-filter: grayscale(0);
	filter: grayscale(0);
}


/* Sepia */

.hover09 img {
	-webkit-filter: sepia(100%);
	filter: sepia(100%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover09 .tpl_image:hover img {
	-webkit-filter: sepia(0);
	filter: sepia(0);
}


/* Blur + Gray Scale */

.hover10 img {
	-webkit-filter: grayscale(0) blur(0);
	filter: grayscale(0) blur(0);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover10 .tpl_image:hover img {
	-webkit-filter: grayscale(100%) blur(3px);
	filter: grayscale(100%) blur(3px);
}


/* Opacity #1 */

.hover11 img {
	opacity: 1;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover11:hover img {
	opacity: .5;
}


/* Opacity #2 使えない */

.hover12 img {
	background-color: #1abc9c;
}

.hover12 img {
	opacity: 1;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.hover12 .tpl_image:hover img {
	opacity: .5;
}


/* Flashing */

.hover13 .tpl_image:hover img {
	opacity: 1;
	-webkit-animation: flash 1.5s;
	animation: flash 1.5s;
}

@-webkit-keyframes flash {
	0% {
		opacity: .4;
	}
	100% {
		opacity: 1;
	}
}

@keyframes flash {
	0% {
		opacity: .4;
	}
	100% {
		opacity: 1;
	}
}


/* Shine */

.hover14 img {
	position: relative;
}

.hover14 img::before {
	position: absolute;
	top: 0;
	left: -75%;
	z-index: 2;
	display: block;
	content: '';
	width: 50%;
	height: 100%;
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
}

.hover14:hover img::before {
	-webkit-animation: shine .75s;
	animation: shine .75s;
}

@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}

@keyframes shine {
	100% {
		left: 125%;
	}
}


/* Circle */

.hover15 img {
	position: relative;
}

.hover15 img::before {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: block;
	content: '';
	width: 0;
	height: 0;
	background: rgba(255, 255, 255, .2);
	border-radius: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0;
}

.hover15 img:hover::before {
	-webkit-animation: circle .75s;
	animation: circle .75s;
}

@-webkit-keyframes circle {
	0% {
		opacity: 1;
	}
	40% {
		opacity: 1;
	}
	100% {
		width: 200%;
		height: 200%;
		opacity: 0;
	}
}

@keyframes circle {
	0% {
		opacity: 1;
	}
	40% {
		opacity: 1;
	}
	100% {
		width: 200%;
		height: 200%;
		opacity: 0;
	}
}


/* ボタンアニメーション */

.button-fx_01:hover {
	transform: scale(1.05);
}

.button-fx_02:hover {
	transform: scale(0.95);
}

.button-fx_03:hover {
	opacity: .5;
}

.button-fx_04:hover {
	animation: shake .3s;
}

@-webkit-keyframes shake {
	0% {
		transform: rotateZ(0deg)
	}
	25% {
		transform: rotateZ(2deg)
	}
	50% {
		transform: rotateZ(0deg)
	}
	75% {
		transform: rotateZ(-2deg)
	}
	100% {
		transform: rotateZ(0deg)
	}
}

@keyframes shake {
	0% {
		transform: rotateZ(0deg)
	}
	25% {
		transform: rotateZ(2deg)
	}
	50% {
		transform: rotateZ(0deg)
	}
	75% {
		transform: rotateZ(-2deg)
	}
	100% {
		transform: rotateZ(0deg)
	}
}
