@charset "UTF-8";
header div, header ul, header ol, header li, header dl, header dt, header dd, header h1, header h2, header h3, header h4, header h5, header h6, header pre, header form, header p, header blockquote, header fieldset, header input ,
footer div, footer ul, footer ol, footer li, footer dl, footer dt, footer dd, footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer pre, footer form, footer p, footer blockquote, footer fieldset, footer input {
  margin: 0;
  padding: 0;
}

header h1, header h2, header h3, header h4, header h5, header h6, header pre, header code, header address, header caption, header cite, header code, header em, header strong, header th,
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer pre, footer code, footer address, footer caption, footer cite, footer code, footer em, footer strong, footer th{
  font-size: 1em;
  font-weight: 500;
  font-style: normal;
}

header ul, header ol,
footer ul, footer ol {
  list-style: none;
}

header fieldset, header img,
footer fieldset, footer img {
  border: none;
}

header caption, header th,
footer caption, footer th{
  text-align: left;
}

header table,
footer table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
}

header th, header td,
footer th, footer td{
  vertical-align: top;
}

header br,
footer br{
  letter-spacing: normal;
}

header input, header button, header textarea, header select,
footer input, footer button, footer textarea, footer select{
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  color: #212121;
}

header select::-ms-expand,
footer select::-ms-expand {
  display: none;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/******************************
共通
******************************/
html {
  font-size: 100%;
}


body {
  font-size: 1.3rem;
  line-height: 2.11;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #212121;
  overflow-x: hidden;margin: 0;
}

header img,
footer img {
  vertical-align: bottom;
}

header a,
footer a {
  text-decoration: none;
	color: #fff;
}

header a:hover,
footer a:hover{
	text-decoration: none;
	color: #fff;
}

header a[href^="tel:"],
footer a[href^="tel:"] {
  cursor: default;
}

* html .clearfix, * + html .clearfix {
  zoom: 1;
}

.clearfix:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

.textjus {
  text-align: justify;
  text-justify: inter-ideograph;
}

.font-notoserif {
  font-family: "Noto Serif JP", serif;
}

.font-cormorant-garamond {
  font-family: "Cormorant Garamond", serif;
}

.csshover {
  transition: opacity 0.6s;
}

@media (hover: hover) {
  .csshover:hover {
    opacity: 0.6;
  }
}
/* IE11 */
_:-ms-lang(x)::-ms-backdrop, .csshover:hover {
  opacity: 0.6;
}

.tb-only-show {
  display: none;
}

.tb-only-hide {
  display: block;
}

.tb-show {
  display: none;
}

.tb-hide {
  display: block;
}

.sp-show {
  display: none;
}

.sp-hide {
  display: block;
}

.sp-hide-inline {
  display: inline;
}

.position-relative {
  position: relative;
}

.wrap108 {
  width: 100%;
  max-width: 112rem;
  margin: 0 auto;
  padding: 0 2rem;
}

/******************************
共通
******************************/
.common_link {
  position: relative;
  display: block;
  width: 34rem;
  margin: 0 auto;
  padding: 1.3rem 0;
  text-align: center;
  border: solid 1px #858585;
  color: #212121;
}
.common_link::after {
  position: absolute;
  top: calc(50% - 0.4rem);
  right: 1.9rem;
  content: "";
  width: 0.65rem;
  height: 0.65rem;
  border: solid 1px #1E1E1E;
  border-width: 0 1px 1px 0;
  transform: rotate(-45deg);
  speak: none;
}

.common_ico_arrow {
  position: relative;
}
.common_ico_arrow::before {
  position: absolute;
  top: 0.4rem;
  left: -2.7rem;
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  background: #fff;
  speak: none;
}
.common_ico_arrow::after {
  position: absolute;
  top: 0.9rem;
  left: -2.3rem;
  content: "";
  width: 0.65rem;
  height: 0.65rem;
  border: solid 1px #212121;
  border-width: 0 1px 1px 0;
  transform: rotate(-45deg);
  speak: none;
}
.common_ico_arrow[ico_color=black]::before {
  background: #212121;
}
.common_ico_arrow[ico_color=black]::after {
  border-color: #fff;
}

.common_table {
  width: 100%;
  margin: 0 0 2.4rem;
}

.common_table_caption {
  padding: 0.8rem 2.5rem;
  border-top: solid 1px #212121;
  border-bottom: solid 1px #212121;
}

.common_table_th,
.common_table_td {
  padding: 0.9rem 2.6rem 1rem;
  background: #fff;
  border-bottom: solid 1px #ccc;
  line-height: 2.33;
  background-clip: padding-box;
}

.common_table_th {
  position: relative;
}
.common_table_th::after {
  position: absolute;
  top: 1.2rem;
  right: 0;
  content: "";
  width: 1px;
  height: calc(100% - 2rem);
  background-image: -moz-linear-gradient(top, #212121, #212121 2px, transparent 2px, transparent 4px);
  background-image: -webkit-linear-gradient(top, #212121, #212121 2px, transparent 2px, transparent 4px);
  background-image: linear-gradient(to bottom, #212121, #212121 2px, transparent 2px, transparent 4px);
  background-size: 1px 4px;
  background-position: right top;
  background-repeat: repeat-y;
  speak: none;
}

_:-ms-lang(x)::-ms-backdrop, .common_table_th {
  position: static;
}

.common_table_td {
  padding: 0.9rem 1.3rem 1rem;
  background: #fff;
}

.common_table tr:last-child .common_table_th,
.common_table tr:last-child .common_table_td {
  border-bottom: solid 1px #212121;
}

.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  margin: 0 0.8rem;
  background: transparent;
  border: solid 1px #A19C95;
  opacity: 1;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet-active {
  background: #A19C95;
}

.swiper-container-horizontal > .swiper-button-prev,
.swiper-container-horizontal > .swiper-button-next {
  left: 6rem;
  width: 3.8rem;
  height: 4.7rem;
  margin-top: -5.15rem;
  background: url(/img/common/slider_arrow.png) 0 0/cover no-repeat;
  background-image: -webkit-image-set(url("/img/common/slider_arrow.png") 1x, url("/img/common/slider_arrow@2x.png") 2x);
  background-image: image-set(url("/img/common/slider_arrow.png") 1x, url("/img/common/slider_arrow@2x.png") 2x);
}

.swiper-button-next {
  left: auto;
  right: 6rem;
  transform: scale(-1, 1);
}

.webp .swiper-button-prev,
.webp .swiper-button-next {
  background: url(/img/common/slider_arrow.png.webp) 0 0/cover no-repeat;
  background-image: -webkit-image-set(url("/img/common/slider_arrow.png.webp") 1x, url("/img/common/slider_arrow@2x.png.webp") 2x);
  background-image: image-set(url("/img/common/slider_arrow.png.webp") 1x, url("/img/common/slider_arrow@2x.png.webp") 2x);
}

.common_slider_arrow_white .swiper-button-prev,
.common_slider_arrow_white .swiper-button-next {
  background: url(/img/common/slider_arrow_white.png) 0 0/cover no-repeat;
  background-image: -webkit-image-set(url("/img/common/slider_arrow_white.png") 1x, url("/img/common/slider_arrow_white@2x.png") 2x);
  background-image: image-set(url("/img/common/slider_arrow_white.png") 1x, url("/img/common/slider_arrow_white@2x.png") 2x);
}

.webp .common_slider_arrow_white .swiper-button-prev,
.webp .common_slider_arrow_white .swiper-button-next {
  background: url(/img/common/slider_arrow_white.png.webp) 0 0/cover no-repeat;
  background-image: -webkit-image-set(url("/img/common/slider_arrow_white.png.webp") 1x, url("/img/common/slider_arrow_white@2x.png.webp") 2x);
  background-image: image-set(url("/img/common/slider_arrow_white.png.webp") 1x, url("/img/common/slider_arrow_white@2x.png.webp") 2x);
}

#reservation,
#reservation_footer {
  width: 100%;
  max-width: 108rem;
  min-height: 14.2rem;
  padding: 1rem 0 1rem;
  background: #fff;
  box-shadow: 0 0 0.4rem 0.1rem rgba(0, 0, 0, 0.2);
}
#reservation {
  margin: 0 auto 3.3rem;
}
.reservation_footer_wrap {
  padding: 3.3rem 0 3.3rem;
  background: #f6f6f6;
}
#reservation_footer {
  margin: 0 auto;
}
.reservation_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 0 0;
}

.reservation_bestrate {
  margin: 0 1.7rem 0 0;
}

.reservation_form {
  width: 70.92%;
  max-width: 76.6rem;
  margin: 0 0 0.9rem;
  white-space: nowrap;
}

/* -------------------------
 * 予約番
------------------------- */
.reservation_form .date_489ban,
.reservation_form .date_489ban dt,
.reservation_form .date_489ban dd,
.reservation_form .inbox_489ban,
.reservation_form .inbox_489ban dt,
.reservation_form .inbox_489ban dd,
.reservation_form .stay_489ban,
.reservation_form .person_489ban {
  display: contents;
}

.reservation_form form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.reservation_form form {
  row-gap: 20px;
}

.reservation_form form .date_489ban dt {
  display: none;
}

.reservation_form form .date_489ban label,
.reservation_form form input,
.reservation_form form select,
.reservation_form form label,
.reservation_form form span {
  margin-right: 10px;
}

/* 宿泊日 */
.reservation_form form dd label {
  display: none;
}

/* 宿泊日入力欄 */
.reservation_form form input[name="date"] {
  width: 27.23%;
  max-width: 20.4rem;
  margin: 0 1rem 0 0;
  padding: 0 1.5rem;
  height: 5.5rem;
  border: solid 1px #858585;
}

/* 宿泊数 */
/* 大人 */
.reservation_form form select[name="numberOfNights"],
.reservation_form form select[name="adult"] {
  width: 10.87%;
  max-width: 8.1rem;
  height: 5.5rem;
  padding: 0 1.5rem;
  border: solid 1px #858585;
}

/* 検索ボタン */
.reservation_form form button[name="searchButton489ban"] {
  width: 16.97%;
  max-width: 13rem;
  height: 5.5rem;
  padding: 0.9rem 0 0.9rem 15px;
  text-align: center;
  background-color: #212121;
  background-image: url("../img/common/ico_search.svg");
  background-position: 10px center;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  display: grid;
  place-content: center;
  color: #fff;
  cursor: pointer;
}
.reservation_coution {
  margin: 1em 0;
}
.reservation_coution p {
  margin: 0 auto;
  display: block;
  width: fit-content;
  font-size: 1.4rem;
  line-height: 1.5;
}
.reservation_coution a {
  color: #DC143C;
}
/* -------------------------
 * 予約番 END
------------------------- */

.reservation_link {
  display: flex;
  justify-content: center;
  align-items: center;
}

.reservation_link_item {
  margin: 0.5rem 2rem 0 0;
  padding: 0 0 0 2rem;
  color: #212121;
  font-size: 1.6rem;
}
.reservation_link_item::before {
  top: 0.9rem;
  left: -0.2rem;
}
.reservation_link_item::after {
  top: 1.4rem;
  left: 0.2rem;
}

.reservation_link_item_daytrip_small {
  font-size: 1.3rem;
}

.reservation_link_tel {
  margin: 0 0 0 -1.8rem;
  font-size: 2.5rem;
  line-height: 1.5;
}

.reservation_link_tel_title {
  padding: 0 0.8rem 0 0;
  font-size: 1.3rem;
}

/* カレンダー*/
#ui-datepicker-div {
  font-family: "Noto Serif JP", serif;
}

.ui-datepicker td span, .ui-datepicker td a {
  text-align: center;
}

.ui-datepicker-header {
  border-radius: 0;
}

.page_lower #reservation {
  width: 100%;
  max-width: initial;
  min-height: initial;
  margin: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}
.page_lower #reservation .reservation_inner {
  position: absolute;
  bottom: auto;
  top: 15rem;
  transform: translateY(0);
  border-bottom: solid 1px #212121;
}

.common_content_title {
  margin: 0 0 1.7rem;
  font-size: 2.4rem;
  text-align: center;
}

.common_content_subtitle {
  margin: 0 0 4.3rem;
  text-align: center;
}

.planlinks {
  margin: 0 0 3.7rem;
  background: #fff;
  box-shadow: 0 0 0.4rem 0.1rem rgba(0, 0, 0, 0.2);
}

.planlinks_header {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100% - 8rem);
  margin: 0 auto;
  padding: 2.5rem 0 2rem;
  background-image: -moz-linear-gradient(left, #A19C95, #A19C95 0.2rem, transparent 0.2rem, transparent 0.4rem);
  background-image: -webkit-linear-gradient(left, #A19C95, #A19C95 0.2rem, transparent 0.2rem, transparent 0.4rem);
  background-image: linear-gradient(to right, #A19C95, #A19C95 0.2rem, transparent 0.2rem, transparent 0.4rem);
  background-size: 0.4rem 0.1rem;
  background-position: left bottom;
  background-repeat: repeat-x;
}

.planlinks_bestrate {
  margin: 0.5rem 0.9rem 0 1rem;
}

.planlinks_header_link {
  display: inline-block;
  width: 26rem;
  margin: 0 0.9rem;
  padding: 0.9rem 0 0.8rem 2.3rem;
  text-align: center;
  background: #212121;
  color: #fff;
}

.planlinks_header_link_small {
  font-size: 1.4rem;
}

.planlinks_footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.8rem 0 2.6rem;
}

.planlinks_footer_link {
  display: inline-block;
  width: 26rem;
  margin: 0 4.1rem 0 0;
  padding: 1.2rem 0 1.2rem 1.7rem;
  text-align: center;
  color: #212121;
  border: solid 1px #212121;
  font-size: 1.4rem;
}
.planlinks_footer_link .common_ico_arrow::before {
  top: 0.1rem;
  left: -2.4rem;
}
.planlinks_footer_link .common_ico_arrow::after {
  top: 0.6rem;
  left: -2.1rem;
}

.planlinks_tel {
  margin: 0.7rem 2rem 0 0;
  font-size: 1.4rem;
  line-height: 1.2;
}

.planlinks_tel_link {
  font-size: 2.8rem;
  color: #212121;
}

.planlinks_tel_title {
  padding-right: 0.2rem;
  font-size: 1.4rem;
}

.planlinks_bnr {
  display: flex;
  justify-content: center;
  align-items: center;
}

.planlinks_bnr_item {
  margin: 0 1.5rem;
}

.page_title {
  position: absolute;
  z-index: 5;
  top: calc(50% - 0.1rem);
  left: 50%;
  width: 100%;
  transform: translateX(-50%) translateY(-50%);
  color: #fff;
  font-size: 3.4rem;
  line-height: 1.88;
  letter-spacing: 0.4em;
  text-shadow: 0 0 0.4rem #000;
  text-align: center;
}

.page_title_small {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}

#lead {
  position: relative;
  padding: 8.4rem 0 16rem;
}

#lead.lead_separate_gray {
  padding-bottom: 16rem;
}
#lead.lead_separate_gray::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 9.5rem;
  background: #F6F6F6;
  speak: none;
}

.lead_title {
  margin: 0 0 1.5rem;
  text-align: center;
  font-size: 3.4rem;
  letter-spacing: 0.2em;
  line-height: 1.58;
}

.lead_body {
  margin: 0 0 4.8rem;
}

.inpagelink_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 -0.8rem;
}

.inpagelink_item {
  width: 20.5rem;
  margin: 0 0.7rem 3rem;
  text-align: center;
}

.inpagelink_link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 1.3rem 0;
  color: #212121;
  border-bottom: solid 1px #212121;
}
.inpagelink_link::after {
  position: absolute;
  top: calc(50% - 0.6rem);
  right: 1.6rem;
  content: "";
  width: 0.65rem;
  height: 0.65rem;
  border: solid 1px #212121;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg);
  speak: none;
}

.inpageImglink_item {
  width: 26rem;
  margin: 0 0.7rem 3rem;
  border: solid 1px #212121;
}

.inpageImglink_link {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1rem;
  color: #212121;
}

.inpageImglink_imgouter {
  padding: 0 0 1rem;
  border-bottom: solid 1px #212121;
}

.inpageImglink_img {
  width: 100%;
  height: auto;
}

.inpageImglink_text {
  padding: 1rem 0 0.8rem;
  text-align: center;
}
.inpageImglink_text.common_ico_arrow::before {
  display: none;
}
.inpageImglink_text.common_ico_arrow::after {
  position: absolute;
  top: calc(50% - 0.4rem);
  left: auto;
  right: 0.6rem;
  transform: rotate(45deg);
}

.content_inpagelink {
  display: flex;
  justify-content: center;
  margin: 0 -0.8rem 2rem;
}

.content_inpagelink_item {
  width: calc((100% - 6.4rem) / 4);
  margin: 0 0.8rem;
}

.content_inpagelink_link {
  width: 100%;
  background: #fff;
  border-width: 0 0 1px;
}
.content_inpagelink_link::after {
  transform: rotate(45deg);
}

/******************************
ヘッダー
******************************/
#header {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  font-size: 15px;
}

.header_logo {
  position: absolute;
  z-index: 5;
  top: calc(50% - 6.4rem);
  left: 4.5rem;
  transform: translateY(-50%);
}

#header_menu {
  position: absolute;
  z-index: 5;
  top: 9.7rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  padding-right: 17.6rem;
  width: 100%;
  transform: translateY(-6rem);
  transition: transform 0.4s;
}

.scroll #header_menu {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  transform: translateY(0);
  height: 6rem;
  padding: 0 14rem 0 1.3rem;
  background: -webkit-linear-gradient(top, black, rgba(0, 0, 0, 0));
  background: -o-linear-gradient(top, black, rgba(0, 0, 0, 0));
  background: linear-gradient(to bottom, black, rgba(0, 0, 0, 0));
}

.header_menu_item {
  position: relative;
  height: 2.4rem;
  margin: 0 2.5rem 0 0;
}
.header_menu_item:not(:last-child)::after {
  position: absolute;
  top: 0.3rem;
  right: -1.3rem;
  content: "";
  width: 0.1rem;
  height: 100%;
  background-image: -moz-linear-gradient(top, #A19C95, #A19C95 0.1rem, transparent 0.1rem, transparent 0.3rem);
  background-image: -webkit-linear-gradient(top, #A19C95, #A19C95 0.1rem, transparent 0.1rem, transparent 0.3rem);
  background-image: linear-gradient(to bottom, #A19C95, #A19C95 0.1rem, transparent 0.1rem, transparent 0.3rem);
  background-size: 0.1rem 0.3rem;
  background-position: right top;
  background-repeat: repeat-y;
  speak: none;
}

.header_menu_item_fontsmall {
  font-size: 1.2rem;
}

.header_menu_link {
  color: #fff;
  text-shadow: 0 0 0.4rem #000;
}

.header_submenu {
  position: absolute;
  z-index: 100;
  top: 34rem;
  right: 1.5rem;
  width: 15rem;
  padding: 2.1rem 1.5rem 1.5rem;
  transform: translateY(-32rem);
  transition: transform 0.4s;
}

.header_submenu_item {
  margin: 0 0 1.6rem;
  border-bottom: solid 1px #AAA6A0;
}
.header_submenu_item:nth-child(2) {
  margin: 0 0 2.4rem;
}
.header_submenu_item:nth-child(4), .header_submenu_item:nth-child(5) {
  font-size: 1.4rem;
  line-height: 1.28;
}

.header_submenu_link {
  display: flex;
  align-items: center;
  padding: 0.3rem 0.6rem;
  color: #fff;
  cursor: pointer;
}

.header_submenu_ico {
  margin: 0 1.8rem 0 0;
  vertical-align: middle;
  filter: drop-shadow(0 0 0.2rem rgba(0, 0, 0, 0.5));
}

.header_submenu_ico_lang {
  width: 2rem;
  height: 2rem;
}
.header_submenu_ico_lang path {
  fill: #fff;
}

#overmenu_open {
  padding: 0 0.6rem 0.7rem;
  color: #fff;
  font-size: 1.6rem;
  font-family: "Noto Serif JP", serif;
}

.header_submenu_item:nth-child(3), .header_submenu_item:nth-child(4), .header_submenu_item:nth-child(5) {
  border: solid 1px #AAA6A0;
  white-space: nowrap;
}
.header_submenu_item:nth-child(3) .header_submenu_link {
  padding: 0.5rem 0.6rem;
}
.header_submenu_item:nth-child(3) .header_submenu_ico {
  margin: 0 0.9rem 0 0;
}
.header_submenu_item:nth-child(4), .header_submenu_item:nth-child(5) {
  margin: 0 0 1.9rem;
}
.header_submenu_item:nth-child(4) .header_submenu_link, .header_submenu_item:nth-child(5) .header_submenu_link {
  padding: 0.4rem 0.6rem;
}
.header_submenu_item:nth-child(4) .header_submenu_ico, .header_submenu_item:nth-child(5) .header_submenu_ico {
  margin: 0 1.4rem 0 0;
}

.header_submenu_item_bestrate {
  border: none;
}

.scroll .header_submenu,
.page_lower .scroll .header_submenu {
  position: fixed;
  top: 0;
  right: 0;
  transform: translateY(0);
  background: #000;
}

.scroll .header_submenu_item:nth-child(5) {
  margin-bottom: 0;
}

.scroll .header_submenu_item_bestrate {
  display: none;
}

#overmenu {
  display: none;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  padding: 9.1rem 0 0;
  background: rgba(255, 255, 255, 0.95);
}

.overmenu_nav {
  display: flex;
  justify-content: space-between;
  margin: 0 0 2.5rem;
}

.overmenu_info {
  padding: 1.8rem 0 0 1.1rem;
}

.overmenu_info_logo {
  margin: 0 0 2.3rem 0.5rem;
}

.overmenu_info_text_link {
  color: #212121;
}

.overmenu_info_text_mail {
  width: 22.4rem;
  height: 2rem;
  vertical-align: middle;
}
.overmenu_info_text_mail path,
.overmenu_info_text_mail polygon {
  fill: #212121;
}

.overmenu_scroll_outer {
  display: none;
}

.overmenu_menu_outer {
  display: flex;
  width: 63.2rem;
  margin: 0 5rem 0 0;
}

.overmenu_menu_content {
  width: calc(50% - 1.6rem);
  margin: 0 0.8rem;
}

.overmenu_menu_content_title {
  margin: 0 0 0.4rem;
  font-size: 1.13rem;
}

.overmenu_menu_item {
  width: 100%;
  margin: 0 0 1.3rem;
  border-bottom: solid 1px #B7B7B7;
}

.overmenu_menu_link {
  display: block;
  width: 100%;
  padding: 0 0 0.5rem 3rem;
  color: #212121;
}

.overmenu_menu_link_small {
  font-size: 1.4rem;
}

.overmenu_menu_link_ico {
  width: 2rem;
  height: 2rem;
  margin: -0.8rem 1.6rem 0 0;
  vertical-align: middle;
}
.overmenu_menu_link_ico path {
  fill: #212121;
}

.overmenu_menu_link_ico_tripadviser {
  width: 2.2rem;
  height: 1.4rem;
}

.overmenu_bnr {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 0 0 10rem;
}

.overmenu_bnr_item {
  margin: 0 1.5rem 1.5rem;
}

#overmenu_close {
  position: absolute;
  top: -6.1rem;
  right: 2rem;
  width: 12rem;
  padding: 0 0 0.5rem 3.5rem;
  border-bottom: solid 1px #858585;
  color: #212121;
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  cursor: pointer;
}

.overmenu_close_ico {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
}
.overmenu_close_ico::before, .overmenu_close_ico::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 1.8rem;
  height: 0.2rem;
  background: #212121;
  transform: rotate(45deg);
  transform-origin: center center;
  speak: none;
}
.overmenu_close_ico::after {
  transform: rotate(-45deg);
}

/* 下層ページ */
.page_lower #header {
  height: 50rem;
}
.page_lower .header_logo {
  top: calc(50% + 1.2rem);
}
.page_lower .header_submenu {
  top: 3.6rem;
  top: 33.8rem;
  right: 0;
}
.page_lower .head_shadow {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  box-shadow: 0 0 30rem 5rem rgba(0, 0, 0, 0.5) inset;
  background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0) 10rem, rgba(0, 0, 0, 0));
  background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0) 10rem, rgba(0, 0, 0, 0));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0) 10rem, rgba(0, 0, 0, 0));
}

/******************************
フッター
******************************/
#footer {
  padding: 7rem 0 10rem;
  background: #212121;
  color: #fff;
}
#footer .planlinks {
  margin: 0 0 4.8rem;
  background: #F6F6F6;
}

.footer_info {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 7.4rem;
}

.footer_info_logoouter {
  margin: 0 1.5rem 0 0;
}

.footer_info_address {
  margin-top: -0.7rem;
  padding: 0 0 0 1rem;
}

.footer_info_link {
  color: #fff;
}

.footer_info_link_tel {
  padding-right: 1.5rem;
}

.footer_info_link_mail {
  vertical-align: middle;
  width: 22.4rem;
  height: 2rem;
}
.footer_info_link_mail path,
.footer_info_link_mail polygon {
  fill: #fff;
}

.footer_copy {
  text-align: center;
  color: #fff;
  letter-spacing: 0.2em;
}

#to_top {
	display: none;
  position: fixed;
  z-index: 990;
  bottom: 0;
  right: 0;
  margin: 0 auto;
  transition: transform 0.4s;
}
#to_top.scroll {
  transform: translateX(-50%) translateY(0);
}

.to_top_img {
  position: absolute;
  right: 0;
  bottom: 0;
}

#sp_menu {
  display: none;
}

@media screen and (max-width: 1240px) {
  #header_menu {
    left: 1.3rem;
  }

  .header_submenu {
    right: 0;
  }
}
@media screen and (max-width: 1160px) {
  .planlinks_header {
    flex-wrap: wrap;
  }

  .planlinks_bestrate_outer {
    width: 100%;
    margin: 0 auto 1.8rem;
    text-align: center;
  }
}
@media screen and (max-width: 1120px) {
  .overmenu_menu_outer {
    margin: 0 1rem 0 0;
  }

  #reservation,
  #reservation_footer {
    width: calc(100% - 4rem);
    margin: 0 2rem 3.3rem;
  }

  .reservation_bestrate_outer {
    width: 100%;
    text-align: center;
  }

  .scroll .reservation_bestrate_outer,
.page_lower .reservation_bestrate_outer {
    width: auto;
  }

  .reservation_bestrate {
    margin: 0 0 2rem;
  }

  .reservation_form form {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 2rem;
    text-align: center;
  }
}
@media screen and (max-width: 960px) and (min-width: 481px) {
  .tb-only-show {
    display: block;
  }

  .tb-only-hide {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .tb-show {
    display: block;
  }

  .tb-hide {
    display: none;
  }

  .wrap108 {
    padding: 0 4rem;
  }

  .page_lower #reservation {
    display: none;
  }

  .reservation_form {
    width: 100%;
    max-width: 65rem;
    margin: 0 auto 2rem;
    padding: 0 4rem;
    white-space: normal;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    text-align: left;
  }

  .reservation_form form input[name="date"] {
    width: 100%;
    max-width: initial;
  }

  .reservation_form form select[name="numberOfNights"],
  .reservation_form form select[name="adult"] {
    width: 53%;
  }

  .reservation_form form button[name="searchButton489ban"] {
    width: 100%;
    max-width: initial;
  }

  .reservation_coution {
    padding: 0 4rem;
  }

  .reservation_link {
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    max-width: 65rem;
    margin: 0 auto;
    padding: 0 4rem;
  }

  .reservation_link_item_confirm {
    margin: 0 0 2rem;
  }

  .reservation_link_tel {
    width: 100%;
    text-align: center;
    padding-bottom: 2rem;
  }

  .planlinks_header {
    flex-wrap: wrap;
  }

  .planlinks_bestrate {
    margin: 0.5rem 0 2rem;
  }

  .planlinks_header_link {
    margin: 0 0.9rem 0.7rem;
  }

  .planlinks_footer {
    flex-wrap: wrap;
    align-items: flex-start;
    width: calc(100% - 8rem);
    margin: 0 auto;
  }

  .planlinks_footer_link {
    margin: 0 0.9rem 1rem;
  }

  .planlinks_tel {
    width: 26rem;
    margin: 0.7rem 0.9rem 0;
    text-align: center;
  }

  /******************************
  ヘッダー
  ******************************/
  .header_logo {
    top: 4rem;
    left: 2.6rem;
    transform: translateY(0);
  }

  #header_menu {
    display: none;
  }

  #overmenu_open {
    padding: 0 0.6rem;
    color: #fff;
    font-size: 1.6rem;
    font-family: "Noto Serif JP", serif;
  }
  #overmenu_open.scroll {
    position: relative;
    top: auto;
    right: auto;
    transform: translateY(0);
  }

  #overmenu {
    padding: 5rem 0 0;
  }

  .overmenu_nav {
    flex-direction: column;
  }

  .overmenu_info_text {
    display: none;
  }

  .overmenu_info_logo {
    margin: -2.3rem 0 2.3rem;
  }

  .overmenu_menu_outer {
    justify-content: space-between;
    width: 93%;
    margin: 0 auto 2rem;
  }

  .overmenu_menu_content {
    width: 47%;
    margin: 0;
  }

  #overmenu_close {
    top: -2.1rem;
  }

  /* 下層ページ */
  .page_lower #header {
    margin-bottom: 0;
  }
  .page_lower .header_logo {
    top: 4rem;
  }

  .page_title {
    width: calc(100% - 15rem);
    margin-right: 15rem;
    left: auto;
    transform: translateY(0) translateY(-50%);
    text-align: center;
  }

  /******************************
  フッター
  ******************************/
  .footer_info {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer_info_imgouter {
    width: 100%;
    margin: -3rem 0 3.2rem;
  }

  .footer_info_img {
    left: auto;
    transform: translateX(0);
    width: 100%;
    height: auto;
  }

  .footer_info_text {
    width: 100%;
    padding: 0;
    text-align: center;
  }

  #to_top {
    position: fixed;
    left: auto;
    bottom: 9.5rem;
    right: 0;
    width: 5rem;
    height: 5rem;
    margin: 0;
    transition: transform 0.4s;
  }
  #to_top.scroll {
    transform: translateX(0) translateY(0);
  }

  .to_top_img {
    position: relative;
    right: auto;
    bottom: auto;
    width: 5rem;
    height: 5rem;
  }

  #sp_menu {
    position: fixed;
    z-index: 990;
    display: flex;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 7.75rem;
    border-top: solid 2px #8D8D8D;
    background: #212121;
    transform: translateY(8rem);
    transition: transform 0.4s;
  }
  #sp_menu.scroll {
    transform: translateY(0);
  }

  .sp_menu_item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 100%;
    padding: 0.8rem 0.3rem;
    cursor: pointer;
  }

  .sp_menu_item#sp_menu_restButton_toggle {
    position: relative;
  }
  .sp_menu_item#sp_menu_restButton_toggle .sp_menu_item-childWrap {
    position: absolute;
    bottom: 100%;
    width: 100%;
    display: none;
    visibility: hidden;
  }
  .scroll .sp_menu_item#sp_menu_restButton_toggle .sp_menu_item-childWrap {
    visibility: visible;
  }
  .sp_menu_item#sp_menu_restButton_toggle .sp_menu_item-childWrap a {
    text-align: center;
    background: rgba(0, 0, 0, 0.83);
    display: block;
    margin-bottom: 2px;
    line-height: 1.2;
    padding: 0.6em 0;
    color: #FFF;
  }
  
  .sp_menu_img {
    width: 100%;
    max-width: 10.4rem;
    height: auto;
    vertical-align: middle;
  }
}
@media screen and (max-width: 500px) {
  html {
    font-size: 1.2077294686vw;
  }
	
	html #webc_con a,
	html #webc_con p,
	html #webc_con dt,
	html #webc_con dd,
	html #webc_con li,
	html #webc_con div,
	html #webc_con input,
	html #webc_con form, 
	html #webc_con p, 
	html #webc_con blockquote, 
	html #webc_con fieldset,
	html #webc_con figcaption,
	html #webc_con label,
 	html #webc_con h1, html #webc_con h2, html #webc_con h3, html #webc_con h4, html #webc_con h5, html #webc_con h6{
		font-size:16px!important;
	}
	html #webc_con span {
		font-size:20px!important;
	}
	html #webc_con .webc_search>dd .webc_search_detail ul li label{
		line-height: 1.8em;
	}

  .sp-show {
    display: block;
  }

  .sp-hide {
    display: none;
  }

  .sp-hide-inline {
    display: none;
  }

  body {
    font-size: 3.6rem;
  }

  .wrap108 {
    padding: 0 5rem;
  }

  /******************************
  共通
  ******************************/
  .common_link {
    width: 100%;
    max-width: 68rem;
    height: 13.2rem;
    margin: 0 auto;
    padding: 0;
    line-height: 13.2rem;
  }
  .common_link::after {
    top: calc(50% - 0.8rem);
    right: 3.9rem;
    width: 1.3rem;
    height: 1.3rem;
  }

  .common_ico_arrow::before {
    top: 0.4rem;
    left: -2.7rem;
    width: 3.6rem;
    height: 3.6rem;
  }
  .common_ico_arrow::after {
    top: 0.9rem;
    left: -2.3rem;
    width: 1.3rem;
    height: 1.3rem;
  }

  .common_table_caption {
    padding: 1.6rem 5rem;
  }

  .common_table_th {
    display: block;
    width: 100%;
    padding: 3rem 2.8rem 1rem;
    border: none;
    font-weight: bold;
    line-height: 1.75;
  }
  .common_table_th::after {
    display: none;
  }

  .common_table_td {
    display: block;
    width: 100%;
    padding: 0 2.8rem 8rem;
    line-height: 1.75;
  }

  .common_table tr:last-child .common_table_th {
    border: none;
  }

  .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    width: 2rem;
    height: 2rem;
    margin: 0 1.6rem;
  }

  .swiper-container-horizontal > .swiper-button-prev,
.swiper-container-horizontal > .swiper-button-next {
    width: 7.6rem;
    height: 9.4rem;
  }

  #reservation,
  #reservation_footer {
    width: calc(100% - 10rem);
    margin: 0 5rem 6rem;
  }

  .reservation_form {
    margin-top: 0.6rem;
    padding: 0 1.4rem;
  }

  .reservation_form form input[name="date"] {
    width: 100%;
  }

  .reservation_form form input[name="date"],
  .reservation_form form select[name="numberOfNights"],
  .reservation_form form select[name="adult"] {
    height: 11rem;
    font-size: 3.6rem;
    padding: 0 3.5rem;
  }

  .reservation_form form select[name="numberOfNights"],
  .reservation_form form select[name="adult"] {
    width: auto;
    max-width: initial;
  }

  .reservation_form form button[name="searchButton489ban"] {
    height: 11rem;
    font-size: 3.6rem;
  }

  .reservation_coution {
    padding: 0 5.4rem;
  }
  
  .reservation_coution p {
    font-size: 2.8rem;
  }

  .reservation_link {
    max-width: initial;
    padding: 0 5.4rem;
  }

  .reservation_link_item {
    width: 100%;
    margin: 0 0 2.2rem;
    padding: 0 0 1.6rem 5.6rem;
    border-bottom: solid 1px #212121;
    font-size: 3.2rem;
  }
  .reservation_link_item::before {
    top: 2rem;
    left: 0.9rem;
  }
  .reservation_link_item::after {
    top: 3rem;
    left: 1.6rem;
  }

  .reservation_link_item_daytrip_small {
    font-size: 2.6rem;
  }

  .reservation_link_tel {
    margin: 0;
    border: none;
    font-size: 5.6rem;
    transform: translateX(-3rem);
  }

  .reservation_link_tel_title {
    padding: 0 0.8rem 0 0;
    font-size: 2.8rem;
  }

  .common_content_title {
    margin: 0 0 2.8rem;
    font-size: 4.8rem;
  }

  .common_content_subtitle {
    margin: 0 0 8.3rem;
  }

  .planlinks {
    margin: 0 0 10.2rem;
  }

  .planlinks_header {
    background: none;
    padding: 2.5rem 0 0;
  }

  .planlinks_header_link {
    position: relative;
    width: 52rem;
    margin: 0 auto 1rem;
    padding: 1.9rem 0 1.8rem;
  }
  .planlinks_header_link:last-of-type {
    margin-bottom: 0;
  }
  .planlinks_header_link .common_ico_arrow {
    position: static;
  }
  .planlinks_header_link .common_ico_arrow::before {
    top: 3.7rem;
    left: 2rem;
  }
  .planlinks_header_link .common_ico_arrow::after {
    top: 4.7rem;
    left: 2.7rem;
  }

  .planlinks_header_link_small {
    font-size: 2.8rem;
  }

  .planlinks_footer_link {
    position: relative;
    width: 52rem;
    margin: 0 auto 2.2rem;
    padding: 2.2rem 0 2.2rem 3.5rem;
    font-size: 2.8rem;
  }
  .planlinks_footer_link .common_ico_arrow {
    position: static;
  }
  .planlinks_footer_link .common_ico_arrow::before {
    top: 3.7rem;
    left: 2rem;
  }
  .planlinks_footer_link .common_ico_arrow::after {
    top: 4.7rem;
    left: 2.7rem;
  }

  .planlinks_tel {
    width: 52rem;
    font-size: 2.8rem;
  }

  .planlinks_tel_link {
    font-size: 5.6rem;
  }

  .planlinks_tel_title {
    padding-right: 0.4rem;
    font-size: 2.8rem;
  }

  .lead_title {
    margin: 0 0 2.6rem;
    font-size: 5rem;
    letter-spacing: 0.1em;
  }

  .inpagelink_item {
    width: calc(50% - 2.8rem);
    max-width: initial;
    margin: 0 1.4rem 1.5rem;
  }

  .inpagelink_link {
    padding: 2rem 0 1rem;
  }
  .inpagelink_link::after {
    top: calc(50% - 0.6rem);
    right: 1.6rem;
    width: 1.3rem;
    height: 1.3rem;
  }

  .inpageImglink_item {
    width: 100%;
    margin: 0 1.5rem 6rem;
    padding: 2rem 2rem 0;
  }

  .inpageImglink_imgouter {
    padding: 0 0 3rem;
  }

  .inpageImglink_text {
    padding: 2rem 0 1.6rem;
  }
  .inpageImglink_text.common_ico_arrow::after {
    top: calc(50% - 0.8rem);
    right: 2.4rem;
  }

  .content_inpagelink {
    flex-wrap: wrap;
    margin: 0 -1.6rem 4rem;
  }

  .content_inpagelink_item {
    width: calc((100% - 6.4rem) / 2);
    margin: 0 1.6rem 3.2rem;
  }

  /******************************
  ヘッダー
  ******************************/
	.header_menu_item_fontsmall{
		/*display: block;*/
	}
  #header {
    font-size: 3.2rem;
  }

  .header_logo {
    left: 5rem;
  }

  .header_logo_img {
    width: 34rem;
    height: auto;
  }

  .header_submenu,
.page_lower .header_submenu {
    position: absolute;
    top: 3rem;
    right: 0;
    transform: translateY(0);
    width: 24.1rem;
  }

  #overmenu_open {
    font-size: 3.2rem;
  }

  .header_submenu_item {
    margin-bottom: 3.3rem;
  }

  .header_submenu_ico {
    width: 3.6rem;
    height: 2.4rem;
    margin-right: 3.2rem;
  }

  .header_submenu_ico_lang {
    width: 4rem;
    height: 4rem;
  }

  #overmenu {
    padding: 2.5rem 0 0;
  }

  .overmenu_info {
    padding: 1.8rem 0 0;
  }

  .overmenu_info_logo {
    width: 34rem;
    height: auto;
    margin: 0 0 6.3rem;
  }

  .overmenu_scroll_outer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 12rem;
    margin: 0 0 6rem;
    padding: 0 6.7rem 0 8rem;
    background: #909090;
    color: #fff;
    line-height: 1.31;
  }

  .overmenu_scroll {
    padding: 0 0 0 3.6rem;
  }

  .overmenu_scroll_title {
    position: relative;
    font-size: 2.8rem;
  }
  .overmenu_scroll_title::before {
    position: absolute;
    top: 0.2rem;
    left: -4rem;
    content: "";
    width: 1px;
    height: 2.8rem;
    background-image: -moz-linear-gradient(top, #fff, #fff 0.1rem, transparent 0.1rem, transparent 0.3rem);
    background-image: -webkit-linear-gradient(top, #fff, #fff 0.1rem, transparent 0.1rem, transparent 0.3rem);
    background-image: linear-gradient(to bottom, #fff, #fff 0.1rem, transparent 0.1rem, transparent 0.3rem);
    background-size: 0.1rem 0.3rem;
    background-position: left top;
    background-repeat: repeat-y;
    speak: none;
  }
  .overmenu_scroll_title::after {
    position: absolute;
    top: 2.1rem;
    left: -4.6rem;
    content: "";
    width: 1.3rem;
    height: 1.3rem;
    border: solid 1px #fff;
    border-width: 0 1px 1px 0;
    transform: rotate(45deg);
    speak: none;
  }

  .overmenu_scroll_text {
    font-size: 3.2rem;
    letter-spacing: 0.1em;
  }

  .overmenu_menu_outer {
    flex-direction: column;
    width: 100%;
    margin: 0 auto 2rem;
  }

  .overmenu_menu_content {
    width: 100%;
    margin: 0 0 3rem;
  }

  .overmenu_menu_content_title {
    margin: 0 0 0.8rem;
    font-size: 2.2rem;
  }

  .overmenu_menu_item {
    margin: 0 0 2.5rem;
  }

  .overmenu_menu_link {
    position: relative;
    padding: 0 0 1.1rem 5.7rem;
  }
  .overmenu_menu_link::after {
    position: absolute;
    top: 3.2rem;
    right: 2.4rem;
    content: "";
    width: 1.3rem;
    height: 1.3rem;
    border: solid 1px #808080;
    border-width: 0 1px 1px 0;
    transform: rotate(-45deg);
    speak: none;
  }

  .overmenu_menu_link_small {
    font-size: 2.8rem;
  }

  .overmenu_menu_link_ico {
    width: 4rem;
    height: 4rem;
    margin: -0.8rem 3.2rem 0 0;
  }

  .overmenu_menu_link_ico_tripadviser {
    width: 4.4rem;
    height: 2.8rem;
  }

  .overmenu_bnr_item {
    width: 62rem;
    margin: 0 1.5rem 5rem;
  }

  .overmenu_bnr_item_img {
    width: 100%;
    height: auto;
  }

  #overmenu_close {
    top: 2rem;
    right: 0;
    width: 24rem;
    padding: 0 0 0.8rem 6.3rem;
    font-size: 3.2rem;
  }

  .overmenu_close_ico {
    top: 2rem;
    left: 2.3rem;
  }
  .overmenu_close_ico::before, .overmenu_close_ico::after {
    width: 3.6rem;
    height: 0.4rem;
  }

  /* 下層ページ */
  .page_lower #header {
    height: 50rem;
  }
  .page_lower .page_title {
    top: auto;
    bottom: 2rem;
    left: 5rem;
    transform: translateY(0);
    margin-right: 0;
    text-align: left;
    font-size: 5rem;
  }

  /******************************
  フッター
  ******************************/
  #footer {
    padding: 19.2rem 0 0;
  }
  #footer .planlinks {
    margin: 0 0 9.6rem;
  }

  .footer_info {
    margin: 0 0 19.2rem;
  }

  .footer_info_logo {
    width: 45.4rem;
    height: auto;
    max-width: 230px;
  }

  .footer_info_link_mail {
    width: 44.8rem;
    height: 4rem;
  }

  .footer_info_address {
    text-align: left;
    line-height: 1.55;
  }

  .footer_copy {
    padding: 0 0 38.4rem;
    letter-spacing: 0.1em;
  }

  #to_top {
    bottom: 19rem;
    right: 4rem;
    transform: translateX(0) translateY(34rem);
    width: 10rem;
    height: 10rem;
  }

  .to_top_img {
    width: 10rem;
    height: 10rem;
  }

  #sp_menu {
    height: 15.5rem;
    transform: translateY(16rem);
  }

  .sp_menu_item {
    padding: 1.6rem 0.6rem;
  }

  .sp_menu_img {
    max-width: 20.8rem;
  }
}


#header {
  background: url(../img/main.jpg) center center/cover no-repeat;
}

.webp #header {
  background: url(../img/main.jpg.webp) center center/cover no-repeat;
}

@media screen and (min-width: 960px){
		.page_lower #header_menu_sp{
			display: none;
		}
		
	}
#header_menu_sp{
	background: #000;
	padding: 10px 0;
}
#header_menu_sp{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	list-style: none;
}
#header_menu_sp li{
	width: 33%;
	text-align: center;
	font-size: 15px;
	padding: 10px 0;
}

#header_menu_sp li a:hover{
	color: #fff;
	text-decoration: none;
	opacity: 7;
}

#header_menu_sp li:nth-child(4),
#header_menu_sp li:nth-child(5),
#header_menu_sp li:nth-child(6),
#header_menu_sp li:nth-child(7){
	width: 25%;
}
#header_menu_sp li:nth-child(9){
	width: 67%;
}