@charset "utf-8";

/*menuをopenしている間はスクロールさせない*/
body.overflow__hidden,
html.overflow__hidden {
	position: fixed;
	left: 0;
	right: 0;
	overflow: hidden;
}

header {
	display: flex;
	align-items: center;
	background: var(--white);
	width: 100%;
	height: var(--header_hight);
	padding: 10px 0;
}

header a {
	display: block;
	width: fit-content;
}

img.logo_header {
	width: 320px;
}

p.btn-gNav {
	display: block;
	position: fixed;
	top: 30px !important;
	right: 15px !important;
	width: 35px;
	height: 19px;
	z-index: 200;
	cursor: pointer;
	-webkit-transition: all 400ms;
	transition: all 400ms;
	-webkit-user-select: none !important; /* Safari用 */
	-ms-user-select: none !important; /* IE/Edge用 */
	user-select: none !important; /* 標準 */
}

p.btn-gNav span {
	position: absolute;
	width: 100%;
	height: 3px;
	background: var(--JBAblue);
	border-radius: 10px;
	-webkit-transition: all 400ms;
	transition: all 400ms;
}

p.btn-gNav span:nth-child(1) {
	top: 0;
}

p.btn-gNav span:nth-child(2) {
	top: 8px;
}

p.btn-gNav span:nth-child(3) {
	top: 16px;
}

p.btn-gNav.open {
	position: fixed;
	top: 33px !important;
	right: 15px !important;
	width: 35px;
	height: 19px;
	z-index: 220;
	cursor: pointer;
	-webkit-transition: all 400ms;
	transition: all 400ms;
	-webkit-user-select: none !important; /* Safari用 */
	-ms-user-select: none !important; /* IE/Edge用 */
	user-select: none !important; /* 標準 */
}

p.btn-gNav.open span:nth-child(1) {
	background: #fff;
	top: 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

p.btn-gNav.open span:nth-child(2),
p.btn-gNav.open span:nth-child(3) {
	top: 6px;
	background: #fff;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

nav.gNav {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	right: -100%;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.95);
	font-size: 14px;
	z-index: 210;
	transition: 0.3s;
}

nav.gNav.open {
	right: 0;
	z-index: 90;
}

div.gNav-menu {
	display: block;
	width: 100%;
	max-width: 600px;
	text-align: center;
	z-index: 91;
}

div.gNav-menu div.box {
	display: flex;
	flex-wrap: wrap;
	border: #525252 1px solid;
	border-radius: 10px;
}

div.gNav-menu a {
	display: block;
	width: 100%;
	padding: 20px 0;
	transition: 0.3s;
	color: #fff;
	font-size: 16px;
	border-bottom: #525252 1px solid;
}

header a:hover {
	background: rgba(255, 255, 255, 0.24);
}

div.gNav-menu a:nth-child(1) {
	border-radius: 10px 10px 0 0;
}

div.gNav-menu a:nth-child(8) {
	border-radius: 0 0 0 10px;
}

div.gNav-menu a:nth-child(9) {
	border-radius: 0 0 10px 0;
}

div.gNav-menu a:nth-child(2),
div.gNav-menu a:nth-child(3),
div.gNav-menu a:nth-child(4),
div.gNav-menu a:nth-child(5),
div.gNav-menu a:nth-child(7),
div.gNav-menu a:nth-child(8) {
	width: 50%;
}

div.gNav-menu a:nth-child(7),
div.gNav-menu a:nth-child(8) {
	border-bottom: none;
}

div.gNav-menu a:nth-child(2),
div.gNav-menu a:nth-child(4),
div.gNav-menu a:nth-child(7) {
	border-right: #525252 1px solid;
}

header a.find {
	display: block;
	position: relative;
	border: #525252 1px solid;
	width: auto !important;
	text-align: center;
	border-radius: 50px;
	transition: all 0.3s ease;
	margin: 30px auto 0;
	color: #fff;
}

@media only screen and (max-width: 950px) {
	img.logo_header {
		width: 300px;
	}
}

/*SP*/
@media only screen and (max-width: 400px) {
	div.gNav-menu a {
		font-size: 14px;
	}

	p.btn-gNav {
		right: 25px;
	}

	img.logo_header {
		width: 180px;
	}

	div.gNav-menu {
		max-width: calc(100% - 80px);
	}
}
