@charset "UTF-8";
/* CSS Document */
html {
font-size: 62.5%;
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 16px;
font-size: 1.6rem;
color:#020202;
font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
background: #fff;
}
img, video {
inline-size:100%;
block-size: auto;
vertical-align: bottom;
}
a{
color:#020202;
text-decoration: none;
transition: .6s;
}
a.btn {
background: #020202;
color: #fff;
border-radius: 3px;
display: table;
margin-left: auto;
margin-right: auto;
min-inline-size: 200px;
text-align: center;
	span {
	text-align: center;
	font-size: 0.8em;
	}
}

.en {
display: block;
font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
.box {
inline-size: 90%;
max-inline-size: 1280px;
margin-inline: auto;
}

#header {
background: #fff;
inline-size: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 600;
padding-block: clamp(16px, 1.8vw, 20px);
}

#hero {
inline-size: 100%;
position: relative;
margin-bottom: clamp(50px, 8vw, 100px);
	video, img {
	position: relative;
	z-index: 1;
	}
	h1 {
	position: absolute;
	z-index: 2;
	color: #fff;
	font-weight: bold;
	bottom: 30px;
	left: 5%;
		span {
		display: block;
		}
	}
}

#main > section, #main > article {
padding-bottom: clamp(50px, 8vw, 100px);
}
#main h2 {
display: table;
margin-inline: auto;
text-align: center;
	span {
	display: block;
	text-align: center;
	font-size: 0.7em;
	}
	span:before, span:after {
	content: "-"
	}
}

#footer {
padding-top: clamp(10px, 1.5vw, 20px);
background: #000;
	.box { padding-bottom: clamp(30px, 2.5vw, 40px);
		> a { color:#fff; font-weight:bold; display: table; text-align: right;
			span { display:table; margin-left:auto; }
			i { font-size:1.1em; padding-right:8px; }
		}
	}
	h6 {
	color: #fff;
	padding-bottom: 10px;
	}
	ul {
	border-top: 2px solid #fff;
	padding-top: 12px;
		li {
			a {
			color: #fff;
				span {
				color: #ccc;
				font-size: 0.8em;
				}
			}
		}
		li:last-child {
		padding-bottom: 0;
		}
	}
	small {
	display: block;
	text-align: center;
	font-size: 12px;
	color: #fff;
	padding-bottom: 10px;
	}
}

#reserveBtn {
position: fixed;
z-index: 500;
display: flex;
border-radius: 8px;
background: #000;
padding-block: 4px;
pointer-events: none;
transition: opacity 0.4s;
opacity: 0;
	li {
	padding-inline: 12px;
	border-right: 1px solid #fff;
		a {
		display: block;
		color: #fff;
		padding: 8px;
			i {
			padding-right: 4px;
			}
		}
	}
	li:last-child {
	border-right: none;
		a i {
		transform: translateY(4px);
		}
	}
}
#reserveBtn.is-show {
opacity: 1;
pointer-events: auto;
}
#reserveBtn.is-hide {
opacity: 0;
pointer-events: none;
}

@media screen and (max-width:560px){
p {
font-size: 1.4rem;
line-height: 190%;
}
a.btn {
font-size: 1.4rem;
padding: 4px 8px;
}

#nav{
block-size: 0;
}
.drawer{
top: 32px;
block-size: 0;
}

.menu ul#mainNav {
	li {
		a {
			i {
			font-size: 7vw;
			}
		}
	}
	li:nth-last-child(-n+2) {
	inline-size: 100%;
	}
}
#mainNav li a {
font-size: 4vw;
}

#hero {
	h1 {
	inline-size: 90%;
	bottom: 10px;
	font-size: 3.6vw;
		span {
		font-size: 3vw;
		}
	}
}

#main h2 {
font-size: 2.2rem;
padding-bottom: 40px;
}

#footer {
	ul {
		li, li:last-child {
		padding-bottom: 16px;
		}
	}
	ul:nth-last-child(-n+2) {
	border-top: none;
	padding-top: 0;
	}
	.box {
		> a { font-size:6vw; display: block; text-align: center; border-top: 1px solid #fff; padding-top: 20px; margin-top: 20px;
			span { margin-right:auto; font-size:3.5vw; }
		}
	}
}

#reserveBtn {
max-inline-size: 96%;
bottom: 2vh;
right: auto;
left: 50%;
transform: translateX(-50%);
	li {
		a {
		font-size: 3vw;
		white-space: nowrap;
			span {
			white-space: nowrap;
			}
		}
	}
}
}

@media screen and (min-width:561px) {
a[href^="tel:"] {
pointer-events: none;
}
br.nobr {
display: none;
}

#logo {
max-inline-size: 360px;
}

#footer {
	.box { display: flex; align-items: flex-end; justify-content: space-between;
		div {
			h6 {
			font-size: 2rem;
			}
			ul {
			float: left;
				li {
				padding-bottom: 20px;
				}
			}
		}
		div::after {
		display: block;
		content: "";
		clear: both;
		}
		> a { transform:translateY(-100%); }
	}
}
	
#reserveBtn {
bottom: 10px;
right: 10px;
}
}

@media (min-width:561px) and (max-width:960px){
p {
font-size: 1.7rem;
line-height: 170%;
}
a.btn {
font-size: 1.6rem;
padding: 6px 10px;
}

#nav{
block-size: 0;
}
.drawer{
top: 35px;
block-size: 0;
}
#mainNav li a {
font-size: 2rem;
	i {
	font-size: 8rem;
	}
}

#hero {
	h1 {
	font-size: 2rem;
		span {
		font-size: 1.2rem;
		}
	}
}

#main h2 {
font-size: 2.6rem;
padding-bottom: 50px;
}

#footer {
	.box {
	background: url(../images/logo_b.gif) no-repeat right bottom 30px;
	background-size: 40% auto;
		ul {
		padding-right: 30px;
		}
		ul:last-child {
		padding-right: 0;
		}
		> a { font-size:2.8rem;
			span { font-size:1.4rem; }
		}
	}
}
}

@media screen and (max-width:960px){
#logo {
inline-size: 80%;
}
#nav{
inline-size: 100%;
background: #FFF;
}
.drawer{
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
position: absolute;
right: 5%;
}
.navbar_toggle{
z-index:9999;
}
.navbar_toggle_icon {
position: relative;
display: block;
block-size: 2px;
inline-size: 30px;
background: #5c6b80;
transition: ease .5s;
}
.navbar_toggle_icon:nth-child(1) {
top: 0;
}
.navbar_toggle_icon:nth-child(2) {
margin-block: 8px;
}
.navbar_toggle_icon:nth-child(3) {
top: 0;
}
.navbar_toggle.open .navbar_toggle_icon {
background: #fff;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
top: 10px;
transform: rotate(45deg);
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
transform: translateY(-50%);
opacity: 0;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
top: -10px;
transform: rotate(-45deg);
}
.menu {
position: fixed;
top: 0;
inline-size: 100vw;
block-size: 100vh;
transform: translateX(-105vw);
transition:ease .5s;
z-index:1001;
background: rgba(0,0,0,0.80);
	ul {
	inline-size: 90vw;
	margin-inline: auto;
	}
}
.menu ul#mainNav {
padding-top: 10vh;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
	li {
	inline-size: 48%;
	box-sizing: border-box;
	margin-bottom: 10px;
		a {
		display: block;
		padding-block: 30px;
		}
	}
	li:nth-child(3), li:nth-child(4), li:nth-child(5) {
	inline-size: 32%;
	}
	li:nth-last-child(-n+2) {
		a {
		background: #000;
		color: #fff;
		}
	}
}

.menu ul li a {
background: #FFF;
text-align: center;
border-radius: 8px;
	span {
	display: block;
	}
	span.back {
	font-size: 0.8em;
	position: relative;
	padding-top: 6px;
	margin-top: 4px;
	}
	span.back::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	inline-size: 30px;
	block-size: 2px;
	display: block;
	background: #020202;
	}
}
.menu.open {
transform:translateX(-5vw);
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
}

@media screen and (min-width:961px){
p {
font-size: 1.8rem;
line-height: 180%;
}
a.btn {
font-size: 1.8rem;
padding: 8px 12px;
}
.drawer {
display: none;
}

#header > div {
display: flex;
justify-content: space-between;
align-items: center;
}
#logo {
inline-size: 30%;
}
#nav {
inline-size: 66%;
max-inline-size: 600px;
}
#gNav ul#mainNav {
display: flex;
justify-content: space-between;
	li:nth-last-child(-n+2) {
	display: none;
	}
}
.flipX{
position: relative;
display: inline-block;
perspective: 800px;
text-decoration: none;
color: inherit;
line-height: 1;
min-width: 15ch;
height: 1.6em;
}
.flipX .face{
position: absolute;
inset: 0;
display: grid;
place-items: center; 
padding: .2em .6em;
transform-style: preserve-3d;
backface-visibility: hidden;
transition: transform .6s;
font-size: 1.8rem;
font-weight: bold;
}
.flipX .front{ transform: rotateX(0deg); }
.flipX .back{  transform: rotateX(180deg); }
.flipX:hover .front,
.flipX:focus .front{ transform: rotateX(-180deg); }
.flipX:hover .back,
.flipX:focus .back{  transform: rotateX(0deg); }
@media (prefers-reduced-motion: reduce){
  .flipX .face{ transition: none; }
}
#mainNav li a {
	i {
	display: none;
	}
}

#hero {
	h1 {
	font-size: 2.6rem;
		span {
		font-size: 1.4rem;
		}
	}
}
#main h2 {
font-size: 3.0rem;
padding-bottom: 60px;
}

#footer {
	.box {
	background: url(../images/logo_b.gif) no-repeat right bottom 50px;
	background-size: 30% auto;
		ul {
		padding-right: 40px;
		}
		ul:last-child {
		padding-right: 0;
		}
		> a { font-size:4rem;
			span { font-size:1.8rem; }
		}
	}
}
}