@charset 'utf-8';

@import url('vegas.min.css');

#content {
	background-color: #fff;
}
#content *{
	letter-spacing: 0.025em;
}

header img,
article img,
footer img{
	max-width: 100%;
	height: auto;
}
.menu-wrap.copy{
	display: none !important;
}
@media only screen and (max-width:750px){
}


/* ------ Slider ------ */
.slick-slider{
	position: relative;
	z-index: 1;
	display: block;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	 -khtml-user-select: none;
	-ms-touch-action: pan-y;
	    touch-action: pan-y;
}
.slick-list{
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.slick-list:focus{
	outline: none;
}
.slick-list.draggable{
	cursor: grab;
}
.slick-slider .slick-track,
.slick-slider .slick-list{
	-webkit-transform: translate3d(0, 0, 0);
	   -moz-transform: translate3d(0, 0, 0);
	    -ms-transform: translate3d(0, 0, 0);
	        transform: translate3d(0, 0, 0);
}
.slick-slider:not(.slick-vertical) .slick-track{
	position: relative;
	top: 0;
	left: 0;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: stretch;
	-webkit-align-items: stretch;
	overflow: hidden;
	opacity: 1 !important;
}
.slick-slide{
	height: auto;
	min-height: 1px;
	opacity: 1 !important;
}
.slick-slide.slick-loading img{
	display: none;
}
.slick-slide.dragging img{
	pointer-events: none;
}
.slick-loading .slick-slide{
	visibility: hidden;
}
.slick-vertical .slick-slide{
	height: auto;
}
.slick-arrow.slick-hidden{
	display: none;
}
.slick-prev:hover,
.slick-next:hover{
	color: transparent;
	outline: none;
}
.slick-prev:hover:before,
.slick-next:hover:before{
	opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before{
	opacity: 0.25;
}
.slide-dots{
	text-align: center;
}
.slick-dots{
	line-height: 10px;
	position: absolute;
	z-index: 1;
	bottom: 20px;
	left: 50%;
	display: inline-block;
	width: auto;
	height: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	text-align: center;
	vertical-align: top;
}
.slick-dots li{
	position: relative;
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
	vertical-align: top;
}
.slick-dots li button{
	line-height: 0;
	display: block;
	width: 10px;
	height: 10px;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus{
	outline: none;
}
.slick-dots li button::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	content: '';
	-webkit-transition: all 0.5s ease;
	   -moz-transition: all 0.5s ease;
	    -ms-transition: all 0.5s ease;
	        transition: all 0.5s ease;
	text-align: center;
	border-radius: 0;
	background-color: #ccc;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.slick-dots li button:hover:before,
.slick-dots li.slick-active button:before{
	background-color: #7f7f7f;
}



/* =========================================================
vegas
========================================================= */
.vegas-container{
	position: fixed !important;
	z-index: 0;
	top: 0;
	left: 0;
	width: calc(100% - 120px) !important;
	height: 100% !important;
}
.vegas-overlay{
	background-color: rgba(0, 0, 0, 0.2);
	background-image: none !important;
	background-repeat: repeat;
	background-position: 0 0;
	background-size: auto;
}
#vegas{
	width: 100%;
	height: 100%;
}
@media only screen and (max-width:750px){
	.vegas-container{
		width: calc(100% - 1.2rem) !important;
	}
}

/* =========================================================
nav-header
========================================================= */
#nav-header .btn_reserve {
	padding: 9px 0 12px;
}
#nav-header .btn_reserve span{
	font-size: 24px;
	-ms-writing-mode: unset;
	writing-mode: unset;
	-webkit-text-orientation: unset;
	text-orientation: unset;
	letter-spacing: 0.03em;
}
@media only screen and (max-width:750px){
	#nav-header .btn_reserve {
		padding: 0.09rem 0 0.12rem;
	}
	#nav-header .btn_reserve span{
		font-size: 0.38rem;
	}
}


/* =========================================================
section
========================================================= */
section{
	position: relative;
	z-index: 1;
}
section:not(#top_home){
	z-index: 2;
	background-color: #fff;
}


/* =========================================================
Loading
========================================================= */
@keyframes load_logo{
	0%{
		opacity: 0;
	}
	90%{
		opacity: 1;
		transform: scale(1.0);
		-webkit-transform: scale(1.0);
	}
	100%{
		opacity: 1;
		transform: scale(1.0);
		-webkit-transform: scale(1.0);
	}
}
#preloader{
	position:absolute;
	z-index: 1;
	top: 50%;
	right: auto;
	left: auto;
	margin: -16px auto 0;
	will-change: transform;
}
#preloader picture{
	-webkit-animation: load_logo 2s linear both;
	        animation: load_logo 2s linear both;
	opacity: 0;
}
@media only screen and (max-width:750px){
	#preloader{
		margin: -0.18rem auto 0;
	}
}


/* =========================================================
top_home
========================================================= */
#top_home{
	position: relative;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        align-items: center;
	-webkit-align-items: center;
	overflow: hidden;
	width: calc(100% - 120px);
	height: 100%;
	vertical-align: top;
	background-color: transparent;
	background-repeat: repeat;
	background-position: 0 0;
	background-size: auto;
	margin-right: auto;
}
@media only screen and (max-width: 750px){
	#top_home{
		width: calc(100% - 1.2rem);
	}
}


/* =========================================================
about
========================================================= */
#about {
}
#about .inner.inner_top {
	padding-top: 120px;
	padding-bottom: 120px;
	max-width: 1140px;
}
#about .inner .txt_bloc p {
	line-height: 1.7em;
	text-align: center;
}
#about .bg {
	background-color: #fff;
	background-image: var(--about_bg-pc);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: cover;
	width: 100%;
	height: 420px;
}
#about .inner.inner_under {
	max-width: 1140px;
	padding-top: 58px;
	padding-bottom: 60px;
	min-height: 0;
}
#about .txt_bloc p {
	line-height: 1.7em;
	text-align: center;
}
@media only screen and (max-width: 750px){
	#about .inner.inner_top {
		padding-top: 1.2rem;
		padding-bottom: 1.25rem;
		max-width: 100%;
	}
	#about .inner .txt_bloc p {
		line-height: 1.4em;
	}
	#about .bg {
		background-image: var(--about_bg-sp);
		height: 2.5rem;
	}
	#about .bg.jarallax [id^=jarallax-container],
	#about .bg.jarallax [id^=jarallax-container] div{
		display: none;
	}
	#about .inner.inner_under {
		max-width: 100%;
		padding-top: 0.6rem;
		padding-bottom: 0.6rem;
	}
	#about .txt_bloc p {
		line-height: 1.4em;
	}
}

/* =========================================================
foods
========================================================= */
#foods {
	padding-bottom: 123px;
}
#foods .inner {
	padding-top: 51px;
	padding-bottom: 55px;
	min-height: 0;
}
#foods .inner h2 {
	text-align: center;
}
@media only screen and (max-width: 750px){
	#foods {
		padding-bottom: 1.25rem;
	}
	#foods .inner {
		padding-top: 0.56rem;
		padding-bottom: 0.6rem;
	}
}


/* =========================================================
foods_slider
========================================================= */
@media print, screen and (min-width: 751px){
	#foods_slider {
	}
	#foods_slider .slider {
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		        flex-flow: row nowrap;
		-webkit-flex-flow: row nowrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		opacity: 1 !important;
	}
	#foods_slider .slider > div {
		width: 31.64%;
	}
	#foods_slider .slider > div:nth-child(2) {
		margin: 0 2.54%;
	}
	#foods_slider .slider div .foods_bloc {
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		        align-items: center;
		-webkit-align-items: center;
		width: 100%;
	}
	#foods_slider .slider div .foods_bloc .img {
		width: 100%;
		margin-bottom: 23px;
	}
	#foods_slider .slider div .foods_bloc .img *{
		width: 100%;
	}
	#foods_slider .slider div .foods_bloc h3 {
		margin-bottom: 22px;
		width: 100%;
		text-align: center;
	}
	#foods_slider .slider div .foods_bloc p {
		padding-right: 15px;
		padding-left: 15px;
		line-height: 1.7em;
		width: 100%;
	}
	#foods_slider .slider div .foods_bloc .btn_def {
		width: auto;
	}
	#foods_slider .slider div .foods_bloc .btn_def i {
	}
}
@media only screen and (max-width: 750px){
	#foods_slider {
	}
	#foods_slider .slider {
	}
	#foods_slider .slider .slick-slide {
		margin: 0 0.15rem;
	}
	#foods_slider .slider .slick-slide .foods_bloc {
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		        align-items: center;
		-webkit-align-items: center;
		width: 100%;
	}
	#foods_slider .slider .slick-slide .foods_bloc .img {
		width: 100%;
		margin-bottom: 0.18rem;
	}
	#foods_slider .slider .slick-slide .foods_bloc .img *{
		height: 2.8rem;
	}
	#foods_slider .slider .slick-slide .foods_bloc h3 {
		margin-bottom: 0.2rem;
	}
	#foods_slider .slider .slick-slide .foods_bloc p {
		width: 4.06rem;
		padding-right: 0.15rem;
		padding-left: 0.15rem;
	}
	#foods_slider .slider .slick-slide .foods_bloc .btn_def {
		width: auto;
	}
	#foods_slider .slider .slick-slide .foods_bloc .btn_def i {
	}
}


/* =========================================================
room
========================================================= */
#room {
}
#room .inner {
	padding-top: 58px;
	padding-bottom: 60px;
	max-width: 1140px;
	min-height: 0;
}
#room .inner h2 {
	text-align: center;
	margin-bottom: 24px;
}
#room .inner .txt_bloc p {
	line-height: 1.7em;
	text-align: center;
}
@media only screen and (max-width: 750px){
	#room .inner {
		padding-top: 0.6rem;
		padding-bottom: 0.6rem;
	}
	#room .inner h2 {
		margin-bottom: 0.25rem;
	}
	#room .inner .txt_bloc p {
		line-height: 1.4em;
	}
}


/* =========================================================
room_slider
========================================================= */
#room_slider {
	position: relative;
}
#room_slider .slider {
}
#room_slider .slider .slick-slide {
	margin:0 15px;
}
#room_slider .slider .slick-slide .room_bloc {
	display: block;
}
#room_slider .slide-dots{
}
@media print, screen and (min-width: 751px){
	#room_slider .slick-slide picture{
		filter: blur(10px);
		-webkit-transition: filter 0.5s ease 2s;
		        transition: filter 0.5s ease 2s;
	}
	#room_slider .slick-slide:not(.slick-current) picture{
		-webkit-transition: filter 0.5s ease 0s;
		        transition: filter 0.5s ease 0s;
	}
	#room_slider .slick-slide.slick-current picture{
		filter: blur(0);
	}
}
@media only screen and (max-width: 750px){
	#room_slider .slider .slick-slide {
		margin:0 0.25rem;
	}
	#room_slider .slider .slick-slide .room_bloc * {
		width: 100% !important;
		height: auto !important;
	}
}


/* =========================================================
information
========================================================= */
#information {
}
#information .inner {
	padding-top: 54px;
	padding-bottom: 60px;
}
#information .inner h2 {
	text-align: center;
	margin-bottom: 54px;
}
#information .inner .text_bloc {
}
#information .inner .text_bloc .tbl_def{
}
@media print, screen and (min-width: 751px){
	#information .inner .text_bloc .tbl_def th{
		width: 27.45%;
	}
	#information .inner .text_bloc .tbl_def td{
		width: 72.55%;
	}
}
@media only screen and (max-width: 750px){
	#information .inner {
		padding-top: 0.56rem;
		padding-bottom: 0.6rem;
	}
	#information .inner h2 {
		margin-bottom: 0.51rem;
	}
	#information .inner .text_bloc {
	}
	#information .inner .text_bloc .tbl_def{
	}
	#information .inner .text_bloc .tbl_def{
		display:block;
	}
	#information .inner .text_bloc .tbl_def colgroup{
		display:none;
	}
	#information .inner .text_bloc .tbl_def tbody,
	#information .inner .text_bloc .tbl_def tbody tr{
		display:block;
	}
	#information .inner .text_bloc .tbl_def th{
		font-size: 1em;
		padding: 0.22rem 0.2rem 0 0.2rem;
		line-height: 1.4em;
		display: block;
		letter-spacing: 0;
		width: 100%;
		border-bottom: none;
	}
	#information .inner .text_bloc .tbl_def td{
		font-size: 1em;
		padding: 0.12rem 0.2rem 0.3rem;
		line-height: 1.4em;
		display: block;
		width: 100%;
	}
}


/* =========================================================
access
========================================================= */
#access {
}
#access .inner {
	padding-top: 60px;
	padding-bottom: 65px;
}
#access .inner .gmap_area {
	position: relative;
	z-index: 1;
	width: 100%;
}
#access .inner .gmap_area iframe {
	width: 100%;
	height: 460px;
	vertical-align: top;
	border: none;
}
@media only screen and (max-width: 750px){
	#access .inner {
		padding-top: 0.6rem;
		padding-bottom: 0.12rem;
		padding-right: 0 !important;
	}
	#access .inner .gmap_area {
		padding-right: 0.25rem;
	}
	#access .inner .gmap_area iframe {
		height: 4.6rem;
	}
}
