@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-LSM */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
.zen {
	font-family: "Zen Maru Gothic", sans-serif;
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 960px) {
}
/*------------------------------------------------------------
	jsMovieBox
------------------------------------------------------------*/
.jsMovieBox {
	padding: 8rem 4rem;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .5s;
	z-index: 100;
}
.jsMovieBox.show {
	opacity: 1;
	visibility: visible;
}
.jsMovieBox .bg {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(229,229,229,.9);
}
.jsMovieBox .videoInner {
	height: 100%;
    position: relative;
    z-index: 2;
}
.jsMovieBox .videoInner video {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.jsMovieBox .close {
	width: 4.4rem;
    position: fixed;
    right: 3rem;
    top: 2rem;
    z-index: 3;
}
.jsMovieBox .close a {
	display: block;
}
@media all and (min-width: 961px) {
	.jsMovieBox .close:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 960px) {
	.jsMovieBox .videoInner {
		aspect-ratio: 16 / 9;
		max-height: 100%;
		height: auto;
	}
}
/*------------------------------------------------------------
	pop
------------------------------------------------------------*/
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
.mfp-iframe-holder {
	padding: 8rem 4rem;
}
.mfp-iframe-holder .mfp-content {
	max-width: fit-content;
    height: 100%;
    aspect-ratio: 9 / 16;
}
.mfp-iframe-scaler {
    padding-top: 177.615%;
}
.mfp-iframe-holder .mfp-close {
	padding: 0;
	width: 4.4rem;
	height: 4.4rem;
	position: fixed;
	right: 3rem;
    top: 2rem;
	font-size: 0;
	background: url(../img/body/pop_close_black.png) no-repeat right center / cover;
	opacity: 1;
}
@media all and (min-width: 961px) {
	.mfp-iframe-holder .mfp-close:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 960px) {
	.mfp-iframe-holder .mfp-content {
		max-width: 100%;
		height: auto;
	}
}

.fadeIn {
	opacity: 0;
}
.fadeZoom {
	transform: scale(1.05);
	opacity: 0;
	transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.fadeZoom.active {
	opacity: 1;
	transform: scale(1);
}
.fadeInUp {
	opacity: 0;
	transform: translateY(2rem);
	transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.fadeInUp.active {
	opacity: 1;
	transform: translateY(0);
}
.fadeInLeft {
	opacity: 0;
	transform: translateX(-2rem);
	transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.fadeInLeft.active {
	opacity: 1;
	transform: translateX(0);
}
.fadeInRight {
	opacity: 0;
	transform: translateX(2rem);
	transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.fadeInRight.active {
	opacity: 1;
	transform: translateX(0);
}
.fadeBlur {
	transition: all 0.5s;
    filter: blur(10px);
}
.fadeBlur.active {
	filter: blur(0);
}
.delay01 {
	transition-delay: 0.3s;
}
.poyoyon.active {
	animation: poyoyon 1s ease-in-out forwards 1s;
}
.poyoyon.aniDelay {
	animation-delay: 1.3s;
}
@keyframes poyoyon {
	0%  {
		transform: scale(1.0, 1.0) translate(0, 0);
	}
	15% {
		transform: scale(0.98, 0.9) translate(0, 5px);
	}
	30% {
		transform: scale(1.02, 1.0) translate(0, 8px);
	}
	50% {transform: scale(0.98, 1.05) translate(0, -8px);
	}
	70% {
		transform: scale(1.0, 0.9) translate(0, 5px);
	}
	100% {
		transform: scale(1.0, 1.0) translate(0, 0);
	}
	0%, 100% {
		opacity: 1;
	}
}
.poyonReverse {
	opacity: 0;
	transform: scale(0.9, 1.2) translate(0%, 50%);
}
.poyonReverse.active {
	opacity: 1;
	animation: poyonReverse 1.2s linear 1 forwards;
}
@keyframes poyonReverse {
	0%   { transform: scale(0.9, 1.2) translate(0%, 50%); }
	10%  { transform: scale(0.9, 1.2) translate(0%, 10%); }
	20%  { transform: scale(1.2, 0.75) translate(0%, -15%); }
	30%  { transform: scale(0.95, 1.05) translate(0%, 5%); }
	40%  { transform: scale(0.98, 1.15) translate(0%, 15%); }
	50%  { transform: scale(0.98, 1.15) translate(0%, 5%); }
	60%  { transform: scale(1.05, 0.95) translate(0%, -3%); }
	70%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
	100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
