@charset "utf-8";

/*========*/
/* ヘッダ */
/*========*/

@media screen and (min-width: 1281px){
header nav .g-nv > li .sub-menu li {
	width: 240px;
}

header nav .g-nv > li:nth-child(2) .sub-menu li,
header nav .g-nv > li:nth-child(3) .sub-menu li {
	width: 304px;
}

header nav .g-nv > li .sub-menu li a {
	font-size: 16px;
}
}

@media screen and (min-width: 1296px) {
header nav .g-nv {
	margin: 0 auto;
	width: 1280px;
}
}

@media screen and (min-width: 768px) {
header nav {
	display: block !important;
}

header .reservation {
	top: 0 !important;
}

header nav .g-nv > li > a.open::before,
header nav .g-nv > li > a.open::after,
header nav .g-nv > li > a.close::before,
header nav .g-nv > li > a.close::after {
	content: none;
}
}

@media screen and (max-width: 1360px){
header nav .g-nv {
	padding-right: 12%;
}

header nav .g-nv > li {
	width: 17.7%;
}
}

@media screen and (max-width: 1245px){
header .links {
	top: 3px;
	right: 152px;
}

header .language {
	top: 33px;
}

header .language li a {
	width: 78px;
	font-size: 10px;
}
}

@media screen and (max-width: 1020px){
header .inner {
	margin-bottom: 6px;
}

header .links a {
	font-size: 12px;
}

header h1 img {
	width: 130px;
}

header h2 img {
	width: 289px;
}

header nav .g-nv > li:nth-child(2) .sub-menu li,
header nav .g-nv > li:nth-child(3) .sub-menu li {
	width: 23vw;
}

}

@media screen and (max-width: 870px){
header .h-logo {
	width: 300px;
}

header .h-logo h2 img.pc {
	display: none;
}

header .h-logo h2 img.sp-inline {
	display: inline !important;
	position: relative;
	top: 8px;
	width: 136px;
}

}

@media screen and (min-width: 768px) {
header nav {
	display: block !important;
}

header .reservation {
	top: 0 !important;
}

header nav .g-nv > li > a.open::before,
header nav .g-nv > li > a.open::after,
header nav .g-nv > li > a.close::before,
header nav .g-nv > li > a.close::after {
	content: none;
}
}

@media screen and (max-width: 767px) {
header {
	position: relative;
	z-index: 999;
	margin-bottom: -9px;
	height: 69px;
	background-position: 0 100%;
}

header .inner {
	padding: 8px 12px;
}

header .h-logo {
	width: 296px;
}

header .h-logo h1 {
	margin-right: 10px;
	width: 50%;
}

header .h-logo h1 a {
	width: 100%;
}

header .h-logo h2 {
	width: 46%;
	float: left;
	position: relative;
	top: 10px;
}

header .h-logo h2 img.sp-inline {
	top: 0;
}

/* 予約ボタン */
header .reservation {
	top: -89px;
}

header .reservation a {
	width: 70px;
}

header .reservation .circle {
	top: -18px;
	right: -9px;
	width: 76px;
	height: 76px;
	border-radius: 37px;
}

/* メニュー */
header nav {
	display: none;
}

header nav {
	position: fixed;
	top: 60px;
	left: 3%;
	z-index: 99999999;
	padding: 2px;
	width: 94%;
	background: #F0F0F0;
	border: 1px solid #CCC;
	overflow: hidden;
}

header nav .nav-inner {
	margin-bottom: 16px;
	height: calc(100vh - 151px);
	overflow-y: scroll;
}

header nav .g-nv {
	padding-right: 0;
}

header nav .g-nv > li,
header nav .links > li {
	display: block;
	margin-bottom: 2px;
	padding-bottom: 0;
	width: 100%;
	cursor: pointer;
}

header nav .g-nv > li > a,
header nav .links > li > a {
	display: block;
	padding: 8px;
	width: 100%;
	height: auto;
	color: #003F97;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
	text-indent: 0;
	background-color: #fff;
	background-image: none !important;
	border: 1px solid #CCC;
}

header nav .g-nv > li > a:hover,
header nav .links > li > a:hover {
	text-decoration: none;
}

header nav .links > li.fb {
	margin: 12px 0;
}

header nav .links > li.fb > a {
	text-align: center;
}

header nav .links,
header nav .language {
	position: static;
}

header nav .links > li {
	display: block;
}

header nav .links > li::after {
	content: none;
}

header nav .links > li.fb span {
	margin-left: 8px;
}

header nav .language {
	margin: 8px 0 16px;
	width: 100%;
	text-align: center;
	overflow: hidden;
}

header nav .language li {
	float: left;
	width: 49.8%;
}

header nav .language li:last-child {
	float: right;
}

header nav .language li a {
	width: 100%;
	font-size: 18px;
}

header .close-btn {
	margin: 0 auto 16px;
	padding: 8px 0;
	width: 100%;
	color: #fff;
	text-align: center;
	background: #003F97;
	cursor: pointer;
}

/* sub */
header nav .g-nv > li .sub-menu {
	position: static;
	padding-top: 0;
}

header nav .g-nv > li .sub-menu li {
	display: block;
	margin: 0;
	width: 100% !important;
	border-bottom: 2px solid #EEE;
}

header nav .g-nv > li .sub-menu li a {
	font-size: 16px;
	color: #8C6700;
	text-align: left;
	background: #fff;
}

header nav .g-nv > li > a:hover {
	opacity: 1;
	filter: alpha(opacity=100);
}

header nav .g-nv > li .sub-menu li a::before {
	content: '・';
	color: #8C6700;
}

header nav .g-nv > li .sub-menu li a span {
	display: inline;
}

/* ハンバーガーメニューボタン
--------------------------------*/
header .menu {
	position: fixed;
	top: -56px;
	left: 0;
	width: 50px;
	height: 50px;
	background: #003F97;
	cursor: pointer;
}

header .menu .menu-inner {
	position: relative;
	width: 100%;
	height: 100%;
}

header .menu .menu-inner span {
	position: absolute;
	left: 10px;
	display: block;
	width: 31px;
	height: 3px;
	background: #fff;
	transition: all .5s;
}

header .menu .menu-inner span:first-child {
	top: 12px;
}

header .menu .menu-inner span:nth-child(2) {
	top: 23px;
}

header .menu .menu-inner span:last-child {
	top: 34px;
}

header .menu.hb-open .menu-inner span:first-child {
	top: 24px;
	transform: rotate(45deg);
}

header .menu.hb-open .menu-inner span:last-child {
	top: 24px;
	transform: rotate(-45deg);
}

header .menu.hb-open .menu-inner span:nth-child(2) {
	opacity: 0;
}
}