@charset "UTF-8";
.pack_75 {
	margin: 3em 0;
	@media screen and (max-width: 767px) {
		margin: 2em 0;
	}
}
/* CSS Document */
body{
	margin:0;
	padding:0;
	color:#171F26;
	font-size:16px;
	font-weight:400;
	line-height: 1.7;
	overflow-x:hidden;
	font-family: 'Noto Serif JP', serif;
	-webkit-text-size-adjust: 100%;
	background: #E6DEC8;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.en{
	font-family: 'Poppins', sans-serif;
}

body.open, body.modaal-noscroll{
}
input, textarea {
    border-radius: 0;
    outline: none;
    margin: 0;
    padding: 0;
    font-family: 'Noto Serif JP', serif;
    font-size:16px;
    -webkit-border-radius : 0;
    -webkit-tap-highlight-color : rgba(0,0,0,0);
}

img{
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}

a {
	color:#333;
	text-decoration:none;
	transition: all 0.3s ease-in-out 0s;
}

a:hover {
	text-decoration:none;
}
.flex_wrap{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
}
.flex_wrap_between{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex_wrap_center{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	justify-content: center;
}
.flex_wrap_middle{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	align-items: center;
}

.sp{display:none !important;}
.note{font-size:75%;}

.invew{
    position: relative;
    transition: all 0.6s ease-in-out 0s;
}
.fade{
    opacity: 0;
    top: 40px;
}
.fade.fire{
    opacity: 1;
    top: 0;
}
.fade_list li{
    position: relative;
    opacity: 0;
    top: 40px;
    transition: all 0.6s ease-in-out 0s;
}
.fade_list li:nth-of-type(2){
    transition-delay: 0.1s
}
.fade_list li:nth-of-type(3){
    transition-delay: 0.2s
}
.fade_list li:nth-of-type(4){
    transition-delay: 0.3s
}
.fade_list li:nth-of-type(5){
    transition-delay: 0.4s
}
.fade_list li:nth-of-type(6){
    transition-delay: 0.5s
}
.fade_list.fire li{
    opacity: 1;
    top: 0;
}

/************************
header
************************/
header{
	position: fixed;
	width: 100%;
	z-index: 1000;
	transition: all 0.3s ease-in-out 0s;
}
.inner_header{
	margin: auto;
	width: 100%;
	align-items: center;
	padding: 17px 23px;
}
.lang{
	padding:3px 25px;
	cursor: pointer;
	font-weight: 800;
	background: #fff url("../img/icon_earth.png") no-repeat left 5px center;
	background-size: 15px auto;
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-size: 12px;
}
.lang::after{
	position: absolute;
    display: block;
    content: '';
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
}
.lang_wrap{
	position: relative;
	font-family: 'Noto Serif JP', serif;
	align-self: center;
}
.list_lang{
	position: absolute;
	background: #fff;
	display: none;
	padding: 10px 10px 10px 30px ;
	width: calc(100%);
}
.list_lang li a{
	display: block;
	padding: 10px 0;
}
.list_lang li a:hover{
	opacity: .6;
}
.btn_head{
	font-family: 'Noto Serif JP', serif;
}
.btn_head a{
	border-radius: 6px;
	padding: 0 50px;
	position: relative;
    text-align: center;
    line-height: 50px;
	background: transparent linear-gradient(180deg, #171F26 0%, #303B47 100%) 0% 0% no-repeat;
	color: #fff;
	display: block;
	width: 240px;
}
.btn_line a{
	background: #fff url("../img/icon__line.svg") no-repeat left 20px center;
	background-size: 28px 28px;
	color: #171F26;
}
.btn_head.btn_ig a{
	background: #fff url("/img/ig__icon.png") no-repeat left 20px center;
	background-size: 28px 28px;
	color: #171F26;
	width: 320px;
}
.btn_riz{
	margin: 0 50px 0 20px;
}
.btn_riz a::after{
	background:url("../img/icon_rez.png");
	background-size: 100%;
	width: 28px;
	height: 28px;
	position: absolute;
	content: '';
	margin: auto;
	top: 0;
	bottom: 0;
	left: 20px;
	display: block;
}
.btn_head a::before{
	display: block;
    position: absolute;
    content: '';
    margin: auto;
    right: 30px;
    bottom: 0;
    top: 0;
    transition: all 0.3s ease-in-out 0s;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
    transform: rotate(45deg);
    width:8px;
	height:8px;
}
.btn_head.btn_line a::before{
	border-color: #171F26;
}
.btn_head a:hover{
	opacity: .5;
}
/************************
btn
************************/
.btn{
	width: 100%;
	max-width: 360px;
	margin: auto;
}
.btn a{
	display: block;
	text-align: center;
	padding: 12px 24px;
	border: 2px solid #c5093b;
	color: #c5093b;
	border-radius: 100vh;
}
.btn a:hover{
	opacity: .5;
}
.sec_def .btn{
	margin-top: 40px;
}

/************************
menu btn
************************/
.menu_btn{
    position: relative;
	width: 50px;
	height: 50px;
	text-align: center;
	cursor:pointer;
	transition: all 0.3s ease-in-out 0s;
    z-index: 101;
	background: #fff;
}
.sp_nav_btn{
	width: 100%;
	height: 100%;
	z-index: 1000;
	text-align: center;
	position: relative;
}
#panel-btn{
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: auto;
  position: absolute;
  top:0;
  bottom:0;
  left: 0;
  right: 0;
}
#panel-btn:hover{
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom:0;
  right:0;
  width: 100%;
  height: 1px;
  margin: auto;
  background: #171F26;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #171F26;
  transition: .5s;
}
#panel-btn:hover #panel-btn-icon, #panel-btn:hover #panel-btn-icon:before, #panel-btn:hover #panel-btn-icon:after{
}
#panel-btn-icon:before{
  margin-top: -10px;
}
#panel-btn-icon:after{
  margin-top: 8px;
}
#panel-btn .close, #panel-btn:hover #panel-btn-icon.close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#panel-btn .close:after{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

/************************
mv
************************/
.mv_wrap{
	background: url("../img/kv.png") center;
	background-size: cover;
	position: relative;
}
.swiper-container.mv_bg{
    width: 100%;
    margin:0 0 0 auto;
}
@keyframes zoomUp {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
.swiper-slide-active img,
.swiper-slide-duplicate-active img,
.swiper-slide-prev img{
    animation: zoomUp 10s linear 0s 1 normal both; 
}
.inner_kv{
	position: absolute;
	text-align: center;
	width: 84%;
	left: 0;
	right: 0;
    z-index: 2;
	height: 100%;
	justify-content: center;
	align-items: center;
	top: 0;
	margin: auto;
	display: flex;
	flex-direction: column;
}
.inner_kv p{
	max-width: 394px;
	margin:0 auto;
}
.inner_kv p img{
	filter: drop-shadow(0 0 7px #000);
}
.inner_kv h1{
	margin-top: 16px;
	font-size: 34px;
	color: #fff;
	font-weight: 300;
	text-shadow: 0px 0px 7px #000000;
	line-height: 1.8;
	letter-spacing: 6px;
}


.def_sec{
	padding: 120px 0 0;
}
.def_sec h2{
	text-align: center;
	font-size: 75px;
	line-height: 1.2;
	margin-bottom: 60px;
}
.def_sec h2 span{
	font-size: 14px;
	display: block;
	font-weight: 400;
	margin-top: 20px;
}
.inner_840{
	margin: auto;
	max-width: 840px;
	width: 86%;
}
.inner_1200{
	margin: auto;
	max-width: 1200px;
	width:95%;
	.con_cnt {
		width:750px;
		text-align: left;
	}
}
.sec_about{
	text-align: center;
	font-size: 18px;
	line-height: 2.8;
	padding-bottom: 300px;
	position: relative;
	z-index: 1;
	overflow: hidden;
	width: 100%;
}
.about_bg{
	position: absolute;
	z-index: -1;
}
.bg_01{
	left: 50%;
	top: 90px;
	margin-left: -1100px;
}
.bg_02{
	left: 50%;
	bottom: 50px;
	margin-left: 210px;
	width: 900px;
}

.sec_five{
	padding: 90px 0;
	background: url("../img/bg_five.png") center;
	background-size: cover;
}
.sec_five h2{
	color: #fff;
}
.list_five{
	gap: 20px 2%;
}
.list_five li{
	width: 49%;
	background: #fff;
	padding: 36px 36px 40px;
}
.list_five li:nth-child(n+3){
	width: 32%;
}
.five_ttl{
	justify-content: center;
	margin-bottom: 18px;
	font-size: 18px;
	line-height: 1.2;
	color: #76632D;
}
.five_ttl i{
	width: 21px;
	margin-right: 14px;
}
.con_gallery{
	gap:0.8%;
	margin-bottom: 64px;
}
.con_01{
	width: 53.7%;
}
.con_02{
	width: 45.5%;
}
.wrap_con{
	background: #604D38;
	padding-bottom: 112px;
	position: relative;
	z-index: 1;
	width: 100%;
	overflow: hidden;
}
.wrap_ueno{
	gap:120px;
}
.en {
	.wrap_ueno{
		gap:40px;
	}
}
.con_cnt{
	text-align: center;
	width: 500px;
	color: #fff;
}
.con_cnt h3{
	font-size: 32px;
	font-weight: 500;
	margin-bottom: 40px;
}
.wrap_ueno figure {
	width: 110px;
}
.wrap_ueno_copy {
	width: 400px;
	margin-top:150px;
	font-family: 'Noto Serif JP', serif;
	@media screen and (max-width: 767px) {
		width:auto;
		margin-top:0;
	}
}
.wrap_ueno_copy { color:#fff; }
.con_bg{
	position: absolute;
	left: 50%;
	margin-left: -1145px;
	bottom: 20px;
}
.sec_room h2{
	text-align: left;
}
.list_room li{
	position: relative;
	z-index: 1;
	width: 100%;
	overflow: hidden;
}
.list_room li .room_top{
	background: url("../img/room_01.png") center / cover;
	padding-bottom: 200px;
	margin-bottom: 64px;
	position: relative;
	z-index: -1;
}
.list_room li .room_top h3{
	margin: auto;
    max-width: 840px;
    width: 86%;
	text-align: right;
	position: relative;
	top: -4px;
}
.list_room li .room_top h3 img{
	width: 80px;
}
.list_room li .inner_840{
	position: relative;
	z-index: 2;
}
.bg_room{
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 608px;
}
.ttl_room{
	font-size: 28px;
	font-weight: 600;
	color: #3F151F;
	margin-bottom: 24px;
}
.ttl_room span{
	display: inline-block;
	margin-left: 32px;
	font-size: 20px;
	color: #fff;
	background: #3F151F;
	padding: 2px 20px;
}
.list_room li dl{
	margin-top: 40px;
	align-items: center;
	gap:20px;
}
.list_room li dl:not(:first-of-type){
	margin-top: 16px;
}
.list_room li dl dt{
	border: 1px solid #0C0C0D;
	padding: 2px 5px;
	min-width: 94px;
	text-align: center;
}

.list_room li dl dd{
	width:calc(100% - 116px);
}
.list_room li:last-child{
	margin-top: 160px;
}
.list_room li:last-child .ttl_room{
	color: #76632D;
}
.list_room li:last-child .ttl_room span{
	background: #76632D;
}
.list_room li:last-child .room_top{
	background-image: url("../img/room_02.png");
}

.en {
	.list_room li dl dt{
		min-width: 180px;
	}
	.list_room li dl dd{
		width:calc(100% - 220px);
	}
}

.sec_price{
	padding-bottom: 200px;
	position: relative;
	width: 100%;
	overflow: hidden;
	z-index: 1;
}
.sec_price ul{
	gap:60px;
}
.sec_price ul li{
	max-width: 366px;
}
.bg_p{
	position: absolute;
	left: 50%;
	z-index: -1;
}
.b_p_01{
	top: 0;
	margin-left: -1177px;
}
.b_p_02{
	bottom: 0;
	margin-left: 368px;
	width: 1024px;
}

.list_flow li{
	width: 22.4%;
	background: #fff;
	padding: 1px 30px 30px;
	text-align: center;
	position: relative;
}
.list_flow li .i_num{
	margin-top: -40px;
	margin-bottom: 20px;
}
.list_flow li .i_num img{
	width: 80px;
}
.list_flow li h3{
	font-size: 20px;
	position: relative;
	padding-bottom: 16px;
	margin-bottom: 24px;
}
.list_flow li h3::after{
	position: absolute;
	display: block;
	content: '';
	width: 40px;
	height: 3px;
	background: #76632D;
	margin: auto;
	bottom: 0;
	left: 0;
	right: 0;
}
.list_flow li:not(:last-child)::after{
	display: block;
	content: '';
	width: 5%;
	height: 100%;
	position: absolute;
	background: url("../img/arrow.png") center no-repeat;
	background-size: 100% auto;
	right: -10%;
	top: 0;
}

.faq_list dt{
    margin-bottom: 10px;
}
.i_faq{
    font-size: 18px;
    width: 40px;
    line-height: 40px;
    text-align: center;
    background: #111;
    color: #fff;
}
.i_faq.i_a{
    background: #fff;
    border: 2px solid #111;
    color: #111;
}
.faq_list dt .txt_faq{
	font-family: "Noto Sans JP", sans-serif;
}
.txt_faq{
    width: calc(100% - 63px);
    margin-left: 22px;
	font-family: "Noto Sans JP", sans-serif;
}
.faq_list dd{
    margin-bottom: 35px;
}
.sec_flow{
	padding-bottom: 200px;
	position: relative;
	width: 100%;
	overflow: hidden;
}
.faq_list dd a{
	color: #3B9AEC;
}
.sec_access{
	padding: 120px 0;
	background: url("../img/bg_access.png") center;
	background-size: cover;
}
.map_wrap{
	width: 50%;
}
.map_wrap iframe{
	width: 100%;
	height: 100%;
}
.cnt_acc{
	width: 43%;
	display: flex;
	flex-direction: column;
	color: #fff;
}
.cnt_acc h2{
	text-align: left;
	color: #fff;
	max-width: 256px;
}
.def_sec .cnt_acc h2 span{
}
.cnt_acc .ttl_acc{
	font-size: 20px;
	margin-bottom: 10px;
}
.cnt_acc figure{
	margin-top: 40px;
}

footer{
	background: #0C0C0D;
	padding-top: 90px;
	text-align: center;
	color: #fff;
}
footer a{
	color: #fff;
}
.logo_ft{
	margin-bottom: 32px;
}
.logo_ft img{
	width: 245px;
}
.list_sns{
	gap:40px;
	margin-bottom: 32px;
}
.list_sns li{
	width: 45px;
}

.mail_ft{
	width: 100%;
	max-width: 393px;
	margin: 0 auto 100px;
	border: 1px solid #fff;
	padding: 14px;
	font-size: 16px;
}
.mail_ft i{
	width: 23px;
	margin-right: 5px;
	display: inline-block;
}
.mail_ft i img{
	vertical-align: middle;
}
.mail_link{
	margin-top: 10px;
	font-size: 14px;
}
.menu_ft{
	margin-bottom: 60px;
}
.menu_ft li{
	margin-right: 30px;
	margin-bottom: 10px;
}
.menu_ft li:last-child{
	margin-right: 0;
}

.copy{
	font-size: 15px;
	padding-bottom: 20px;
}
.con_cnt p{
	line-height: 2.2;
}
#loading {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #fff;
	z-index: 9999;
	opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.loaded #loading {
	transform-origin: 50vw 100vh;
	animation: loaded 1s cubic-bezier(0.19, 1, 0.22, 1) 2.6s forwards;
	pointer-events: none;
}
#loading img{
    opacity: 0;
    animation: fade 1.4s ease .4s forwards;
}
@keyframes loaded {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.gnav{
	position: absolute;
	right: -100%;
	background: rgba(255,255,255,0.9);
	height: 100vh;
	padding: 100px 40px;
	overflow: auto;
	top: 0;
	width: 80%;
	max-width: 500px;
	transition: all 0.3s ease-in-out 0s;
}
.gnav li{
	margin-bottom: 1rem;
    font-size: 1.2rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    @media screen and (max-width: 767px) {
      margin-bottom: .7rem;
    }
    &.menu-ttl {
      margin-bottom: .4em;
      font-size:1.35rem;
      font-weight: 700;
      a {
        cursor:default;
      }
    }
    &.menu-shop {
      margin-left: .5em;
      &::before {
        padding-right: .3em;
        content:"-";
      }
    }
    &.menu-margin {
      margin-top: 1em;
      @media screen and (max-width: 767px) {
        margin-bottom: .7em;
      }
    }
}
.gnav li img{
	width: 36px;
}
.open .gnav{
	right: 0;
}

.btn_online{
	display: none;
}
/********************************
sp
********************************/
@media screen and (max-width: 768px) {
	.inner_header{padding: 0; align-items: flex-start;}
	.lang_wrap{position: relative;}
	.btn_line,.btn_ig{position: fixed; bottom: 10px; left: 2%;width: 46%;}
	.btn_head.btn_ig { width: 47%; }
	.btn_head.btn_ig a { 
		width: auto;
		line-height: 1.7;
	}

	.btn_head a{padding: 0 30px; width: auto;}
	.btn_riz{ z-index: 100; width: auto;margin: 0 10px 0 0;}
	.btn_riz a{padding: 0 30px; line-height: 40px;}
	.btn_head a::before{right: 10px;}
	.btn_riz a::after{width: 14px; height: 14px; left: 10px;}
	.btn_line a{background-position: left 10px center;background-size: 20px 20px;}
	.btn_online{position: fixed; bottom: 10px; right: 2%;width: 46%; display: block;}
	.lang{line-height: 34px;}
	.menu_btn{width: 40px; height: 40px;}
}
@media screen and (max-width: 768px) {
	body{font-size: 14px;}
	.sp{ display:block !important;}
	.pc{display:none !important;}
	.inner_kv{width: 80%;}
	.inner_kv h1{font-size: 20px; letter-spacing: 3px;}
	.btn_riz a{width: 100%;}
	.def_sec{padding: 60px 0 0;}
	.def_sec h2{font-size: 50px;margin-bottom: 30px;}
	.sec_about{padding-bottom: 60px; font-size: 14px;}
	.list_five li,.list_five li:nth-child(n+3){width: 100%; padding: 20px;}
	.sec_five{padding: 60px 0;}
	.con_01, .con_02{width: 100%}
	.con_gallery{gap:5px; margin-bottom: 150px;}
	.wrap_ueno figure{display: none;}
	.fig_lead_sp{position: absolute; right: 31px;top:80px; width: 90px; transform: translateY(20px);}
	.con_bg{margin-left: -100%;bottom: 300px;}
	.list_room li .room_top{padding-bottom: 60px;margin-bottom: 30px;}
	.list_room li .room_top h3 img{width: 50px;}
	.list_room li:last-child{margin-top: 80px;}
	.sec_price ul{gap:30px;}
	.list_flow{gap:90px; margin-top: 60px;}
	.list_flow li{width: 100%;}
	.list_flow li:not(:last-child)::after{background-image: url("../img/arrow_sp.png"); width: 100%; height: 10px;left: 0;right: 0;top:calc(100% + 30px);background-size: auto 100%;}
	.map_wrap{width: 100%;order: 2;}
	.cnt_acc{width: 100%; margin-bottom: 30px;}
	.cnt_acc h2{text-align: center;}
	.def_sec .cnt_acc h2 span{text-align: center;}
	.cnt_acc h2{max-width: 100%;}
	.map_wrap{height: 300px;}
	.logo_ft img{width: 200px;}
	footer{padding-bottom: 60px;}
	.inner_kv p{display: none;}
	.ttl_room{font-size: 20px;}
	.ttl_room span{font-size: 16px;}
}