@charset "UTF-8";
/*
Theme Name: tokyustay-theme
Version: 1.0.0
*/

/* -- mixin--
--------------------------------------------------------------　*/

/*
  検索フォーム
*/

body {
  line-height: 1.5;
  color: #333;
}
h2 {
  font-family: "游明朝", "ヒラギノ明朝 Pro W3", "ＭＳ Ｐ明朝", serif;
  text-align: center;
}
.swrap {
  margin: 0 auto;
}
@media print, screen and (max-width: 1200px) {
  .swrap {
    max-width: 98%;
  }
}
@media print, screen and (min-width: 1201px) {
  .swrap {
    max-width: 1200px;
  }
}
.search_form {
  background-color: #ececed;
}
@media print, screen and (max-width: 980px) {
  .search_form {
    padding: 25px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .search_form .swrap form .data_left.mainf {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .search_form .swrap form .data_left .leftf {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .search_form .swrap form .set_date, .search_form .swrap form .set_haku, .search_form .swrap form .set_room, .search_form .swrap form .set_num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.search_form h2 {
  margin: 0;
  padding: 0;
  font-size: 80%;
  border: none;
  color: #fff;
}
@media print, screen and (min-width: 981px) {
  .search_form h2 {
    width: 20%;
  }
}
.search_form h2:before, .search_form h2:after {
  content: none;
}
.search_form h2 span {
  padding: 30px 0 5px;
  font-size: 180%;
}
@media print, screen and (min-width: 981px) and (max-width: 1220px) {
  .frame.rexp {
    display: block !important;
  }
  .frame.rexp .data_left {
    width: 100%;
  }
  .frame.rexp .data_right {
    width: 80%;
  }
}
@media print, screen and (min-width: 981px) {
  .frame {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .frame .data_left {
    width: 70%;
  }
  .frame .data_right {
    width: 28%;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  .frame .data_left.mainf {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.frame .data_left .leftf li {
  font-weight: bold;
}
@media print, screen and (max-width: 980px) {
  .frame .data_left .leftf {
    margin-bottom: 20px;
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
}
@media print, screen and (min-width: 768px) {
  .frame .data_left .leftf li:not(:first-of-type) {
    margin-left: 15px;
  }
}
.frame .data_left .leftf a {
  font-size: 14px;
  display: block;
  padding: 7px 20px 7px 0;
  border-bottom: solid 1px;
  background: url(../images/common/link_icon.png) right center no-repeat;
}
@media only screen and (max-width: 560px) {
  .frame .data_left .leftf a.pc {
    display: none !important;
  }
}
@media print, screen and (min-width: 561px) {
  .frame .data_left .leftf a.sp {
    display: none !important;
  }
}
@media print, screen and (max-width: 980px) {
  .frame .data_right {
    width: 80%;
    margin: 0 auto;
  }
}
.frame .data_right .tokuten {
  border: double 4px #000;
}
.frame .data_right .tokuten a {
  display: block;
  color: #876418;
  text-align: center;
  padding: 7px;
  font-size: 16px;
}
.frame .data_right .tokuten span {
  background: url(../images/common/box.png) left center no-repeat;
  padding-left: 25px;
}
@media all and (-ms-high-contrast: none) {
  .frame .data_right .tokuten span {
    padding-top: 7px;
  }
}
@media all and (-ms-high-contrast: none) {
  .frame .data_right .tokuten a {
    padding: 10px 7px 4px 7px;
  }
}
#form1 {
  margin: 0 auto;
  overflow: hidden;
  z-index: 100;
  font-size: 80%;
}
@media print, screen and (min-width: 981px) {
  #form1 {
    padding: 20px 0;
  }
}
#form1 .set_date {
  position: relative;
  padding-right: 25px;
}
@media print, screen and (min-width: 768px) {
  #form1 .set_date {
    width: 30%;
  }
}
@media only screen and (max-width: 767px) {
  #form1 .set_date {
    width: 100%;
  }
}
#form1 .set_date #datepicker {
  width: 65%;
}
@media only screen and (max-width: 767px) {
  #form1 .set_date #datepicker {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  #form1 .set_haku, #form1 .set_num {
    width: 40%;
  }
}
@media print, screen and (min-width: 768px) {
  #form1 .set_haku {
    width: 21%;
  }
}
@media only screen and (max-width: 767px) {
  #form1 .set_haku select {
    width: 100px;
  }
}
@media print, screen and (min-width: 981px) {
  #form1 .set_haku select {
    width: 100px;
  }
}
#form1 .set_num p {
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #form1 .set_num p {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  #form1 .set_num {
    width: 25%;
  }
}
@media only screen and (max-width: 767px) {
  #form1 .set_num select {
    width: 100px;
  }
}
@media print, screen and (min-width: 981px) {
  #form1 .set_num select {
    width: 100px;
  }
}
@media only screen and (max-width: 767px) {
  #form1 .set_room {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  #form1 .set_room {
    width: 20%;
  }
}
@media only screen and (max-width: 767px) {
  #form1 .set_room select {
    width: 100px;
  }
}
@media print, screen and (min-width: 981px) {
  #form1 .set_room select {
    width: 100px;
  }
}
#form1 div .caption {
  padding: 1px 7px 0 0;
  font-size: 12px;
  font-weight: bold;
}
#form1 .search_data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
#form1 .search_data li {
  width: 48%;
  font-size: 16px;
}
#form1 .search_data li a {
  color: #fff;
}
#form1 .search_data li:first-of-type {
  background-color: #000;
}
#form1 .search_data li:first-of-type input {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
}
#form1 .search_data li:last-of-type input {
  display: block;
  text-align: center;
  padding: 12px;
  background-color: #7e7154;
}
@media only screen and (max-width: 767px) {
  #form1 .search_data li:last-of-type input {
    padding: 7px;
  }
}
@media all and (-ms-high-contrast: none) {
  #form1 .search_data li:last-of-type input {
    padding: 15px 12px 9px 12px;
  }
}
#form1 #datepicker, #form1 select {
  border: none;
}
#form1 #datepicker {
  background-color: #fff;
  cursor: pointer;
  font-size: 15px;
}
.ui-datepicker-trigger {
  position: absolute;
  right: 0px;
  top: 8px;
  cursor: pointer;
}
#ui-datepicker-div {
  font-size: 92%;
  z-index: 10000 !important;
}
#form1 select::-ms-expand {
  display: none;
}
#form1 .set_date #datepicker, #form1 .set_haku select, #form1 .set_num select, #form1 .set_room select {
  background-color: #fff;
  position: relative;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media only screen and (max-width: 767px) {
  #form1 .set_date #datepicker, #form1 .set_haku select, #form1 .set_num select, #form1 .set_room select {
    height: 35px;
    width: 100%;
    padding: 7px 20px 7px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  #form1 .set_date #datepicker, #form1 .set_haku select, #form1 .set_num select, #form1 .set_room select {
    height: 40px;
    padding: 10px 20px 10px 10px;
  }
}
#form1 .submit input {
  width: 100%;
  font: inherit;
  text-align: center;
  border: none;
  cursor: pointer;
  font-size: 16px;
  padding: 12px;
  color: #fff;
}
@media all and (-ms-high-contrast: none) {
  #form1 .submit input {
    padding: 15px 12px 9px 12px;
  }
}
#form1 .return a {
  margin-left: 60px;
}
#form1 .submit input:hover, #form1 .return a:hover {
  opacity: 0.5;
}
#form1 .plan a {
  background: #a67b2d url(../images/common/img_arrow.png) no-repeat 94% center;
  height: 42px;
  display: block;
  float: left;
  margin-left: 12px;
  padding: 10px 52px;
  border: none;
  cursor: pointer;
  color: #fff;
  font-size: 14px;
}
@media screen and (max-width: 1024px) {
  img {
    max-width: 100%;
  }
}
@media screen and (max-width: 1220px) {
  #form1 .submit {
    clear: both;
    padding-top: 20px;
  }
}
/* SP */

@media only screen and (max-width: 767px) {
  .wrap {
    width: 94%;
  }
  .search_form h2 span {
    padding: 20px 0 0;
  }
  .set_date, .set_haku, .set_room, .set_num {
    padding: 10px 0 5px;
  }
  .ui-datepicker-trigger {
    right: 40px;
    top: 40px;
  }
  #ui-datepicker-div {
    width: 90% !important;
    left: 5% !important;
  }
  .search_form {
    margin-bottom: 0;
  }
  #form1 {
    width: 94%;
    padding: 5px 0;
  }
  #form1 div .caption {
    padding: 5px 7px 0 0;
  }
  #form1 #datepicker {
    font-size: 16px;
  }
  #form1 .submit {
    width: 94%;
    margin: 0 auto;
    clear: both;
    float: none;
  }
  #form1 .submit input {
    width: 100%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 7px 0;
    float: none;
    margin: 0 auto;
    border-radius: 0;
  }
  #form1 .set_haku select, #form1 .set_num select, #form1 .set_room select {
    font-size: 14px;
  }
  #form1 .submit input {
    font-size: 16px;
  }
  #form1 .plan {
    width: 94%;
    float: none;
    margin: 0 auto;
  }
  #form1 .plan a {
    width: 100%;
    max-width: 300px;
    display: block;
    float: none;
    position: relative;
    margin: 0 auto;
    padding: 9px 0;
    text-align: center;
    border-radius: 0;
  }
}
/* iosリセット ---------------------*/

input[type="submit"], input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}
button, input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}
input[type="radio"] {
  display: none;
}
input[type="radio"]:checked+label {
  background: #ff0000;
}
/* -- Reset --
--------------------------------------------------------------　*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, cite, code, del, dfn, ins, kbd, q, s, samp, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure {
  border: 0;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*:before, *:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
article, aside, details, figcaption, figure, footer, header, main, nav, section {
  display: block;
}
ol, ul, li {
  list-style-type: none;
}
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
table caption, table th, table td {
  text-align: left;
}
/* -- @font-face --
--------------------------------------------------------------　*/

/* -- framework && common --
--------------------------------------------------------------　*/

/*
  読み込み時フェードイン
*/

body {
  opacity: 0;
  -webkit-animation: anime1 1.2s;
  animation: anime1 1.2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  overflow-x: hidden;
  overflow-y: scroll;
}
@-webkit-keyframes anime1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anime1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
  印刷対応
*/

@media print {
  body {
    width: 100%;
    opacity: 1 !important;
    -webkit-animation: none;
    animation: none;
  }
  header.float {
    display: none !important;
  }
  img, section, h2 {
    max-width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  a.tel, .tel a {
    pointer-events: none;
  }
}
/* framework ---------------------------------*/

body {
  background: #fff;
  font-size: 15px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
  color: #333;
  line-height: 1.5;
  letter-spacing: 1px;
}
@media only screen and (max-width: 767px) {
  body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
    opacity: 1 !important;
    -webkit-animation: none;
    animation: none;
    font-size: 14px;
  }
}
h2, h3, h4, h5, h6 {
  line-height: 1.5;
}
#main {
  line-height: 1.7;
  letter-spacing: 1px;
}
header, #site_navigation, #mainvisualarea, #breadcrumb, #pagetitlearea, #content, footer {
  width: 100%;
}
a {
  color: #333;
  text-decoration: none;
}
a:hover, a:active {
  outline: 0;
  opacity: 0.7;
  -webkit-transition: opacity .2s ease-out;
  -o-transition: opacity .2s ease-out;
  transition: opacity .2s ease-out;
}
a img {
  border: 0;
}
a img:hover, a img:active {
  outline: 0;
  opacity: 0.7;
  -webkit-transition: opacity .2s ease-out;
  -o-transition: opacity .2s ease-out;
  transition: opacity .2s ease-out;
}
img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
@media print, screen and (max-width: 1200px) {
  .widewrap {
    max-width: 98%;
  }
}
@media print, screen and (min-width: 1201px) {
  .widewrap {
    max-width: 1200px;
  }
}
@media only screen and (max-width: 767px) {
    .mainwrap {
    max-width: 98%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1600px) {
  .mainwrap {
    max-width: 90%;
  }
}
@media print, screen and (min-width: 1601px) {
  .mainwrap {
    max-width: 1520px;
  }
}
.mainwrap, .widewrap {
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .mainwrap.mw_max, .widewrap.mw_max {
    max-width: 100%;
    margin: 0 0;
  }
}
.inner_10 {
  padding: 10px;
}
@media only screen and (max-width: 767px) {
  .content_inner {
    padding: 10px;
  }
  .inner_50 {
    padding: 30px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .content_inner {
    padding: 20px;
  }
  .inner_50 {
    padding: 50px 0;
  }
}
.bx-wrapper .bx-viewport {
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.gmap {
  cursor: pointer;
}
.gmap iframe {
  pointer-events: none;
}
.gmap.on iframe {
  pointer-events: auto;
}
/* common ---------------------------------*/

.clear:after {
  display: block;
  content: "";
  clear: both;
  overflow: hidden;
}
.break_word {
  word-wrap: break-word;
}
.mb7 {
  margin-bottom: 7px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
/* switch */

.switch {
  visibility: hidden;
}
@media only screen and (max-width: 767px) {
  .spview, .sp_taview, .sp_pcview {
    display: block;
  }
  .taview, .ta_pcview, .pcview {
    display: none;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .sp_taview, .taview, .ta_pcview {
    display: block;
  }
  .spview, .sp_pcview, .pcview {
    display: none;
  }
}
@media print, screen and (min-width: 981px) {
  .sp_pcview, .ta_pcview, .pcview {
    display: block;
  }
  .spview, .sp_taview, .taview {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .leftdir {
    float: left;
  }
  .rightdir {
    float: right;
  }
}
/* -- original common --
--------------------------------------------------------------　*/

strong, b, .bold {
  font-weight: bold;
}
small, .small {
  font-size: 14px;
}
.img img {
  width: 100%;
}
.ta_c {
  text-align: center;
}
/* -- col f_size --
--------------------------------------------------------------　*/

@media print, screen and (min-width: 768px) {
  /* dp_flex */
  .dp_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
/* -- back_to_top --
--------------------------------------------------------------　*/

#back_to_top {
  position: fixed;
  z-index: 9999;
  right: 5px;
  bottom: 5px;
  width: 45px;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  #back_to_top {
    right: 20px;
    bottom: 80px;
  }
}
@media print, screen and (min-width: 981px) {
  #back_to_top {
    right: 45px;
    bottom: 80px;
  }
}
/* Pager --
--------------------------------------------------------------　*/

/* single_pager --
--------------------------------------------------------------　*/

/* ------------------------------------------------------------------------- *
*  Base Styles
/* ------------------------------------------------------------------------- */

/*  base : clear
  /* ------------------------------------ */

.clearfix {
  overflow: hidden;
  zoom: 1;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
/*  title : wrap
  /* ------------------------------------ */

@media screen and (min-width: 768px) {
  .title.nowrap {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
  }
}
/* -- site_title
--------------------------------------------------------------　*/

/* -- header --
--------------------------------------------------------------　*/

header {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -ms-transition: 0.5s;
  transition: 0.5s;
  border-bottom: 1px solid rgba(0, 0, 0, 0.9);
}
@media print, screen and (min-width: 981px) {
  header {
    position: fixed;
  }
}
@media only screen and (max-width: 980px) {
  header {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.9);
  }
}
@media print, screen and (min-width: 981px) {
  header .hd_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
header .foot_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: none;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.8);
}
header .foot_menu p {
  background: url(../images/common/bg_access_foot.png) repeat left top;
  width: 27%;
}
header .foot_menu p a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 8px 0 7px;
}
header .foot_menu p img {
  height: 41px;
}
header .foot_menu .btn_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 8px 0 7px;
}
header .foot_menu .btn_menu img {
  height: 36px;
}
@media print, screen and (min-width: 981px) {
  header .right_btn {
    width: 258px;
  }
}
@media print, screen and (min-width: 981px) {
  header .header_left {
    width: calc(100% - 258px);
    background-color: rgba(0, 0, 0, 0.9);
  }
}
header .header_left .left_top {
  background-color: rgba(84, 84, 84, 0.8);
  color: #fff;
  padding: 6px 10px 5px;
}
@media print, screen and (max-width: 1400px) {
  header .header_left .left_top {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
@media print, screen and (max-width: 980px) {
  header .header_left .left_top {
    display: none;
  }
}
header .header_left .left_top p {
  font-size: 13px;
  color: #d5d5d5;
}
@media print, screen and (max-width: 1400px) {
  header .header_left .left_top p {
    display: none;
  }
}
header .header_left .left_top ul li {
  font-size: 15px;
}
header .header_left .left_top ul li:nth-child(n+2) {
  padding-left: 25px;
}
header .header_left .left_top ul li a {
  padding-left: 20px;
  position: relative;
}
header .header_left .left_top ul li a:after {
  content: "";
  position: absolute;
  top: 10px;
  left: 3px;
  background-color: #fff;
  height: 1px;
  width: 10px;
}
header .header_left .left_top a {
  color: #fff;
}
@media only screen and (max-width: 980px) {
  header .gnav_wrap {
    padding: 15px 0;
    background-color: #fff;
    width: calc(100% - 60px);
  }
}
header .gnav_wrap .header_logo {
  height: 47px;
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 0 20px 0 20px;
}
@media only screen and (max-width: 767px) {
  header .gnav_wrap .header_logo {
    height: auto;
    width: 100%;
  }
  header .gnav_wrap .header_logo a img {
    height: 30px;
  }
}
@media print, screen and (min-width: 1281px) {
  header .gnav_wrap .header_logo {
    width: 35%;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1280px) {
  header .gnav_wrap .header_logo {
    width: 35%;
  }
}
header .gnav_wrap .main_nav {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 980px) {
  header .gnav_wrap .main_nav {
    display: none;
  }
  header .gnav_wrap .main_nav.menu_open {
    overflow-y: scroll;
    display: block;
    text-align: center;
    -webkit-animation: menuin 0.5s ease-in-out forwards;
    animation: menuin 0.5s ease-in-out forwards;
    opacity: 1;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    margin: 0 auto;
    clear: both;
    z-index: 10000;
    position: fixed;
    padding-top: 50px;
    top: 0;
    right: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.8);
  }
  header .gnav_wrap .main_nav.menu_open li {
    padding: 10px;
  }
}
@media only screen and (max-width: 980px) and (max-width: 980px) {
  header .gnav_wrap .main_nav.menu_open li {
    border-top: solid 1px #78797b;
  }
  header .gnav_wrap .main_nav.menu_open li:last-of-type {
    border-bottom: solid 1px #78797b !important;
  }
}
@media only screen and (max-width: 980px) {
  header .gnav_wrap .main_nav.menu_open li a {
    color: #fff;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    font-size: 16px;
  }
}
@media only screen and (max-width: 980px) and (max-width: 980px) {
  header .gnav_wrap .main_nav.menu_open li a {
    border-bottom: none !important;
  }
}
@media only screen and (max-width: 980px) {
  header .gnav_wrap .main_nav.menu_open li a:hover {
    opacity: 1;
    color: #191919;
  }
}
@media print, screen and (min-width: 981px) {
  header .gnav_wrap .main_nav {
    width: 65%;
  }
}
@media print, screen and (min-width: 1281px) {
  header .gnav_wrap .main_nav {
    width: 55%;
  }
}
header .gnav_wrap .main_nav #menu {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
@media print, screen and (min-width: 981px) {
  header .gnav_wrap .main_nav .gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
header .gnav_wrap .main_nav .gnav li {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
header .gnav_wrap .main_nav .gnav li:hover a {
  opacity: 1;
  border-bottom: solid 5px #fff;
}
header .gnav_wrap .main_nav .gnav li a {
  color: #fff;
  display: block;
  border-bottom: solid 5px transparent;
}
@media only screen and (max-width: 980px) {
  header .gnav_wrap .main_nav .gnav li a {
    text-align: left;
    position: relative;
  }
  header .gnav_wrap .main_nav .gnav li a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: 900;
    color: #fff;
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media print, screen and (min-width: 981px) {
  header .gnav_wrap .main_nav .gnav li a {
    text-align: center;
    padding: 12px 0 8px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  header .gnav_wrap .main_nav .gnav li a {
    padding: 0 5px;
    font-size: 14px;
  }
}
header .gnav_wrap .btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 980px) {
  header .gnav_wrap .btn_wrap {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 20px 0;
  }
}
header .gnav_wrap .btn_wrap .header_rsv a {
  display: block;
  background-color: #000;
  text-align: center;
  color: #fff;
  padding: 18px 29px;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  header .gnav_wrap .btn_wrap .header_rsv a {
    padding: 15px 12px;
  }
}
header .gnav_wrap .btn_wrap .header_rsv a span {
  font-size: 13px;
  color: #aa8b49;
  font-family: "Playfair Display", serif;
  font-style: italic;
}
header .gnav_wrap .btn_wrap .header_rsv p {
  display: block;
  background-color: #000;
  text-align: center;
  color: #fff;
  padding: 18px 20px;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  header .gnav_wrap .btn_wrap .header_rsv p {
    padding: 15px 12px;
  }
}
header .gnav_wrap .btn_wrap .header_rsv p span {
  font-size: 13px;
  color: #b4a37e;
}
header .gnav_wrap .btn_wrap .header_lg_pc {
  background: #78797b url(../images/common/language_icn.png) 50% 30% no-repeat;
  cursor: pointer;
  position: relative;
  display: inline-block;
}
.header_lg_pc p{
  text-align: center;
  color: #fff;
  padding: 36px 7.5px 0 7.5px;
  display: inline-block;
  margin: 0;
}
.header_lg_pc span{
  font-size: 0.9em;
}
.header_lg_pc ul {
  display: none;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.8);  padding: 0;
  margin: 0;
  list-style: none;
  width: 100%;
  z-index: 1;
}

.header_lg_pc ul li {
  padding: 10px;
  text-align: center;
}

.header_lg_pc ul li a {
  text-decoration: none;
  color: #fff;
  display: block;
}


@media (max-width: 767px) {
  .header_pc {
      display: none; /* PC用メニューを非表示にする */
  }

  .header_lg_sp {
      background: #78797b url(../images/common/language_icn.png) 50% 20% no-repeat;
      display: block;
      background-color: #78797b; /* ベースカラー */
      padding-top: 30px;
      border-top: 1px solid #ccc;
      position: relative; /* relative で位置を調整 */
      width: 90px; /* width: 100% を削除して自動調整 */
      cursor: pointer;
  }

  .header_lg_sp p {
      width: 100%;
      text-align: center;
      background-color: #78797b; /* ベースカラー */
      color: #fff; /* テキストカラー */
      margin: 0;
      position: relative; /* pタグも relative で位置調整 */
      z-index: 2; /* メニューが上に表示されるように */
  }

  .header_lg_sp ul {
      display: none;
      position: absolute; /* pタグの上に配置 */
      top: 100%; /* pタグの下に配置 */
      left: 0;
      background-color: #bcbcbf; /* 中間色 */
      border: none;
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
      width: 90px; /* width: 100% を削除して自動調整 */
      z-index: 1; /* メニューが p タグの下に配置されるように */
  }

  .header_lg_sp ul li {
      border-bottom: 1px solid #78797b;
      padding: 10px;
  }

  .header_lg_sp ul li:last-child {
      border-bottom: none;
  }

  .header_lg_sp ul li a {
      text-decoration: none;
      color: #000; /* テキストカラーを黒に設定 */
      display: block;
  }

  .header_lg_sp ul li:hover {
      background-color: #a0a0a3; /* ホバー時に少し暗くする */
  }
}

@media print, screen and (min-width: 981px) {
  #toggle {
    display: none;
  }
}
@media only screen and (max-width: 980px) {
  #toggle .menu-trigger {
    display: inline-block;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 10000;
    width: 40px;
    height: 40px;
    position: absolute;
    z-index: 10000;
    top: 7px;
    right: 10px;
  }
  #toggle .menu-trigger.triggeractive {
    width: 30px;
    height: 30px;
    position: fixed;
  }
  #toggle .menu-trigger.triggeractive span:nth-child(-n+3) {
    width: 30px;
    right: 0;
  }
  #toggle .menu-trigger.triggeractive span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    -ms-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
  }
  #toggle .menu-trigger.triggeractive span:nth-of-type(2) {
    opacity: 0;
  }
  #toggle .menu-trigger.triggeractive span:nth-of-type(3) {
    -webkit-transform: translateY(-12px) rotate(42deg);
    -ms-transform: translateY(-12px) rotate(42deg);
    transform: translateY(-12px) rotate(42deg);
  }
  #toggle .menu-trigger.triggeractive span:nth-of-type(4) {
    display: none;
  }
  #toggle .menu-trigger span {
    display: inline-block;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 10000;
    display: inline-block;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    z-index: 9999;
  }
  #toggle .menu-trigger span:nth-child(-n+3) {
    left: 0;
    width: 40px;
    height: 2px;
    background-color: #fff;
  }
  #toggle .menu-trigger span:nth-of-type(1) {
    top: 7px;
  }
  #toggle .menu-trigger span:nth-of-type(2) {
    top: 17px;
  }
  #toggle .menu-trigger span:nth-of-type(3) {
    top: 27px;
  }
  #toggle .menu-trigger span:nth-of-type(4) {
    left: 0px;
    bottom: -10px;
    font-size: 11px;
    font-weight: bold;
    color: #fff;
  }
}
@-webkit-keyframes menuin {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* -- mv --
--------------------------------------------------------------　*/

.mv {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  width: 100%;
  height: 100vh;
}
.mv .rsv {
  bottom: 0;
  left: 0;
  z-index: 10000;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  position: fixed;
}
@media print, screen and (min-width: 981px) {
  .mv .rsv {
    opacity: 0;
    -webkit-animation-name: fade-in4;
    animation-name: fade-in4;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-delay: 2.5s;
    animation-delay: 2.5s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
  }
}
.mv .rsv.mini {
  bottom: 56px;
}
.mv .rsv.mini img {
  height: 55px;
  -webkit-animation-name: logo_anime;
  -webkit-animation-duration: 0.5s;
  animation-name: logo_anime;
  animation-duration: 0.5s;
}
@media print, screen and (min-width: 561px) and (max-width: 981px) {
  .mv .rsv.mini img {
    height: 85px;
  }
}
.mv .rsv a {
  display: block;
}
@media print, screen and (min-width: 561px) and (max-width: 1300px) {
  .mv .rsv img {
    height: 85px;
  }
}
@media only screen and (max-width: 560px) {
  .mv .rsv img {
    height: 75px;
  }
}
.mv .mv_txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.mv .mv_txt h1 {
  color: #fff;
  text-align: center;
  text-shadow: 0px 0px 13.5px rgba(0, 0, 0, 0.42);
  font-size: 35px;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .mv .mv_txt h1 {
    font-size: 20px;
  }
}
.mv .mv_txt h1 span {
  line-height: 1.5;
}
.mv .mv_txt h1 span.bg_be {
  display: inline-block;
  font-size: 18px;
  background: rgba(135, 123, 97, 0.8);
  padding: 0 10px;
}
@media only screen and (max-width: 767px) {
  .mv .mv_txt h1 span.bg_be {
    font-size: 14px;
  }
}
@media all and (-ms-high-contrast: none) {
  .mv .mv_txt h1 span.bg_be {
    padding: 5px 10px 0;
  }
}
.mv .mv_txt h1 span.bg_be strong {
  font-size: 25px;
}
@media only screen and (max-width: 767px) {
  .mv .mv_txt h1 span.bg_be strong {
    font-size: 18px;
  }
}
.mv .mv_txt p {
  text-align: center;
  color: #fff;
  text-shadow: 0px 0px 13.5px rgba(0, 0, 0, 0.42);
}
.mv .mv_txt p:first-of-type {
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  .mv .mv_txt p:first-of-type small {
    font-size: 12px;
  }
}
.mv .mv_txt p.day {
  font-size: 60px;
  background: url(../images/top/b_top.png) left top no-repeat, url(../images/top/b_btm.png) left bottom no-repeat;
  padding: 15px 0;
}
@media only screen and (max-width: 767px) {
  .mv .mv_txt p.day {
    font-size: 32px;
  }
}
@media all and (-ms-high-contrast: none) {
  .mv .mv_txt p.day {
    padding: 20px 15px 0px 15px;
  }
}
.mv .mv_txt p.day span {
  font-size: 28px;
  font-family: "Playfair Display", serif;
}
@media only screen and (max-width: 767px) {
  .mv .mv_txt p.day span {
    font-size: 20px;
  }
}
.mv .mv_txt p.op {
  font-size: 100px;
  line-height: 1.2;
  margin-bottom: 10px;
  font-family: "Playfair Display", serif;
}
@media only screen and (max-width: 767px) {
  .mv .mv_txt p.op {
    font-size: 42px;
  }
}
.mv .mv_txt p.optxt {
  font-size: 18px;
  letter-spacing: 3px;
}
@media only screen and (max-width: 560px) {
  .mv .mv_txt p.optxt {
    display: none;
    font-size: 14px;
  }
}
.mv li {
  z-index: 10;
  opacity: 0;
  width: 100%;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-animation: anime 30s 0s infinite;
  animation: anime 30s 0s infinite;
  text-indent: -9999px;
}
@media print, screen and (min-width: 768px) {
  .mv li {
    background: url(../images/top/mv_slide01.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .mv li:nth-child(2) {
    background: url(../images/top/mv_slide02.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .mv li:nth-child(3) {
    background: url(../images/top/mv_slide03.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .mv li:nth-child(4) {
    background: url(../images/top/mv_slide04.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .mv li:nth-child(5) {
    background: url(../images/top/mv_slide05.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
}
@media only screen and (max-width: 767px) {
  .mv li {
    background: url(../images/top/mv_slide01_sp.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .mv li:nth-child(2) {
    background: url(../images/top/mv_slide02_sp.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .mv li:nth-child(3) {
    background: url(../images/top/mv_slide03_sp.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .mv li:nth-child(4) {
    background: url(../images/top/mv_slide04_sp.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .mv li:nth-child(5) {
    background: url(../images/top/mv_slide05_sp.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
}
.mv li:nth-child(2) {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}
.mv li:nth-child(3) {
  -webkit-animation-delay: 12s;
  animation-delay: 12s;
}
.mv li:nth-child(4) {
  -webkit-animation-delay: 18s;
  animation-delay: 18s;
}
.mv li:nth-child(5) {
  -webkit-animation-delay: 24s;
  animation-delay: 24s;
}
/*イメージをズームさせるCSS3アニメーション*/

@-webkit-keyframes anime {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  45% {
    opacity: 0;
    -webkit-transform: scale(1.1) rotate(0.1deg);
    transform: scale(1.1) rotate(0.1deg);
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}
@keyframes anime {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  45% {
    opacity: 0;
    -webkit-transform: scale(1.1) rotate(0.1deg);
    transform: scale(1.1) rotate(0.1deg);
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes logo_anime {
  from {
    height: 75px;
  }
  to {
    height: 55px !important;
  }
}
@keyframes logo_anime {
  from {
    height: 75px;
  }
  to {
    height: 55px !important;
  }
}
@-webkit-keyframes fade-in4 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fade-in4 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
/* -- page_title --
--------------------------------------------------------------　*/

.page_titlebg {
  position: relative;
}
.page_titlebg h1.page_ttl {
  font-family: "Playfair Display", serif;
  font-size: 80px;
  color: #000;
  text-align: center;
  line-height: 1.25;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .page_titlebg h1.page_ttl {
    font-size: 40px;
    bottom: -45px;
  }
}
@media print, screen and (min-width: 768px) {
  .page_titlebg h1.page_ttl {
    bottom: -55px;
  }
}
.page_titlebg h1.page_ttl span {
  font-size: 20px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
  color: #7e7154;
  display: block;
}
@media only screen and (max-width: 767px) {
  .page_titlebg h1.page_ttl span {
    font-size: 16px;
  }
}
.page_titlebg h1.page_ttl span.df {
  color: #000;
  font-size: 60px;
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .page_titlebg h1.page_ttl span.df {
    font-size: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .page_titlebg .titlebg_inner {
    height: 250px;
  }
}
@media print, screen and (min-width: 768px) {
  .page_titlebg .titlebg_inner {
    height: 500px;
  }
}
.access .page_titlebg .titlebg_inner {
  background: url(../images/access/access_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.rooms .page_titlebg .titlebg_inner {
  background: url(../images/rooms/rooms_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.onsen .page_titlebg .titlebg_inner {
  background: url(../images/onsen/onsen_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.restaurant .page_titlebg .titlebg_inner {
  background: url(../images/restaurant/restaurant_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.facilities .page_titlebg .titlebg_inner {
  background: url(../images/facilities/facilities_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.faq .page_titlebg .titlebg_inner {
  background: url(../images/faq/faq_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.sightseeing .page_titlebg .titlebg_inner {
  background: url(../images/sightseeing/sightseeing_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.post .page_titlebg .titlebg_inner {
  background: url(../images/news/news_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.gallery .page_titlebg .titlebg_inner {
  background: url(../images/gallery/gallery_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.gallery .page_titlebg h1.page_ttl {
  line-height: 1;
}
.gallery .page_titlebg h1.page_ttl span {
  line-height: 1.8;
}
.stay .page_titlebg .titlebg_inner {
  background: url(../images/stay/stay_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .gallery .page_titlebg h1.page_ttl {
    bottom: -77px;
  }
}
@media print, screen and (min-width: 768px) {
  .gallery .page_titlebg h1.page_ttl {
    bottom: -135px;
  }
}
.stayplan .page_titlebg .titlebg_inner {
  background: url(../images/plan/styaplan_mv_img.jpg) 50% 50% no-repeat;
  background-size: cover;
}
/* -- breadcrumbs --
--------------------------------------------------------------　*/

.breadcrumbs {
  padding: 10px;
  position: relative;
  z-index: 2;
}
.breadcrumbs:after {
  display: block;
  content: "";
  clear: both;
  overflow: hidden;
}
@media print, screen and (max-width: 980px) {
  .breadcrumbs {
    padding-top: 80px;
  }
}
.breadcrumbs li {
  font-size: 14px;
  float: left;
}
@media print, screen and (max-width: 980px) {
  .breadcrumbs li {
    font-size: 12px;
  }
}
.breadcrumbs li a {
  padding: 3px 0;
}
.breadcrumbs li:last-of-type {
  border-bottom: solid 1px;
}
.breadcrumbs li:nth-child(even) {
  padding: 0 5px;
  color: #041a36;
}
@media only screen and (max-width: 767px) {
  .post .page_titlebg {
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .post .page_titlebg {
    margin-bottom: 75px;
  }
}
.post .breadcrumbs {
  background: url(../images/top/top_facility_bg2.png) 50% 50% no-repeat;
}
@media print, screen and (max-width: 767px) {
  .post .breadcrumbs {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .post .breadcrumbs {
    padding: 15px 10px;
  }
}
/* -- fixed_btn--
--------------------------------------------------------------　*/

/* -- footer --
--------------------------------------------------------------*/

footer {
  background-color: #05000f;
  color: #fff;
}
footer .btn_pagetop {
  display: none;
  position: fixed;
  bottom: 60px;
  right: 60px;
  z-index: 100;
}
@media only screen and (max-width: 767px) {
  footer .btn_pagetop {
    width: 50px;
    right: 10px;
    bottom: 56px;
  }
}
.footer_top {
  background-color: #1c1822;
}
@media only screen and (max-width: 767px) {
  .footer_top {
    padding: 30px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .footer_top {
    padding: 50px 0 40px;
  }
  .footer_top ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.footer_top ul li {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .footer_top ul li {
    text-align: center;
    margin-bottom: 10px;
    line-height: 2;
  }
}
.footer_top ul li:not(:first-of-type) {
  padding: 0 25px;
}
.footer_top ul li:first-of-type a {
  color: #fff;
  font-size: 1.3rem;
  letter-spacing: 0.5px;
}
@media print, screen and (min-width: 768px) {
  .footer_top ul li:first-of-type {
    padding-right: 0;
  }
}
.footer_top ul li:nth-child(2) {
  border-right: solid 1px #fff;
}
@media only screen and (max-width: 767px) {
  .footer_top ul li:nth-child(2) {
    border-right: none;
  }
}
.footer_top ul li:nth-child(3) {
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .footer_top ul li:nth-child(3) {
    margin-bottom: 0;
  }
}
.footer_top ul li:nth-child(3) a {
  color: #fff;
}
.footer_top ul li:nth-child(3) a, .footer_top ul li:nth-child(3) span {
  font-size: 22px;
}
/* @media only screen and (max-width: 767px) {
  footer .footer_wrap {
    padding: 0 7px;
  }
} */
footer .footer_wrap .b_line {
  border-bottom: solid 1px #312a3f;
}
footer .footer_wrap .nav_ttl {
  font-size: 14px;
  padding: 15px 0;
}
@media only screen and (max-width: 767px) {
  footer .footer_wrap .nav_ttl {
    padding: 7px 0;
  }
}
footer .footer_wrap .nav_ttl.mbtm {
  margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
  footer .footer_wrap .footer_nav {
    padding: 27px 0;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 767px) {
  footer .footer_wrap .footer_nav {
    padding: 12px 0;
  }
}
footer .footer_wrap .footer_nav ul{
	/*display: -webkit-box;
	display: -ms-flexbox;*/
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media only screen and (max-width: 1200px) {
footer .footer_wrap .footer_nav ul{
	justify-content: flex-start;
	margin: 0 -10px;
	width: calc(100% - 20px);
}
}
@media only screen and (max-width: 767px) {
footer .footer_wrap .footer_nav ul{
	margin: 0;
	width: 100%;
}
}
footer .footer_wrap .footer_nav li {
	padding:3px 6px;
	box-sizing:border-box;
/*	width:10%; */
	display: flex;
	justify-content: center;
/*	flex-grow: 1; */
}
/* footer .footer_wrap .footer_nav li:nth-of-type(2){
	width: 16%;
}
footer .footer_wrap .footer_nav li:nth-of-type(3),
footer .footer_wrap .footer_nav li:nth-of-type(4){
	width: 12%;
}
footer .footer_wrap .footer_nav li:nth-of-type(9) ,
footer .footer_wrap .footer_nav li:last-of-type {
	align-content: flex-end;
	padding-right:0;
	justify-content: flex-end;
}
footer .footer_wrap .footer_nav li:nth-of-type(10) ,
footer .footer_wrap .footer_nav li:first-of-type{
	align-content: flex-start;
	padding-left:0;
	justify-content: flex-start;
}

footer .footer_wrap .footer_nav li:nth-of-type(10) ,
footer .footer_wrap .footer_nav li:nth-of-type(11) ,
footer .footer_wrap .footer_nav li:nth-of-type(13) {
	width: 8%;
}
footer .footer_wrap .footer_nav li:nth-of-type(12) {
	width: 22%;
}
footer .footer_wrap .footer_nav li:nth-of-type(14) ,
footer .footer_wrap .footer_nav li:nth-of-type(15) ,
footer .footer_wrap .footer_nav li:nth-of-type(16) {
	width: 18%;
} */

/*footer .footer_wrap .footer_nav li:nth-child(n+10) {
	min-width:auto;
}*/
@media only screen and (max-width: 1200px) {
	footer .footer_wrap .footer_nav li {
		width: auto !important;
		justify-content: flex-start;
		padding:3px 10px;
		flex-grow: 0;
	}
/*	footer .footer_wrap .footer_nav li:nth-of-type(9) ,
	footer .footer_wrap .footer_nav li:last-of-type {
		align-content: flex-start;
		padding-right:10px;
		justify-content: flex-start;
	}
	footer .footer_wrap .footer_nav li:nth-of-type(10) ,
	footer .footer_wrap .footer_nav li:first-of-type{
		padding-left:10px;
	} */
}
@media only screen and (max-width: 767px) {
	footer .footer_wrap .footer_nav li {
		width: 48% !important;
	}
}

footer .footer_wrap .footer_nav li a {
	font-size: 14px;
	color: #fff;
	text-align: center;
}
/* footer .footer_wrap .footer_nav li:nth-of-type(9) a ,
footer .footer_wrap .footer_nav li:last-of-type a{
	text-align: right;
}
footer .footer_wrap .footer_nav li:nth-of-type(10) a,
footer .footer_wrap .footer_nav li:first-of-type a{
	text-align: left;
} */
@media only screen and (max-width: 767px) {
	footer .footer_wrap .footer_nav li a {
		font-size: 11px;
		text-align: left;
	}
}
@media print, screen and (min-width: 981px) {
	footer .footer_wrap .area_l {
		width: 50%;
	}
}

footer .footer_wrap .area_wrap {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  footer .footer_wrap .area_wrap {
    font-size: 12px;
  }
  footer .footer_wrap .area_wrap a {
    font-size: 11px;
  }
}
@media print, screen and (min-width: 981px) {
  footer .footer_wrap .area_wrap.area_top, footer .footer_wrap .area_wrap.area_btm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  footer .footer_wrap .area_wrap.area_top .area_r ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  footer .footer_wrap .area_wrap.area_top .area_r ul li {
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  footer .footer_wrap .area_wrap.area_top .area_l ul:after {
    display: block;
    content: "";
    clear: both;
    overflow: hidden;
  }
  footer .footer_wrap .area_wrap.area_top .area_l ul li {
    float: left;
    width: 48%;
  }
  footer .footer_wrap .area_wrap.area_top .area_l ul li:nth-child(2) {
    float: right;
  }
}
footer .footer_wrap .area_wrap.area_btm {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  footer .footer_wrap .area_wrap.area_btm ul li {
    width: 47%;
  }
}
footer .footer_wrap .area_wrap p.sub_ttl {
  border-left: solid 1px #312a3f;
  padding-left: 10px;
  margin: 7px 0 7px;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  footer .footer_wrap .area_wrap ul {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  footer .footer_wrap .area_wrap ul.dp_flex_odd {
    justify-content: flex-start;
  }
}
footer .footer_wrap .area_wrap ul li p.glay {
  color: #555;
  position: relative;
  padding-left: 12px;
}
footer .footer_wrap .area_wrap ul li p.glay:before {
  position: absolute;
  top: 10px;
  left: 0px;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-top: 1px solid #555;
  border-right: 1px solid #555;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media only screen and (max-width: 767px) {
  footer .footer_wrap .area_wrap ul li p.glay {
    font-size: 11px;
  }
}
@media print, screen and (min-width: 768px) {
  footer .footer_wrap .area_wrap ul li p.glay span {
    font-size: 12px;
    padding-left: 12px;
  }
}
@media only screen and (max-width: 767px) {
  footer .footer_wrap .area_wrap ul li p.glay span {
    font-size: 10px;
    padding-left: 10px;
  }
}
footer .footer_wrap .area_wrap ul li a {
  color: #a19bad;
  display: block;
  margin-bottom: 10px;
  letter-spacing: 0;
  position: relative;
  padding-left: 12px;
}
footer .footer_wrap .area_wrap ul li a:before {
  position: absolute;
  top: 10px;
  left: 0px;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-top: 1px solid #a19bad;
  border-right: 1px solid #a19bad;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media print, screen and (min-width: 768px) {
  footer .footer_wrap .area_wrap ul li a span {
    font-size: 12px;
    padding-left: 12px;
  }
}
@media only screen and (max-width: 767px) {
  footer .footer_wrap .area_wrap ul li a span {
    font-size: 10px;
    padding-left: 10px;
  }
}
@media print, screen and (min-width: 981px) {
  footer .footer_wrap .area_wrap .area_r {
    width: 45%;
  }
  footer .footer_wrap .area_wrap .area_r ul li {
    width: 47%;
  }
}
@media only screen and (max-width: 767px) {
  footer .footer_wrap .area_wrap .footer_sns {
    text-align: center;
    padding: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  footer .footer_wrap .area_wrap .footer_sns {
    position: absolute;
    bottom: 30px;
    right: 0;
  }
}
footer .footer_wrap .area_wrap .footer_sns dd {
  display: inline-block;
}
footer .footer_wrap .area_wrap .footer_sns dd a {
  padding-left: 10px;
  display: block;
}
footer .footer_wrap .footer_slider {
  background-color: #0f0a18;
  padding: 20px;
}
@media print, screen and (max-width: 1300px) {
  footer .footer_wrap .footer_slider {
    padding: 20px 50px;
  }
}
footer .footer_wrap .footer_slider .bx-wrapper {
  margin: 0 auto 30px;
}
footer .footer_wrap .footer_slider .bx-wrapper .bx-viewport {
  left: 0;
  background-color: transparent;
}
footer .footer_wrap .footer_slider .bx-wrapper .bx-controls-direction a {
  width: 20px;
  height: 36px;
  z-index: 999;
}
footer .footer_wrap .footer_slider .bx-wrapper .bx-controls-direction a.bx-prev {
  background: url(../images/footer/footer_left.png) 50% 50% no-repeat;
  left: -40px;
}
footer .footer_wrap .footer_slider .bx-wrapper .bx-controls-direction a.bx-next {
  background: url(../images/footer/footer_right.png) 50% 50% no-repeat;
  right: -40px;
}
footer .footer_wrap .footer_slider .bx-wrapper .bx-pager.bx-default-pager a {
  background-color: transparent;
  border: solid 1px #fff;
}
footer .footer_wrap .footer_slider .bx-wrapper .bx-pager.bx-default-pager a.active {
  background-color: #fff;
}
footer .footer_wrap .footer_slider .footer_sld li a {
  display: block;
}
footer .copyright {
  font-size: 12px;
  color: #a19bad;
  text-align: center;
  padding: 15px 0 20px;
}
@media only screen and (max-width: 767px) {
  footer .copyright {
    font-size: 10px;
  }
}
footer .copyright a {
  color: #a19bad;
}
/* -- heading common --
--------------------------------------------------------------　*/

.top_h2 {
  text-align: center;
  background: url(../images/top/top_concept_icon.png) 50% 0% no-repeat;
  padding-top: 20px;
  margin-bottom: 30px;
}
.top_h2 h2 {
  font-size: 40px;
  font-family: "Playfair Display", serif;
  color: #05000f;
  letter-spacing: 4px;
}
@media only screen and (max-width: 767px) {
  .top_h2 h2 {
    font-size: 28px;
  }
}
.top_h2 p {
  font-size: 15px;
  color: #78797b;
}
@media only screen and (max-width: 767px) {
  .top_h2 p {
    font-size: 13px;
  }
}
/* -- framework && common --
--------------------------------------------------------------　*/

.view_more {
  text-align: center;
}
.view_more a {
  display: inline-block;
  padding: 10px;
  position: relative;
  font-weight: 700;
}
.view_more a:after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  opacity: 1;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  visibility: visible;
}
.view_more a:hover {
  opacity: 1;
}
.view_more a:hover:after {
  bottom: 2px;
  opacity: 0;
  visibility: hidden;
}
.com_txt {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .com_txt {
    padding-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .com_txt {
    padding-bottom: 30px;
  }
}
.com_txt h3 {
  font-size: 25px;
  line-height: 1.8;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .com_txt h3 {
    font-size: 22px;
  }
}
.com_txt h3 small {
  font-size: 20px;
}
.com_txt p {
  line-height: 2;
}
/* -- @keyframes --
--------------------------------------------------------------　*/

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
/* -- index.php --
--------------------------------------------------------------　*/

@media only screen and (max-width: 767px) {
  .top_plan, .top_hotspring, .top_facility .facility_bg, .top_access {
    padding: 50px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_plan, .top_hotspring, .top_facility .facility_bg, .top_access {
    padding: 85px 0 115px;
  }
}
.top_concept {
  text-align: center;
  background: url(../images/top/top_conceptleft.png) top left no-repeat, url(../images/top/top_conceptright.png) bottom right no-repeat;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .top_concept {
    padding: 50px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_concept {
    padding: 85px 0 200px;
  }
}
@media only screen and (max-width: 767px) {
  .top_concept h3 {
    font-size: 20px;
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .top_concept h3 {
    font-size: 35px;
    padding: 50px 0;
  }
}
.top_concept p {
  line-height: 2.2;
}
@media only screen and (max-width: 767px) {
  .top_concept p {
    padding-bottom: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_concept p {
    font-size: 16px;
  }
}
.top_concept .point_img li {
  opacity: 0;
}
.top_concept .point_img li.fadein {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.5s;
  -ms-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important;
}
.top_concept .point_img li:nth-child(1) {
  top: 5%;
  left: 5%;
}
@media only screen and (max-width: 767px) {
  .top_concept .point_img li:nth-child(1) {
    width: 70%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .top_concept .point_img li:nth-child(1) {
    display: none;
  }
}
@media print, screen and (min-width: 981px) {
  .top_concept .point_img li:nth-child(1) {
    width: 25%;
  }
}
.top_concept .point_img li:nth-child(2) {
  top: 20%;
  right: 5%;
  -webkit-animation-duration: 2s;
  -ms-animation-duration: 2s;
  animation-duration: 2s;
}
@media only screen and (max-width: 767px) {
  .top_concept .point_img li:nth-child(2) {
    width: 70%;
    margin-left: auto;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .top_concept .point_img li:nth-child(2) {
    display: none;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1260px) {
  .top_concept .point_img li:nth-child(2) {
    width: 20%;
  }
}
@media print, screen and (min-width: 1261px) {
  .top_concept .point_img li:nth-child(2) {
    width: 25%;
  }
}
.top_concept .point_img li:nth-child(3) {
  bottom: 0;
  left: 5%;
  -webkit-animation-duration: 2.5s;
  -ms-animation-duration: 2.5s;
  animation-duration: 2.5s;
}
@media print, screen and (min-width: 768px) {
  .top_concept .point_img li {
    position: absolute;
  }
}
.top_concept .point_img dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top_room {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .top_room {
    padding: 30px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_room {
    padding: 50px 50px 0 50px;
  }
}
@media print, screen and (min-width: 981px) {
  .top_room:after {
    content: url(../images/access/access_bg01.png);
    top: 0;
    right: 0;
    z-index: 1;
    position: absolute;
  }
}
.top_room .room_wrap {
  background-color: #f7f5f1;
}
@media only screen and (max-width: 767px) {
  .top_room .room_wrap {
    padding: 30px 10px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .top_room .room_wrap {
    padding: 50px 30px;
  }
}
@media print, screen and (min-width: 981px) {
  .top_room .room_wrap {
    padding: 100px 0 150px;
  }
}
@media print, screen and (min-width: 981px) {
  .top_room .room_wrap ul.js-room {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
.top_room .room_wrap ul.js-room>li:nth-child(1) {
  -webkit-animation-duration: 2.5s;
  -ms-animation-duration: 2.5s;
  animation-duration: 2.5s;
  position: relative;
}
.top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-viewport {
  left: 0;
}
.top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-pager {
  text-align: left;
}
.top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-pager.bx-default-pager a {
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  background-color: #d5d5d5;
}
.top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-pager.bx-default-pager a.active {
  background-color: #000;
}
.top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a {
  width: 40px;
  height: 40px;
  z-index: 999;
}
@media print, screen and (min-width: 768px) {
  .top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a {
    bottom: -40px;
    top: auto;
  }
}
.top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-prev {
  left: auto;
  background: #000 url(../images/common/prev_btn.png) 50% 50% no-repeat;
}
@media only screen and (max-width: 767px) {
  .top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-prev {
    left: -22px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-prev {
    right: 40px;
  }
  .top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-prev:after {
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    top: 10px;
    right: 0;
    background-color: #fff;
    position: absolute;
  }
}
.top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-next {
  left: auto;
  background: #000 url(../images/common/next_btn.png) 50% 50% no-repeat;
}
@media only screen and (max-width: 767px) {
  .top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-next {
    right: -22px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_room .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-next {
    right: 0;
  }
}
.top_room .room_wrap ul.js-room>li:nth-child(1) p {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  font-size: 14px;
  padding: 7px 10px;
}
@media only screen and (max-width: 767px) {
  .top_room .room_wrap ul.js-room>li:nth-child(1) p {
    font-size: 10px;
  }
}
@media print, screen and (max-width: 980px) {
  .top_room .room_wrap ul.js-room>li:nth-child(1) {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 981px) {
  .top_room .room_wrap ul.js-room>li:nth-child(1) {
    width: 50%;
    z-index: 2;
  }
  .top_room .room_wrap ul.js-room>li:nth-child(2) {
    width: 45%;
  }
}
@media print, screen and (min-width: 981px) {
  .top_room .room_wrap ul.js-room>li .view_more {
    text-align: left;
  }
}
.top_room .room_wrap ul.js-room>li .restaurant_h2 {
  background: url(../images/top/top_concept_icon.png) 0 18px no-repeat;
  padding-left: 45px;
  margin-bottom: 30px;
}
.top_room .room_wrap ul.js-room>li .restaurant_h2 p {
  font-size: 15px;
  color: #78797b;
}
@media only screen and (max-width: 767px) {
  .top_room .room_wrap ul.js-room>li .restaurant_h2 p {
    font-size: 13px;
  }
}
.top_room .room_wrap ul.js-room>li .restaurant_h2 h2 {
  font-size: 40px;
  font-family: "Playfair Display", serif;
  color: #05000f;
  letter-spacing: 4px;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .top_room .room_wrap ul.js-room>li .restaurant_h2 h2 {
    font-size: 28px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_room .room_wrap ul.js-room>li .inwrap {
    padding-left: 45px;
  }
}
.top_room .room_wrap ul.js-room>li .inwrap .icon_col {
  margin: 20px 0 35px;
}
.top_room .room_wrap ul.js-room>li .inwrap .icon_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 560px) {
  .top_room .room_wrap ul.js-room>li .inwrap .icon_flex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .top_room .room_wrap ul.js-room>li .inwrap .icon_flex li {
    width: 30%;
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 561px) {
  .top_room .room_wrap ul.js-room>li .inwrap .icon_flex li:not(:first-of-type) {
    margin-left: 7px;
  }
}
.top_room .room_wrap ul.js-room>li .inwrap .stay_item {
  margin: 30px 0;
}
.top_room .room_wrap ul.js-room>li .inwrap .stay_item dt, .top_room .room_wrap ul.js-room>li .inwrap .stay_item dd {
  text-align: center;
  color: #616469;
  padding: 12px;
  border: solid 1px #e0ddd5;
}
@media all and (-ms-high-contrast: none) {
  .top_room .room_wrap ul.js-room>li .inwrap .stay_item dt, .top_room .room_wrap ul.js-room>li .inwrap .stay_item dd {
    padding: 15px 12px 9px 12px;
  }
}
.top_room .room_wrap ul.js-room>li .inwrap .stay_item dt {
  font-size: 15px;
  background-color: #e0ddd5;
}
.top_room .room_wrap ul.js-room>li .inwrap .stay_item dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .top_room .room_wrap ul.js-room>li .inwrap .stay_item dd {
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .top_room .room_wrap ul.js-room>li .inwrap .stay_item dd p:not(:last-of-type) {
    width: 50%;
  }
}
@media print, screen and (min-width: 768px) {
  .top_room .room_wrap ul.js-room>li .inwrap .stay_item dd {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}
.top_room .room_wrap ul.js-room>li .inwrap .stay_item dd p:nth-child(1) span {
  background: url(../images/top/laundry_icon.png) center left no-repeat;
  background-size: auto 100%;
  padding-left: 25px;
}
.top_room .room_wrap ul.js-room>li .inwrap .stay_item dd p:nth-child(2) span {
  background: url(../images/top/kitchen_icon.png) center left no-repeat;
  background-size: auto 100%;
  padding-left: 25px;
}
.top_room .room_wrap ul.js-room>li .inwrap .stay_item dd p:nth-child(3) span {
  background: url(../images/top/microwave_icon.png) center left no-repeat;
  background-size: auto 100%;
  padding-left: 35px;
}
.top_room .room_wrap ul.js-room>li .inwrap p {
  line-height: 1.85;
}
.top_room .room_wrap ul.js-room>li .inwrap p small {
  font-size: 13px;
  color: #876418;
}
.top_room .room_wrap ul.js-room>li .inwrap p.icon_ttl {
  font-size: 18px;
  margin-bottom: 7px;
  background: url(../images/top/icon_ttlbg.png) center left no-repeat;
  padding-left: 22px;
}
.top_room .room_wrap ul.js-room>li .inwrap p.sub_ttl {
  font-size: 25px;
  padding-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .top_room .room_wrap ul.js-room>li .inwrap p.sub_ttl {
    font-size: 22px;
  }
}
.top_hotspring {
  background: url(../images/top/top_hotspring_bg.jpg) 50% 0% no-repeat;
  background-size: cover;
  position: relative;
  z-index: 100;
}
.top_hotspring ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .top_hotspring ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.top_hotspring ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .top_hotspring ul li {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .top_hotspring ul li {
    height: 540px;
  }
}
.top_hotspring ul li.fadein {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important;
}
.top_hotspring ul li:nth-child(2) {
  -webkit-animation-duration: 2s;
  -ms-animation-duration: 2s;
  animation-duration: 2s;
}
.top_hotspring ul li p {
  color: #fff;
  font-size: 14px;
  padding: 7px;
}
.top_hotspring ul li:first-of-type {
  background: url(../images/top/top_hotspring_img01.jpg) 50% 0% no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .top_hotspring ul li:first-of-type {
    height: 250px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_hotspring ul li:first-of-type {
    width: 70%;
  }
}
.top_hotspring ul li:nth-child(2) {
  display: block;
}
@media print, screen and (min-width: 768px) {
  .top_hotspring ul li:nth-child(2) {
    width: 30%;
  }
}
.top_hotspring ul li:nth-child(2) dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .top_hotspring ul li:nth-child(2) dl dd {
    height: 100px;
    width: 50%;
  }
}
@media print, screen and (min-width: 768px) {
  .top_hotspring ul li:nth-child(2) dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
  }
  .top_hotspring ul li:nth-child(2) dl dd {
    width: 100%;
    height: 50%;
  }
}
.top_hotspring ul li:nth-child(2) dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.top_hotspring ul li:nth-child(2) dl dd:first-of-type {
  background: url(../images/top/top_hotspring_img02.jpg) 50% 0% no-repeat;
  background-size: cover;
}
.top_hotspring ul li:nth-child(2) dl dd:nth-child(2) {
  background: url(../images/top/top_hotspring_img03.jpg) 50% 0% no-repeat;
  background-size: cover;
}
.top_hotspring .hs_txt {
  text-align: center;
  line-height: 2;
}
.top_hotspring .hs_txt p:not(:last-of-type) {
  padding-bottom: 1em;
}
@media print, screen and (min-width: 768px) {
  .top_hotspring .hs_txt {
    padding: 50px 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .top_hotspring .hs_txt {
    padding: 30px 0;
  }
}
.top_restaurant {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .top_restaurant {
    padding: 30px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_restaurant {
    padding: 50px 50px 0 50px;
  }
}
@media print, screen and (min-width: 981px) {
  .top_restaurant:after {
    content: url(../images/top/top_restaurant_bg01.png);
    top: 0;
    left: 0;
    z-index: 1;
    position: absolute;
  }
}
.top_restaurant .restaurant_wrap {
  background-color: #f7f5f1;
}
@media print, screen and (max-width: 980px) {
  .top_restaurant .restaurant_wrap {
    padding: 50px 30px;
  }
}
@media print, screen and (min-width: 981px) {
  .top_restaurant .restaurant_wrap {
    padding: 100px 0 150px;
  }
}
@media print, screen and (min-width: 981px) {
  .top_restaurant .restaurant_wrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.top_restaurant .restaurant_wrap ul li {
  opacity: 0;
}
.top_restaurant .restaurant_wrap ul li.fadein {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important;
}
.top_restaurant .restaurant_wrap ul li:nth-child(2) {
  -webkit-animation-duration: 2.5s;
  -ms-animation-duration: 2.5s;
  animation-duration: 2.5s;
}
@media print, screen and (max-width: 980px) {
  .top_restaurant .restaurant_wrap ul li:nth-child(2) {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 981px) {
  .top_restaurant .restaurant_wrap ul li:nth-child(1) {
    width: 50%;
    z-index: 2;
  }
  .top_restaurant .restaurant_wrap ul li:nth-child(2) {
    width: 45%;
  }
}
@media print, screen and (min-width: 981px) {
  .top_restaurant .restaurant_wrap ul li .view_more {
    text-align: left;
  }
}
.top_restaurant .restaurant_wrap ul li .restaurant_h2 {
  background: url(../images/top/top_concept_icon.png) 0 18px no-repeat;
  padding-left: 45px;
  margin-bottom: 30px;
}
.top_restaurant .restaurant_wrap ul li .restaurant_h2 p {
  font-size: 15px;
  color: #78797b;
}
@media only screen and (max-width: 767px) {
  .top_restaurant .restaurant_wrap ul li .restaurant_h2 p {
    font-size: 13px;
  }
}
.top_restaurant .restaurant_wrap ul li .restaurant_h2 h2 {
  font-size: 40px;
  font-family: "Playfair Display", serif;
  color: #05000f;
  letter-spacing: 4px;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .top_restaurant .restaurant_wrap ul li .restaurant_h2 h2 {
    font-size: 28px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_restaurant .restaurant_wrap ul li .inwrap {
    padding-left: 45px;
  }
}
.top_restaurant .restaurant_wrap ul li .inwrap .dp_flex {
  margin: 35px 0;
}
@media only screen and (max-width: 767px) {
  .top_restaurant .restaurant_wrap ul li .inwrap dl:nth-child(1) {
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_restaurant .restaurant_wrap ul li .inwrap dl:nth-child(1) {
    width: 42%;
  }
  .top_restaurant .restaurant_wrap ul li .inwrap dl:nth-child(2) {
    width: 55%;
  }
}
.top_restaurant .restaurant_wrap ul li .inwrap dl dt, .top_restaurant .restaurant_wrap ul li .inwrap dl dd {
  padding: 10px;
  text-align: center;
  border: solid 1px #e0ddd5;
}
@media all and (-ms-high-contrast: none) {
  .top_restaurant .restaurant_wrap ul li .inwrap dl dt, .top_restaurant .restaurant_wrap ul li .inwrap dl dd {
    padding: 13px 10px 7px 10px;
  }
}
.top_restaurant .restaurant_wrap ul li .inwrap dl dt {
  background-color: #e0ddd5;
}
@media only screen and (max-width: 767px) {
  .top_restaurant .restaurant_wrap ul li .inwrap dl dd {
    font-size: 13px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1640px) {
  .top_restaurant .restaurant_wrap ul li .inwrap dl dd {
    font-size: 12px;
  }
}
.top_restaurant .restaurant_wrap ul li .inwrap p {
  line-height: 1.85;
}
.top_restaurant .restaurant_wrap ul li .inwrap p.sub_ttl {
  font-size: 25px;
  padding-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .top_restaurant .restaurant_wrap ul li .inwrap p.sub_ttl {
    font-size: 22px;
  }
}
.slide .bx-wrapper .bx-viewport {
  left: 0;
  z-index: 2;
}
.top_facility {
  background: url(../images/top/top_facility_bg2.png) 50% 50% no-repeat;
  background-size: cover;
}
.top_facility .facility_bg {
  background: url(../images/top/top_facility_bg.png) 50% 100% no-repeat;
}

.top_access ul li {
  opacity: 0;
}
.top_access ul li.fadein {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important;
}
.top_access ul li:nth-child(2) {
  -webkit-animation-duration: 2s;
  -ms-animation-duration: 2s;
  animation-duration: 2s;
}
@media only screen and (max-width: 767px) {
  .top_access ul li:first-of-type {
    margin-bottom: 45px;
  }
}
.top_access ul li .top_accessimg {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .top_access ul li {
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  .top_access ul dl dd:first-of-type {
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_access ul dl {
    max-width: 500px;
    margin: 0 auto;
  }
  .top_access ul dl dd {
    width: 48%;
  }
}
.top_access ul dl dd a {
  text-align: center;
  display: block;
  padding: 10px;
  background-color: #05000f;
  color: #fff;
}
@media all and (-ms-high-contrast: none) {
  .top_access ul dl dd a {
    padding: 13px 10px 7px 10px;
  }
}
/* 第二フェーズ----------------------------- */

@media only screen and (max-width: 767px) {
  .info_content {
    padding: 50px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .info_content {
    padding: 50px 15px 100px;
  }
}
.info_content .info_ttl {
  margin-bottom: 15px;
}
.info_content .info_ttl:after {
  display: block;
  content: "";
  clear: both;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .info_content .info_ttl .leftdir {
    width: 80%;
  }
  .info_content .info_ttl .rightdir {
    width: 20%;
  }
}
.info_content .info_ttl .leftdir {
  padding-left: 20px;
  background: url(../images/common/info_icon.png) 0 15px no-repeat;
}
.info_content .info_ttl .leftdir h2 {
  text-align: left;
  font-family: "Playfair Display", serif;
  font-size: 25px;
}
.info_content .info_ttl .leftdir h2 span.df {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
  font-size: 18px;
}
.info_content .info_ttl .leftdir p {
  color: #78797b;
  font-size: 15px;
}
.info_content .info_ttl .rightdir a {
  display: block;
  background-color: #000;
  color: #fff;
  font-size: 14px;
  text-align: center;
  width: 150px;
  margin-left: auto;
  padding: 7px;
}
.info_content .content_scroll {
  border-top: solid 1px #e0e0e0;
  border-bottom: solid 1px #e0e0e0;
  padding: 20px 0;
}
.info_content .content_scroll ul li:not(:last-of-type) {
  margin-bottom: 22px;
}
.info_content .content_scroll ul li.alert a .info_txt p.day {
  color: #952121;
}
.info_content .content_scroll ul li.alert a .info_txt .txt {
  color: #952121;
}
.info_content .content_scroll ul li a:hover {
  opacity: 1;
}
.info_content .content_scroll ul li a:hover .info_txt .txt {
  text-decoration: underline;
}
@media print, screen and (min-width: 768px) {
  .info_content .content_scroll ul li a .info_txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.info_content .content_scroll ul li a .info_txt p.day {
  font-size: 14px;
  color: #78797b;
}
@media only screen and (max-width: 767px) {
  .info_content .content_scroll ul li a .info_txt p.day {
    margin-bottom: 5px;
  }
}
@media print, screen and (min-width: 768px) {
  .info_content .content_scroll ul li a .info_txt p.day {
    margin-right: 20px;
  }
}
.top_plan {
  background: url(../images/top/gray_bg.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.top_plan .plan_h2 {
  text-align: center;
  background: url(../images/top/top_plan_icon.png) 50% 0% no-repeat;
  padding-top: 20px;
  margin-bottom: 50px;
}
.top_plan .plan_h2 p {
  padding: 15px 0;
}
.top_plan .plan_h2 h2 {
  font-size: 40px;
  font-family: "Playfair Display", serif;
  color: #05000f;
  letter-spacing: 4px;
  line-height: 0.65;
}
@media only screen and (max-width: 767px) {
  .top_plan .plan_h2 h2 {
    font-size: 28px;
  }
}
.top_plan .plan_h2 h2 span {
  font-size: 15px;
  color: #78797b;
}
@media only screen and (max-width: 767px) {
  .top_plan .plan_h2 h2 span {
    font-size: 13px;
  }
}
.top_plan .plan_wrap {
  margin: 0 auto;
  position: relative;
}
@media print, screen and (max-width: 980px) {
  .top_plan .plan_wrap {
    padding: 35px 0;
  }
}
@media print, screen and (max-width: 1450px) {
  .top_plan .plan_wrap {
    width: 95%;
  }
}
@media print, screen and (min-width: 1451px) {
  .top_plan .plan_wrap {
    max-width: 1400px;
  }
}
@media print, screen and (min-width: 981px) {
  .top_plan .plan_wrap .plan_btn {
    position: absolute;
    top: 35px;
    right: 0;
  }
}
.top_plan .plan_wrap .plan_btn a {
  margin: 30px auto;
  display: block;
  color: #fff;
  padding: 15px;
  text-align: center;
  background: #05000f url(../images/top/btn_arr.png) 90% 50% no-repeat;
}
@media print, screen and (min-width: 768px) {
  .top_plan .plan_wrap .plan_btn a {
    width: 280px;
  }
}
@media all and (-ms-high-contrast: none) {
  .top_plan .plan_wrap .plan_btn a {
    padding: 18px 15px 12px 15px;
  }
}
.tab_wrap input[type="radio"] {
  display: none;
}
.tab_wrap .tab_area {
  font-size: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .tab_wrap .tab_area {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.tab_wrap .tab_area label {
  padding: 0 5px;
  text-align: center;
  font-size: 18px;
  cursor: pointer;
  letter-spacing: 0.25em;
  -webkit-transition: ease 0.2s opacity;
  -o-transition: ease 0.2s opacity;
  transition: ease 0.2s opacity;
  background-color: #ddd;
}
@media only screen and (max-width: 767px) {
  .tab_wrap .tab_area label {
    width: 49%;
    margin-left: 2%;
    font-size: 13px;
    background-color: #fff;
    margin-bottom: 7px;
  }
  .tab_wrap .tab_area label.tab1_label, .tab_wrap .tab_area label.tab3_label {
    margin-left: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .tab_wrap .tab_area label {
    width: 24.4%;
    margin-left: 0.8%;
    background-color: #ddd;
  }
  .tab_wrap .tab_area label.tab1_label {
    margin-left: 0;
  }
}
.tab_wrap .tab_area label p {
  padding: 15px;
  border-top: solid 2px transparent;
}
@media only screen and (max-width: 767px) {
  .tab_wrap .tab_area label p {
    border-top: solid 2px #ddd;
  }
}
.tab_wrap .tab_area label:hover {
  background-color: #fff;
}
.tab_wrap .panel_area {
  background: #fff;
}
@media print, screen and (max-width: 980px) {
  .tab_wrap .panel_area {
    padding: 30px 20px;
  }
}
@media print, screen and (min-width: 981px) {
  .tab_wrap .panel_area {
    padding: 70px;
  }
}
.tab_wrap .panel_area .tab_panel {
  display: none;
  max-width: 1200px;
  margin: 0 auto;
}
.tab_wrap .panel_area .tab_panel .bx-wrapper .bx-viewport {
  left: 0;
}
@media only screen and (max-width: 767px) {
  .tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a {
    width: 40px;
    height: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a {
    width: 50px;
    height: 50px;
  }
}
@media only screen and (max-width: 500px) {
  .tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a {
    top: 15%;
  }
}
@media print, screen and (min-width: 501px) and (max-width: 980px) {
  .tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a {
    top: 25%;
  }
}
.tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a.bx-prev {
  background: url(../images/common/left_arr.jpg) 50% 50% no-repeat;
  background-size: cover;
}
@media print, screen and (max-width: 980px) {
  .tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a.bx-prev {
    left: -12px;
  }
}
@media print, screen and (min-width: 981px) {
  .tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a.bx-prev {
    left: -60px;
  }
}
.tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a.bx-next {
  background: url(../images/common/right_arr.jpg) 50% 50% no-repeat;
  background-size: cover;
}
@media print, screen and (max-width: 980px) {
  .tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a.bx-next {
    right: -12px;
  }
}
@media print, screen and (min-width: 981px) {
  .tab_wrap .panel_area .tab_panel .bx-wrapper .bx-controls-direction a.bx-next {
    right: -60px;
  }
}
@media print, screen and (min-width: 981px) {
  .tab_wrap .panel_area .tab_panel ul li .slider_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .tab_wrap .panel_area .tab_panel ul li .slider_inner .txt_col {
    width: 52%;
  }
  .tab_wrap .panel_area .tab_panel ul li .slider_inner .img_col {
    width: 45%;
  }
}
.tab_wrap .panel_area .tab_panel ul li .img_col img {
  margin: auto;
}
@media only screen and (max-width: 980px) {
  .tab_wrap .panel_area .tab_panel ul li .img_col {
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 981px) {
  .tab_wrap .panel_area .tab_panel ul li .txt_col {
    padding-left: 15px;
  }
}
.tab_wrap .panel_area .tab_panel ul li .txt_col .sub_ttl {
  display: inline-block;
  border-top: double 4px #d5d5d5;
  border-bottom: double 4px #d5d5d5;
  font-size: 15px;
  padding: 7px 20px;
}
.tab_wrap .panel_area .tab_panel ul li .txt_col h3 {
  margin: 15px 0 20px;
}
.tab_wrap .panel_area .tab_panel ul li .txt_col h3 a {
  display: block;
  text-decoration: underline;
  font-size: 18px;
  font-weight: bold;
}
.tab_wrap .panel_area .tab_panel ul li .txt_col .txt {
  line-height: 2;
}
.tab_wrap .panel_area .tab_panel ul li .txt_col .btn_box {
  margin-top: 50px;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .tab_wrap .panel_area .tab_panel ul li .txt_col .btn_box {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media print, screen and (min-width: 768px) {
  .tab_wrap .panel_area .tab_panel ul li .txt_col .btn_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .tab_wrap .panel_area .tab_panel ul li .txt_col .btn_box a {
    max-width: 250px;
    width: 48%;
  }
  .tab_wrap .panel_area .tab_panel ul li .txt_col .btn_box a:first-of-type {
    margin-right: 10px;
  }
}
.tab_wrap .panel_area .tab_panel ul li .txt_col .btn_box a {
  display: block;
  background-color: #05000f;
  color: #fff;
  text-align: center;
  padding: 15px;
}
.tab_wrap .panel_area .tab_panel ul li .txt_col .btn_box a:nth-child(2) {
  background-color: #7e7154;
}
@media only screen and (max-width: 767px) {
  .tab_wrap .panel_area .tab_panel ul li .txt_col .btn_box a:first-of-type {
    margin-bottom: 20px;
  }
}
#tab1:checked~.tab_area .tab1_label {
  background-color: #fff;
}
#tab1:checked~.tab_area .tab1_label p {
  border-top: solid 2px #952121;
}
#tab1:checked~.panel_area #panel1 {
  display: block;
}
#tab2:checked~.tab_area .tab2_label {
  background-color: #fff;
}
#tab2:checked~.tab_area .tab2_label p {
  border-top: solid 2px #952121;
}
#tab2:checked~.panel_area #panel2 {
  display: block;
}
#tab3:checked~.tab_area .tab3_label {
  background-color: #fff;
}
#tab3:checked~.tab_area .tab3_label p {
  border-top: solid 2px #952121;
}
#tab3:checked~.panel_area #panel3 {
  display: block;
}
#tab4:checked~.tab_area .tab4_label {
  background-color: #fff;
}
#tab4:checked~.tab_area .tab4_label p {
  border-top: solid 2px #952121;
}
#tab4:checked~.panel_area #panel4 {
  display: block;
}
@-webkit-keyframes tabAnim {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tabAnim {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* page common --
--------------------------------------------------------------　*/

.coming_s {
  width: 100%;
  height: 600px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #fff url(../images/top/top_conceptright.png) bottom right no-repeat;
}
.coming_s p {
  text-align: center;
  font-size: 28px;
  font-family: "Playfair Display", serif;
}
@media only screen and (max-width: 767px) {
  .sp_w {
    overflow-x: scroll;
    white-space: nowrap;
  }
  .sp_w img {
    max-width: 700px;
    vertical-align: bottom;
    padding: 10px 15px;
  }
  .sp_w::-webkit-scrollbar {
    height: 10px;
  }
  .sp_w::-webkit-scrollbar-thumb {
    background: #999;
    border-radius: 5px;
  }
  .sp_w::-webkit-scrollbar-track-piece {
    background: #efefef;
  }
}
/* page access --
--------------------------------------------------------------　*/

.access_top {
  background: url(../images/access/access_bg01.png) 100% 0% no-repeat;
  background-size: auto 100%;
}
@media only screen and (max-width: 767px) {
  .access_top {
    padding-bottom: 50px;
    background: url(../images/access/access_bg01.png) 100% 0% repeat-y;
    background-size: auto 25%;
  }
}
@media print, screen and (min-width: 768px) {
  .access_top {
    background: url(../images/access/access_bg01.png) 100% 0% no-repeat;
    background-size: auto 100%;
    padding-bottom: 100px;
  }
}
.access_top .access_grt {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .access_top .access_grt {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .access_top .access_grt {
    padding: 50px 0;
  }
}
.access_top .access_grt h1 {
  font-size: 22px;
  margin-bottom: 30px;
  line-height: 1.85;
}
@media only screen and (max-width: 767px) {
  .access_top .access_grt h1 {
    font-size: 18px;
  }
}
.access_top .access_grt h1 span {
  font-size: 28px;
}
@media only screen and (max-width: 767px) {
  .access_top .access_grt h1 span {
    font-size: 22px;
  }
}
.access_top .access_grt p {
  font-size: 16px;
  line-height: 2;
}
.access_top .hotel_data {
  max-width: 1100px;
  margin: 50px auto 0;
}

.access_top .access-parking-note {
  margin-top: 15px;
}
.access_top .access-parking-note-text {
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
}

@media only screen and (max-width: 767px) {
  .access_top .hotel_data {
    width: 85%;
  }
}
.access_top .hotel_data li:first-of-type {
  background: url(../images/access/access_img.png) 50% 100% no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .access_top .hotel_data li:first-of-type {
    height: 250px;
  }
}
@media print, screen and (min-width: 768px) {
  .access_top .hotel_data li:first-of-type {
    height: 435px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .access_top .hotel_data li:first-of-type {
    width: 50%;
  }
}
@media print, screen and (min-width: 981px) {
  .access_top .hotel_data li:first-of-type {
    width: 58%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .access_top .hotel_data li:nth-child(2) {
    width: 50%;
  }
}
@media print, screen and (min-width: 981px) {
  .access_top .hotel_data li:nth-child(2) {
    width: 42%;
  }
}
@media print, screen and (min-width: 768px) {
  .access_top .hotel_data li:nth-child(2) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
@media print, screen and (min-width: 768px) {
  .access_top .hotel_data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.access_top .hotel_data .data_wrap {
  background-color: #211f19;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media print, screen and (max-width: 980px) {
  .access_top .hotel_data .data_wrap {
    padding: 30px;
  }
}
@media print, screen and (min-width: 981px) {
  .access_top .hotel_data .data_wrap {
    padding: 50px;
  }
}
.access_top .hotel_data .data_wrap .logo {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .access_top .hotel_data .data_wrap .logo {
    font-size: 25px;
  }
}
.access_top .hotel_data .data_wrap p {
  line-height: 1.8;
}
@media print, screen and (max-width: 980px) {
  .access_top .hotel_data .data_wrap p {
    font-size: 13px;
  }
}
.access_top .hotel_data .data_wrap p span {
  font-size: 14px;
  color: #b4a37e;
}
@media print, screen and (max-width: 980px) {
  .access_top .hotel_data .data_wrap p span {
    font-size: 12px;
  }
}
.access_top .hotel_data .data_wrap p.tel {
  margin-bottom: 20px;
}
.access_top .hotel_data .data_wrap p.tel a {
  color: #fff;
  display: inline-block;
  font-size: 28px;
}
@media only screen and (max-width: 767px) {
  .access_top .hotel_data .data_wrap p.tel a {
    font-size: 23px;
  }
}
@media only screen and (max-width: 767px) {
  .access_map {
    text-align: center;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1920px) {
  .access_map {
    background: url(../images/access/access_map.png) 70% 50% no-repeat;
    background-size: auto 100%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .access_map {
    height: 500px;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1380px) {
  .access_map {
    height: 700px;
  }
}
@media print, screen and (min-width: 1381px) {
  .access_map {
    height: 950px;
  }
}
@media print, screen and (min-width: 1921px) {
  .access_map {
    background: url(../images/access/access_map.png) 50% 50% no-repeat;
    background-size: cover;
  }
}
.access_map .icon_h2 {
  display: inline-block;
  background: url(../images/top/top_concept_icon.png) center top no-repeat;
  padding-top: 20px;
}
@media print, screen and (min-width: 768px) {
  .access_map .icon_h2 {
    margin-top: 85px;
  }
}
@media only screen and (max-width: 767px) {
  .access_map .icon_h2 {
    margin-bottom: 20px;
  }
}
.access_map .icon_h2 h2 {
  font-size: 35px;
  font-family: "Playfair Display", serif;
  letter-spacing: 5px;
}
@media only screen and (max-width: 767px) {
  .access_map .icon_h2 h2 {
    font-size: 28px;
  }
}
.access_map .icon_h2 p {
  text-align: center;
  color: #78797b;
}
.access_root {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .access_root {
    padding: 50px 15px;
    background: url(../images/access/accessmap_bg02.png) 0% 100% no-repeat;
    background-size: auto 38%;
  }
}
@media print, screen and (min-width: 768px) {
  .access_root {
    padding: 100px 0 150px;
    background: url(../images/access/accessmap_bg02.png) 0% 100% no-repeat;
  }
}
@media print, screen and (min-width: 981px) {
  .access_root:before {
    content: url(../images/access/accessmap_bg01.png);
    top: -27px;
    right: 0;
    position: absolute;
  }
}
.access_root ul li:not(:last-of-type) {
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  .access_root ul li:not(:last-of-type) {
    margin-bottom: 30px;
  }
}
.access_root .sd_h3 {
  padding: 23px 23px 23px 40px;
  position: relative;
  background-color: #e0ddd5;
}
@media only screen and (max-width: 767px) {
  .access_root .sd_h3 {
    padding: 20px;
  }
}
.access_root .sd_h3 h3 {
  font-size: 22px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .access_root .sd_h3 h3 {
    font-size: 16px;
  }
}
.access_root .sd_h3 h3:before {
  content: "";
  display: block;
  width: 10px;
  height: 2px;
  background-color: #952121;
  position: absolute;
  left: -23px;
  top: 15px;
}
@media only screen and (max-width: 767px) {
  .access_root .sd_h3 h3:before {
    width: 30px;
    left: -35px;
  }
}
.access_root .sd_h3 .arrow_btn {
  position: absolute;
  top: 25px;
  right: 25px;
}
@media only screen and (max-width: 767px) {
  .access_root .sd_h3 .arrow_btn {
    top: 17px;
    right: 15px;
  }
  .access_root .sd_h3 .arrow_btn img {
    width: 20px;
  }
}
.access_root .sd_h3.on .arrow_btn img {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.access_root .sd_content {
  padding: 40px;
  border: solid 1px #e0ddd5;
  background: url(../images/access/root_bg.jpg) 50% 50% no-repeat;
  background-size: cover;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .access_root .sd_content {
    padding: 20px 10px;
  }
}
.access_root .sd_content .sp_w {
  text-align: center;
  padding-bottom: 10px;
  border-bottom: solid 1px #d8d5cd;
}
.access_root .sd_content .sp_w .spview {
  text-align: left;
  font-weight: bold;
  font-size: 13px;
}
.access_root .sd_content .txt p {
  font-size: 13px;
  color: #626262;
  line-height: 1.8;
}
.access_root .sd_content dl {
  margin: 15px 0 25px;
}
.access_root .sd_content dl dt {
  font-size: 16px;
}
.access_root .sd_content dl dd a {
  display: inline-block;
  padding: 7px 20px 3px 0;
  text-decoration: underline;
  background: url(../images/common/link_icon.png) right 12px no-repeat;
}

/* 202210 駐車場情報更新：ここから */
.view_more.-parking {
  margin-top: 24px;
  text-align-last: left;
}
.view_more.-parking a {
  color: #8e7f64;
}
.view_more.-parking a::after {
  background: #8e7f64;
}
/* 202210 駐車場情報更新：ここまで */


/* page onsen --
--------------------------------------------------------------　*/

.onsen .onsen_ttl {
  text-align: center;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  .onsen .onsen_ttl {
    margin-bottom: 30px;
  }
}
.onsen .onsen_ttl h3 {
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .onsen .onsen_ttl h3 {
    font-size: 22px;
  }
}
@media print, screen and (min-width: 768px) {
  .onsen .onsen_ttl h3 {
    font-size: 30px;
  }
}
.onsen .onsen_ttl p {
  display: inline-block;
  background-color: #dbd3bc;
  padding: 3px 10px;
  margin-bottom: 7px;
}
@media print, screen and (min-width: 768px) {
  .onsen .onsen_ttl p {
    font-size: 15px;
  }
}
.onsen .inner {
  padding: 100px 15px;
}
@media only screen and (max-width: 767px) {
  .onsen .inner {
    padding: 50px 15px;
  }
}
.onsen .onsen_txt {
  padding: 30px 0;
}
@media only screen and (max-width: 767px) {
  .onsen .onsen_txt {
    padding: 20px 0;
  }
}
.onsen .onsen_txt dl.mb {
  margin-bottom: 15px;
}
.onsen .onsen_txt dt, .onsen .onsen_txt dd {
  text-align: center;
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  .onsen .onsen_txt dt, .onsen .onsen_txt dd {
    font-size: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .onsen_top {
    padding: 0 15px 50px;
    background: url(../images/onsen/onsen_bg01.png) top right no-repeat;
    background-size: 80% auto;
  }
}
@media print, screen and (min-width: 768px) {
  .onsen_top {
    padding: 0 15px 50px;
    background: url(../images/onsen/onsen_bg01.png) top right no-repeat;
  }
}
.onsen_top .ttl_txt {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .onsen_top .ttl_txt {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .onsen_top .ttl_txt {
    padding: 50px 0;
  }
}
.onsen_top .ttl_txt h3 {
  font-size: 22px;
  margin-bottom: 30px;
  line-height: 1.85;
}
@media only screen and (max-width: 767px) {
  .onsen_top .ttl_txt h3 {
    font-size: 18px;
  }
}
.onsen_top .ttl_txt h3 span {
  font-size: 28px;
}
@media only screen and (max-width: 767px) {
  .onsen_top .ttl_txt h3 span {
    font-size: 22px;
  }
}
.onsen_top .ttl_txt p {
  font-size: 16px;
  line-height: 2;
}
.onsen_top .ttl_txt p span {
  font-size: 14px;
  color: #876418;
}
.onsen_top .onsen_point li h4 {
  text-align: center;
  padding: 10px 0;
}
@media print, screen and (min-width: 768px) {
  .onsen_top .onsen_point li h4 {
    font-size: 20px;
  }
}
.onsen_top .onsen_point li p {
  font-size: 15px;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .onsen_top .onsen_point li {
    text-align: center;
  }
  .onsen_top .onsen_point li:not(:last-of-type) {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .onsen_top .onsen_point {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .onsen_top .onsen_point li {
    width: 31%;
  }
}
.daiyokujo_content {
  background: url(../images/onsen/onsen_bg02.jpg) 0 0 no-repeat;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .daiyokujo_content .inner {
    background: url(../images/onsen/tree02.png) 110% 5% no-repeat;
  }
}
@media print, screen and (min-width: 981px) {
  .daiyokujo_content .inner {
    background: url(../images/onsen/tree01.png) 0 111% no-repeat, url(../images/onsen/tree02.png) 100% 5% no-repeat;
  }
}
.daiyokujo_content .dyj_img li {
  position: relative;
}
.daiyokujo_content .dyj_img li p {
  color: #fff;
  position: absolute;
  bottom: 10px;
  right: 10px;
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .daiyokujo_content .dyj_img li p {
    font-size: 12px;
  }
}
.roten_content {
  background: url(../images/onsen/darkgray_bg.jpg) 0 0 no-repeat;
  background-size: cover;
}
@media print, screen and (min-width: 981px) {
  .roten_content .inner {
    background: url(../images/onsen/onsen_bg01.png) 100% 0 no-repeat;
    background-size: auto 100%;
  }
}
.roten_content .inner ul li .ttl {
  text-align: center;
  font-size: 50px;
  display: inline-block;
  padding: 10px 20px;
  position: relative;
  margin-top: -50px;
  background: url(../images/onsen/darkgray_bg.jpg) 0 0 no-repeat;
}
@media print, screen and (max-width: 1080px) {
  .roten_content .inner ul li .ttl {
    font-size: 32px;
  }
}
.roten_content .inner ul li:first-of-type .ttl {
  color: #684733;
  border-bottom: solid 1px #684733;
}
.roten_content .inner ul li:nth-child(2) .ttl {
  color: #444;
  border-bottom: solid 1px #444;
}
.roten_content .inner ul li:nth-child(3) .ttl {
  color: #1f532b;
  border-bottom: solid 1px #1f532b;
}
@media only screen and (max-width: 767px) {
  .roten_content .inner ul li {
    max-width: 480px;
    margin: 0 auto;
  }
  .roten_content .inner ul li:not(:last-of-type) {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .roten_content .inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .roten_content .inner ul li {
    width: 31%;
  }
}
@media print, screen and (min-width: 768px) {
  .foot_spa ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .foot_spa ul li:first-of-type {
    width: 48%;
  }
  .foot_spa ul li:last-of-type {
    width: 50%;
  }
}
.foot_spa ul li .a_inner {
  padding: 35px 0 0 30px;
  background: url(../images/onsen/subttl_bg02.png) 0 0 no-repeat;
}
@media only screen and (max-width: 767px) {
  .foot_spa ul li .a_inner {
    padding: 20px;
  }
}
.foot_spa ul li h3 {
  font-size: 25px;
}
@media only screen and (max-width: 767px) {
  .foot_spa ul li h3 {
    font-size: 22px;
  }
}
.foot_spa ul li .txt {
  padding: 20px 0;
}
.foot_spa ul li p {
  line-height: 1.8;
}
.foot_spa ul li p span {
  color: #876418;
  font-size: 14px;
}
.foot_spa ul li dl dt, .foot_spa ul li dl dd {
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  .foot_spa ul li dl dt, .foot_spa ul li dl dd {
    font-size: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .onsen_info {
    padding: 0 50px 50px 50px;
  }
}
.onsen_info .inner {
  background: url(../images/onsen/info_bg.png) 0 0 no-repeat;
  background-size: cover;
}
.onsen_info .inner .widewrap {
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .onsen_info .inner .widewrap {
    padding: 30px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .onsen_info .inner .widewrap {
    padding: 80px 10px;
  }
}
.onsen_info .inner .info_ttl {
  text-align: center;
  margin-bottom: 30px;
}
.onsen_info .inner .info_ttl h3 {
  font-size: 25px;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .onsen_info .inner .info_ttl h3 {
    font-size: 22px;
  }
}
.onsen_info .inner .info_ttl h3 span {
  font-size: 15px;
  color: #a4a4a4;
  font-family: "Playfair Display", serif;
}
.onsen_info .inner table {
  max-width: 1000px;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .onsen_info .inner table th, .onsen_info .inner table td {
    border-top: solid 1px #d5d5d5;
    border-bottom: solid 1px #d5d5d5;
    padding: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .onsen_info .inner table th, .onsen_info .inner table td {
    display: block;
    width: 100%;
    padding: 10px;
  }
}
.onsen_info .inner table th {
  border-bottom: solid 1px #d5d5d5;
}
@media print, screen and (min-width: 768px) {
  .onsen_info .inner table th {
    width: 150px;
  }
}
/* page restaurant --
--------------------------------------------------------------　*/

.restaurant_top {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .restaurant_top {
    padding: 0 15px 50px;
    background: url(../images/restaurant/restaurant_bg01.png) bottom left no-repeat;
    background-size: 80% auto;
  }
}
@media print, screen and (min-width: 768px) {
  .restaurant_top {
    padding-bottom: 100px;
  }
  .restaurant_top:before {
    content: url(../images/restaurant/restaurant_bg01.png);
    display: block;
    position: absolute;
    top: 40px;
    left: 0;
    z-index: 1;
  }
}
.restaurant_top .widewrap {
  position: relative;
  z-index: 2;
}
.restaurant_top .ttl_txt {
  text-align: center;
}
.restaurant_top .ttl_txt h3 {
  font-size: 22px;
  margin-bottom: 30px;
  line-height: 1.85;
}
.restaurant_top .ttl_txt h3 span {
  font-size: 28px;
}
.restaurant_top .ttl_txt p {
  font-size: 16px;
  line-height: 2;
}
.restaurant_top .ttl_txt p span {
  font-size: 14px;
  color: #876418;
}
@media only screen and (max-width: 767px) {
  .restaurant_top .ttl_txt {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .restaurant_top .ttl_txt {
    padding: 50px 0;
  }
}
@media only screen and (max-width: 767px) {
  .restaurant_top .ttl_txt h3 {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .restaurant_top .ttl_txt h3 span {
    font-size: 22px;
  }
}
.restaurant_top .restaurant_point li p {
  padding: 10px 0;
  font-size: 15px;
  line-height: 2;
}
.restaurant_top .restaurant_point li p span {
  color: #876418;
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .restaurant_top .restaurant_point li {
    text-align: center;
  }
  .restaurant_top .restaurant_point li:not(:last-of-type) {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .restaurant_top .restaurant_point {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .restaurant_top .restaurant_point li {
    width: 31%;
  }
}
.bf_content {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .bf_content.dinner {
    padding: 30px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .bf_content.dinner {
    padding: 0 50px 0 50px;
  }
}
@media only screen and (max-width: 767px) {
  .bf_content {
    padding: 30px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .bf_content {
    padding: 50px 50px 0 50px;
  }
}
.bf_content .inner {
  background-color: #f7f5f1;
}
@media only screen and (max-width: 767px) {
  .bf_content .inner {
    padding: 50px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .bf_content .inner {
    padding: 80px 15px;
  }
}
.bf_content h3 {
  font-size: 28px;
  padding-top: 20px;
  margin-bottom: 50px;
  background: url(../images/common/info_icon.png) top center no-repeat;
}
@media only screen and (max-width: 767px) {
  .bf_content h3 {
    font-size: 25px;
    margin-bottom: 30px;
  }
}
.bf_content .txt {
  line-height: 2;
}
.bf_content .buffet {
  background-color: #e9e5d9;
  max-width: 400px;
  margin: 30px auto 0;
}
.bf_content .buffet p {
  text-align: center;
  line-height: 1.8;
}
.bf_content .buffet p small {
  font-size: 13px;
}
.bf_content .buffet .buffet-note {
  padding-top: 15px;
  font-size: 13px;
}
.food_content {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .food_content {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .food_content {
    padding: 50px 0;
  }
}
@media only screen and (max-width: 767px) {
  .food_content.western_food {
    padding: 0 0 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .food_content.western_food {
    position: relative;
    padding: 0 0 100px 0;
  }
  .food_content.western_food:before {
    content: url(../images/restaurant/restaurant_bg02.png);
    display: block;
    position: absolute;
    bottom: -50px;
    right: 0;
    z-index: 1;
  }
  .food_content.western_food .f_img {
    position: relative;
    z-index: 2;
  }
}
.food_content h3 {
  font-size: 25px;
  padding: 30px;
  background: url(../images/restaurant/subttl_bg.png) bottom center no-repeat;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .food_content h3 {
    font-size: 20px;
  }
}
.food_content .f_img {
  margin: 50px 0;
}
@media only screen and (max-width: 767px) {
  .food_content .f_img {
    margin: 30px 0;
  }
}
@media only screen and (max-width: 767px) {
  .food_menu {
    padding: 50px 0px;
  }
}
@media print, screen and (min-width: 768px) {
  .food_menu {
    padding: 50px 0px 100px;
  }
}
.food_menu .food_wrap {
  border: solid 1px #e0ddd5;
}
.food_menu .food_wrap h4 {
  background-color: #e0ddd5;
  text-align: center;
  font-size: 18px;
  padding: 15px;
}
@media only screen and (max-width: 767px) {
  .food_menu .food_wrap h4 {
    font-size: 16px;
    padding: 10px;
  }
}
.food_menu .food_plus {
  background: url(../images/restaurant/plus.png) center center no-repeat;
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  .food_menu .food_plus {
    background-size: 30px;
  }
  .food_menu .food_plus li:first-of-type {
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .food_menu .food_plus {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .food_menu .food_plus li {
    width: 46%;
  }
}
@media print, screen and (min-width: 768px) {
  .main_memu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .main_memu li {
    width: 31%;
  }
  .main_memu li:nth-child(-n+3) {
    margin-bottom: 30px;
  }
}
.main_memu li {
  text-align: center;
}
.main_memu li p.imgttl {
  padding: 10px;
}
@media only screen and (max-width: 767px) {
  .main_memu li:not(:last-of-type) {
    margin-bottom: 30px;
  }
}
.main_memu li:last-of-type {
  text-align: left;
  line-height: 2;
}
@media print, screen and (min-width: 768px) {
  .main_memu li:last-of-type {
    font-size: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .special_menu {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .special_menu {
    padding: 0 50px 0 50px;
  }
}
.special_menu .sp_bg {
  background-color: #f7f5f1;
}
@media only screen and (max-width: 767px) {
  .special_menu .sp_bg {
    padding: 50px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .special_menu .sp_bg {
    padding: 100px 10px;
  }
}
.special_menu h3 {
  overflow: hidden;
  position: relative;
  font-size: 28px;
  text-align: center;
  margin-bottom: 50px;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .special_menu h3 {
    font-size: 25px;
  }
}
.special_menu h3 span {
  position: relative;
  display: inline-block;
  margin: 0 10px;
  padding: 0 1em;
}
@media only screen and (max-width: 767px) {
  .special_menu h3 span {
    padding: 0 10px;
  }
}
.special_menu h3 span:before, .special_menu h3 span:after {
  position: absolute;
  top: 50%;
  content: '';
  width: 400%;
  height: 1px;
  border-top: double 4px #afafaf;
}
.special_menu h3 span:before {
  right: 100%;
}
.special_menu h3 span:after {
  left: 100%;
}
@media only screen and (max-width: 767px) {
  .special_menu ul li:not(:last-of-type) {
    margin-bottom: 30px;
  }
}
.special_menu ul li h4 {
  font-size: 22px;
  padding: 15px 0;
}
.special_menu ul li .frame {
  padding: 20px;
  font-size: 15px;
  line-height: 2;
  border-left: solid 1px #afafaf;
  border-right: solid 1px #afafaf;
  background: url(../images/restaurant/frame_bg.png) left top no-repeat, url(../images/restaurant/frame_bg.png) left bottom no-repeat, url(../images/restaurant/frame_bg.png) right top no-repeat, url(../images/restaurant/frame_bg.png) right bottom no-repeat;
}
@media only screen and (max-width: 767px) {
  .special_menu ul li .frame {
    padding: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .special_menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .special_menu ul li {
    width: 46%;
    margin-bottom: 50px;
  }
}
/* page facilities --
--------------------------------------------------------------　*/

.floor_map {
  background: url(../images/facilities/facility_bg.png) 50% 100% no-repeat;
  padding: 50px 20px 80px 20px;
}
.floor_map .ttl_txt {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .floor_map .ttl_txt {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .floor_map .ttl_txt {
    padding: 50px 0;
  }
}
.floor_map .ttl_txt h3 {
  font-size: 22px;
  margin-bottom: 30px;
  line-height: 1.85;
}
@media only screen and (max-width: 767px) {
  .floor_map .ttl_txt h3 {
    font-size: 18px;
  }
}
.floor_map .ttl_txt h3 span {
  font-size: 28px;
}
@media only screen and (max-width: 767px) {
  .floor_map .ttl_txt h3 span {
    font-size: 22px;
  }
}
.floor_map .ttl_txt p {
  font-size: 16px;
  line-height: 2;
}
@media print, screen and (max-width: 980px) {
  .floor_map {
    padding: 50px 20px;
    background-size: 100% auto;
  }
}
.floor_map .floor_wrap {
  margin: 0 auto;
}
@media print, screen and (min-width: 981px) and (max-width: 1350px) {
  .floor_map .floor_wrap {
    max-width: 750px;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1350px) {
  .floor_map .floor_wrap {
    max-width: 970px;
  }
}
@media print, screen and (min-width: 1351px) {
  .floor_map .floor_wrap {
    max-width: 1320px;
  }
}
@media print, screen and (min-width: 981px) {
  .floor_map .floor_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .floor_map .floor_wrap .map_img {
    width: 34%;
    padding-top: 7px;
  }
  .floor_map .floor_wrap .slider_wrap {
    width: 66%;
  }
}
.floor_map .floor_wrap .map_img p {
  font-size: 20px;
  margin-bottom: 20px;
}
@media print, screen and (max-width: 980px) {
  .floor_map .floor_wrap .map_img {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .floor_map .floor_wrap .slider_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.floor_map .floor_wrap .slider_wrap .bx-wrapper .bx-viewport {
  left: 0;
}
.floor_map .floor_wrap .slider_wrap .bx-wrapper .bx-pager {
  text-align: left;
}
.floor_map .floor_wrap .slider_wrap .bx-wrapper .bx-pager.bx-default-pager a {
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  background-color: #d5d5d5;
}
.floor_map .floor_wrap .slider_wrap .bx-wrapper .bx-pager.bx-default-pager a.active {
  background-color: #000;
}
.floor_map .floor_wrap .slider_wrap .bx-wrapper .bx-controls-direction {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.floor_map .floor_wrap .slider_wrap .bx-wrapper .bx-controls-direction a {
  width: 40px;
  height: 40px;
  z-index: 999;
  position: relative;
  margin-top: 0;
}
.floor_map .floor_wrap .slider_wrap .bx-wrapper .bx-controls-direction a.bx-prev {
  left: auto;
  background: #000 url(../images/common/prev_btn.png) 50% 50% no-repeat;
}
@media print, screen and (min-width: 768px) {
  .floor_map .floor_wrap .slider_wrap .bx-wrapper .bx-controls-direction a.bx-prev:after {
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    top: 10px;
    right: 0;
    background-color: #fff;
    position: absolute;
  }
}
.floor_map .floor_wrap .slider_wrap .bx-wrapper .bx-controls-direction a.bx-next {
  right: 0;
  background: #000 url(../images/common/next_btn.png) 50% 50% no-repeat;
}
@media only screen and (max-width: 767px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb {
    max-width: 500px;
    margin: 0 auto 20px;
  }
}
@media print, screen and (min-width: 981px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb {
    margin-top: 50px;
  }
}
@media print, screen and (max-width: 980px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb .ta_ttl {
    display: inline-block;
    background-color: #000;
    padding: 5px 30px 5px 10px;
    color: #fff;
    position: relative;
  }
  .floor_map .floor_wrap .slider_wrap .custom-thumb .ta_ttl:after {
    position: absolute;
    content: '';
    right: -1px;
    top: -1px;
    width: 0;
    height: 0;
    border: none;
    border-left: solid 30px transparent;
    z-index: 1;
    border-top: solid 32px #fff;
  }
}
@media print, screen and (min-width: 981px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb .ta_ttl {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb {
    width: 42%;
  }
}
@media print, screen and (min-width: 981px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb {
    padding-left: 70px;
  }
}
.floor_map .floor_wrap .slider_wrap .custom-thumb dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media print, screen and (max-width: 980px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl {
    border-left: solid 1px #4d4d4d;
    border-right: solid 1px #4d4d4d;
    border-bottom: solid 1px #4d4d4d;
  }
}
@media print, screen and (max-width: 980px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl.nine {
    border-top: solid 1px #4d4d4d;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1350px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl.nine {
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 1351px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl.nine {
    margin-bottom: 135px;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1350px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl.three_eight {
    margin-bottom: 95px;
  }
}
@media print, screen and (min-width: 1351px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl.three_eight {
    margin-bottom: 150px;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1350px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl.two {
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 1351px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl.two {
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 980px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dt, .floor_map .floor_wrap .slider_wrap .custom-thumb dl dd {
    padding: 10px;
  }
}
@media print, screen and (max-width: 980px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dt {
    border-right: solid 1px #4d4d4d;
  }
}
@media print, screen and (max-width: 980px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dt {
    width: 18%;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1350px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dt {
    width: 25%;
  }
}
@media print, screen and (min-width: 1351px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dt {
    width: 15%;
  }
}
@media print, screen and (min-width: 981px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dt {
    position: relative;
  }
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dt:before {
    content: "";
    display: block;
    position: absolute;
    top: 10px;
    left: -70px;
    width: 65px;
    height: 1px;
    background-color: #000;
  }
}
@media print, screen and (max-width: 980px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dd {
    width: 80%;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1350px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dd {
    width: 75%;
    font-size: 13px;
  }
}
@media print, screen and (min-width: 1351px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dd {
    width: 82%;
    font-size: 15px;
  }
}
@media print, screen and (min-width: 981px) {
  .floor_map .floor_wrap .slider_wrap .custom-thumb dl dd {
    width: 82%;
  }
}
.floor_map .floor_wrap .slider_wrap .custom-thumb dl dd a {
  display: inline-block;
}
.floor_map .floor_wrap .slider_wrap .custom-thumb dl dd a span {
  text-decoration: underline;
}
.floor_map .floor_wrap .slider_wrap .custom-thumb dl dd a.spa {
  position: relative;
}
.floor_map .floor_wrap .slider_wrap .custom-thumb dl dd a.spa:before {
  content: url(../images/facilities/onsen_icn.png);
  padding-right: 5px;
}
@media only screen and (max-width: 767px) {
  .floor_map .floor_wrap .slider_wrap .slider_box {
    max-width: 500px;
    margin: auto;
  }
}
@media only screen and (max-width: 767px) {
  .floor_map .floor_wrap .slider_wrap .slider_box li img {
    margin: auto;
  }
}
.floor_map .floor_wrap .slider_wrap .slider_box .txt_box {
  background: url(../images/facilities/slider_bg.png) 50% 50% repeat;
  padding: 20px;
}
.floor_map .floor_wrap .slider_wrap .slider_box .txt_box h4 {
  text-align: center;
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .floor_map .floor_wrap .slider_wrap .slider_box .txt_box h4 {
    font-size: 20px;
  }
}
.floor_map .floor_wrap .slider_wrap .slider_box .txt_box p {
  line-height: 2;
}
@media print, screen and (min-width: 768px) {
  .floor_map .floor_wrap .slider_wrap .slider_box .txt_box p {
    font-size: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .floor_map .floor_wrap .slider_wrap .slider_box {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .museum_artisan {
    padding: 50px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .museum_artisan {
    padding: 80px 10px;
  }
}
.museum_artisan h3 {
  text-align: center;
  font-size: 50px;
  font-family: "Playfair Display", serif;
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  .museum_artisan h3 {
    font-size: 25px;
  }
}
.museum_artisan .flex_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.museum_artisan .flex_img li:nth-child(4) {
  line-height: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .museum_artisan .flex_img li:first-of-type, .museum_artisan .flex_img li:nth-child(4) {
    width: 100%;
  }
  .museum_artisan .flex_img li:nth-child(2) {
    width: 38%;
  }
  .museum_artisan .flex_img li:nth-child(3) {
    width: 62%;
  }
  .museum_artisan .flex_img li:nth-child(4) {
    margin-top: 30px;
  }
  .museum_artisan .flex_img li:nth-child(4) .txt {
    padding: 0 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .museum_artisan .flex_img li:first-of-type {
    width: 68%;
  }
  .museum_artisan .flex_img li:nth-child(2) {
    width: 28%;
  }
  .museum_artisan .flex_img li:nth-child(3) {
    width: 38%;
  }
  .museum_artisan .flex_img li:nth-child(4) {
    width: 58%;
  }
  .museum_artisan .flex_img li:nth-child(-n+2) {
    margin-bottom: 30px;
  }
}
.art_btm {
  background: url(../images/facilities/facilities_bg.jpg) 50% 50% no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .art_btm {
    padding: 50px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .art_btm {
    padding: 80px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .art_btm ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .art_btm ul li {
    width: 49%;
  }
}
@media only screen and (max-width: 767px) {
  .art_btm ul li:nth-child(2) {
    margin-top: 30px;
  }
}
.art_btm ul li:nth-child(2) .bx-wrapper .bx-viewport {
  background-color: transparent;
  left: 0;
}
.art_btm ul li:nth-child(2) .bx-wrapper .bx-controls-direction a {
  background: none;
}
.art_btm ul li:nth-child(2) .bx-wrapper .bx-controls-direction a.bx-next {
  width: 100px;
  height: 20px;
  bottom: 0;
  top: auto;
  background: url(../images/facilities/arr.png) 50% 50% no-repeat;
}
.art_btm ul li:nth-child(2) .artslider .art_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.art_btm ul li:nth-child(2) .artslider .art_col div {
  width: 31%;
}
.art_btm ul li:nth-child(2) .artslider .art_col div:nth-child(1) {
  margin-top: 100px;
}
@media only screen and (max-width: 767px) {
  .art_btm ul li:nth-child(2) .artslider .art_col div:nth-child(1) {
    margin-top: 50px;
  }
}
.art_btm ul li:nth-child(2) .artslider .art_col div:nth-child(2) {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .art_btm ul li:nth-child(2) .artslider .art_col div:nth-child(2) {
    margin-top: 25px;
  }
}
.art_btm ul li:nth-child(2) .artslider .art_col p {
  color: #fff;
  padding-top: 5px;
}
@media only screen and (max-width: 767px) {
  .art_btm ul li:nth-child(2) .artslider .art_col p {
    font-size: 12px;
  }
}
/* faq---------------------- */

.faq_link .ttl_txt {
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .faq_link .ttl_txt {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .faq_link .ttl_txt {
    padding: 50px 0;
  }
}
@media only screen and (max-width: 767px) {
  .faq_link ul {
    max-width: 300px;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 768px) {
  .faq_link ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .faq_link ul li {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    border-right: solid 1px #d5d5d5;
    padding: 0 5px;
  }
  .faq_link ul li:first-of-type {
    border-left: solid 1px #d5d5d5;
  }
  .faq_link ul li a {
    border-top: solid 2px transparent;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .faq_link ul li a:hover {
    border-top: solid 2px #000;
  }
}
.faq_link ul li {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .faq_link ul li:last-of-type a {
    border-bottom: solid 1px #ccc;
  }
}
.faq_link ul li a {
  padding: 10px;
  font-size: 14px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .faq_link ul li a {
    border-top: solid 1px #ccc;
    border-left: solid 1px #ccc;
    border-right: solid 1px #ccc;
  }
}
.faq_link ul li a:after {
  position: absolute;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #4d4d4d;
  border-right: 1px solid #4d4d4d;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  content: "";
}
@media only screen and (max-width: 767px) {
  .faq_link ul li a:after {
    top: 40%;
    right: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .faq_link ul li a:after {
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  .faq_link ul li a {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .faq_contents {
    padding: 25px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .faq_contents {
    padding: 45px 0;
  }
}
.faq_contents .faq_ttl {
  text-align: center;
  font-family: "Playfair Display", serif;
  background: url(../images/faq/faq_redicon.png) top center no-repeat;
  padding-top: 10px;
  margin-bottom: 50px;
}
.faq_contents .faq_ttl p {
  overflow: hidden;
  position: relative;
}
.faq_contents .faq_ttl p span {
  position: relative;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 1em;
  font-size: 30px;
}
@media only screen and (max-width: 767px) {
  .faq_contents .faq_ttl p span {
    font-size: 22px;
  }
}
.faq_contents .faq_ttl p span:before, .faq_contents .faq_ttl p span:after {
  position: absolute;
  top: 50%;
  content: '';
  width: 50px;
  height: 1px;
  background-color: #a8aaae;
}
.faq_contents .faq_ttl p span:before {
  right: 100%;
}
.faq_contents .faq_ttl p span:after {
  left: 100%;
}
.faq_contents .faq_ttl h3 {
  font-size: 25px;
}
@media only screen and (max-width: 767px) {
  .faq_contents .faq_ttl h3 {
    font-size: 18px;
  }
}
.faq_contents .faq_bg {
  background: url(../images/faq/gray_bg.png) 50% 50% repeat;
}
.faq_contents .slide_dwn {
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 19.4px 0.6px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 0px 19.4px 0.6px rgba(0, 0, 0, 0.05);
  margin-bottom: 30px;
}
.faq_contents .slide_dwn table th {
  font-family: "Playfair Display", serif;
}
@media only screen and (max-width: 767px) {
  .faq_contents .slide_dwn table th {
    font-size: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .faq_contents .slide_dwn table th {
    width: 35px;
    font-size: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .faq_contents .slide_dwn table td {
    font-size: 13px;
  }
}
@media print, screen and (min-width: 768px) {
  .faq_contents .slide_dwn table td {
    font-size: 18px;
  }
}
.faq_contents .slide_dwn .sd_ttl {
  padding: 20px;
  position: relative;
}
.faq_contents .slide_dwn .sd_ttl:hover {
    cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .faq_contents .slide_dwn .sd_ttl {
    padding: 12px;
  }
}
.faq_contents .slide_dwn .sd_ttl:before, .faq_contents .slide_dwn .sd_ttl:after {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  border-radius: 5px;
  background: #4d4d4d;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .faq_contents .slide_dwn .sd_ttl:before, .faq_contents .slide_dwn .sd_ttl:after {
    width: 15px;
    right: 10px;
  }
}
.faq_contents .slide_dwn .sd_ttl.on::after {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.faq_contents .slide_dwn .sd_ttl:after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.faq_contents .slide_dwn .sd_ttl table th {
  color: #aa8b49;
}
@media only screen and (max-width: 767px) {
  .faq_contents .slide_dwn .sd_ttl table td {
    padding-right: 20px;
  }
}
.faq_contents .slide_dwn .sd_content {
  padding-left: 30px;
  padding-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .faq_contents .slide_dwn .sd_content {
    padding-left: 20px;
    padding-bottom: 12px;
  }
}
.faq_contents .slide_dwn .sd_content .bd_inner {
  border-left: solid 1px #a8aaae;
  padding: 15px 20px;
}
@media only screen and (max-width: 767px) {
  .faq_contents .slide_dwn .sd_content .bd_inner {
    padding: 12px;
  }
}
.faq_contents .slide_dwn .sd_content table th {
  color: #952121;
}
.faq_contents .slide_dwn .sd_content table td a {
  text-decoration: underline;
}
/* sightseeing---------------------- */

.sightseeing_top {
  position: relative;
}
@media print, screen and (min-width: 1181px) {
  .sightseeing_top:before {
    content: url(../images/sightseeing/sight_bg.png);
    top: 100px;
    left: 0;
    z-index: 1;
    position: absolute;
  }
  .sightseeing_top:after {
    content: url(../images/sightseeing/sight_bg.png);
    bottom: -155px;
    right: 0;
    z-index: 1;
    position: absolute;
  }
}
.sightseeing_top .ttl_txt {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .sightseeing_top .ttl_txt {
    padding: 30px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .sightseeing_top .ttl_txt {
    position: relative;
    z-index: 2;
    padding: 80px 0;
  }
}
.sightseeing_top .ttl_txt h3 {
  font-size: 22px;
  margin-bottom: 30px;
  line-height: 1.85;
}

@media only screen and (max-width: 767px) {
  .sightseeing_top .ttl_txt h3 {
    font-size: 18px;
  }
}
.sightseeing_top .ttl_txt h3 span {
  font-size: 28px;
}
@media only screen and (max-width: 767px) {
  .sightseeing_top .ttl_txt h3 span {
    font-size: 22px;
  }
}
.sightseeing_top .ttl_txt p {
  font-size: 16px;
  line-height: 2;
}
.sightseeing_top .ttl_txt p span {
  font-size: 14px;
  color: #876418;
}
.sightseeing_top .sightseeing_msg {
  background: url(../images/sightseeing/calender_bg.png) 50% 50% no-repeat;
  background-size: cover;
  text-align: center;
}
@media only screen and (max-width: 980px) {
  .sightseeing_top .sightseeing_msg {
    padding: 50px 15px;
  }
}
@media print, screen and (min-width: 981px) {
  .sightseeing_top .sightseeing_msg {
    padding: 85px 30px;
  }
}
.sightseeing_top .sightseeing_msg .msg_ttl {
  position: relative;
  z-index: 2;
}
.sightseeing_top .sightseeing_msg .msg_ttl h4 {
  font-size: 25px;
  line-height: 2;
  letter-spacing: 0.15em;
}
.sightseeing_top .sightseeing_msg .msg_img {
  margin: 50px 0;
  position: relative;
  z-index: 2;
}
.sightseeing_top .sightseeing_msg .txt p {
  line-height: 2;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .ss_introduction {
    padding: 50px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .ss_introduction {
    padding: 80px 15px 120px;
  }
}
.ss_introduction h3 {
  font-size: 28px;
  text-align: center;
  margin-bottom: 45px;
  letter-spacing: 0.15em;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .ss_introduction h3 {
    font-size: 22px;
  }
}
@media only screen and (max-width: 767px) {
  .ss_introduction .img_col {
    text-align: center;
  }
}
@media print, screen and (min-width: 768px) {
  .ss_introduction .intro_img ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 80px;
  }
  .ss_introduction .intro_img ul li {
    width: 32%;
  }
}
.ss_introduction .intro_img ul li p {
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .ss_introduction .intro_img ul li {
    margin-bottom: 50px;
  }
}
.ss_introduction .intro_img h4 {
  font-size: 20px;
  text-align: center;
  padding: 15px 0;
}
.ss_introduction .intro_img h4 span {
  font-size: 14px;
}
@media print, screen and (min-width: 768px) {
  .ss_introduction .takayama_seasons ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .ss_introduction .takayama_seasons ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.ss_introduction .takayama_seasons ul li p {
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  .ss_introduction .takayama_seasons ul li {
    max-width: 350px;
    margin: 0 auto;
  }
  .ss_introduction .takayama_seasons ul li:not(:last-of-type) {
    margin: 0 auto 30px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .ss_introduction .takayama_seasons ul li {
    width: 48%;
  }
  .ss_introduction .takayama_seasons ul li:nth-child(-n+2) {
    margin-bottom: 30px;
  }
  .ss_introduction .takayama_seasons ul li .img_col {
    text-align: center;
  }
  .ss_introduction .takayama_seasons ul li .seasons_col {
    max-width: 350px;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 1201px) {
  .ss_introduction .takayama_seasons ul li {
    width: 24%;
  }
}
.ss_introduction .takayama_seasons ul li .seasons_col {
  position: relative;
}
.ss_introduction .takayama_seasons ul li .s_tag {
  text-align: center;
  width: 80px;
  position: absolute;
  top: -40px;
  left: 0;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .ss_introduction .takayama_seasons ul li .s_tag {
    top: -70px;
  }
}
.ss_introduction .takayama_seasons ul li .s_tag h4 {
  font-size: 40px;
  border-bottom: solid 1px;
  margin-bottom: 7px;
  padding: 10px 0;
}
@media only screen and (max-width: 767px) {
  .ss_introduction .takayama_seasons ul li .s_tag h4 {
    font-size: 30px;
    padding: 5px 0;
    margin-bottom: 5px;
  }
}
.ss_introduction .takayama_seasons ul li .s_tag p {
  font-size: 13px;
  font-family: "Playfair Display", serif;
}
.ss_introduction .takayama_seasons ul li:nth-child(1) .s_tag {
  color: #d68d84;
}
.ss_introduction .takayama_seasons ul li:nth-child(2) .s_tag {
  color: #5287a9;
}
.ss_introduction .takayama_seasons ul li:nth-child(3) .s_tag {
  color: #a63226;
}
.ss_introduction .takayama_seasons ul li:nth-child(4) .s_tag {
  color: #909090;
}
@media only screen and (max-width: 767px) {
  .ss_introduction .takayama_seasons ul li .seasons_txt {
    padding-top: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .ss_introduction .takayama_seasons ul li .seasons_txt {
    padding-top: 10px;
    padding-left: 95px;
  }
}
@media only screen and (max-width: 767px) {
  .ss_spot {
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .ss_spot {
    padding-bottom: 60px;
  }
}
.ss_spot .ss_ttl {
  background: url(../images/sightseeing/spotttl_bg.png) 50% 50% no-repeat;
  background-size: cover;
  text-align: center;
  padding: 25px 10px;
  position: relative;
}
.ss_spot .ss_ttl:before {
  content: "";
  display: block;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: auto;
  width: 2px;
  height: 30px;
  background-color: #952121;
}
.ss_spot .ss_ttl h3 {
  font-size: 30px;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .ss_spot .ss_ttl h3 {
    font-size: 23px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1080px) {
  .ss_spot .pickup_slider li {
    padding-top: 150px;
  }
}
@media print, screen and (min-width: 1081px) {
  .ss_spot .pickup_slider li {
    padding-top: 120px;
  }
}
.ss_spot .pickup_slider li .mainwrap {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .ss_spot .pickup_slider li .mainwrap>div.spview {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .ss_spot .pickup_slider li .pickup {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
  }
}
@media print, screen and (min-width: 768px) {
  .ss_spot .pickup_slider li .pickup {
    position: relative;
    margin-bottom: -2px;
  }
}
.ss_spot .pickup_slider li .pickup_bg {
  background: rgba(241, 241, 242, 0.9);
}
@media print, screen and (max-width: 1080px) {
  .ss_spot .pickup_slider li .pickup_bg {
    padding: 20px;
  }
}
@media print, screen and (min-width: 1081px) {
  .ss_spot .pickup_slider li .pickup_bg {
    padding: 80px 0 100px;
    max-width: 600px;
  }
}
.ss_spot .pickup_slider li .pickup_bg .pickup_inner {
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) and (max-width: 1080px) {
  .ss_spot .pickup_slider li .pickup_bg .pickup_inner {
    padding: 20px;
  }
}
@media print, screen and (min-width: 1081px) {
  .ss_spot .pickup_slider li .pickup_bg .pickup_inner {
    max-width: 410px;
  }
}
.ss_spot .pickup_slider li .pickup_bg p {
  line-height: 2;
}
.ss_spot .pickup_slider li .pickup_bg p.pickup_ttl {
  font-size: 30px;
  letter-spacing: 0.15em;
}
@media print, screen and (max-width: 1080px) {
  .ss_spot .pickup_slider li .pickup_bg p.pickup_ttl {
    font-size: 22px;
  }
}
.ss_spot .pickup_slider li .pickup_bg p.pickup_sub {
  font-size: 18px;
}
@media print, screen and (max-width: 1080px) {
  .ss_spot .pickup_slider li .pickup_bg p.pickup_sub {
    font-size: 15px;
    padding: 0 0 15px 0;
  }
}
@media print, screen and (min-width: 1081px) {
  .ss_spot .pickup_slider li .pickup_bg p.pickup_sub {
    padding: 35px 0 25px;
  }
}
.ss_spot .pickup_slider li .pickup_bg .txt p {
  font-size: 15px;
}
@media print, screen and (max-width: 1080px) {
  .ss_spot .pickup_slider li .pickup_bg .txt p {
    font-size: 13px;
  }
}
@media print, screen and (min-width: 768px) {
  .ss_spot .pickup_slider li.asaichi {
    background: url(../images/sightseeing/toho_slide01.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .ss_spot .pickup_slider li.min30 {
    background: url(../images/sightseeing/car30_slide01.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .ss_spot .pickup_slider li.min60 {
    background: url(../images/sightseeing/car60_slide01.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
}
.ss_spot .spot_list {
  padding: 65px 15px;
}
.ss_spot .spot_list.mainwrap {
  background: url(../images/sightseeing/calender_bg.png) 50% 50% no-repeat;
  background-size: cover;
}
.ss_spot .spot_list .spot_h4 {
  text-align: center;
  overflow: hidden;
  position: relative;
  margin-bottom: 30px;
}
.ss_spot .spot_list .spot_h4 h4 {
  font-size: 28px;
  position: relative;
  display: inline-block;
  margin: 0 15px;
  padding: 0 10px;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .ss_spot .spot_list .spot_h4 h4 {
    font-size: 20px;
  }
}
.ss_spot .spot_list .spot_h4 h4:before, .ss_spot .spot_list .spot_h4 h4:after {
  position: absolute;
  top: 50%;
  content: '';
  width: 400%;
  height: 1px;
  border-top: double 4px #afafaf;
}
.ss_spot .spot_list .spot_h4 h4:before {
  right: 100%;
}
.ss_spot .spot_list .spot_h4 h4:after {
  left: 100%;
}
.ss_spot .spot_list .spottxt {
  margin-bottom: 35px;
  text-align: center;
}
.ss_spot .spot_list .spottxt p {
  line-height: 2;
}
@media print, screen and (min-width: 768px) {
  .ss_spot .spot_list .ss_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .ss_spot .spot_list .ss_list li {
    width: 32.2%;
    margin-right: 1.7%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .ss_spot .spot_list .ss_list li:nth-child(3n) {
    margin-right: 0;
  }
}
.ss_spot .spot_list .ss_list li {
  max-width: 380px;
}
@media only screen and (max-width: 767px) {
  .ss_spot .spot_list .ss_list li {
    margin: 0 auto 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .ss_spot .spot_list .ss_list li {
    margin-bottom: 50px;
  }
}
.ss_spot .spot_list .ss_list li dl {
  padding: 18px;
  line-height: 1.4;
}
.ss_spot .spot_list .ss_list li dl dt {
  font-size: 20px;
  line-height: 1.8;
  position: relative;
  margin-bottom: 7px;
}
.ss_spot .spot_list .ss_list li dl dt:before {
  content: url(../images/faq/faq_redicon.png);
  position: absolute;
  top: -5px;
  left: -18px;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .ss_spot .spot_list .ss_list li dl dt {
    font-size: 18px;
  }
}
.ss_spot .spot_list .ss_list li dl dd {
  font-size: 14px;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .ss_spot .spot_list .ss_list li dl dd {
    font-size: 12px;
  }
}
.ss_spot .spot_list .ss_list li .txt {
  padding: 0 18px;
}
.ss_spot .spot_list .ss_list li .txt p {
  line-height: 1.8;
  font-size: 15px;
}
.ss_spot .spot_list .ss_list li .txt p span {
  color: #876418;
  font-size: 13px;
}
@media print, screen and (max-width: 980px) {
  .ss_spot .spot_list .ss_list li .txt p {
    font-size: 14px;
  }
}
.ss_spot .spot_list .ss_list li .link_map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 20px;
}
.ss_spot .spot_list .ss_list li .link_map a {
  font-size: 15px;
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: solid 2px #000;
  position: relative;
  padding: 7px;
  position: relative;
}
@media print, screen and (min-width: 1011px) {
  .ss_spot .spot_list .ss_list li .link_map a {
    padding: 7px 20px;
  }
}
.ss_spot .spot_list .ss_list li .link_map a:nth-child(2) {
  margin-left: 30px;
}
.ss_spot .spot_list .ss_list li .link_map a:after {
  content: url(../images/common/link_icon.png);
}
@media print, screen and (max-width: 1010px) {
  .ss_spot .spot_list .ss_list li .link_map a {
    font-size: 13px;
  }
  .ss_spot .spot_list .ss_list li .link_map a:nth-child(2) {
    margin-left: 15px;
  }
}
.ss_calender {
  position: relative;
}
@media only screen and (max-width: 980px) {
  .ss_calender {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 981px) {
  .ss_calender {
    padding: 0 50px 50px 50px;
  }
}
.ss_calender .calender_inner {
  background: url(../images/sightseeing/calender_bg.png) 50% 50% no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 980px) {
  .ss_calender .calender_inner {
    padding: 50px 15px;
  }
}
@media print, screen and (min-width: 981px) {
  .ss_calender .calender_inner {
    padding: 85px 30px;
  }
}
.ss_calender .calender_inner .calender_ttl {
  text-align: center;
  margin-bottom: 40px;
}
.ss_calender .calender_inner .calender_ttl h3 {
  font-size: 25px;
}
.ss_calender .calender_inner .calender_ttl p {
  font-size: 15px;
  color: #a4a4a4;
}
.ss_calender .calender_inner .event_content li {
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 19.4px 0.6px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 0px 19.4px 0.6px rgba(0, 0, 0, 0.05);
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .ss_calender .calender_inner .event_content li {
    padding: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .ss_calender .calender_inner .event_content li {
    padding: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.ss_calender .calender_inner .event_content li .month {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .ss_calender .calender_inner .event_content li .month {
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 981px) {
  .ss_calender .calender_inner .event_content li .month {
    width: 135px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .ss_calender .calender_inner .event_content li .month {
    width: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .ss_calender .calender_inner .event_content li .month p {
    font-size: 25px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .ss_calender .calender_inner .event_content li .month p {
    font-size: 20px;
  }
}
@media print, screen and (min-width: 981px) {
  .ss_calender .calender_inner .event_content li .month p {
    font-size: 30px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .ss_calender .calender_inner .event_content li .month p span {
    font-size: 45px;
  }
}
@media print, screen and (min-width: 981px) {
  .ss_calender .calender_inner .event_content li .month p span {
    font-size: 60px;
  }
}
@media print, screen and (min-width: 768px) {
  .ss_calender .calender_inner .event_content li .event_list {
    border-left: solid 1px #d5d5d5;
    padding: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .ss_calender .calender_inner .event_content li .event_list {
    width: calc(100% - 100px);
  }
}
@media print, screen and (min-width: 981px) {
  .ss_calender .calender_inner .event_content li .event_list {
    width: calc(100% - 135px);
  }
}
.ss_calender .calender_inner .event_content li .event_list p {
  padding-left: 25px;
  position: relative;
  font-size: 15px;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .ss_calender .calender_inner .event_content li .event_list p {
    font-size: 13px;
  }
}
.ss_calender .calender_inner .event_content li .event_list p a {
  text-decoration: underline;
}
.ss_calender .calender_inner .event_content li .event_list p:not(:last-of-type) {
  margin-bottom: 15px;
}
/* 周辺観光追加 */

@media only screen and (max-width: 767px) {
  .ss_spot .ss_ttl.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
  }
  .ss_spot .on .ss_ttl:after {
    top: 45%;
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
  }
  .ss_spot .ss_ttl {
    padding: 10px;
    position: relative;
  }
  .ss_spot .ss_ttl:after {
    content: "";
    position: absolute;
    top: 40%;
    right: 12px;
    width: 10px;
    height: 10px;
    border-bottom: 1px solid #666;
    border-right: 1px solid #666;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .ss_spot .ss_ttl h3 {
    font-size: 20px;
  }
}
/* --------------------------------------------------------------
// original common
// page underlalayer
// category underlalayer
// single page
-------------------------------------------------------------- */

/* gallery--------------------- */

@media only screen and (max-width: 767px) {
  .gallery_content {
    padding: 50px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .gallery_content {
    padding: 150px 15px 100px;
  }
}
.gallery_content .tab_wrap .tab_area {
  position: relative;
  margin: 0 auto -1px;
}
.gallery_content .tab_wrap .panel_area {
  border-top: solid 1px #ccc;
}
.gallery_content .tab_wrap .panel_area .tab_panel {
  max-width: 100%;
}
.gallery_content .tab_wrap .panel_area .photo_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.gallery_content .tab_wrap .panel_area .photo_list li {
  margin-right: 2%;
}
@media only screen and (max-width: 767px) {
  .gallery_content .tab_wrap .panel_area .photo_list li {
    width: 49%;
    margin-right: 2%;
  }
  .gallery_content .tab_wrap .panel_area .photo_list li:nth-child(2n) {
    margin-right: 0;
  }
}
@media print, screen and (max-width: 1480px) {
  .gallery_content .tab_wrap .panel_area .photo_list li {
    margin-bottom: 2%;
  }
}
@media print, screen and (min-width: 1481px) {
  .gallery_content .tab_wrap .panel_area .photo_list li {
    margin-bottom: 80px;
  }
}
@media print, screen and (min-width: 768px) {
  .gallery_content .tab_wrap .panel_area .photo_list li {
    width: 23.5%;
  }
  .gallery_content .tab_wrap .panel_area .photo_list li:nth-child(4n) {
    margin-right: 0;
  }
}
/* stayplan--------------------- */

@media only screen and (max-width: 767px) {
  .plan_wrap {
    padding: 50px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .plan_wrap {
    padding: 100px 15px;
  }
}
.stay_plan .planlist .link_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .stay_plan .planlist .link_area {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.stay_plan .planlist .link_area a {
  padding: 0 5px;
  text-align: center;
  font-size: 18px;
  cursor: pointer;
  display: block;
  letter-spacing: 0.25em;
  -webkit-transition: ease 0.2s opacity;
  -o-transition: ease 0.2s opacity;
  transition: ease 0.2s opacity;
  background-color: #ddd;
  padding: 15px;
  border-top: solid 2px transparent;
}
.stay_plan .planlist .link_area a.active {
  border-top: solid 2px #952121;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .stay_plan .planlist .link_area a {
    width: 49%;
    margin-left: 2%;
    font-size: 13px;
    background-color: #fff;
    margin-bottom: 7px;
    border-top: solid 2px #ddd;
  }
  .stay_plan .planlist .link_area a:nth-child(1), .stay_plan .planlist .link_area a:nth-child(3) {
    margin-left: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .stay_plan .planlist .link_area a {
    width: 24.4%;
    margin-left: 0.8%;
    background-color: #ddd;
  }
  .stay_plan .planlist .link_area a.tab1_label {
    margin-left: 0;
  }
}
@media print, screen and (max-width: 980px) {
  .stay_plan .planlist .plan_area {
    padding: 0;
  }
}
@media print, screen and (min-width: 981px) {
  .stay_plan .planlist .plan_area {
    padding: 0 70px 70px;
  }
}
@media only screen and (max-width: 767px) {
  .stay_plan .planlist .plan_area ul li {
    padding: 50px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .stay_plan .planlist .plan_area ul li {
    padding: 70px 50px;
  }
}
.stay_plan .planlist .plan_area ul li:nth-child(even) {
  background: url(../images/faq/gray_bg.png) 50% 50% no-repeat;
}
@media print, screen and (min-width: 981px) {
  .stay_plan .planlist .plan_area ul li .slider_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .stay_plan .planlist .plan_area ul li .slider_inner .txt_col {
    width: 52%;
  }
  .stay_plan .planlist .plan_area ul li .slider_inner .img_col {
    width: 45%;
  }
}
.stay_plan .planlist .plan_area ul li .img_col {
  text-align: center;
}
.stay_plan .planlist .plan_area ul li .img_col img {
  margin: auto;
}
@media only screen and (max-width: 980px) {
  .stay_plan .planlist .plan_area ul li .img_col {
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 981px) {
  .stay_plan .planlist .plan_area ul li .txt_col {
    padding-left: 15px;
  }
}
.stay_plan .planlist .plan_area ul li .txt_col .sub_ttl {
  display: inline-block;
  border-top: double 4px #d5d5d5;
  border-bottom: double 4px #d5d5d5;
  font-size: 15px;
  padding: 7px 20px;
}
.stay_plan .planlist .plan_area ul li .txt_col h3 {
  margin: 15px 0 20px;
}
.stay_plan .planlist .plan_area ul li .txt_col h3 a {
  display: block;
  text-decoration: underline;
  font-size: 18px;
  font-weight: bold;
}
.stay_plan .planlist .plan_area ul li .txt_col .txt {
  line-height: 2;
}
.stay_plan .planlist .plan_area ul li .txt_col .btn_box {
  margin-top: 50px;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .stay_plan .planlist .plan_area ul li .txt_col .btn_box {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media print, screen and (min-width: 768px) {
  .stay_plan .planlist .plan_area ul li .txt_col .btn_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .stay_plan .planlist .plan_area ul li .txt_col .btn_box a {
    max-width: 250px;
    width: 48%;
  }
  .stay_plan .planlist .plan_area ul li .txt_col .btn_box a:first-of-type {
    margin-right: 10px;
  }
}
.stay_plan .planlist .plan_area ul li .txt_col .btn_box a {
  display: block;
  background-color: #05000f;
  color: #fff;
  text-align: center;
  padding: 15px;
}
.stay_plan .planlist .plan_area ul li .txt_col .btn_box a:nth-child(2) {
  background-color: #7e7154;
}
@media only screen and (max-width: 767px) {
  .stay_plan .planlist .plan_area ul li .txt_col .btn_box a:first-of-type {
    margin-bottom: 20px;
  }
}
.plan_single {
  border-bottom: solid 1px #dddddd;
}
@media only screen and (max-width: 767px) {
  .plan_single {
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .plan_single {
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .plan_single .plan_inner {
    padding: 20px 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .plan_single .plan_inner {
    padding: 40px;
  }
}
.plan_single .ttl_wrap {
  border-top: solid 1px #dddddd;
  border-bottom: solid 1px #dddddd;
}
.plan_single .ttl_wrap .sub_ttl {
  display: inline-block;
  border-top: double 4px #d5d5d5;
  border-bottom: double 4px #d5d5d5;
  font-size: 15px;
  padding: 7px 20px;
}
.plan_single .ttl_wrap h3 {
  margin: 15px 0 0;
  font-size: 25px;
}
@media only screen and (max-width: 767px) {
  .plan_single .ttl_wrap h3 {
    font-size: 18px;
  }
}
@media print, screen and (min-width: 768px) {
  .plan_single .planDetail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .plan_single .planDetail .imgWrap {
    width: 35%;
  }
  .plan_single .planDetail .txtWrap {
    width: 60%;
  }
}
@media only screen and (max-width: 767px) {
  .plan_single .planDetail .imgWrap {
    margin-bottom: 30px;
  }
}
.plan_single .planDetail .imgWrap img:not(:first-child) {
  margin-top: 20px;
}
.plan_single .planDetail .txtWrap .txtContent p {
  margin-bottom: 1em;
}
@media print, screen and (min-width: 768px) {
  .plan_single .planDetail .txtWrap p {
    font-size: 15px;
  }
}
.plan_single .planDetail .txtWrap .txtOpt {
  background: #f4f4f9;
  padding: 18px 10px 0px 20px;
  margin-top: 20px;
  max-width: 500px;
}
.plan_single .planDetail .txtWrap .txtOpt dl {
  margin-bottom: 15px;
}
.plan_single .planDetail .txtWrap .txtOpt dl dt, .plan_single .planDetail .txtWrap .txtOpt dl dd {
  display: inline-block;
}
.plan_single .planDetail .txtWrap .stayplan-details-text {
  margin-top: 20px;
}
.plan_single .planDetail .txtWrap .stayplan-details-text__title {
  color: #7e7154;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  .plan_single .planDetail .txtWrap .stayplan-details-text__title {
    font-size: 17px;
  }
}
.plan_single .rsv_more a {
  display: block;
  background-color: #7e7154;
  color: #fff;
  text-align: center;
  padding: 15px;
  max-width: 250px;
  margin: 50px auto 0;
}
/* news---------------------- */

.post_wrap {
  max-width: 1200px;
}
@media only screen and (max-width: 767px) {
  .post_wrap {
    padding: 50px 15px;
  }
  .post_wrap .acv_left, .post_wrap .single_left {
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .post_wrap {
    padding: 100px 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: auto;
  }
  .post_wrap .acv_left, .post_wrap .single_left {
    width: 70%;
  }
  .post_wrap .acv_right {
    width: 24.5%;
  }
}
.post_wrap .acv_left ul li {
  border-bottom: solid 1px #ccc;
}
@media only screen and (max-width: 767px) {
  .post_wrap .acv_left ul li {
    padding: 15px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .post_wrap .acv_left ul li {
    padding: 30px 0;
  }
}
.post_wrap .acv_left ul li:first-of-type {
  border-top: solid 1px #ccc;
}
.post_wrap .acv_left ul li .post_data p.date {
  font-size: 14px;
  color: #78797b;
  margin-bottom: 7px;
}
.post_wrap .acv_left ul li .post_data p.title a:hover {
  opacity: 1;
  text-decoration: underline;
}
.post_wrap .acv_right {
  background: url(../images/news/news_bg.png) 50% 50% no-repeat;
  background-size: cover;
  padding: 20px;
}
@media print, screen and (min-width: 981px) {
  .post_wrap .acv_right {
    padding: 30px 25px 50px;
  }
}
.post_wrap .acv_right h3 {
  font-size: 18px;
}
.post_wrap .acv_right .acv_list {
  margin-bottom: 30px;
}
.post_wrap .acv_right .acv {
  border-left: solid 1px #a7a7a7;
  padding-left: 20px;
}
@media print, screen and (min-width: 981px) {
  .post_wrap .acv_right .acv {
    margin-left: 20px;
  }
}
.post_wrap .acv_right .acv li {
  position: relative;
  margin-bottom: 20px;
}
.post_wrap .acv_right .acv li:first-of-type {
  margin-top: 20px;
}
.post_wrap .acv_right .acv li:before {
  content: "";
  display: block;
  width: 16px;
  height: 1px;
  background-color: #a7a7a7;
  position: absolute;
  top: 10px;
  left: -20px;
}
.post_wrap .acv_right .acv li a {
  display: block;
  font-size: 15px;
}
.post_wrap .acv_right .acv li a:hover {
  opacity: 1;
  text-decoration: underline;
}
.post_wrap .acv_right .acv_month .sc_box {
  margin-top: 20px;
}
@media print, screen and (min-width: 981px) {
  .post_wrap .acv_right .acv_month .sc_box {
    margin-left: 20px;
  }
}
.post_wrap .acv_right .acv_month select {
  padding: 10px;
  font-size: 100%;
  background-color: #fff;
  border: solid 1px #a7a7a7;
  width: 100%;
}
.post_wrap .single_left .post_data {
  border-top: solid 1px #e0e0e0;
  border-bottom: solid 1px #e0e0e0;
}
.post_wrap .single_left .post_data .post_data p.date {
  font-size: 14px;
  margin-bottom: 20px;
  color: #78797b;
}
.post_wrap .single_left .post_data .post_data p.title {
  font-size: 25px;
  padding-bottom: 30px;
  margin-bottom: 35px;
  background: url(../images/faq/faq_redicon.png) bottom left no-repeat;
}
@media only screen and (max-width: 767px) {
  .post_wrap .single_left .post_data .post_data p.title {
    font-size: 18px;
  }
}
.post_wrap .single_left .post_data .post_data .contents p, .post_wrap .single_left .post_data .post_data .contents img {
  margin-bottom: 1em;
}
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 80px;
}
.pagination span, .pagination a {
  padding: 12px 10px;
}
.pagination .current_page {
  background-color: #333;
  color: #fff;
}
.pagination a {
  display: inline-block;
  -webkit-transition: .3s;
  -moz-transition: .3s;
  -o-transition: .3s;
  -ms-transition: .3s;
  transition: .3s;
  border-bottom: solid 1px #333;
  margin-left: 5px;
}
.pagination a:hover {
  background-color: #333;
  color: #fff;
  opacity: 1;
}
.pagination a.more {
  border-bottom: none;
}
.single_pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 80px;
}
.single_pager li.prev a:hover, .single_pager li.next a:hover {
  opacity: 1;
  text-decoration: underline;
}
.single_pager li.prev, .single_pager li.next {
  width: 35%;
}
.single_pager li.next {
  text-align: right;
}
.single_pager li.list {
  text-align: center;
}
.single_pager li.list a {
  background-color: #000;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .single_pager li.list a {
    width: 200px;
  }
}
.single_pager li a {
  display: block;
  padding: 15px;
  font-size: 14px;
  color: #333;
}
@media only screen and (max-width: 767px) {
  .single_pager li a {
    padding: 10px 7px;
    font-size: 12px;
  }
}
.stayplan .single_pager {
  max-width: 920px;
  margin: 80px auto 0;
}
/* page rooms --
--------------------------------------------------------------　*/

.rooms {
  position: relative;
}
.rooms .fixed_button {
  position: fixed;
  bottom: 20%;
  right: 0;
  z-index: 9999;
}
.rooms .fixed_button a {
  background-color: #7e7154;
  color: #fff;
  font-size: 18px;
  display: block;
  padding: 17px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-box-shadow: -1px 1px 5px 2px rgba(0, 0, 0, 0.3);
  box-shadow: -1px 1px 5px 2px rgba(0, 0, 0, 0.3);
}
@media only screen and (max-width: 767px) {
  .rooms .fixed_button a {
    font-size: 14px;
    padding: 12px;
  }
}
.rooms .ttl_txt {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .rooms .ttl_txt {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms .ttl_txt {
    padding: 50px 0;
  }
}
.rooms .ttl_txt h3 {
  font-size: 22px;
  margin-bottom: 30px;
  line-height: 1.85;
}
@media only screen and (max-width: 767px) {
  .rooms .ttl_txt h3 {
    font-size: 18px;
  }
}
.rooms .ttl_txt h3 span {
  font-size: 28px;
}
@media only screen and (max-width: 767px) {
  .rooms .ttl_txt h3 span {
    font-size: 22px;
  }
}
.rooms .ttl_txt p {
  font-size: 16px;
  line-height: 2;
}
.rooms .ttl_txt p span {
  font-size: 14px;
  color: #876418;
}
.rooms .movie {
  text-align: center;
  margin-bottom: 50px;
}
@media print, screen and (max-width: 850px) {
  .rooms .movie {
    width: 100%;
    position: relative;
    padding-top: 56.25%;
  }
  .rooms .movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
}
@media only screen and (max-width: 767px) {
  .room_type .rooms_top {
    background: none;
  }
}
.room_type .rooms_top:before {
  content: none;
}
.rooms_top {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .rooms_top {
    padding: 0 15px 50px;
    background: url(../images/rooms/room_bg01.png) bottom left no-repeat;
    background-size: 80% auto;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_top {
    padding-bottom: 100px;
  }
  .rooms_top:before {
    content: url(../images/rooms/room_bg01.png);
    display: block;
    position: absolute;
    top: 40px;
    left: 0;
    z-index: 1;
  }
}
.rooms_top .widewrap {
  position: relative;
  z-index: 2;
}
.rooms_top .rooms_point li p {
  padding: 10px 0;
  font-size: 15px;
  line-height: 2;
}
.rooms_top .rooms_point li p span {
  color: #876418;
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .rooms_top .rooms_point li {
    text-align: center;
  }
  .rooms_top .rooms_point li:not(:last-of-type) {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_top .rooms_point {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .rooms_top .rooms_point li {
    width: 31%;
  }
}
@media only screen and (max-width: 767px) {
  .rooms_link {
    padding: 45px 15px;
    background: url(../images/rooms/room_bg04.png) 0 0 no-repeat;
    background-size: cover;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_link {
    padding: 80px 15px 100px;
    background: url(../images/rooms/room_bg04.png) 100% 100% no-repeat;
    background-size: cover;
  }
}
.rooms_link .roomsonly {
  position: relative;
  z-index: 2;
}
.rooms_link h3 {
  font-size: 25px;
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 50px;
  background: url(../images/rooms/subttl_bg.png) bottom center no-repeat;
}
@media only screen and (max-width: 767px) {
  .rooms_link h3 {
    font-size: 18px;
  }
}
.rooms_link ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 768px) {
  .rooms_link ul {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.rooms_link ul li {
  width: 49.5%;
  margin-right: 1%;
}
.rooms_link ul li:nth-child(-n+4) {
  margin-bottom: 30px;
}
.rooms_link ul li:nth-child(2n) {
  margin-right: 0;
}
.rooms_link ul li a {
  display: block;
  max-width: 505px;
}
.rooms_link ul li a .r_ttl {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .rooms_link ul li a .r_ttl {
    padding: 10px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_link ul li a .r_ttl {
    padding: 15px 15px 15px 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_link ul li a .r_ttl:before {
    content: "";
    width: 1px;
    background-color: #a8aaae;
    position: absolute;
    top: -30px;
    left: 16px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .rooms_link ul li a .r_ttl:before {
    height: 120px;
  }
}
@media print, screen and (min-width: 981px) {
  .rooms_link ul li a .r_ttl:before {
    height: 145px;
  }
}
.rooms_link ul li a .r_ttl:after {
  content: url(../images/rooms/room_btn.png);
  display: block;
  position: absolute;
  top: 45%;
}
@media only screen and (max-width: 767px) {
  .rooms_link ul li a .r_ttl:after {
    right: 5px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_link ul li a .r_ttl:after {
    right: 20px;
  }
}
.rooms_link ul li a .r_ttl h4 {
  font-size: 15px;
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  .rooms_link ul li a .r_ttl h4 {
    font-size: 11px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .rooms_link ul li a .r_ttl h4 {
    font-size: 13px;
  }
}
.rooms_link ul li a .r_ttl h4 span {
  font-size: 30px;
  font-family: "Playfair Display", serif;
  color: #000;
}
@media only screen and (max-width: 767px) {
  .rooms_link ul li a .r_ttl h4 span {
    font-size: 15px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .rooms_link ul li a .r_ttl h4 span {
    font-size: 17px;
  }
}
@media print, screen and (min-width: 981px) and (max-width: 1140px) {
  .rooms_link ul li a .r_ttl h4 span {
    font-size: 25px;
  }
}
.rooms_link ul li a .r_ttl p {
  font-size: 15px;
}
@media print, screen and (max-width: 980px) {
  .rooms_link ul li a .r_ttl p {
    font-size: 12px;
  }
}
.rooms_laundry {
  background: url(../images/rooms/room_bg02.jpg) 0 0 no-repeat;
  background-size: cover;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .rooms_laundry {
    padding: 45px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_laundry {
    padding: 80px 15px 100px;
  }
}
.rooms_laundry .ttl_txt p span {
  color: #dead44;
}
@media only screen and (max-width: 767px) {
  .rooms_laundry ul li {
    text-align: center;
  }
  .rooms_laundry ul li:not(:last-of-type) {
    margin-bottom: 30px;
  }
}
.rooms_laundry ul li h4 {
  font-size: 20px;
  text-align: center;
  padding: 10px 0;
}
@media only screen and (max-width: 767px) {
  .rooms_laundry ul li h4 {
    font-size: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_laundry ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .rooms_laundry ul li {
    width: 31%;
  }
}
.rooms_laundry dl {
  max-width: 1000px;
  margin: 40px auto 0;
}
.rooms_laundry dl dt, .rooms_laundry dl dd {
  border: solid 1px #e0ddd5;
  text-align: center;
}
.rooms_laundry dl dt {
  background-color: #e0ddd5;
  color: #616469;
  font-size: 15px;
  font-weight: bold;
  padding: 10px;
}
.rooms_laundry dl dd {
  padding: 20px;
}
.rooms_laundry dl dd p {
  font-size: 14px;
  line-height: 2;
}
.rooms_laundry dl dd p.sub_ttl {
  font-size: 16px;
  margin-bottom: 15px;
}
.rooms_org {
  background: url(../images/rooms/room_bg03.png) 0% 100% no-repeat;
  background-size: 100% auto;
}
@media only screen and (max-width: 767px) {
  .rooms_org {
    padding: 45px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_org {
    padding: 80px 15px 130px;
  }
}
.rooms_org .icon_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 80px;
}
@media only screen and (max-width: 560px) {
  .rooms_org .icon_flex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 45px;
  }
}
.rooms_org .icon_flex li {
  text-align: center;
}
.rooms_org .icon_flex li:not(:first-of-type) {
  margin-left: 7px;
}
@media only screen and (max-width: 560px) {
  .rooms_org .icon_flex li {
    width: 30%;
    margin-bottom: 15px;
  }
}
.rooms_org .org_img {
  margin: 0 auto 80px;
  max-width: 1176px;
}
@media only screen and (max-width: 560px) {
  .rooms_org .org_img {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 560px) {
  .rooms_org .org_img li:first-of-type {
    margin-bottom: 2px;
  }
}
@media print, screen and (min-width: 561px) {
  .rooms_org .org_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .rooms_org .org_img li {
    width: 50%;
  }
  .rooms_org .org_img li:first-of-type {
    text-align: right;
    margin-right: 2px;
  }
}
@media only screen and (max-width: 767px) {
  .rooms_contents {
    padding: 50px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_contents {
    padding: 100px 50px;
  }
}
.rooms_contents .contents_wrap h3 {
  color: #78797b;
  text-align: center;
  margin-bottom: 50px;
  font-size: 16px;
}
@media print, screen and (min-width: 768px) {
  .rooms_contents .contents_wrap h3 {
    font-size: 18px;
  }
}
.rooms_contents .contents_wrap h3 span {
  color: #333;
  font-size: 25px;
}
@media print, screen and (min-width: 768px) {
  .rooms_contents .contents_wrap h3 span {
    font-size: 45px;
    font-family: "Playfair Display", serif;
  }
}
.rooms_contents .contents_wrap .rooms_parts {
  margin-bottom: 100px;
}
.rooms_contents .contents_wrap .rooms_parts.none {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .rooms_contents .contents_wrap .rooms_parts {
    margin-bottom: 50px;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_name {
  margin-bottom: 30px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* &.twin {
          li {
            @media print, screen and (min-width: 768px) and (max-width: 1020px) {
            width: 24%;
            margin-left: 1%;
            min-height: 58px;
            &:first-of-type, &:nth-child(5) {
              margin-left: 0;
            }
            &:nth-child(-n+4) {
              margin-bottom: 15px;
            }
          }
          @media print, screen and (min-width: 1021px) {
            width: 13.4%;
            margin-left: 1%;
            &:first-of-type {
              margin-left: 0;
            }
          }
          }
        } */
}
@media only screen and (max-width: 767px) {
  .rooms_contents .contents_wrap .rooms_parts .room_name {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_contents .contents_wrap .rooms_parts .room_name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_name li {
  min-height: 58px;
  margin-left: 1%;
  margin-bottom: 1%;
  width: 22%;
}
.rooms_contents .contents_wrap .rooms_parts .room_name li:first-of-type {
  margin-left: 0;
}
.rooms_contents .contents_wrap .rooms_parts .room_name li.selected a {
  background-color: #000;
  color: #fff;
}
.rooms_contents .contents_wrap .rooms_parts .room_name li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 14px;
  height: 100%;
  text-align: center;
  border: solid 1px;
  padding: 7px;
  -webkit-transition: .3s;
  -moz-transition: .3s;
  -o-transition: .3s;
  -ms-transition: .3s;
  transition: .3s;
}
.rooms_contents .contents_wrap .rooms_parts .room_name li a:hover {
  opacity: 1;
  background-color: #000;
  color: #fff;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap {
  background-color: #f7f5f1;
  padding: 30px 10px;
}
@media print, screen and (min-width: 981px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) {
  -webkit-animation-duration: 2.5s;
  -ms-animation-duration: 2.5s;
  animation-duration: 2.5s;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) {
    margin-bottom: 20px;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-viewport {
  left: 0;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-pager {
  text-align: left;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-pager.bx-default-pager a {
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  background-color: #d5d5d5;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-pager.bx-default-pager a.active {
  background-color: #000;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a {
  width: 40px;
  height: 40px;
  z-index: 999;
}
@media print, screen and (min-width: 768px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a {
    bottom: -40px;
    top: auto;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-prev {
  left: auto;
  background: #000 url(../images/common/prev_btn.png) 50% 50% no-repeat;
}
@media only screen and (max-width: 767px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-prev {
    left: -22px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-prev {
    right: 40px;
  }
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-prev:after {
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    top: 10px;
    right: 0;
    background-color: #fff;
    position: absolute;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-next {
  left: auto;
  background: #000 url(../images/common/next_btn.png) 50% 50% no-repeat;
}
@media only screen and (max-width: 767px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-next {
    right: -22px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) .bx-wrapper .bx-controls-direction a.bx-next {
    right: 0;
  }
}
@media print, screen and (max-width: 980px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 981px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(1) {
    width: 55%;
  }
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li:nth-child(2) {
    width: 40%;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rsv_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rsv_btn li.view_more {
  text-align: left;
  margin-right: 20px;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rsv_btn li.rsv {
  text-align: center;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rsv_btn li.rsv a {
  display: block;
  background-color: #000;
  color: #fff;
  padding: 12px;
}
@media print, screen and (min-width: 1221px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rsv_btn li.rsv a {
    width: 250px;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rooms_ttl {
  background: url(../images/rooms/twin/rooms_ttl_bg.png) top left no-repeat;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rooms_ttl {
    padding-left: 20px;
    padding-top: 18px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rooms_ttl {
    padding-left: 45px;
    padding-top: 15px;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rooms_ttl h4 {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rooms_ttl h4 {
    font-size: 14px;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rooms_ttl h4 span {
  font-size: 35px;
  font-family: "Playfair Display", serif;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .rooms_ttl h4 span {
    font-size: 25px;
  }
}
@media print, screen and (min-width: 768px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap {
    padding-left: 45px;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .rooms_data p {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .rooms_data p {
    font-size: 12px;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .rooms_data p.mt {
  margin-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .rooms_data p.mt {
    font-size: 20px;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .icon_col {
  margin: 20px 0 35px;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .icon_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .icon_flex li:not(:first-of-type) {
  margin-left: 7px;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .stay_item {
  margin: 30px 0;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .stay_item dt, .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .stay_item dd {
  color: #616469;
  border: solid 1px #e0ddd5;
  max-width: 250px;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .stay_item dt {
  font-size: 15px;
  background-color: #e0ddd5;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .stay_item dt a {
  position: relative;
  display: block;
  padding: 12px;
}
@media all and (-ms-high-contrast: none) {
  .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .stay_item dt a {
    padding: 15px 12px 9px 12px;
  }
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .stay_item dt a:before, .rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .stay_item dt a:after {
  content: '';
  display: block;
  width: 15px;
  height: 1px;
  background-color: #323232;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap .stay_item dt a:after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap p {
  line-height: 1.85;
}
.rooms_contents .contents_wrap .rooms_parts .room_wrap ul.js-room>li .inwrap p small {
  font-size: 13px;
  color: #876418;
}
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
}
.modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.modal__content {
  background: #fff;
  left: 50%;
  padding: 40px;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 60%;
  z-index: 99;
}
@media print, screen and (max-width: 980px) {
  .modal__content {
    width: 70%;
    padding: 30px;
    height: 80%;
    overflow-y: auto;
  }
}
.modal__content .close_btn {
  position: absolute;
  top: 15px;
  right: 15px;
}
.modal__content .js-modal-close {
  font-size: 30px;
  display: inline-block;
}
@media print, screen and (min-width: 768px) {
  .modal__content ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .modal__content ul li {
    width: 49%;
  }
}
@media only screen and (max-width: 767px) {
  .modal__content ul li:first-of-type {
    margin-bottom: 20px;
  }
}
.modal__content ul li p {
  color: #876418;
  font-size: 14px;
}
.modal__content ul li dl dt {
  padding: 10px 25px;
  background: url(../images/onsen/subttl_bg02.png) left bottom no-repeat;
}
@media print, screen and (min-width: 768px) {
  .modal__content ul li dl dt {
    font-size: 17px;
  }
}
.modal__content ul li dl dd {
  font-size: 14px;
  padding: 10px 0 10px 25px;
}
@media only screen and (max-width: 767px) {
  .modal__content ul li dl dd {
    padding: 10px;
  }
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}
/* page stay --
--------------------------------------------------------------　*/

.virus-baner__wrapper{background-color:#fff;padding:60px 30px;color:#fff}@media screen and (max-width: 559px){.virus-baner__wrapper{padding:0}}.virus-baner__wrapper .virus-baner__inner{background-image:url(/assets/img/home2020/virus-bnr-01.jpg);background-size:cover;background-repeat:no-repeat;max-width:1800px;margin:0 auto;text-align:center;background-position:center}@media screen and (max-width: 768px){.virus-baner__wrapper .virus-baner__inner{background-image:url(/assets/img/home2020/virus-bnr-01-sp.jpg)}}.virus-baner__wrapper .virus-baner__inner .virus-baner{padding:60px 15px}@media screen and (max-width: 559px){.virus-baner__wrapper .virus-baner__inner .virus-baner{padding:0}}@media screen and (max-width: 559px){.virus-baner__wrapper .virus-baner__inner{padding:50px 70px}}.virus-baner__wrapper .virus-baner__title{font-size:36px;margin-bottom:55px;font-family:"Yu Mincho", "YuMincho", serif}.virus-baner__wrapper .virus-baner__title .sp-br__2020{display:none}@media screen and (max-width: 559px){.virus-baner__wrapper .virus-baner__title{font-size:26px}.virus-baner__wrapper .virus-baner__title .sp-br__2020{display:block}}@media screen and (max-width: 559px){.virus-baner__wrapper .virus-baner__title{margin-bottom:35px}}@media screen and (max-width: 480px){.virus-baner__wrapper .virus-baner__title{font-size:20px;margin-bottom:25px}}.virus-baner__wrapper .virus-baner__txt{font-size:20px;margin-bottom:55px;line-height:1.8;font-family:"Yu Mincho", "YuMincho", serif}@media screen and (max-width: 559px){.virus-baner__wrapper .virus-baner__txt{font-size:18px;margin-bottom:35px}}@media screen and (max-width: 480px){.virus-baner__wrapper .virus-baner__txt{font-size:16px;margin-bottom:25px}}.virus-baner__wrapper .virus-baner__txt .sp-br__2020{display:none}@media screen and (max-width: 609px){.virus-baner__wrapper .virus-baner__txt .sp-br__2020{display:block}}.virus-baner__wrapper .virus-baner__txt .sp-br__2020__02{display:block}.virus-baner__wrapper .home-news__button{position:static;margin:0 auto;max-width:260px;padding-top:15px;padding-bottom:15px;border:1px solid #fff;width:100%;color:#FFF}.home-news__button{display:block;position:absolute;top:0;right:0;width:140px;padding-top:4px;padding-bottom:4px;border:1px solid rgba(255,255,255,0.4);text-align:center;text-decoration:none;color:#fff;-webkit-transition:0.32s color, 0.32s background-color;transition:0.32s color, 0.32s background-color;font-family:'Noto Sans JP', sans-serif}.home-news__button:hover{background:#fff;color:#252525;opacity:1;-webkit-transition:0.32s color, 0.32s background-color;transition:0.32s color, 0.32s background-color}.goto-baner__wrapper{background-color:#FFF;padding:0 30px 60px;color:#fff;text-align:center}@media screen and (max-width: 559px){.goto-baner__wrapper{padding:20px}}

/*
     FILE ARCHIVED ON 08:31:24 Jul 08, 2020 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 09:11:48 Sep 02, 2020.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  exclusion.robots: 0.191
  RedisCDXSource: 0.91
  captures_list: 266.64
  LoadShardBlock: 233.425 (3)
  PetaboxLoader3.datanode: 130.591 (4)
  load_resource: 122.509
  CDXLines.iter: 27.102 (3)
  esindex: 0.014
  PetaboxLoader3.resolve: 208.57 (2)
  exclusion.robots.policy: 0.177
*/



/* -------------------------------
// footer: フッター　：20220331全体に併せて改修
------------------------------- */
.l-sns-menu {
  background-color: #05000f;
  box-sizing: border-box;
  padding: 50px 80px;
  width: 100%;
}
@media (max-width: 1280px) {
  .l-sns-menu {
    padding-left: 6.25vw;
    padding-right: 6.25vw;
  }
}
@media (max-width: 768px) {
  .l-sns-menu {
    padding: 26px 30px;
  }
}
.l-sns-menu__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 4%;
  margin: auto;
  max-width: 1160px;
  padding: 0 8px;
  width: 100%;
}
.l-sns-menu__link {
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-sizing: border-box;
  color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1.2;
  transition: 0.3s;
  width: 48%;
  height: 92px;
}
@media (max-width: 768px) {
  .l-sns-menu__link {
    font-size: 14px;
    width: 100%;
    height: 69px;
  }
}
.l-sns-menu__link:hover {
  color: #fff;
}
.l-sns-menu__link i {
  font-size: 37px;
  margin-right: 12px;
}
@media (max-width: 768px) {
  .l-sns-menu__link i {
    font-size: 28px;
  }
}


.footer_top .mainwrap {
  color: #fff;
  max-width: 1160px;
}
footer {
  font-size: 16px;
  padding: 60px 80px 100px;
  width: 100%;
}
@media (max-width: 1280px){
  footer {
    padding-right: 6.25vw;
    padding-left: 6.25vw;
  }
}
@media (max-width: 768px){
  footer {
    font-size: 13px;
    padding: 45px 30px 55px;
  }
}
.footer_wrap {
  margin: auto;
  max-width: 1160px;
  width: 100%;
}

.l-footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /* gap: 8px 32px; */
  gap: 8px 24px;
  margin-bottom: 64px;
  width: 100%;
}
@media (max-width: 1280px) {
  .l-footer-nav {
    justify-content: start;
    gap: 15px 8px;
  }
}
@media (max-width: 768px) {
  .l-footer-nav {
    gap: 8px;
    margin-bottom: 48px;
  }
}
@media (max-width: 1280px) {
  .l-footer-nav__item {
    width: calc((100% - 16px) / 3);
  }
}
@media (max-width: 768px) {
  .l-footer-nav__item {
    width: calc((100% - 8px) / 2);
  }
}
.l-footer-nav__item--wrap {
  width: 100%;
}
@media (max-width: 1280px) {
  .l-footer-nav__item--wrap {
    display: none;
  }
}
.l-footer-nav__link {
  color: rgba(255, 255, 255, 0.8);
  transition: 0.3s;
}
/* .l-footer-nav__link:hover {
  color: #fff;
  text-decoration: underline;
} */

.l-footer-ttl01 {
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  display: block;
  padding: 15px 0;
  width: 100%;
}

.l-footer-hotels {
  margin-bottom: 80px;
  width: 100%;
}
@media (max-width: 768px) {
  .l-footer-hotels {
    margin-bottom: 48px;
  }
}
.l-footer-hotels__inner {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 40px 16px;
  width: 100%;
}
@media (max-width: 768px) {
  .l-footer-hotels__inner {
    gap: 40px 16px;
  }
}
@media (max-width: 480px) {
  .l-footer-hotels__inner {
    gap: 16px;
  }
}

.l-footer-area {
  width: calc((100% - 16px * 4) / 5);
}
@media (max-width: 768px) {
  .l-footer-area {
    width: calc((100% - 16px) / 2);
  }
}
@media (max-width: 480px) {
  .l-footer-area {
    width: 100%;
  }
}
.l-footer-area__ttl {
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  font-size: 13px;
  padding: 12px 0;
}
@media (max-width: 768px) {
  .l-footer-area__ttl {
    font-size: 13px;
  }
}

.l-footer-area-list {
  font-size: 13px;
  margin-top: 12px;
}
@media (max-width: 768px) {
  .l-footer-area-list {
    font-size: 12px;
  }
}
.l-footer-area-list__item {
  margin-bottom: 10px;
  padding-left: 12px;
  position: relative;
}
.l-footer-area-list__item::before {
  content: "";
  border-top: 1px solid #a19bad;
  border-right: 1px solid #a19bad;
  display: block;
  position: absolute;
  top: 8px;
  left: 0;
  transform: rotate(45deg);
  width: 5px;
  height: 5px;
}
.l-footer-area-list__link {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: 0.3s;
}
/* .l-footer-area-list__link:hover {
  color: #fff;
  text-decoration: underline;
} */

.l-footer-relation {
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .l-footer-relation {
    margin-bottom: 48px;
  }
}

@media (max-width: 768px) {
  .l-footer-banner__inner {
    margin: auto;
    width: 238px;
  }
}
.l-footer-banner__arrow {
  border-radius: 50%;
  cursor: pointer;
  outline: none;
  position: absolute;
  top: calc(50% - 30px);
  transition: 0.3s;
  width: 40px;
  height: 40px;
}
.l-footer-banner__arrow::before {
  content: "";
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  display: block;
  position: absolute;
  top: 11px;
  transition: 0.3s;
  width: 16px;
  height: 16px;
}
.l-footer-banner__arrow--prev {
  left: -40px;
}
.l-footer-banner__arrow--prev::before {
  left: 15px;
  transform: rotate(-135deg);
}
.l-footer-banner__arrow--next {
  right: -40px;
}
.l-footer-banner__arrow--next::before {
  right: 15px;
  transform: rotate(45deg);
}
.l-footer-banner__arrow:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.l-footer-banner__arrow:hover::before {
  border-color: #252525;
}
.l-footer-banner__dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 20px;
}
.l-footer-banner__dots li {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 5px;
  cursor: pointer;
  position: relative;
  transition: 0.3s;
  width: 10px;
  height: 10px;
}
.l-footer-banner__dots li button {
  display: none;
}
.l-footer-banner__dots li.slick-active {
  background-color: #fff;
}

.l-footer-banner-item {
  padding: 0 6px;
  width: 238px;
}
@media (max-width: 768px) {
  .l-footer-banner-item {
    padding: 0;
  }
}
.l-footer-banner-item img {
  max-width: 100%;
  height: auto;
}



/* -------------------------------
// 予約モジュール変更   ：20220331全体に併せて改修
------------------------------- */
.home-reservation {
  color: #fff;
  padding: 30px 20px;
}
.home-reservation #search-box-root {
  margin: auto;
  max-width: 1200px;
}



/* -------------------------------
// グローバルナビ変更   ：20220517
------------------------------- */
@media (max-width: 980px){
  header .gnav_wrap .main_nav .gnav--sub-harf {
    display: flex;
    flex-wrap: wrap;
  }
  header .gnav_wrap .main_nav .gnav--sub-harf li {
    width: 100%;
  }
  header .gnav_wrap .main_nav .gnav--sub-harf li.sp_harf {
    width: 50%;
  }
  header .gnav_wrap .main_nav .gnav--sub-harf li.sp_harf:nth-child(odd) {
    border-right: 1px solid #78797b;
  }
  header .gnav_wrap .main_nav .gnav--sub-harf li:nth-last-child(2) {
    border-bottom: 1px solid #78797b;
  }
  /* header .gnav_wrap .main_nav .gnav--sub-harf li.sp_harf a {
    font-size: 14px;
  } */
}



/* -------------------------------
// ファーストビューテキスト変更   ：20220517
------------------------------- */
.mv .mv_txt--nodate h1 {
  font-size: 45px;
  font-weight: 500;
  line-height: 1.8;
  text-shadow: 0 0 8px #333;
}
.mv .mv_txt--nodate small {
  font-size: 18px;
}
.mv .mv_txt--nodate p {
  text-shadow: 0 0 8px #333;
}
.mv .mv_txt--nodate p.optxt {
  font-size: 22px;
}
@media (max-width: 767px){
  .mv .mv_txt--nodate h1 {
    font-size: 36px;
  }
  .mv .mv_txt--nodate p:first-of-type small {
    font-size: 14px;
  }
  .mv .mv_txt--nodate p.optxt {
    font-size: 18px;
  }
}
@media (max-width: 560px){
  .mv .mv_txt--nodate h1 {
    font-size: 24px;
  }
  .mv .mv_txt--nodate p:first-of-type small {
    font-size: 12px;
  }
}



/* -------------------------------
// オススメ・特集     ：20220613
------------------------------- */
.c-top-slider-arrow {
  /* background-color: #686869; */
  /* border-radius: 50%; */
  cursor: pointer;
  /* opacity: 0; */
  outline: none;
  position: absolute;
  /* transition: background-color 0.3s, opacity 0.7s; */
  transition: opacity .2s ease-out;
  width: 40px;
  height: 40px;
  z-index: 1;
}
.c-top-slider-arrow:hover {
  /* background-color: #8e7f64; */
  opacity: .7;
}
/* .c-top-slider-arrow::before {
  content: "";
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  display: block;
  position: absolute;
  top: 11px;
  transition: 0.3s;
  width: 16px;
  height: 16px;
} */
.c-top-slider-arrow--prev {
  background: #000 url(../images/common/prev_btn.png) 50% 50% no-repeat;
  left: 0;
}
/* .c-top-slider-arrow--prev::before {
  left: 15px;
  transform: rotate(-135deg);
} */
.c-top-slider-arrow--next {
  background: #000 url(../images/common/next_btn.png) 50% 50% no-repeat;
  right: 0;
}
/* .c-top-slider-arrow--next::before {
  right: 15px;
  transform: rotate(45deg);
} */
@media (max-width: 768px) {
  .c-top-slider-arrow--prev {
    left: -20px;
  }
  .c-top-slider-arrow--next {
    right: -20px;
  }
}

.top_recommend {
  margin-top: 32px;
  margin-bottom: 40px;
}

.top-recommend-box {
  /* margin-right: -20px; */
  /* margin-left: -20px; */
  /* width: calc(100% + 40px); */
  width: 100%;
}
@media (max-width: 768px) {
  .top-recommend-box {
    margin: auto;
    max-width: 560px;
    width: calc(100% - 40px);
  }
}
.top-recommend-box--stick {
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  .top-recommend-box--stick {
    flex-direction: column;
    gap: 32px;
  }
}
.top-recommend-box__item {
  margin: 0 20px;
  max-width: 560px;
  width: 100%;
}
@media (max-width: 768px) {
  .top-recommend-box__item {
    margin: unset;
  }
}
.top-recommend-box__link {
  display: block;
}
.top-recommend-box__link img {
  max-width: 100%;
  transition: 0.3s;
  height: auto;
}
/* .top-recommend-box:hover .c-top-slider-arrow {
  opacity: 1;
}
@media (max-width: 768px) {
  .top-recommend-box:hover .c-top-slider-arrow {
    opacity: 0;
  }
} */
.top-recommend-box__arrow--prev, .top-recommend-box__arrow--next {
  top: calc(50% - 20px);
}



/* -------------------------------
//. 20220914 予約モジュール
------------------------------- */
.top-reservation {
  background-color: rgb(18, 18, 18);
  /* margin-top: 6px; */
  padding: 0 16px;
}
@media (max-width: 1024px) {
  .top-reservation {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
.top-reservation #search-box-root {
  margin: auto;
  max-width: 1200px;
}

/* -------------------------------
//. 20220924 静的重要なお知らせ（元：公式サイトのリニューアルに関するご案内）
------------------------------- */
.attention-board {
  background-color: #F2EFDF;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  margin-top: -52px;
  padding: 0 15px;
  width: 100%;
}
.attention-board__inner {
  margin: 32px 0;
  max-width: 1000px;
  text-align: center;
  width: 100%;
}
@media (max-width: 1024px) {
  .attention-board__inner {
    margin-top: 54px;
    margin-bottom: 54px;
  }
}
@media (max-width: 768px) {
  .attention-board__inner {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
.attention-board__heading {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 24px;
  position: relative;
}
@media (max-width: 640px) {
  .attention-board__heading {
    font-size: 20px;
  }
}
.attention-board__heading::after {
  content: "";
  background-color: #8e7f64;
  display: block;
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 2px;
}
.attention-board__list {
  display: none;
  margin-top: 24px;
  text-align: initial;
}
@media (max-width: 1024px) {
  .attention-board__list {
    margin-top: 32px;
  }
}
.attention-board__item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  position: relative;
}
.attention-board__item:first-child {
  margin-bottom: 32px;
}
.attention-board__item:first-child::after {
  content: "";
  background-color: #8e7f64;
  display: block;
  position: absolute;
  bottom: -16px;
  left: 0;
  width: 100%;
  height: 1px;
}
@media (max-width: 1024px) {
  .attention-board__item:first-child::after {
    content: none;
  }
}
.attention-board__txt {
  width: calc(100% - 348px);
}
@media (max-width: 1024px) {
  .attention-board__txt {
    width: 100%;
  }
}
.attention-board__ttl {
  display: inline-block;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 4px;
}
.attention-board__btn {
  max-width: 332px;
  width: 100%;
}
@media (max-width: 1024px) {
  .attention-board__btn {
    margin: auto;
  }
}
.attention-board__toggle {
  background-color: #101820;
  box-sizing: border-box;
  cursor: pointer;
  margin: 24px auto 0;
  padding: 8px;
  position: relative;
  width: 200px;
}
@media (max-width: 1024px) {
  .attention-board__toggle {
    max-width: 332px;
    width: 100%;
  }
}
@media (max-width: 640px) {
  .attention-board__toggle {
    margin: 8px auto;
  }
}
.attention-board__toggle span {
  color: #fff;
  padding-right: 24px;
  position: relative;
}
.attention-board__toggle span::after {
  content: "";
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  display: block;
  position: absolute;
  top: calc(50% - 6px);
  right: 0;
  transform: rotate(45deg);
  transition: transform 0.3s;
  width: 9px;
  height: 9px;
}
.attention-board__toggle.active span::after {
  transform: translateY(4px) rotate(-135deg);
}
.attention-board__toggle.-linked {
  display: block;
}
.attention-board__toggle.-linked span::after {
  top: calc(50% - 4px);
  transform: rotate(-45deg);
}
.attention-board__toggle.-linked:hover span::after {
  transform: translateX(4px) rotate(-45deg);
}
.attention-board .attention {
  color: #b33253;
}

.l-top-section.-attention-board {
  margin-bottom: -120px;
}
@media (max-width: 1024px) {
  .l-top-section.-attention-board {
    margin-bottom: -90px;
  }
}
@media (max-width: 768px) {
  .l-top-section.-attention-board {
    margin-bottom: -66px;
  }
}



/* -------------------------------
// 予約システム変更のお知らせ用
------------------------------- */
.c-br-sp-480 {
  display: none;
}
@media (max-width: 480px) {
  .c-br-sp-480 {
    display: block;
  }
}

.l-top-section {
  color: #686869;
  display: flex;
  font-size: 16px;
  line-height: 1.8;
  justify-content: center;
  width: 100%;
}
@media (max-width: 640px) {
  .l-top-section {
    font-size: 14px;
  }
}
.l-top-section--bg_gray {
  background-color: #f5f5f5;
}
.l-top-section__inner {
  box-sizing: border-box;
  margin: 120px 0;
  max-width: 1200px;
  padding: 0 20px;
  width: 100%;
}
@media (max-width: 1024px) {
  .l-top-section__inner {
    margin: 90px 0;
  }
}
@media (max-width: 768px) {
  .l-top-section__inner {
    margin: 66px 0;
  }
}

.c-list-disc li {
  list-style: disc;
  margin-left: 24px;
}

.c-top-btn03 {
  background-color: #8e7f64;
  box-sizing: border-box;
  color: #fff;
  display: block;
  padding: 10px 20px;
  position: relative;
  text-align: center;
  width: 100%;
}
.c-top-btn03::after {
  content: "";
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  display: block;
  position: absolute;
  top: calc(50% - 4px);
  right: 24px;
  transform: rotate(45deg);
  transition: transform 0.3s;
  width: 9px;
  height: 9px;
}
.c-top-btn03:hover {
  color: #fff;
}
.c-top-btn03:hover::after {
  transform: translateX(8px) rotate(45deg);
}
.c-top-btn03--alpha {
  background-color: #fff;
  border: 1px solid #8e7f64;
  color: #8e7f64;
}
.c-top-btn03--alpha::after {
  border-top-color: #8e7f64;
  border-right-color: #8e7f64;
}
.c-top-btn03--alpha:hover {
  color: #8e7f64;
}

.info-change-system {
  background-color: #F2EFDF;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  margin-top: -36px;
  margin-bottom: -60px;
  padding: 0 15px;
  width: 100%;
}
@media (max-width: 1024px) {
  .info-change-system {
    margin-bottom: -90px;
  }
}
@media (max-width: 768px) {
  .info-change-system {
    margin-bottom: -66px;
  }
}
.info-change-system__inner {
  margin: 32px 0;
  max-width: 1000px;
  text-align: center;
  width: 100%;
}
@media (max-width: 1024px) {
  .info-change-system__inner {
    margin-top: 54px;
    margin-bottom: 54px;
  }
}
@media (max-width: 768px) {
  .info-change-system__inner {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
.info-change-system__heading {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 24px;
  position: relative;
}
@media (max-width: 640px) {
  .info-change-system__heading {
    font-size: 20px;
  }
}
.info-change-system__heading::after {
  content: "";
  background-color: #8e7f64;
  display: block;
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 2px;
}
.info-change-system__list {
  display: none;
  margin-top: 24px;
  text-align: initial;
}
@media (max-width: 1024px) {
  .info-change-system__list {
    margin-top: 32px;
  }
}
.info-change-system__item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  position: relative;
}
.info-change-system__item:first-child {
  margin-bottom: 32px;
}
.info-change-system__item:first-child::after {
  content: "";
  background-color: #8e7f64;
  display: block;
  position: absolute;
  bottom: -16px;
  left: 0;
  width: 100%;
  height: 1px;
}
@media (max-width: 1024px) {
  .info-change-system__item:first-child::after {
    content: none;
  }
}
.info-change-system__txt {
  width: calc(100% - 348px);
}
@media (max-width: 1024px) {
  .info-change-system__txt {
    width: 100%;
  }
}
.info-change-system__ttl {
  display: inline-block;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 4px;
}
.info-change-system__btn {
  max-width: 332px;
  width: 100%;
}
@media (max-width: 1024px) {
  .info-change-system__btn {
    margin: auto;
  }
}
.info-change-system__toggle {
  background-color: #101820;
  box-sizing: border-box;
  cursor: pointer;
  margin: 24px auto 0;
  padding: 8px;
  position: relative;
  width: 200px;
}
@media (max-width: 1024px) {
  .info-change-system__toggle {
    max-width: 332px;
    width: 100%;
  }
}
@media (max-width: 640px) {
  .info-change-system__toggle {
    margin: 8px auto;
  }
}
.info-change-system__toggle span {
  color: #fff;
  padding-right: 24px;
  position: relative;
}
.info-change-system__toggle span::after {
  content: "";
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  display: block;
  position: absolute;
  top: calc(50% - 6px);
  right: 0;
  transform: rotate(45deg);
  transition: transform 0.3s;
  width: 9px;
  height: 9px;
}
.info-change-system__toggle.active span::after {
  transform: translateY(4px) rotate(-135deg);
}
.info-change-system .attention {
  color: #b33253;
}



/* -------------------------------
// ディープリンク設置
------------------------------- */
.app-box{
  background-color: #484848;
  box-sizing: border-box;
  display: none;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  letter-spacing: 0em;
  padding: 12px;
  /* position: fixed; */
  /* top: 0; */
  /* left: 0; */
  transition: opacity .3s, visibility .3s;
  width: 100%;
  /* z-index: 3; */
}
@media screen and (max-width: 768px){
  .app-box{
    display: flex;
  }
  .app-box.-scroll{
    opacity: 0;
    visibility: hidden;
  }
}

.app-box__icon{
  border-radius: 6px;
  overflow: hidden;
}
.app-box__title{
  color: #fff;
  font-weight: 500;
}
.app-box__install{
  background-color: #AC9977;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-weight: 500;
  margin-left: auto;
  padding: 5px 0 6px 0;
  text-align: center;
  text-decoration: none;
  width: 80px;
}
.app-box__open{
  background-color: #fff;
  border-radius: 3px;
  color: #666666;
  display: block;
  font-weight: 500;
  padding: 5px 0 6px 0;
  text-align: center;
  text-decoration: none;
  width: 80px;
}
@media screen and (max-width: 768px){
  header.-withapp{
    top: 56px;
  }
}

.link_btn {
  margin-top: 30px;
  text-align: center;
}
.link_btn a {
  background-color: #333;
  color: #fff;
  padding: 10px;
}

.refa {
  margin-top: 64px;
}
.refa-txt {
  text-align: center;
  font-size: 1.2rem;
}
.refa-imgs {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  margin: 40px auto;
  width: 60%;
}
@media screen and (max-width: 768px){
  .refa-txt {
    font-size: 1.1rem;
  }
  .refa-imgs {
    width: auto;
  }
}