@charset "utf-8";

/* ------------------------------------------------------- */
/* header menu ------------------------------------------- */
/* ------------------------------------------------------- */

.headerMenu li {
    margin-left: 10px;
    float: left;
}
.headerMenu li.contact a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0e0";
    margin-right: 5px;
}
.headerMenu li.contact a {
    background: #666;
    border-radius: 8px;
    padding: 4px 15px 3px 15px;
    text-decoration: none;
    font-size: 1.3rem;
    color: #fff;
    display: inline-block;
}
.headerMenu li.contact a:hover {
    opacity: 0.7;
}
.headerMenu li.language a {
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: bold;
}
.headerMenu li.language a:hover {
    color: #0070c0;
}
@media only screen and (max-width:768px) {
    .headerMenu { display: none; }
}

/* ------------------------------------------------------- */
/* footer menu ------------------------------------------- */
/* ------------------------------------------------------- */

.footerMenu ul li {
    display: inline-block;
    margin-left: 15px;
}
.footerMenu ul li::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0da";
    margin-right: 5px;
}
@media only screen and (max-width:768px) {
    .footerMenu {width: 100%;}
    .footerMenu {
        text-align: center;
        margin-bottom: 15px;
    }

}

/* ------------------------------------------------------- */
/* global menu ------------------------------------------- */
/* ------------------------------------------------------- */

#globalmenu {
	width: 100%;
	background: #0456ac;
}
#globalmenu ul {
	display: flex;
	max-width: 1115px;
	min-width: 1000px;
	margin: 0 auto;
}
#globalmenu ul li {
	position: relative;
	width: calc(100% / 5);
}
#globalmenu ul li a {
	text-decoration: none;
	width: 100%;
	height: 50px;
	padding: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
    border-left: 1px solid #508ccb;
}
#globalmenu ul li:nth-child(5) a {
    border-right: 1px solid #508ccb;
}
#globalmenu ul li:hover {
	background: #3c80c8;
}
#globalmenu ul ul {
	position: absolute;
	display: block;
	display: none;
	top: 50px;
	padding: 0;
	border-left: none;
	margin: 0 auto;
	float: none;
    width: 100%;
    min-width: 100px;
}
#globalmenu ul ul li {
	display: block;
	float: none;
	border-top: 1px solid #ccc;
	height: auto;
	border-right: none;
	width: 100%;
}
#globalmenu ul ul li.gmsub a {padding-right: 20px;}
#globalmenu ul ul li.gmsub li a {padding-right: 0;}
.gmsub a::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0da";
	position: absolute;
	right: 5px;
    top: 50%;
    margin-top: -12px;
}
.gmsubNone a::after {
	content: "";
	position: static;
	right: 0;
}
#globalmenu ul ul li a {
	height: auto;
	display: block;
	background: #333;
	padding: 12px 4px;
	text-align: center;
}
#globalmenu ul ul li a:hover {
	background-color: #666;
}
#globalmenu ul ul ul {
	top: -1px;
	left: 100%;
	position: absolute;
	display: none;
}
#globalmenu ul ul ul li {
	border-top: none;
	border-bottom: 1px solid #fff;
}
#globalmenu ul ul ul a {
	background-color: #999;
    padding: 15px 5px!important;
}
#globalmenu ul ul ul a:hover {
	background-color: #666;
}
#drawernav {
	display: none;
}

@media only screen and (max-width:768px) {
#globalmenu {
	position: static;
	display: none;
}
/*スマートフォン用メニュー*/
#page {
	padding-top: 50px;
	position: relative;
	z-index: 999;
	left: 0;
	background: #fff;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
#drawernav {
	display: block;
	overflow-y: scroll;
	position: fixed;
	top: 0;
	right: -240px;
	width: 240px;
	height: 100%;
	background: #333;
	color: #fff;
	z-index: 995;
	padding-top: 45px;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
#drawernav ul {
	list-style: none;
	padding: 0;
}
#drawernav ul li {
	border-bottom: 1px solid #666;
}
#drawernav ul li a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f105";
	padding: 0 5px 0 0;
}
#drawernav ul li a.gmc::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f107";
}
#drawernav ul li ul {
	margin: 0 0 0 20px;
}
#drawernav ul li ul li:last-child {
	border-bottom: none;
}
#drawernav ul li a {
	color: #fff;
	display: block;
	padding: 10px;
	text-decoration: none;
}
#drawernav ul li a:hover {
	background: #999;
}
#drawernav h4 {
	padding: 0 15px;
}
#humberger {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 997;
	cursor: pointer;
	box-sizing: border-box;
	display: none;
	display: block;
	width: 60px;
	border-radius: 0 0 0 8px;
	padding: 5px 2px;
	margin: 0 0 0 0;
	text-align: center;
	font-size: 1.2rem;
	color: #fff;
	background: #333;
}
.drawer-opened #humberger {
    background: #999;
}
.icon-bar {
	height: 2px;
	background: #333;
	display: block;
	margin-bottom: 6px;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
.humbergerMenu::before {
	content: "MENU";
}
.drawer-opened .humbergerMenu::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f00d";
}
.fixed-content {
	right: inherit;
	width: 100%;
	z-index: 996;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
#overlay {
	z-index: -1;
	opacity: 0;
	background: #000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	position: fixed;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
/**
* ドロワー開放時のスタイル
**/

body.drawer-opened #page {
	left: -240px;
	-webkit-box-shadow: 1px 0 2px #000;
	box-shadow: 1px 0 2px #000;
}
body.drawer-opened .fixed-content {
	left: -240px;
}
body.drawer-opened #drawernav {
	right: 0;
}
#gmenu {
	display: none;
}
#humberger {
	display: block;
}
body.drawer-opened #humberger .icon-bar {
	background: #fff;
}

body.drawer-opened #overlay {
	z-index: 997;
	opacity: 0.3;
	left: -240px;
}

	/*drawer の開閉*/
	#drawernav ul li.menu-item-has-children ul { display: none; }
    #drawernav ul li.menu-item-has-children > a {
        padding-right: 30px;
		position: relative;
    }
	#drawernav ul li.menu-item-has-children > a:after {
		font-family: "Font Awesome 5 Free";
		font-weight: 400;
		content: "\f0fe";
		padding: 0 5px 0 0;
        position: absolute;
		font-size: 2.0rem;
		right: 0;
        top: 7px;
	}
	#drawernav ul li.menu-item-has-children > a.active:after {
		content: "\f146";
	}
}