@charset "UTF-8";


.video-wrap {
    overflow: hidden;
	position: fixed;
	left: 0;
	top: 0;
    height: 100vh;
    width: 100vw;
	z-index: -2;
}
.video-wrap > video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
}

@media screen and (max-width: 780px) {
	.video-wrap > video {
		left: 200%;
	}
}

.contact_btn {
	background-color: #484B58;
	border-radius: 40px;
	display: block;
	margin-top: 2px;
	padding: 0 30px;
}
.contact_btn span {
	color: #fff;
	display: block;
	font-family: futura-pt, sans-serif;
	font-size: 20px;
	font-weight: 600;
	font-style: italic;
	letter-spacing: 1.4px;
	line-height: 1.0;
	padding: 4px 0 6px 25px;
	position: relative;
}
.contact_btn span::before {
	background: url("../img/common/icon-mail-01.png") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 9px;
	height: 16px;
	width: 16px;
}

@media screen and (max-width: 1380px) {
	.contact_btn {
		margin-top: .1vw;
		padding: 0 2.5vw;
	}
	.contact_btn span {
		font-size: 1.5vw;
		letter-spacing: .15vw;
		padding: .3vw 0 .5vw 1.8vw;
	}
	.contact_btn span::before {
		top: .6vw;
		height: 1.3vw;
		width: 1.3vw;
	}
}

@media screen and (max-width: 1120px) {
	.contact_btn {
		margin-top: .2vw;
		padding: 0 3vw;
	}
	.contact_btn span {
        font-size: 1.8vw;
		letter-spacing: .17vw;
        padding: .6vw 0 .5vw 2.4vw;
	}
	.contact_btn span::before {
        top: .9vw;
        height: 1.7vw;
        width: 1.7vw;
	}
}

@media screen and (max-width: 780px) {
	.contact_btn {
		border-radius: 40px;
		margin-top: 0;
		padding: 0 6vw;
	}
	.contact_btn span {
		font-size: 4vw;
		letter-spacing: .4vw;
		padding: 1vw 0 1vw 5vw;
	}
	.contact_btn span::before {
        top: 1.7vw;
        height: 3.5vw;
        width: 3.5vw;
	}
}

/** ------------
	header
------------ **/
/** -- signboard -- **/
header .signboard {
	background-color: rgba(255, 255, 255, .7);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 30px;
	padding: 14px 40px;
	position: fixed;
	left: 50%;
	top: 20px;
	transform: translateX(-50%);
	width: 1320px;
	z-index: 999;
}
header .signboard .inner {
	justify-content: space-between;
	width: 100%;
}
/** logo **/
header .signboard .logo {
	
}
/** ul **/
header .signboard ul {
	justify-content: center;
	margin: 0 auto;
}
header .signboard ul li {
	font-family: futura-pt, sans-serif;
	font-size: 20px;
	font-weight: 600;
	font-style: italic;
	letter-spacing: 1.4px;
	margin: 0 12px;
}
header .signboard ul li a:hover {
	opacity: .6;
}

/** contact **/
header .contact_btn:hover {
	background-color: white;
}
header .contact_btn:hover span {
	color: #2E3E57;
}
header .contact_btn:hover span::before {
	background-image: url("../img/common/icon-mail-03.png");
}

@media screen and (max-width: 1380px) {
	header .signboard {
		padding: 1vw 2.5vw;
		top: 1.5vw;
		width: 94vw;
	}
	/** logo **/
	header .signboard .logo {
		width: 4.2vw;
	}
	/** ul **/
	header .signboard ul li {
		font-size: 1.5vw;
		letter-spacing: .15vw;
		margin: 0 1vw;
	}
}

@media screen and (max-width: 1120px) {
	/** logo **/
	header .signboard .logo {
		width: 6vw;
	}
	/** ul **/
	header .signboard ul li {
		font-size: 1.8vw;
		letter-spacing: .17vw;
		margin: 0 1.2vw;
	}
}

@media screen and (max-width: 780px) {
	header .signboard {
		padding: 2vw 6vw;
		top: 3vw;
		width: 94vw;
	}
	/** logo **/
	header .signboard .logo {
		width: 14vw;
	}
	/** menu **/
	header .signboard .menu {
		display: none;
	}
	header .signboard .pc_on.contact_btn {
		display: none;
	}
	header .sp-menu {
		background-color: rgba(255, 255, 255, .7);
		backdrop-filter: blur(30px);
		-webkit-backdrop-filter: blur(30px);
		box-sizing: border-box;
		opacity: 0;
		padding: 30vw 20vw;
		position: fixed;
		left: 0;
		top: 0;
		transition: ease .5s;
		height: 100%;
		width: 100%;
		z-index: -10;
	}
	header .sp-menu.active {
		opacity: 1;
		z-index: 10;
	}
	header .sp-menu ul li {
		font-family: futura-pt, sans-serif;
		font-size: 5.6vw;
		font-weight: 600;
		font-style: italic;
		letter-spacing: .4vw;
		margin: 4vw 0;
		text-align: center;
	}
	header .sp-menu .contact_btn {
		display: table;
		margin: 10vw auto 0;
		padding: 0 10vw;
	}
	header .sp-menu .contact_btn span {
        font-size: 5.6vw;
        letter-spacing: .4vw;
        padding: 2vw 2vw 2vw 8vw;
	}
	header .sp-menu .contact_btn span::before {
        top: 3vw;
        height: 5vw;
        width: 5vw;
	}
	/** menu_btn **/
	header .signboard .menu_btn {
		background-color: #484B58;
		border-radius: 50%;
		position: relative;
		height: 8vw;
		width: 8vw;
	}
	header .signboard .menu_btn span {
		background-color: #fff;
		display: block;
		position: absolute;
		left: 1.5vw;
		transition: ease .3s;
		height: 2px;
		width: 5vw;
	}
	header .signboard .menu_btn span:nth-child(1) {
		top: 2.2vw;
	}
	header .signboard .menu_btn span:nth-child(2) {
		top: 50%;
		transform: translateY(-50%);
	}
	header .signboard .menu_btn span:nth-child(3) {
		top: 5.2vw;
	}
	header .signboard .menu_btn.open span:nth-child(1) {
		top: 50%;
		transform: rotate(45deg) translateY(-50%);
	}
	header .signboard .menu_btn.open span:nth-child(2) {
		opacity: 0;
	}
	header .signboard .menu_btn.open span:nth-child(3) {
		top: 50%;
		transform: rotate(-45deg) translateY(-50%);
	}
}


/** ------------
	footer
------------ **/

/** -- copyright -- **/
.copyright {
	margin-top: 160px;
	overflow: hidden;
}
.copyright .inner {
	display: flex;
}
.copyright .inner img {
	flex-shrink: 0;
	width: 200vw;
	max-width: initial;
}

@media screen and (max-width: 1380px) {
	/** -- copyright -- **/
	.copyright {
		margin-top: 10vw;
	}
	.copyright .inner img {
		width: 200vw;
	}
}

@media screen and (max-width: 780px) {
	/** -- copyright -- **/
	.copyright {
		margin-bottom: 8vw;
		margin-top: 20vw;
	}
	.copyright .inner img {
		width: 280vw;
	}
}
