/*! #######################################################################

	MeanMenu 2.0.7
	--------
	To be used with jquery.meanmenu.js by Chris Wharton (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 {
	width: 100%;
	/* position: relative; */
	position:fixed;
	inset:0 auto auto 0;
	/* background: #FFF; */
	min-height: 20px;
	z-index: 999999;
}
.mean-container .search_sp {
	position: absolute;
	top: 18px;
	right: 90px;
}
.mean-container .search_sp a {
	display: block;
	text-indent: -9999px;
	text-decoration: none;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: #555 url(../../image/icon_search1.svg) no-repeat center;
}
.mean-container a.meanmenu-reveal {
	width:70px;
	height:70px;
	padding: 0;
	position: absolute;
	top: 0;
	right: 5px;
	cursor: pointer;
	text-decoration: none;
	font-size: 16px;
	text-indent: -9999em;
	display: block;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 700;
	z-index: 9999;
	box-sizing: border-box;
	background-color: #1A1311;
	background-image: url(../../image/menu_open.svg);
	background-repeat: no-repeat;
	background-position: center;
	transition: background-image 0.1s ease-in-out;
}
.mean-container a.meanclose {
	background-image: url(../../image/menu_close.svg);
}


.mean-container .mean-nav {
	position: absolute;
	top: 0;
	width: 100%;
	/* max-height:100dvh; */
	/* min-height:100dvh; */
	overflow-y: auto;
	box-sizing: border-box;
	background: rgba(26, 19, 17, 0.95);
	box-sizing:border-box;
}

.mean-container .mean-nav ul {
	width: 86.8%;
	/* height:max-content; */
	height:calc(100dvh - 20px);
	margin: 0 auto;
	list-style-type: none;
	box-sizing: border-box;
}

.mean-container .mean-nav ul li {
	position: relative;
	width: 100%;
	font-weight: bold;
	margin: 10px 0;
}

.mean-container .mean-nav ul li a {
	margin: 0;
	color:#fff;
	display: flex;
	text-align: left;
	text-decoration: none;
	text-transform: uppercase;
}
.mean-container .mean-nav ul li p a span {
	display: block;
	font-size: 112.5%;
	margin: auto 10px 8px;
}

.mean-container .mean-nav ul li.nav1 { margin: 20px 0 25px; display:flex; gap:0 10px;}
.mean-container .mean-nav ul li.nav1 p { width: 104px; }
.mean-container .mean-nav ul li.nav1 p a {
	padding: 0;
	display: flex;
	height: 38px;
	font-size: 87.5%;
	padding-left: 44px;
	align-items: center;
	border-radius: 19px;
	background: #1A1311 url(../../image/icon_home.svg) no-repeat 15px;
}
.mean-container .mean-nav ul li.nav1 p.global { width:125px;}
.mean-container .mean-nav ul li.nav1 p.global a { padding-left:39px; text-transform:unset; background-image:url(../../image/icon_global_sp.svg);}


.mean-container .mean-nav ul li.nav2 p a {
	height: 90px;
	background: url(../../image/nav_sm1.jpg) no-repeat center;
	background-size: 100%;
}
.mean-container .mean-nav ul li.nav3 p a {
	height: 90px;
	background: url(../../image/nav_sm2.jpg) no-repeat center;
	background-size: 100%;
}
.mean-container .mean-nav ul li.nav4 p a {
	height: 90px;
	background: url(../../image/nav_sm3.jpg) no-repeat center;
	background-size: 100%;
}
.mean-container .mean-nav ul li.nav5 p a { display: block; background: #736F6E; }
.mean-container .mean-nav ul li.nav5 p span {
	display: flex;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;	
	position: relative;
	width: fit-content;
	text-indent: -22px;
	justify-content: center;
}
.mean-container .mean-nav ul li.nav5 p span::after {
	content: "";
	position: absolute;
	right: -22px;
	top: 50%;
	width: 19px;
	height: 19px;
	transform: translateY(-50%);
	background: url(../../image/icon_link.svg) no-repeat;
	background-size: contain;
}
.mean-container .mean-nav ul li.nav6 { display: flex; margin-block: 30px 20px; justify-content: space-between; }
.mean-container .mean-nav ul li.nav6 a,
.mean-container .mean-nav ul li.nav7 a { font-size: 81.3%; font-weight: 500; }
.mean-container .mean-nav ul li.nav7 { display: flex; flex-wrap: wrap; row-gap: 20px; }
.mean-container .mean-nav ul li.nav7 .nav-item { width: 60%; }
.mean-container .mean-nav ul li.nav7 .nav-item:nth-child(even) { width: 40%; }
.mean-container .mean-nav ul li.nav8 { display: flex; column-gap: 20px; align-items: center; margin-block: 25px; padding-bottom:25px; box-sizing:border-box;}


.mean-container .mean-nav ul li ul {
	margin:0;
	width: 100%;
	height: auto;
	background: #0F0F0F;
	padding: 23px 23px 0;
}
.mean-container .mean-nav ul li ul li { padding: 0; margin: 0; }
.mean-container .mean-nav ul li ul li a {
	width:100%;
	margin: 0;
	padding:4% 2%;
	position: relative;
	font-weight: normal;
	box-sizing: border-box;
	border-bottom: 1px solid #212121;
}
.mean-container .mean-nav ul li ul li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #DC000C;
	transform: translateY(-50%);
}

.mean-container .mean-nav ul li a.mean-expand {
	margin-top: 1px;
	width: 34px;
	height: 34px;
	text-align: center;
	position: absolute;
	top: 27px;
	right: 13px;
	z-index: 2;
	font-weight: 700;
	text-indent: -9999px;
	border-radius: 50%;
	background-color: #1A1311;
	background-image: url(../../image/icon_plus.svg);
	background-repeat: no-repeat;
	background-position: center;
}

.mean-container .mean-nav ul li a.mean-clicked {
	background-image: url(../../image/icon_minus.svg);
}

.mean-container .mean-push {
	width: 100%;
	padding: 0;
	margin: 0;
	clear: both;
}

.mean-nav .wrapper {
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Fix for box sizing on Foundation Framework etc. */
.mean-container .mean-bar, .mean-container .mean-bar * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}


.mean-remove {
	display: none !important;
}



.logosp { width: 60%; }
.logosp a {
	display: block;
	text-indent: -9999px;
	height:70px;	
	background: url(../../image/logo1.svg) no-repeat 20px center;
	background-size:auto 30px;
}


/* lang */
.mean-nav .lang {
	--h:47px;

	height:var(--h);
}
.mean-nav .lang .front {
	position:absolute;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:0.25em;
	width:100%;
	height:100%;
	background-color:#D1D0CF;
	pointer-events:none;
}
.mean-nav .lang .front:before {
	content:"";
	display:block;
	width:auto;
	height:1.25em;
	aspect-ratio:1;
	background:url(../../../image/icon_lang.svg) no-repeat center / contain;
}
.mean-nav .lang #google_language_translator .goog-te-combo {
	width:100%;
	height:var(--h)!important;
	margin:0;
	padding:0!important;
	border:none!important;
}