@charset "utf-8";
/* # =================================================================
#### 多階層メニュー
# ================================================================= */
.menu{
	position : relative;
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-ms-flex-wrap : wrap;
	flex-wrap : wrap;
	-webkit-box-pack : end;
	-ms-flex-pack : end;
	justify-content : flex-end;
	width : 100%;
	height : auto;
}
.menu > li{
	position : relative;
	display : block;
	width : auto;
	height : 26px;
	padding : 0 0 0 10px;
	transition : all .3s;
}
.menu > li:not(:first-child)::before{
	content : "";
	width : 100%;
	height : 1px;
	position : absolute;
	top : 0;
	left : 0;
}
.menu > li:hover{

}
.menu > li a{
	position : relative;
	display : inline-block;
	width : auto;
	height : auto;
	color : #FFF;
	font-size : 14px;
}
.menu > li a:hover{

}
.menu > li a span{
	position : relative;
	display : inline-block;
	width : auto;
	height : auto;
	padding : 5px 20px;
	line-height : 1;
	transition : 0.5s;
	border : 1px solid transparent;
	border-radius : 5px;
}
.menu > li.current a span{
	border : 1px solid #FFF;
	border-radius : 5px;
}

.menu > li:hover a span{
	transition : 0.5s;
	border : 1px solid #FFF;
	border-radius : 5px;
}
/**  **/
.menu > li .sub_menu{
	width : 160px;
	position : absolute;
	top : 26px;
	left : 0;
	background-color : #001533;
	left : 10px;
	transform : scaleY(0);
	transform-origin : center top;
	transition : all .3s;
}
.menu > li:hover .sub_menu{
	transform : scaleY(1);
}
.menu > li .sub_menu li{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
}
.menu > li .sub_menu li a{
	display : block;
	width : 100%;
	height : auto;
	padding : 10px 15px;
	text-indent : 1.5em;
}
.menu > li .sub_menu li a:hover{
	background : #003784;
}
.menu > li .sub_menu li a:before{
	content : '';
	width : 8px;
	height : 8px;
	border-top : solid 2px #FFF;
	border-right : solid 2px #FFF;
	position : absolute;
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-webkit-box-pack : center;
	-ms-flex-pack : center;
	justify-content : center;
	-webkit-box-align : center;
	-ms-flex-align : center;
	align-items : center;
	top : 0;
	bottom : 0;
	left : 15px;
	margin : auto;
	transform : rotate(45deg);
}





/* # =================================================================
#### ハンバーガーメニュー
# ================================================================= */
/* ボタン */
.drawer-hamburger {
	border : 1px solid #FFF;
	/* border-radius : 50px; */
	width : 20px;
	height : 20px;
	padding : 9px;
	top : 9px;
	z-index : 1100;
	width : 40px;
	height : 17px;
}
/*
.drawer--right.drawer-open .drawer-hamburger{
	border-color : transparent;
}
*/
.drawer-hamburger:hover{

}
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-hamburger{
	right : 15px;
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before{
	width : 100%;
	height : auto;
	background-color : transparent;
	margin : 0;
	text-align : center;
	color : #FFF;
	font-size : 13px;
}
/*
.drawer-hamburger-icon{
	margin-top : 5px;
	margin-bottom : 5px;
}
*/
.drawer-hamburger-icon:before{
	margin-left : 0;
	margin-right : 0;
}
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before{
	top : -8px;
}
.drawer-hamburger-icon:after{
	top : 8px;
}
/*** 文字に変更 ***/
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before{
	content : none;
}
/* 本体 */
.drawer-nav{
	width : 75%;
	height : auto;
	max-height : 100%;/* スクロールさせる場合必要 */
	background : #001533;
	padding : 0;
	z-index : 1000;
}
.drawer--right .drawer-nav{
	right : -75%;
}
.drawer--right .drawer-nav .nav_wrap {
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	margin : 0 auto;
	padding-bottom : 30px;
}
.drawer-menu{
	line-height : 1.8;
}
.drawer-menu li a{
	position : relative;
	display : block;
	width : 100%;
	text-decoration : none;
	color : #FFF;
	padding-left : 1em;
}
.drawer-menu li a:hover{
	color : red;
}
.drawer-nav p{
	color : #B7B7B7;
	font-size : 14px;
	border-bottom : 1px solid #B7B7B7;
	padding : 20px 30px;
}
.drawer-menu > li{
	border-bottom : 1px solid #B7B7B7;
	padding : 20px 30px;
	line-height : 2;
}
.drawer-menu > li:last-child{
	border-bottom : none;
	padding-bottom : 0;
}
.drawer-menu li a:after{
	content : '';
	width : 8px;
	height : 8px;
	border-top : solid 2px #FFF;
	border-right : solid 2px #FFF;
	position : absolute;
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-webkit-box-pack : center;
	-ms-flex-pack : center;
	justify-content : center;
	-webkit-box-align : center;
	-ms-flex-align : center;
	align-items : center;
	top : 0;
	bottom : 0;
	left : 0;
	margin : auto;
	transform : rotate(45deg);
	transition : 0.5s;
}
.drawer-menu > li .sub_menu {
	padding-left : 2em;
}