/* ========================================
	DEBUG
======================================== */
.debug{
	display: block;
	position: fixed;
	top:0;left: 0;
	background-color: #1D7644;
	width: 10px; height: 10px;
	z-index: 99999;
	display: none;
}
@media screen and (max-width: 1400px) {
	.debug{
		background-color: blue;
	}
}
@media screen and (max-width: 1024px) {
	.debug{
		background-color: yellow;
	}
}
@media screen and (max-width: 767px) {
	.debug{
		background-color: red;
	}
}
/* SP横の特殊対応 */
@media (orientation: landscape) and (max-width: 767px) {
	.debug{
		background-color: pink;
	}
}

#splash{
	display: none;
}
#splash.maintenance{
	display: flex;
	background-color:#eee;
}

/*==============================================================
	L1 HEADER
==============================================================*/
header.globalheader{
	z-index: 10;
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 175px;
}
header.globalheader .headernav{
	width: 100%;
	height: 175px;
}


header.globalheader .headernav .headernav_bg{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	/* background-image: url(../img/common/kv-menu.jpg); */
	z-index: 11;
}

header.globalheader .headernav .headernav_inner{
	display: block;
	width: 100%;
	height: 100%;
	z-index: 12;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	padding-left: 50px;
	position: relative;
}

header.globalheader .headernav .logo{
	display: block;
	width: 268px;
	height: 96px;
}
header.globalheader .headernav .logo img{
	width: 100%;
	object-fit: cover;
}

header.globalheader .headernav .pcnav ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
	box-sizing: border-box;
	width: auto;
	height: 75px;
	border-radius: 38px 0 0 38px;
	padding: 0 50px;
	column-gap: 50px;
}
header.globalheader .headernav .pcnav li{
	display: block;
}

header.globalheader .headernav .pcnav li a{
	display: flex;
	align-items: center;
	font-size: 18px;
	height: 40px;
	color: #4673ff;
	font-weight: bold;
	background-repeat: no-repeat;
	background-position: right;
	padding-right: 50px;
	background-image: url(../img/common/arrowcicle-white.svg);
	/* background-color: #808080 ; */
}

header.globalheader .headernav .pcnav li.-current a{
	background-image: url(../img/common/arrowcicle-blue.svg);
}

/* FIXNAV */
header.globalheader .headernav.fixnav{
	position: fixed;
	top: 0;left: 0;
	opacity: 0;
	transition: opacity 0.1s linear;
	/* display: none; */
}
header.globalheader .headernav.fixnav .headernav_bg{
	background-image: url(../img/common/kv-menu.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
header.globalheader .headernav.fixnav.-scrolled{
	opacity: 1;
}

/* 下位ページ */
.page header.globalheader .headernav {
	display: none;
}
.page header.globalheader .headernav.fixnav{
	display: block;
	opacity: 1;
}

@media screen and (max-width: 764px) {
	header.globalheader{
		height: 22vw;
	}
	header.globalheader .headernav{
		height: 22vw;
		/* background-color: rgba(0, 0, 0, 0.5); */
	}
	header.globalheader .headernav .headernav_inner{
		padding-left: 3vw;
	}
	header.globalheader .headernav .logo{
		width: 40vw;
		height: 14vw;
	}
	header.globalheader .headernav .logo img{
		object-fit: cover;
	}
	header.globalheader .headernav .pcnav{
		display: none;
	}
	header.globalheader .headernav.fixnav .headernav_bg{
	background-image: url(../img/common/kv-sp-menu.jpg);
	}
}

/* SPNAV */
.btn_menu{
	display: none;
}

@media screen and (max-width: 764px) {
	.btn_menu{
		box-sizing: border-box;
		display: block;
		position: relative;
		border: none;
		cursor: pointer;
		text-align: center;
		background: transparent;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		background-color: #4673ff;
		box-sizing: border-box;
		width: 20vw;
		height: 15vw;
		border-radius: 7.5vw 0 0 7.5vw;
		position: fixed;
		top: 3vw;
		right: 0;
		z-index: 9999;
	}
	.btn_menu_bar_wrap{
		display: block;
		width: 100%;
		height: 100%;
		position: relative;
		transition: background 0.2s linear;
	}
	.btn_menu_bar {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background: #fff;
		width: 7.5vw;
		margin: 7.5vw 5vw;
		height: 0.2vw;
		transition: background .25s ease;
	}

	.btn_menu_bar:before, .btn_menu_bar:after {
		display: block;
		content: "";
		background: #fff;
		width: 7.5vw;
		height: 0.2vw;
		transition: transform .25s ease;
	}
	
	.btn_menu_bar:before {
		transform: translateY(-2vw);
	}
	.btn_menu_bar:after {
		transform: translateY(1.8vw);
	}
	
	/* ACTIVE */
	.btn_menu.menu_active{
		background-color: #fff;
	}
	.btn_menu.menu_active .btn_menu_bar {
		background: transparent;
	}

	.btn_menu.menu_active .btn_menu_bar:before {
		transform: translateX(0) translateY(0px) rotate(36deg);
		width: 7.5vw;
		background-color: #4673ff;
	}
	.btn_menu.menu_active .btn_menu_bar:after {
		transform: translateX(0) translateY(-0.2vw) rotate(-36deg);
		width: 7.5vw;
		background-color: #4673ff;
	}
}

/* MENU */
#spmenu{
	display: none;
}








.spmenunav{
	/* padding: 0 0 0 16px; */
	line-height: 1;
}
.spmenunav>li{
	margin-bottom: 20px;
}
.spmenunav>li:last-child{
	margin-bottom: 50px;
}


/* MENU SP */
@media screen and (max-width: 767px) {
	body.overflow_hidden{
		overflow: hidden;
	}
	#spmenu{
		display: block;
		height: 100%;
		z-index: 9990;
		box-sizing: border-box;
		position: fixed;
		top: 0;
		transition: 0.33s ease;
		transition-property: opacity;
		visibility:hidden;
		opacity: 0;
		overflow: hidden;
		width: 100%;
		right: 0;
	}
	#spmenu .spmenu_inner{
		width: 100%;
		height: 100%;
		height: 100vh;
		height: 100dvh;
		box-sizing: border-box;
		background-color: #4673ff;
		transition: 0.33s ease;
		transition-property: transform opacity;
		opacity: 0;
		/* transform: translateX(200px); */
		position: absolute;
		right: 0;
		overflow: auto;
		color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#spmenu.menu_active{
		visibility:visible;
		opacity: 1;
	}
	
	#spmenu.menu_active .spmenu_inner{
		/* transform: translateX(0); */
		opacity: 1;
	}
	
	#spmenu .spmenu_inner a{
		color: #fff;
		position: relative;
	}
	
	#spmenu .spmenu_inner ._logo{
		display: block;
		width: 37.5vw;
		height: 13.5vw;
		position: absolute;
		top: 4vw; left: 4vw;
	}
	#spmenu .spmenu_inner ._logo img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.spmenunav{
		/* margin-bottom: 12vw; */
	}

	.spmenunav>li{
		margin-bottom: 8vw;
	}
	.spmenunav>li:last-child{
		margin-bottom: 0;
	}

	.spmenunav>li a{
		font-size: 6vw;
		font-weight: bold;
		display: flex;
		align-items: center;
		box-sizing: border-box;
		height: 11vw;
		padding-right: 16vw;
		background-image: url(../img/common/arrowcicle-bluesp.svg);
		background-repeat: no-repeat;
		background-position: right;
	}
	.spmenunav>li.-current a{
		background-image: url(../img/common/arrowcicle-whitesp.svg);
	}
}

/* SP横の特殊対応 */
@media (orientation: landscape) and (max-width: 767px) {
		#spmenu .spmenu_inner{
			align-items: end;
		}
		.spmenunav{
			padding-bottom: 8vw;
		}
		.spmenunav>li{
			margin-bottom: 4vw;
		}
		.spmenunav>li:last-child{
			margin-bottom: 0;
		}
		.spmenunav>li a{
		font-size: 4vw;
		height: 5vw;
		padding-right: 10vw;
	}
}


/* ====================
	footer
==================== */

footer{
	box-sizing: border-box;
	width: 100%;
	position: relative;
	padding: 50px 0;
}

.footer_gototop a{
	position: fixed;
	right: 50px;
	top:unset;
	bottom: 50px;
	height: 60px;
	width: 60px;
	background: url(../img/common/arrowcicle-blue-top.svg) no-repeat;
	background-position: center;
	background-size: 100%;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	opacity: 0;
	transition: opacity 0.3s linear;
}

.footer_gototop.scrolled a{
	opacity: 1;
}


.footer_inner{
	box-sizing: border-box;
	width: 100%;
	max-width: 620px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	color: #4d4d4d;
}
.footer_inner a._logo{
	display: block;
	width: 160px;
	height: 57px;
	background-image: url(../img/common/logo-black.png);
	background-repeat: no-repeat;
	background-size: cover;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
.footer_inner address._address{
	font-size: 14px;
	letter-spacing: 0px;
}
@media screen and (max-width: 767px) {
	footer{
		box-sizing: border-box;
		width: 100%;
		position: relative;
		padding: 5vw 0;
	}
	
	.footer_gototop{
		/* display: none; */
	}
	.footer_gototop a{
		right: 3vw;
		bottom: 5vw;
		height: 9vw;
		width: 9vw;
	}
	
	.footer_inner{
		width: 100%;
		max-width: unset;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
	}
	.footer_inner a._logo{
		width: 40vw;
		height: 14vw;
		background-image: url(../img/common/logo-blackfooter.png);
		margin-bottom: 4vw;
	}
	.footer_inner address._address{
		font-size: 3.5vw;
		letter-spacing: 0.3vw;
		text-align: center;
	}
}
