/* 
navigation */

#primary-mobile-menu {
	position: absolute;
	top: 20px;
	right: 0;
	width: 48px;
	height: 48px;
/*	border-radius: 24px;
	-webkit-border-radius: 24px; */
	z-index: 2000;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	color: #333;
	background-color: transparent;
}

@media ( min-width: 1028px ) {
	#primary-mobile-menu {
		display: none;
	}
}
#primary-mobile-menu .dropdown-icon {
	display: flex;
	align-items: center;
}
#primary-mobile-menu .dropdown-icon.close {
	display: none;
}
#primary-mobile-menu[aria-expanded*=true] .dropdown-icon.open {
	display: none;
}
#primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
	display: flex;
	animation-name: twentytwentyone-close-button-transition;
	animation-duration: 0.3s;
}
button#primary-mobile-menu:focus {
	outline: none;
}
/*
#primary-mobile-menu.button .dropdown-icon svg {
	transform: rotate(180deg);
	display: inline-block;
	fill: #333;
}
*/
/* primary-navigation --------------- */

.primary-navigation ul {
	margin: 0;
}
.primary-navigation li {
	list-style: none;
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6em;
	color: var(--global--color-dark-gray);
}

.primary-navigation > div > .menu-wrapper li {
	position: relative;
}
.primary-navigation a {
	display: block;
	text-decoration: none;
	text-align: left;
	color: var(--global--color-dark-gray);
}
.primary-navigation li a {
	padding: 10px 16px;
}
.primary-navigation a:focus {
	position: relative;
/*	z-index: 99999; */
	outline-offset: 0;
	text-decoration-thickness: 2px;
}
li.menu-item-has-children {
	cursor: pointer;
}
.btn-close {
	font-size: 16px;
	position: relative;
	display: inline-block;
	padding: 5px 5px 5px 34px;
	cursor: pointer;
	padding-left: 10px;
	text-align: right;
}
.btn-close::before {
	content: "";
	width: 30px;
	height: 30px;
	position: absolute;
	top: 5px;
	left: 0;
    background-image: url(images/plus_s.svg);
    background-repeat: no-repeat;
    background-position: center center;
	transform: rotate(45deg);
}

@media ( max-width: 1027px ) {
	.primary-navigation {
		width: 100%;
		height: 100%;
		background-color: #c5f0ff;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 100;
		transform: translateX(100%);
		transition: all .5s;
		overflow-y: scroll;
		padding: 10px;
	}
	.primary-navigation-open .primary-navigation {
		transform: translateZ(0);
	}
	.primary-navigation .menu-wrapper {
		padding: 100px 0 20px;
	}
	.primary-navigation ul {
		display: block;
	}
	.primary-navigation li {
		font-size: 15px;
		color: #333;
		border-color: #333;
		border-style: solid;
		border-width: 0 0 1px 0;
	}

	li.menu-item-has-children {
		padding: 10px 16px;
	}
	.primary-navigation a,
	.primary-navigation a:link,
	.primary-navigation a:visited {
		color: #333;
	}

	.menu-wrapper li.menu-item-has-children,
	.primary-navigation a {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.primary-navigation .spbtn a {
		padding-left: 0;
	}
	.spbtn li {
		border-width: 0;
		padding-left: 10px;
	}
	.spbtn li img {
		max-width: 206px;
		height: auto;
		text-align: center;
	}
}
@media (max-width: 482px) {
	.primary-navigation {
		width: 100%;
		transform: translate(100%);
	}
}
@media (min-width: 1028px) {
	.primary-navigation {
		width: 100%;
		color: var(--global--color-dark-gray);
	}
	.primary-navigation > .primary-menu-container {
		padding: 0;
		overflow: initial;
		margin-top: -20px;
		margin-bottom: 10px;
		background: transparent;
	}
	.primary-navigation > div > .menu-wrapper {
		display: flex;
		flex-direction: row;
		justify-content: center;
		flex-wrap: nowrap;
		gap: 0 40px;
	}
	.primary-navigation li {
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5em;
		display: inline-block;
		height: 40px;
		color: var(--global--color-dark-gray);
/*		transition: background-color .3s; */
	}
	.primary-navigation li.sp {
		display: none;
	}
	.primary-navigation a {
	}
	.menu-wrapper li.menu-item-has-children {
		padding-top: 10px;
		padding-bottom: 10px;
	}
/*
	li.menu-item-has-children::after {
		content: "";
		width: 12px;
		height: 12px;
		position: absolute;
		top: 36px;
		left: 50%;
		transform: translateX(-50%);
    	background-image: url(images/down.svg);
    	background-repeat: no-repeat;
    	background-position: center center;
		background-size: contain;
	}
*/
	.primary-navigation a:link,
	.primary-navigation a:visited {
		color: var(--global--color-dark-gray);
	}
	.primary-navigation a:active,
	.primary-navigation a:hover {
		border-bottom: 3px;
		opacity: 1;
		transition: opacity 1s linear;
	}
	.primary-navigation li.menu-item-has-children:hover > div,
	.primary-navigation li.menu-item-has-children:focus > div {
		transform: scaleY(1); /* ドロップダウンメニューの表示 */
	}
}
