@charset "UTF-8";
html {
	font-size: 62.5%;
	overflow-x:hidden;
}
body {
	background: #fff;
	color: #231f20;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.6rem;
	overflow-x:hidden;
	-webkit-text-size-adjust:none;
	-ms-text-size-adjust:none;
	word-wrap:break-word;
	min-width: 1200px;
}
@media screen and (max-width: 767px){
	body {
		min-width: 320px;
	}
}
a { color: #231f20; text-decoration: none; }
a:hover { color: #231f20; text-decoration: none; }
.full { width: 100%;}
/* fadeup */
.fadeup {
	opacity: 0;
	transform: translateY(50px);
	transition: all ease 1.5s;
}
.fadeup.on {
	opacity: 1;
	transform: translateY(0);
}

/* fadein */
.fadein {
    opacity: 0;
    transition-duration: 1.5s;
}
.fadein.on {
    opacity: 1;
}
.scale-in {
    transform: scale(1.3);
    transition: all 3s ease-out;
    z-index: 0;
}
.scale-in.on {
	transform: scale(1);
}
.inner {
	margin: auto;
	max-width: 1200px;
	width: 92%;
}
.pos_rel { position: relative;}
.pic_cap {
	font-size: 1rem;
	color: #231f20;
	padding: 4px;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 5;
}
.pic_cap.w {
	color: #fff!important;
}
@media screen and (min-width: 768px){
	.sp { display: none!important;}	
}
@media screen and (max-width: 767px){
	.pc { display: none!important;}
}
.latino {
	font-family: "latino-gothic-variable", sans-serif;
	font-variation-settings: "slnt" 1, "wdth" 67, "wght" 1;
}
/* ------------- Header ------------- */
#header .header_inner {
	width: 95%;
	max-width: 100%;
	margin: 0 auto;
	padding: 23px 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	width: 100%;
	background-color: #000000;
	z-index: 9;
	top: 0;
	opacity: 0;
	visibility: hidden;
	transition: all ease-in-out 0.6s;
    transform: translateY(-100%);
}
#header .header_inner.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
#header .header_inner .head_logo {
	width: 400px;
	margin: auto;
}
@media screen and (max-width: 767px) {
	#header .header_inner { padding: 9px 4%;}
	#header .header_inner #menu {
		height: 15px;
		width: 40px;
		position: relative;
	}
	#header .header_inner #menu span {
		background-color: #fff;
		display: block;
		width: 100%;
		position: absolute;
		left: 0;
		text-indent: -999em;
		transition: all 0.5s;
	}
	#header .header_inner #menu > span:nth-child(1) {
		top: 0;
		height: 2px;
	}
	#header .header_inner #menu > span:nth-child(2) {
		top: 7px;
		height: 1px;
	}
	#header .header_inner #menu > span:nth-child(3) {
		bottom: 0;
		height: 2px;
	}
	#header .header_inner #menu.is-active > span:nth-child(1) {
		transform: rotate(-16deg);
		height: 1px;
		top: 7px;
	}
	#header .header_inner #menu.is-active > span:nth-child(2) { opacity: 0;}
	#header .header_inner #menu.is-active > span:nth-child(3) {
		transform: rotate(16deg);
		height: 1px;
		bottom: 7px;
	}
}

@media screen and (max-width:767px) {
	#header .header_inner .head_logo { width: 280px;}
}
.siteHeader__detailsBtn {
	margin-top: 10px;
	position: absolute;
	width: calc(100% - 30px);
	left: 15px;
	bottom: 30px;
}
.siteHeader__detailsBtn .link_list {
	font-size: 1.3rem;
	letter-spacing: 0.25em;
	line-height: 1.15;
	text-align: center;
	margin-bottom: 10px;
}
.siteHeader__detailsBtn .link_list li + li { margin-top: 5px;}
.siteHeader__detailsBtn .link_list a { color: #fff;}
.siteHeader__detailsBtnLink {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	background-color: #743237;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	padding: 5px;
	color: #fff;
	text-align: center;
	-webkit-transition: all 0.6s ease-in-out 0s;
	-o-transition: all 0.6s ease-in-out 0s;
	-moz-transition: all 0.6s ease-in-out 0s;
	transition: all 0.6s ease-in-out 0s;
}
a.siteHeader__detailsBtnLink.reservationBtn { background: #6D605D;}
.siteHeader__detailsBtnLink:hover { color: #fff;}
@media screen and (min-width: 768px) {
	.siteHeader__detailsBtnLink:hover { opacity: 0.6;}
}
@media screen and (max-width:767px) {
	.head_content {
		clear: both;
	}
	.siteHeader__detailsBtn {
		clear: both;
		margin: 0 auto;
		padding-top: 40px;
		position: static;
	}
}
/* Site HeaderNav */

.siteHeader__nav {
	width: 100%;
	background-color: #fff;
	position: relative;
    height: 100%;
    width: 190px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(0);
    transition: all ease-in-out 0.6s;
    transition-timing-function: cubic-bezier(.075,.82,.165,1);
    z-index: 8;
	padding-top: 130px;
	background-color: #988d8a;
	padding-left: 15px;
	padding-right: 15px;
}
.siteHeader__nav .inner { max-width: 1200px;}
@media screen and (max-width: 767px) {
	.siteHeader__nav {
		height: 100svh;
		width: 100%;
		padding-bottom: 15px;
		right: -100%;
		overflow-y: auto;
		transition: all .5s;
		padding-top: 100px;
	}
	.siteHeader__nav.is-show { right: 0;}
	.siteHeader__navList {
		float: left;
		width: 45%;
	}
	.siteHeader__navList + ul {
		float: right;
	}
}

.siteHeader__navList .siteHeader__navItem {
	margin-top: -1px;
	/*padding: 5px 0;*/
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.siteHeader__navList .siteHeader__navItemLink {
	color: #fff;
	font-size: 1.15rem;
	display: block;
	padding: 6px 0;
	text-align: center;
	letter-spacing: 0.15em;
	transition: all .3s;
	line-height: 1.2;
}
.siteHeader__navList .siteHeader__navItemLink:hover {
	background-color: rgba(255, 255, 255, 0.3);
}
.siteHeader__navList .siteHeader__navItemLink[href="#"] {
	opacity: 0.3;
	pointer-events: none;
}
@media screen and (max-width: 767px) {
	.siteHeader__navList .siteHeader__navItemLink {
		padding: 8px 0;
	}
}

/*====================================================================
siteFooter
====================================================================*/
.footer_wrap {
	background: #a3a5a8;
	position: relative;
}
.footer_caption p {
	font-size: 1rem;
	line-height: 1.3;
	color: #231f20;
	padding: 15px 0 0;
}
#footer {
	padding: 60px 0 60px;
	background-color: #a3a5a8;
}
#footer .f_btn {
	max-width: 578px;
	margin: 10px auto 30px;
	text-align: center;
}
#footer .f_logo01 {
	width: 576px;
	margin: 0 auto 40px;
}
#footer .f_flex {
	display: flex;
	gap: 40px;
	justify-content: center;
}
#footer .f_flex .f_logo02 { width: 240px;}
@media screen and (max-width: 767px) {
	.footer_caption { position: relative;}
	.footer_caption p {
		font-size: 1.1rem;
		max-width: 100%
	}
	#footer { padding: 20px 0 50px;}
	#footer .f_btn {
		/*width: 300px;*/
		margin: 0 auto 20px;
	}
	#footer .f_logo01 {
		width: 60.800vw;
		margin: 0 auto 6vw;
	}
	#footer .f_flex {
		flex-direction: column;
		align-items: center;
		gap: 26px;
	}
	#footer .f_flex .f_logo02 {
		max-width: 50vw;
		width: 100%;
	}
}

@media screen and (min-width: 768px) {
    #wrapper {
        padding-right: 190px;
        transition: padding ease-in-out 0.4s;
    }
}

#contents { padding-top: 114px;}
#contents::before {
	content: "";
    background-color: #fff;
	width: 100%;
    height: 115px;
    top: 0;
    display: block;
	left: 0;
	margin: auto;
	overflow: hidden;
	margin-top: -115px;
}
@media screen and (max-width: 767px){
	#contents { padding-top: 65px;}
	#contents::before {
		height: 65px;
		margin-top: -65px;
	}
}

/* Swipe icon */
.swipe_scroll{position: relative;}
.swipe_icon,.swipe_icon01 {display: none;}
.swipe_pc .swipe_icon,.swipe_pc .swipe_icon01 {display: block;}
.swipe_pc .swipe_icon,
.swipe_pc .swipe_icon01 {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 85px;
	height: 85px;
	display: block;
	margin: -35px;
	animation:horizontal 1s ease-in-out infinite alternate;
	z-index: 10;
}
.swipe_pc .swipe_icon01 {
	left: auto;
	right: 0;
}
.swipe_icon img,
.swipe_icon01 img {
	width: 85px !important;
}
@keyframes horizontal {
	0% { transform:translate(-20%,-20%); }
	100% { transform:translate(30%,-20%); }
}
@media only screen and (max-width: 767px) {
	.swipe_scroll {
		overflow-x: auto;
		padding-bottom: 15px;
		width: 100%;
	}
	.swipe_scroll img {
		width: 768px;
		max-width: inherit;
	}
	.swipe_icon,
	.swipe_icon01 {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 70px;
		height: 70px;
		display: block;
		margin: -35px;
		animation:horizontal 1s ease-in-out infinite alternate;
		z-index: 10;
	}
	.swipe_pc .swipe_icon01 {
		left: calc( 768px - (100% /2));
		right: inherit;
	}
	.swipe_icon img,
	.swipe_icon01 img {
		max-width: 100%!important;
		width: 70px!important;
	}
	.scroll_right {
		position: relative;
	}
}
