/*
----------------------------------------

header-05

----------------------------------------
*/

#header-05 .flex {
	align-items: center;
}

#header-05 .header-wrap {
	padding-right: 80px;
}

#header-05 .logo {
	margin-right: auto;
}

#header-05 .logo a {
	display: block;
	padding: 20px;
	line-height: .5;
}

#header-05 #g-nav {
	width: 100%;
	padding: 0 4rem;
	margin: 1.5rem 0 .5rem;
}

#header-05 #g-nav .flex {
	width: 100%;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#header-05 #g-nav li {
	width: 100%;
	padding: 5px 0;
}

#header-05 #g-nav a {
	display: block;
	font-size: 2rem;
	line-height: 1.5;
	text-align: left;
	color: #fff;
	padding: 10px 20px;
}

#header-05 #g-nav a .en {
	font-size: 3.6rem;
	text-transform: uppercase;
}

#header-05 #g-nav .flex {
	justify-content: center;
	text-align: center;
}

#header-05 #g-nav .sub-menu {
	flex-direction: column;
	margin-left: 2rem;
}

#header-05 #g-nav .sub-menu a {
	display: block;
	padding-left: 4rem;
	position: relative;
}

#header-05 #g-nav .sub-menu a::before {
	content: '';
	width: 10px;
	height: 2px;
	background: #fff;
	opacity: .5;
	position: absolute;
	top: calc( 50% - 1px );
	left: 20px;
}


/* 1000 */

@media screen and ( max-width: 1000px ) {

	#header-05 #g-nav a {
		font-size: 1.8rem;
		padding: 11.5px 20px;
	}

}


/* 768 */

@media screen and ( max-width: 768px ) {

	#header-05 .logo a {
		padding: 15px 20px;
	}

	#header-05 .logo img {
		height: 30px;
	}

	#header-05 #g-nav {
		padding: 0;
		margin: 0;
		border-top: solid 1px rgba( 255, 255, 255, .2 );
	}

	#header-05 #g-nav li {
		padding: 0;
		border-bottom:  solid 1px rgba( 255, 255, 255, .2 );
	}

	#header-05 #g-nav a {
		font-size: 1.6rem;
		padding: 18px 45px 18px 20px;
		background: url( ../../img/common/svg/arrow-01-wh.svg ) right 20px center / 5px no-repeat;
	}

	#header-05 #g-nav .parent > a {
		background: url( ../../img/common/svg/arrow-down-wh.svg ) right 17.5px center / 10px no-repeat;
	}

	#header-05 #g-nav .parent > a.active {
		background: var( --main-color ) url( ../../img/common/svg/arrow-up-wh.svg ) right 17.5px center / 10px no-repeat;
	}

	#header-05 #g-nav .sub-menu {
		display: none;
		margin-left: 0;
		background: #333;
	}

	#header-05 #g-nav .sub-menu li {
		border-bottom:  none;
		border-top:  solid 1px rgba( 255, 255, 255, .2 );
	}

}


/* hover */

@media screen and ( min-width: 769px ) {

	#header-05 .logo a:hover {
		background: #F5F5F5;
	}

	#header-05 #g-nav a:hover {
		background: rgba( 255, 255, 255, .15 );
	}

	#header-05 #g-nav .sub-menu a:hover::before {
		background: var( --main-color );
		opacity: 1;
	}

}
