/*
// ハンバーガーボタン
*/
.menu_wrap {
	position: absolute;
	top: 20px;
	right: 5%;
	/* background-color: #eee; */
	box-sizing: border-box;
	width: 32px;
	height: 24px;
	padding: 0;
	z-index: 9999;
}
.menu_toggle {
	/* imputボタン */
	display: none;
}

/* ボタン */
.menu_icon {
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
	position: relative;
}
.menu_icon span {
	display: block;
	width: 100%;
	height: 3px;
	background-color: rgb(var(--color_gray));
	border-radius: 2px;
	transition: all 0.3s;
}
.menu_toggle + .menu_icon span:nth-child(1) {

}
.menu_toggle + .menu_icon span:nth-child(2) {
	margin: 7px 0;
	/*3本線のときは表示*/
	/* opacity: 0; */
}
.menu_toggle + .menu_icon span:nth-child(3) {
}

/* ボタンオープン */
.menu_toggle:checked + .menu_icon span:nth-child(1) {
	transform: rotate(45deg);
	top: 4px;
	position: absolute;
}
.menu_toggle:checked + .menu_icon span:nth-child(2) {
	opacity: 0;
}
.menu_toggle:checked + .menu_icon span:nth-child(3) {
	transform: rotate(-45deg);
	top: 4px;
	position: absolute;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */

}
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 

}


/*
// グローバルメニュー
*/
.menu {
	display: none;
	background-color: #fff;
	align-items: center;
	position: fixed;
	top: 65px;
	left: 0;
	width: 100vw;
	height: calc(100dvh - 65px);
	padding-bottom: 20px;
	z-index: 9998;
	opacity: 0;
	overflow: auto;
}
.menu.js-active {
	display: block;
	opacity: 1;
	animation: menuFadeIn 0.5s ease forwards;
}
@keyframes menuFadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.menu_inner{
	display: none; /*2025/10/10 add*/
}
.nav_up{}
.nav_up li{
	position: relative;
	border-top: solid 1px #a8a8a8;
}
.nav_up li a{
	display: block;
	padding: 6px 5vw;
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.075em;
}
.nav_up li.js-accordion-open a{
	color: rgb(var(--color_main));
}

.nav_up li .child{
	display: grid;
	grid-template-rows: 0fr;
	-webkit-transition: 250ms all ease;
	transition: 250ms all ease;
}
.nav_up li .child li{
	border: none;
}
.nav_up li .child li a{
	padding: 6px 2.5em;
	font-weight: 400;
}
.nav_up li .child li:first-of-type a{
	border-top: solid 1px #a8a8a8;
	padding-top: 14px;
}

.nav_up li .child ul{
	overflow: hidden;
}
.nav_up li.js-accordion-open .child{
	grid-template-rows: 1fr;
	padding-bottom: 10px;
}
.nav_up li.js-accordion-open .child a{
	color: rgb(var(--color_text));
}

.nav_up:not(.child) li.parent .icon{
	/*十字アイコン*/
	position: absolute;
	top: 0;
	right: 2%;
	width: 30px;
	height: 30px;
	margin: 4px 0 0;
	cursor: pointer;
}
.nav_up:not(.child) li.parent .icon::before{
	/*十字アイコン 横*/
	position: absolute;
	top: 0;
	bottom: 0;
	right: 11px;
	background-color: rgb(var(--color_main));
	width: 8px;
	height: 2px;
	margin: auto 0;
	content: "";
}
.nav_up:not(.child) li.parent .icon::after{
	/*十字アイコン 縦*/
	position: absolute;
	top: 0;
	bottom: 0;
	right: 14px;
	background-color: rgb(var(--color_main));
	width: 2px;
	height: 8px;
	margin: auto 0;
	content: "";
	transform: rotate(0deg);
	transition: transform 0.5s ease 0s;
}
.nav_up:not(.child) li.parent.js-accordion-open  .icon::after{
	/*十字アイコン 縦*/
	position: absolute;
	top: 0;
	bottom: 0;
	right: 14px;
	background-color: rgb(var(--color_main));
	width: 2px;
	height: 8px;
	margin: auto 0;
	content: "";
	transform: rotate(90deg);
	transition: transform 0.5s ease 0s;
}

.nav_bottom{
	border-top: solid 1px #a8a8a8;
}
.nav_bottom li{
	border-bottom: solid 1px #a8a8a8;
	box-sizing: border-box;
	width: 50%;
}
.nav_bottom li:nth-of-type(even){
	border-left: solid 1px #a8a8a8;
}
.nav_bottom li a{
	display: block;
	padding: 6px 5vw;
	font-size: 0.75rem;
	font-weight: 500;
}

.header_contact_btn{
	width: max-content;
	margin: 20px auto 0;
}
.header_contact_btn a{
	display: block;
	text-align: center;
	background-color: rgb(var(--color_main),1);
	width: max-content;
	padding: 2px 60px 4px;
	color: #fff;
	font-family: var(--font_en);
	font-size: 1.55rem;
}
.header_contact_btn a:hover{
	background-color: rgb(var(--color_main),0.9);
	text-decoration: none;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.menu {
		position: relative;
		display: block;
		top: inherit;
		left: inherit;
		width: 100%;
		height: auto;
		padding: 50px 5px 30px 20px;
		opacity: 1;
		overflow: visible;
	}
	.nav_up li{
		border: none;
	}
	.nav_up li a{
		max-width: max-content;
		padding: 8px 0;
		font-size: 0.875rem;
	}
	.nav_up li a:hover{
		color: rgba(var(--color_main),1);
	}

	.nav_up li .child li a{
		padding: 7px 0.5em;
		letter-spacing: 0.05em;
		font-size: 0.75rem;
		line-height: 1.5;
	}
	.nav_up li .child li:first-of-type a{
		border: none;
	}
	.nav_up li .child li:last-of-type{
		padding-bottom: 20px;
	}
	.nav_up li .child li a:hover{
		color: rgba(var(--color_main),1);
	}

	.nav_up:not(.child) li.parent .icon{
		/*十字アイコン*/
		width: 15px;
		height: 30px;
	}
	.nav_up:not(.child) li.parent .icon::before{
		/*十字アイコン 横*/
		right: 4px;
	}
	.nav_up:not(.child) li.parent .icon::after{
		/*十字アイコン 縦*/
		right: 7px;
	}
	.nav_up:not(.child) li.parent.js-accordion-open  .icon::after{
		/*十字アイコン 縦*/
		right: 7px;
	}

	.nav_bottom{
		border-top: none;
		margin-top: 10px;
	}
	.nav_bottom li{
		border-bottom: none;
		width: 100%;
	}
	.nav_bottom li:nth-of-type(even){
		border-left: none;
	}
	.nav_bottom li a{
		display: inline-block;
		padding: 8px 0;
		font-size: 0.75rem;
		line-height: 1.5;
	}
	.nav_bottom li a:hover{
		color: rgba(var(--color_main),1);
	}

	.header_contact_btn{
		width: 168px;
		margin: 50px 0 0;
	}
	.header_contact_btn a{
		width: 100%;
		padding: 0 0 2px;
		font-size: 1.4rem;
	}
}
