.is-fade > *:not(.is-not) {
	opacity: 0;
	-webkit-transform: translateY(30px);
	        transform: translateY(30px);
	-webkit-transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
	transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
}
.is-fade > .is-not {
	opacity: 0;
	-webkit-transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
	transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
}
.is-fade.fadeIn > * {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.box-fade {
	opacity: 0;
	-webkit-transform: translateY(30px);
	        transform: translateY(30px);
	-webkit-transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
	transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
}
.box-fade.fadeIn {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.p_hover a:hover {
	opacity: 0.7;
}

.svg.c_white svg {
	fill: #fff;
}
.svg.c_black svg {
	fill: #000;
}

.img-fit img {
	width: 100%;
	height: 100%;
	-o-object-position: 50% 50%;
	   object-position: 50% 50%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.replace_img {
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}

.l_tel {
	pointer-events: none;
}

@media screen and (max-width: 800px) {
	.l_tel {
		pointer-events: auto;
	}
}
body {
	position: relative;
	z-index: 1;
}
body::before {
	width: 100%;
	height: 100vh;
	content: "";
	display: block;
	position: fixed;
	top: 50vh;
	right: 50%;
	background-image: url(../img/top/movie.jpg);
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
	translate: 50% -50%;
	z-index: -2;
}

/* ========================================

header

======================================== */
.header_fixed {
	position: fixed;
	top: 0;
	left: 0;
}
@media screen and (min-width: 801px) {
	.header_fixed {
		translate: 0 -100%;
	}
}

@media screen and (min-width: 801px) {
	main {
		min-width: 1000px;
		position: relative;
		z-index: 2;
	}
}
/* ========================================

video

======================================== */
.bg_video {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}
.bg_video .video {
	height: 100%;
	position: relative;
}
.bg_video .video video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

/* ========================================

kv

======================================== */
.kv {
	margin: 0 auto;
}

/* ========================================

intro

======================================== */
@media screen and (min-width: 801px) {
	.intro {
		margin-top: min(-13.5vw, -135px);
	}
}
@media screen and (max-width: 800px) {
	.intro {
		margin-top: 40.8vw;
	}
}
/* ========================================

btm_img

======================================== */
.mdl_img {
	position: relative;
	z-index: 0;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}

/* ========================================

about

======================================== */
.about {
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 801px) {
	.about {
		margin-top: min(-37.3vw, -373px);
	}
}
@media screen and (max-width: 800px) {
	.about {
		margin-top: -2.6666vw;
	}
	.about::before {
		width: 100%;
		height: calc(100% - 2.6667vw);
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		background-color: #E6E6E6;
		z-index: 1;
	}
	.about div {
		position: relative;
		z-index: 2;
	}
}
/* ========================================

btm_img

======================================== */
@media screen and (min-width: 801px) {
	.btm_img {
		margin-top: min(-10.8vw, -108px);
	}
}
@media screen and (max-width: 800px) {
	.btm_img::before {
		width: 100%;
		height: 50%;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #E6E6E6;
		z-index: 1;
	}
}
/*# sourceMappingURL=top.css.map */