@charset "utf-8";

/* ---------------------------------------- 
 - html
---------------------------------------- */
html,
body {
	background:#f8faef;
}

/* ---------------------------------------- 
 - body
---------------------------------------- */
body{
	font-family: 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color:#333;
}

/* font */
.ft-NotoSerif {
    font-family: 'Noto Serif JP', serif;
}
.ft-Cinzel {
    font-family: 'Cinzel', serif;
}

/* ---------------------------------------- 
 - header
---------------------------------------- */
#header #header_box{
	background: #f8faef;
}
#header .header_logo{	
	height: 26px;
}
#header ul.header_list > li > ul {
	background: #f8faef;
}
#header .mypage_btn {
	height: 28px;
	line-height: 28px;
}
#header .mypage_btn a {
	border: solid 1px #032005;
	border-radius: 5px;
	background-color: #032005;
	color:#edf1d6;
}
#header .live_btn {
	height: 28px;
}
@media screen and (max-width: 768px) {
	#header .header_logo{
		height: 24px;
	}
	#header .mypage_btn a {
		padding: 0 0.7em;
	}
}

/* hamburger */
.hamburger {
	height: 28px;
	border-radius: 5px;
}
.hamburger i {
	position: absolute;
  top: 10px;
}
.hamburger .hamburger_txt{
	line-height: 28px;
}
@media screen and (max-width: 768px) {
	.hamburger {
    height: 34px;
	}
  .hamburger .hamburger_txt{
    line-height: 1.2;
  }
}

/* ---------------------------------------- 
 - gnavi
---------------------------------------- */
#gnavi{
	color:#53604c;
}
#gnavi .gnavi_nav > li {
  font-size: clamp(1.6rem, 2.6vw, 2.6rem);
  font-weight: 400;
}
#gnavi .gnavi_nav > li > ul.sub li{
	line-height: 1.4;
}
/* gnavi_reservation */
#gnavi .gnavi_reservation a {
  background: linear-gradient(to right, #68552b, #977f12);
  border-radius: 5px;
  outline : 1px solid #032005; /* 線の太さ・線状・色 */
  outline-offset : -2px; /* どれだけ内側に線を表示したいかを負の値で指定 */
}
#gnavi .gnavi_reservation li.mypage a { 
	background: #032005;
  color: #edf1d6;
}
#gnavi .gnavi_reservation li.mypage a::before {
  background-image: url(/assets/images/common_luxury/ico_blank_wht.svg);
}
/* gnavi_nav */
#gnavi .gnavi_nav_box{
	border-color:#a5ad9d;
}
#gnavi .gnavi_nav > li .en::before {
  background: #a5ad9d;
}
#gnavi .gnavi_nav > li.blank a::after { /* blank */
  background-image: url(/assets/images/common/ico_blank_grn.svg);
}
#gnavi .gnavi_nav > li > ul.sub li::after {
    background-color: #a5ad9d;
}
#gnavi .gnavi_other li{
	margin-right: 2em;
}
#gnavi .gnavi_sns .ttl::after {
  background-color: #a5ad9d;
}
@media screen and (max-width: 768px) {
  #gnavi .gnavi_other li{
    margin-right: 0;
  }
}
  
/* ---------------------------------------- 
 - follow_booking（宿泊予約）
---------------------------------------- */
#follow_booking .slide_btn,
#follow_booking .booking_btn a{
  background: linear-gradient(to right, #68552b, #977f12);
  border-radius: 5px;
	font-size: 1.6rem;
  font-weight: 400;
  padding: 8px;
	border-radius: 5px 0 0 5px;
}
#follow_booking .slide_btn::before,
#follow_booking .booking_btn a::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  right: 0;
  bottom: 2px;
  border: 1px solid #032005;
  border-right: none;
  pointer-events: none;
  border-radius: 3px 0 0 3px;
}
#follow_booking .booking_btn a{
	transition: opacity .3s;
}
#follow_booking .booking_btn a:hover {
	opacity: 0.8;
}
#follow_booking .slide_btn.active {
	border-radius: 0 0 0 5px;
}
#follow_booking .booking_list {
	background-color: #032005;
}
@media screen and (max-width: 768px) {
	#follow_booking .slide_btn,
	#follow_booking .booking_btn a {
		border-radius: 5px 5px 0 0;
	}
  #follow_booking .slide_btn::before,
  #follow_booking .booking_btn a::before {
    right: 2px;
    bottom: 0;
    border-right: 1px solid #032005;
    border-bottom: 0;
    border-radius: 3px 3px 0 0;
  }
}

/* ---------------------------------------- 
 - contents（maintitle）メインタイトル
---------------------------------------- */
#maintitle .ttl {
	font-weight: 400;
	color: #53604c;
  margin: 0 auto 0.3em;
}
#maintitle .ttl .fc-gradient { /* グラデーション */
  position: relative;
  color: transparent;
  background: linear-gradient(to right, #404f43, #809f86);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
#maintitle .ttl .fc-gradient::before,
#maintitle .ttl .fc-gradient::after { /* グラデーション */
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #404f43, #809f86);
}
#maintitle .ttl .fc-gradient::before { /* グラデーション */
  top: 0;
}
#maintitle .ttl .fc-gradient::after { /* グラデーション */
  bottom: 0;
}
#maintitle .catch {
  color:#53604c;
}

/* ---------------------------------------- 
 - contents（btn_more,section_btn）共通ボタン
---------------------------------------- */
/* link_btn */
.link_btn a {
  border-radius: 5px;
	padding: 7px 50px 7px 45px;
  color: #edf1d6;
  background-color:#032005;
}
.link_btn a::after {
  background-image: url(/assets/local/images/common_luxury/ico_arw_next_wht.svg);
}
.link_btn.blank a::after { /* blank */
  background-image: url(/assets/local/images/common_luxury/ico_blank_wht.svg);
}
.link_btn.modal a::after { /* modal */
  background-image: url(/assets/local/images/common_luxury/ico_modal_wht.svg);
}
.link_btn.prev a { /* prev */
	padding: 7px 45px 7px 50px;
}
.link_btn.prev a::after { /* prev */
  background-image: url(/assets/local/images/common_luxury/ico_arw_prev_wht.svg);
}
.link_btn a:hover {
    opacity: 0.6;
}
@media screen and (max-width: 768px) {
	.link_btn a {
		padding: 5px 35px 5px 30px;
	}
	.link_btn.prev a { /* prev */
		padding: 5px 30px 5px 35px;
	}
}

/* ---------------------------------------- 
 - swiper（スライドショー共通ボタン）
---------------------------------------- */
.swiper .swiper-pagination-bullet { /* swiper */
	border-color: #032005;
  background: #f8faef;
}
.swiper .swiper-pagination-bullet-active { /* swiper */
  background: #032005;
}

/* ---------------------------------------- 
 - footer
---------------------------------------- */
.footer_top {
  position: relative;
  background:#032005;
  padding-bottom:47px;
}
.footer_top::before,
.footer_top::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: #607163;
}
.footer_top::before {
  top: 7px;
}
.footer_top::after {
  bottom: 7px;
}
/* footer_access */
.footer_access .access_box .add,
.footer_access .access_box .tel,
.footer_access .access_box .fax,
.footer_access .access_box .mail {
  color:#edf1d6;
}
.footer_access .access_box ul.link_list li .arw { 
  width: 11px;
  height: auto;
	border: none;
  margin-right: 10px;
}
.footer_access .access_box ul.link_list li.link_btn.blank a {
	border-radius: 5px;
  padding: 3px 45px 3px 25px;
}
/* footer_menu */
.footer_menu{
  max-width: 800px;
  margin-bottom:0;
}
.footer_menu ul.list li{
	margin: 5px 15px;
}
@media screen and (max-width: 768px) {
  .footer_top {
    padding-bottom: 27px;
  }
	/* footer_menu */
  .footer_menu ul.list::after{
    content:"";
    display: block;
    width:48%;
  }
	.footer_menu ul.list li{
    margin: 0 auto 20px;
  }
}