/*! #######################################################################

 MeanMenu 2.0.7 (http: //www.meanthemes.com/plugins/meanmenu/)

####################################################################### */

/* hide the link until viewport size is reached */
a.meanmenu-reveal {
 display: none;
}

/* when under viewport size, .mean-container is added to body */
.mean-container .mean-bar {
 float: right;
 /*width: 100%;*/
 min-height: 75px;
 padding: 0;
 position: absolute;
 top: 60px;
 right: 0;
 z-index: 999999;
}
.mean-container a.meanmenu-reveal {
 width: 26px;
 height: 34px;
 padding: 0;
 display: block;
 position: absolute;
 top: -45px;
 right: 15px!important;
 cursor: pointer;
 color: #333;
 line-height: 18px;
 text-decoration: none;
}
.mean-container a.meanmenu-reveal span {
 height: 1px;
 margin-top: 7px;
 display: block;
 background-color: #333;
}
.mean-container a.meanmenu-reveal span:first-of-type {
	margin-top: 0;
}
.mean-container a.meanmenu-reveal div {
	width: 32px;
	text-align: center;
	left: 50%;
	transform: translateX(-50%);
 margin-top: 2px;
 position: relative;
 font-size: 10px;
 letter-spacing: 0;
}
.mean-container a.meanmenu-reveal.meanclose {
 top: -45px;
 font-weight: normal;
}
.mean-container a.meanclose span {
	transform: rotate(324deg);
	width: 29px;
	margin-top: -1px;
	position: relative;
	left: -2px;
}
.mean-container a.meanclose span:first-of-type {
	transform: rotate(36deg);
	margin-top: 10px;
}
.mean-container a.meanmenu-reveal.meanclose div {
	margin-top: 7px;
}
.mean-container .mean-nav {
 /*width: 100%;*/
 margin: 0px 0 0;
 padding: 0;
 overflow: hidden;
 background: #fff;
}
.mean-container .mean-nav ul {
 width: 100vw;
 margin: 0;
 padding: 25px 0 20px;
 overflow: hidden;
 list-style-type: none;
}
.mean-container .mean-nav ul li {
 float: left;
 width: 100%;
 margin: 0;
 padding: 0 20px;
 position: relative;
 font-size: 16px;
 background: #fff;
 box-sizing: border-box;
}
.mean-container .mean-nav ul li a {
 float: left;
 width: 100%;
 margin: 0;
 padding: 6px 0 13px;
 display: block;
 position: relative;
 text-align: center;
 color: #333;
 font-size: 18px;
	font-weight: bold;
 text-decoration: none;
 box-sizing: border-box;
}
.mean-container .mean-nav ul li a:hover {
}
.mean-container .mean-nav ul li.mean-last {
}
.mean-container .mean-nav ul li.mean-last a {
}
.mean-container .mean-nav ul li ul li ul li a {
 width: 100%;
 padding: 0.8em 15%;
 box-sizing: border-box;
}
.mean-container .mean-nav ul li ul li ul li ul li a {
 width: 100%;
 padding: 0.8em 20%;
 box-sizing: border-box;
}
.mean-container .mean-nav ul li ul li ul li ul li ul li a {
 width: 100%;
 padding: 0.8em 25%;
 box-sizing: border-box;
}
.mean-container .mean-push {
 clear: both;
 float: left;
 margin: 0;
 padding: 0;
}

@media screen and (max-width: 370px) {
.mean-container .mean-nav ul li {
 padding: 0 10px;
}
}

/* Fix for box sizing on Foundation Framework etc. */
.mean-container .mean-bar,
.mean-container .mean-bar * {
 box-sizing: content-box;
}
.mean-remove {
 display: none!important;
}

/* Customize */
.mean-container .mean-nav ul.header-gnavi_list li {
 width: 48.5%;
}
.mean-container .mean-nav ul.header-gnavi_list li.nav-home {
 width: 100%;
}
.mean-container .mean-nav ul.header-gnavi_list li a {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 align-items: center;
 font-size: 16px;
}
.mean-container .mean-nav ul.header-gnavi_list li a.mean-expand {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
    height: 60px;
}
.mean-container .mean-nav ul.header-gnavi_list li a.mean-expand:before {
	content: "";
	display: block;
	height: 1px;
	width: 20px;
	background: #333;
	position: absolute;
	right: 0;
	top: 31.5px;
}
.mean-container .mean-nav ul.header-gnavi_list li a.mean-expand:after {
	content: "";
	display: block;
	height: 1px;
	width: 20px;
	background: #333;
	position: absolute;
	right: 0;
	top: 31.5px;
	transform: rotate(90deg)
}
.mean-container .mean-nav ul.header-gnavi_list li a.mean-clicked:after {
	transform: rotate(0deg)
}
.mean-container .mean-nav ul.header-gnavi_list li .child {
	padding: 0 0 13px;
}
.mean-container .mean-nav ul.header-gnavi_list li .child li {
	margin: 0;
	border-top: none;
}
.mean-container .mean-nav ul.header-gnavi_list li .child li:last-child {
	border-bottom: none;
	margin-bottom: 13px;
}
.mean-container .mean-nav ul.header-gnavi_list li .child li:before {
	display: none;
}
.mean-container .mean-nav ul.header-gnavi_list li .child li a { 
	font-size: 14px; 
	font-weight: normal;
	padding: 0 0 5px;
}
.mean-container .mean-nav ul.header-gnavi_list li .header-navi_image {
 display: block;
 box-sizing: border-box;
}
.mean-container .mean-nav ul.header-gnavi_list li.nav-home .header-navi_image {
 padding: 0 17px 0 7px;
}
.mean-container .mean-nav ul.header-gnavi_list li.nav-west .header-navi_image,
.mean-container .mean-nav ul.header-gnavi_list li.nav-central .header-navi_image,
.mean-container .mean-nav ul.header-gnavi_list li.nav-east .header-navi_image,
.mean-container .mean-nav ul.header-gnavi_list li.nav-izu .header-navi_image {
 padding: 0 10px 0 0;
}
.mean-container .mean-nav ul.header-gnavi_list li.nav-report .header-navi_image {
 padding: 0 19px 0 9px;
}
.mean-container .mean-nav ul.header-gnavi_list li.nav-home .header-navi_image img {
 width: 36px;
}
.mean-container .mean-nav ul.header-gnavi_list li.nav-west .header-navi_image img,
.mean-container .mean-nav ul.header-gnavi_list li.nav-central .header-navi_image img,
.mean-container .mean-nav ul.header-gnavi_list li.nav-east .header-navi_image img,
.mean-container .mean-nav ul.header-gnavi_list li.nav-izu .header-navi_image img {
 width: 50px;
}
.mean-container .mean-nav ul.header-gnavi_list li.nav-report .header-navi_image img {
 width: 32px;
}
.mean-container .mean-nav ul.header-gnavi_list li a:hover .header-navi_image img {
 opacity: 1;
}
.mean-container .mean-nav ul.header-gnavi_list li .header-navi_text {
 display: block;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_list {
 width: 100%;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_list .header-navi_list {
 padding: 0;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_list .header-navi_list li {
 font-size: 14px;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_list .header-navi_list li a {
 padding-left: 20px;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_list .header-navi_list li a::before {
 width: 15px;
 height: 15px;
 position: absolute;
 top: 27px;
 left: 0;
 content: '';
 text-align: center;
 border-radius: 50%;
 border: 1px solid #CCC;
 background: #CCC;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_search {
 width: 100%;
 box-sizing: border-box;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_search .header-sp_navi_search_box {
 width: 100%;
 padding-bottom: 22px;
 box-sizing: border-box;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_search .header-sp_navi_search_box .search-form {
 position: relative;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_search .header-sp_navi_search_box .search-form .search-field {
 padding: 10px 10px 8px 15px;
 font-size: 14px;
 border-radius: 25px;
 box-sizing: border-box;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_search .header-sp_navi_search_box .search-form .search-submit {
 padding: 0 10px;
 position: absolute;
 top: 9px;
 right: 5px;
 background: none;
 box-sizing: border-box;
}
.mean-container .mean-nav ul.header-gnavi_list .header-sp_navi_search .header-sp_navi_search_box .search-form .search-submit i {
 color: #777;
 font-size: 18px;
}




@media screen and (max-width: 1220px) {
	.mean-container .mean-nav ul {
		overflow: visible;
	}
	.mean-container .mean-nav ul.header-gnavi_list {
		padding: 45px 0 0px;
		height: 100vh;
	}
	.mean-container .mean-nav ul.header-gnavi_list li,
	.mean-container .mean-nav ul.header-gnavi_list li.nav-home {
		width: calc(100% - 40%);
		padding: 0;
		margin-inline: 20%;
		border-top: 1px solid #ccc;
	}	
	.mean-container .mean-nav ul.header-gnavi_list li:last-child {
		border-bottom: 1px solid #ccc;
		margin-bottom: 40px;
	}
	.mean-container .mean-nav ul.header-gnavi_list li:before {
		display: block;
		content: "";
		width: 14px;
		height: 12px;
		margin: 0 auto;
	}
	.mean-container .mean-nav ul.header-gnavi_list li:nth-of-type(1)::before,
	.mean-container .mean-nav ul.header-gnavi_list li:nth-of-type(5)::before,
	.mean-container .mean-nav ul.header-gnavi_list li:nth-of-type(6)::before {
		background: url( "../images/ribbon-orange.png");
		background-size: auto;
		background-size: cover;
		background-repeat: no-repeat;
}
	.mean-container .mean-nav ul.header-gnavi_list li:nth-of-type(2)::before,
	.mean-container .mean-nav ul.header-gnavi_list li:nth-of-type(4)::before {
		background: url( "../images/ribbon-yellow.png");
		background-size: auto;
		background-size: cover;
		background-repeat: no-repeat;
}
	.mean-container .mean-nav ul.header-gnavi_list li:nth-of-type(3)::before {
		background: url( "../images/ribbon-blue.png");
		background-size: auto;
		background-size: cover;
		background-repeat: no-repeat;
}
	.mean-container .mean-nav ul.header-gnavi_list li:nth-of-type(7)::before {
		background: url( "../images/ribbon-green.png");
		background-size: auto;
		background-size: cover;
		background-repeat: no-repeat;
}
}
@media screen and (max-width: 450px) {
	.mean-container .mean-nav ul.header-gnavi_list li,
	.mean-container .mean-nav ul.header-gnavi_list li.nav-home {
		width: 265px;
		margin-inline: calc((100vw - 265px) / 2);
	}
}


