@charset "utf-8";
/* CSS Document */
/* header setting
   ========================================================================== */
header {
	min-height: 100%;
	pointer-events: none;
}
header .hd-logo {
	z-index: 30;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: auto;
	/* transition: 0.4s ease 0s; */
	height: auto;
	width: 80vw;
	padding: 0px 0% 0 1%;
}
header.sub .hd-logo {
	width: 6vw;
	top: 15px;
	min-width: 56px;
}
header::after {
	/* content: ""; */
	/* display: block; */
	/* position: absolute; */
	/* top: 0; */
	/* left: 0; */
	/* width: 100%; */
	/* height: 64px; */
	/* z-index: 21; */
}
header #gnav {}
header #gnav .gnav-hamburger {
	position: absolute;
	top: 0px;
	right: 0px;
	z-index: 31;
	cursor: pointer;
	width: 64px;
	height: 64px;
	box-sizing: content-box;
	pointer-events: auto;
	display: flex;
}
header.sticky #gnav .gnav-hamburger {
	opacity: 1;
}
header #gnav.open .gnav-hamburger {}
header #gnav .gnav-hamburger span {
	transform-origin: center;
	background: #fff;
	height: 1px;
	width: 30px;
	display: block;
	position: absolute;
	transition: transform 0.2s ease;
	right: 0;
	left: 0;
	margin: auto;
}
header.sub #gnav .gnav-hamburger span {
	background: #333;
}
header #gnav .gnav-hamburger span:nth-of-type(1) {
	top: 42%;
}
header #gnav .gnav-hamburger span:nth-of-type(2) {
	top: 55%;
}
header #gnav .gnav-hamburger span:nth-of-type(3) {
	top: 52%;
}
header #gnav .gnav-hamburger span:nth-of-type(4) {
	background:
		none;
	top: 62%;
	color: #333333;
	width: auto;
	height: auto;
}
header #gnav .gnav-hamburger span:nth-of-type(4)::before {
	content: "OPEN";
}
.gnavOpen header #gnav .gnav-hamburger span:nth-of-type(4)::before {
	content: "CLOSE";
}
header #gnav.open .gnav-hamburger span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(45deg);
	transform: translateY(7px) rotate(45deg);
	top: 37%;
	background: #000;
}
header #gnav.open .gnav-hamburger span:nth-of-type(2) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(7px) rotate(-45deg);
	top: 37%;
	background: #000;
}
header #gnav.open .gnav-hamburger span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(-45deg);
	transform: translateY(-9px) rotate(-45deg);
	top: 56%;
}
header #gnav .gnav-inner {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 30;
	transition: 0.6s cubic-bezier(0.000, 0.720, 0.290, 1);
	/*z-index: -1;*/
	width: 100%;
	height: 100%;
	min-height: 100%;
	pointer-events: none;
	/* slideSlide
transform: translateX(100%);
*/
	/* slideDown */
	margin: auto;
	opacity: 0;
	/* transition: ease 0.2s; */
	background: #ece9e5;
	overflow-y: scroll;
}
header #gnav.open .gnav-inner {
	opacity: 1; /* slideSlide

transform: translateX(0);
*/
	/* slideDown */ pointer-events: auto;
}
.open-logo {
	z-index: 30;
	position: absolute;
	top: 0;
	left: 0;
	/* pointer-events: auto; */
	/* transition: 0.4s ease 0s; */
	height: auto;
	width: 80vw;
	padding: 0px 0% 0 1%;
	display: flex;
	align-items: center;
}
.open-logo .logo {
	margin: 0;
	width: 25%;
}
.open-logo .logo img {
	width: 100%;
}
.open-logo .ttl {
	text-align: left;
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-size: 10vw;
	line-height: 1;
	font-weight: 400;
	white-space: nowrap;
	width: 75%;
	padding-left: 5%;
	letter-spacing: -0.05em;
}
/* header cmn
========================================================================== */
header #gnav .gnav-inner .gnav-nav {
	position: absolute;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 9px;
	width: 80vw;
	left: 0;
	right: 0;
	top: 50%;
	bottom: 50%;
}
header #gnav .gnav-inner .gnav-nav li {
	position: relative;
	padding: 0;
	text-align: left;
	margin: 0 15px;
	width: auto;
	text-align: center;
}
header #gnav .gnav-inner .gnav-nav li a {
	font-size: 3.2rem;
	display: inline-block;
	font-weight: 400;
	letter-spacing: 0.08em;
	padding: 17px 0% 10px;
	line-height: 1;
	color: #333;
	text-align: center;
	font-family: 'Inter', sans-serif;
	position: relative;
	overflow: hidden;
}
header #gnav .gnav-inner .gnav-nav li a::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	background: #333;
	bottom: 0;
	transition: 0.2s ease;
	transform: scale(1, 1);
	transform-origin: right top;
}
header #gnav .gnav-inner .gnav-nav li a:hover::before {
	transform: scale(0, 1);
}
header #gnav .gnav-inner .sub-nav {
	display: block;
}
header #gnav .gnav-inner .sub-nav li {
	position: relative;
	padding: 0;
	width: 100%;
	text-align: left;
}
header #gnav .gnav-inner .sub-nav li a {
	font-size: 1.4rem;
	display: block;
	font-weight: 400;
	letter-spacing: 0.08em;
	padding: 11px 4%;
	position: relative;
	line-height: 1;
}
header #gnav .gnav-sp-close {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 30;
	transition: 0.2s ease;
	pointer-events: none;
	opacity: 0;
}
header #gnav .gnav-sp-close a {
	background: #333;
	color: #FFF;
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	padding: 16px 0;
}
header #gnav .gnav-sp-close a::before {
	content: "×";
	display: inline-block;
	padding-right: 16px;
}
header #gnav.open .gnav-sp-close {
	opacity: 1;
	pointer-events: auto;
}
header #gnav .gnav-contact {
	position: absolute;
	top: 0;
	height: 53px;
	display: block;
	z-index: 25;
}
header #gnav .gnav-contact a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
header #gnav .gnav-contact a span {
	opacity: 0;
}
#hd .hd-logo {
	/* z-index: 31; */
	/* background: #fff0; */
}
.case_open #hd .hd-logo {}
#hd .hd-logo a {
	display: flex;
	position: relative;
	/* transition: ease 0.1s; */
	margin: 0;
	align-items: center;
	background: #fff0;
}
#hd .hd-logo a .logo {
	margin: 0;
	width: 25%;
}
#hd .hd-logo a .logo img {
	width: 100%;
}
#hd .hd-logo a .ttl {
	color: #fff;
	text-align: left;
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-size: 10vw;
	line-height: 1;
	font-weight: 400;
	white-space: nowrap;
	width: 75%;
	padding-left: 5%;
	letter-spacing: -0.05em;
}
.gnavOpen #hd .hd-logo {
	/* z-index: 31; */
	/* background: #fff0; */
}
.gnavOpen #hd .hd-logo a {
	/* display: flex; */
	/* position: relative; */
	/* width: 157px; */
	/* height: 70px; */
	/* transition: ease 0.1s; */
	/* margin: 0; */
	/* align-items: center; */
	/* background: #fff0; */
}
#hd .sp-contact {
	position: absolute;
	top: 0px;
	right: 64px;
	z-index: 30;
	cursor: pointer;
	width: 55px;
	height: 55px;
	box-sizing: content-box;
	pointer-events: auto;
	display: flex;
	background: #0089D1;
	display: none;
}
#hd .sp-contact a {
	display: flex;
	align-items: center;
	justify-content: center;
}
#hd .sp-contact a img {
	width: 28px;
}
header.sticky.hide {
	/* transform: translateY(-100%); */
}
header.sticky {
	transition: .6s;
}
header.sticky .hd-logo {
	/*background: rgb(54 74 97 / 90%);*/
}
header.sub.sticky .hd-logo {
	/*background: rgb(255 255 255 / 90%);*/
}
header.sticky .hd-logo a {
	display: flex;
	position: relative;
	/* width: 157px; */
	/* height: 70px; */
	/* transition: ease 0.1s; */
	margin: 0;
	align-items: center;
	background: #fff0;
}
header.sticky #gnav {}
header.sticky #gnav .gnav-hamburger { /* background: rgba(255, 255, 255, 0); */
}
header.sticky #gnav .gnav-hamburger span {/*olor: #000;*/
}
header.sticky #gnav .gnav-inner {
	overflow-y: scroll;
}

@media screen and (max-width: 750px) {
	header #gnav .gnav-inner .gnav-nav {
    position: relative;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 9px;
    width: 80vw;
    left: 0;
    right: 0;
    top: initial;
    bottom: initial;
    padding-top: 50%;
}
}