@charset "utf-8";
/* ===================================================================
 File Name  : page.css
 Style Info : ページに関するスタイル指定
=================================================================== */

/*----------------------------------------------------
  トップページ index
--------------------------------------------------- */

/*ローディングアニメーション*/
.loading {
  width: 100vw;
  height: 100vh;
  transition: all 2s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}
.loading.is-active {
  opacity: 0;
  visibility: hidden;
}
.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 2s;
  background-color: #fff;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
}
.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

.loading-logo {
  position: absolute;
  left: calc(50% - 99px);
  top: calc(50% - 48px);
  transition: all 2s ease 0s;
}
.loading-logo::after {
  position: absolute;
  left: 100px;
  top: 14px;
  content: "";
  width: 330px;
  height: 319px;
  background: url("../img/common/hd_motif.png") 0 0 no-repeat;
}
.loading-animation.is-active .loading-logo {
  position: absolute;
  left: calc(50% - 99px);
  top: calc(50% - 48px);
}
.loading.is-active .loading-logo {
  top: 16px;
  left: 2.5%;
}
.loading-logo strong {
  display: block;
  text-align: center;
}
  @media screen and (max-width: 1023px) {
    .loading-logo {
      left: calc(50% - 24vw);
      top: calc(50% - 20vw);
    }
    .loading-logo::after {
        left: 18.66vw;
        top: 4.26vw;
        width: 44vw;
        height: 42.53vw;
        background-size: 44vw 42.53vw;
      }
    .loading-animation.is-active .loading-logo {
      left: calc(50% - 24vw);
      top: calc(50% - 20vw);
    }
    .loading.is-active .loading-logo {
      left: 3.73vw;
      top: 1.13vw;
    }
    .loading-logo strong {
      font-size: 2.66vw;
    }
    .loading-logo span img {
      width: 48vw;
      height: auto;
    }
  }

/*メインビジュアル*/
#mainVisual {
  position: relative;
  width: calc(100% - 100px);
}
  @media screen and (max-width: 1023px) {
    #mainVisual {
      width: 100%;
    }
  }

.main_slider {
  opacity: 0;
  transition: opacity 0.6s linear;
}
.main_slider.slick-initialized{
  opacity: 1;
}
.bs_ipad .main_slider_box figure {
  height: auto!important;
}

.main_slider_box figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mv_copy {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.main_slider_box h3 {
  writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl;
}
.main_slider_box h3 span {
  vertical-align: top;
  display: block;
  color: #fff;
  font-weight: 400;
  margin: 0 30px;
  font-size: 2.6rem;
  letter-spacing: 0.2em;
  text-shadow: 2px 2px 20px rgba(0, 0, 0, 1),-2px 2px 20px rgba(0, 0, 0, 1),2px -2px 20px rgba(0, 0, 0, 1),-2px -2px 20px rgba(0, 0, 0, 1);
}
  @media screen and (max-width: 1023px) {
    .main_slider_box figure {
      position: relative;
      height: 133.33vw!important;
    }
    .main_slider_box h3 span {
      margin: 0 7vw;
      font-size: 4.8vw;
      letter-spacing: 0.05em;
      text-shadow: 2px 2px 15px rgba(0, 0, 0, 1),-2px 2px 15px rgba(0, 0, 0, 1),2px -2px 15px rgba(0, 0, 0, 1),-2px -2px 15px rgba(0, 0, 0, 1);
    }
  }

.main_slider .slick-dots {
  text-align: left;
  bottom: 30px;
}
  @media screen and (max-width: 1023px) {
    .main_slider .slick-dots {
      bottom: 15.33vw;
      text-align: center;
    }
  }

/*メイン検索*/
.mv_search {
  position: absolute;
  left: 0;
  bottom: 30px;
  width: 100%;
  z-index: 10;
}
.mv_search_inner {
  width: 100%;
  padding-left: 100px;
}
.mv_search_box {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
  height: 80px;
  background: rgba(79,69,92,0.95);
  border-radius: 10px;
  align-items: center;
}
  @media screen and (max-width: 1440px) {
    .mv_search_inner {
      padding: 0 20px;
    }
    .mv_search_box {
      max-width: 100%;
    }
  }

.mv_search_logo {
  padding-left: 3.4%;
}
.mv_search_logo h4 {
  position: relative;
  color: #fff;
  padding-left: 28px;
  font-size: 1.5rem;
}
.mv_search_logo h4::before {
  position: absolute;
  left: 0;
  top: 0;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f002";
  font-weight: 600;
  color: #bba43f;
  font-size: 2rem;
  line-height: 1.1;
}
.mv_search_form {
  width: 83.8%;
}
  @media screen and (max-width: 1300px) {
    .mv_search_logo {
      padding-left: 0;
    }
    .mv_search_form {
      width: 88%;
    }
  }
  @media screen and (max-width: 1200px) {
    .mv_search_form {
      letter-spacing: 0.05em;
    }
    .mv_search_logo h4 {
      padding-left: 22px;
      font-size: 1.4rem;
    }
    .mv_search_logo h4::before {
      font-size: 1.8rem;
      line-height: 1.3;
    }
  }

.mv_search_form dl {
  display: flex;
  align-items: center;
}
.mv_search_form dt {
  margin-right: 15px;
}
  @media screen and (max-width: 1200px) {
    .mv_search_form dt {
      margin-right: 10px;
    }
  }

.mv_search_form .inbox_489ban:nth-child(2) {
  width: 30%;
  justify-content: space-between;
}
  @media screen and (max-width: 1200px) {
    .mv_search_form .inbox_489ban:nth-child(2) {
      width: 34.66%;
    }
  }

.mv_search_form select,
.mv_search_form input[type="date"] {
  font-size: 1.5rem;
  padding: 7px 28px 7px 0;
  margin-right: 5px;
}
.mv_search_form .stay_489ban select {
  margin-right: 0;
}
.mv_search_form .date_489ban dd label {
  font-size: 90%;
}
  @media screen and (max-width: 1023px) {
    .mv_search {
      display: none;
    }
  }

.mv_search_form input[type="checkbox"] {
  vertical-align: middle;
  margin-right: 3px;
  margin-bottom: 3px;
}


/*重要なお知らせ*/
#index_important {
  padding: 30px 0;
}
.index_important_box {
  background: #524E4D;
  border-radius: 10px;
  color: #fff;
  padding: 1px 25px;
  font-size: 1.5rem;
  align-items: center;
}
.index_important_box h2 {
  position: relative;
  width: 208px;
  padding: 3px 0 3px 30px;
}
.index_important_box h2 span {
  position: relative;
  display: inline-block;
  padding-left: 28px;
}
.index_important_box h2 span::before {
  position: absolute;
  left: 0;
  top: calc(50% - 10px);
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f06a";
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.1;
  color: #bba43f;
}
  @media screen and (max-width: 1023px) {
    #index_important {
      padding: 0;
      position: relative;
      top: -10.66vw;
    }
    .index_important_box {
      padding: 5vw 4.66vw 4vw;
      font-size: 3.73vw;
      align-items: center;
    }
    .index_important_box h2 {
      position: relative;
      width: 100%;
      padding: 0 0 2.66vw 0;
    }
    .index_important_box h2 span {
      position: relative;
      display: inline-block;
      padding-left: 7.4vw;
    }
    .index_important_box h2 span::before {
      top: calc(50% - 2.66vw);
      font-size: 5.33vw;
    }
  }

.info_sticker {
  width: calc(100% - 205px);
}
.info_sticker li {
  margin: 24px 0;
}
.info_sticker li a {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 0 40px;
  line-height: 2;
  color: #fff;
  text-decoration: none;
}
.info_sticker li a:hover {
  text-decoration: underline;
}
.info_sticker li a::before {
  position: absolute;
  right: 0;
  top: 0;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f061";
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.5;
  transition: all 0.2s ease-in-out 0s;
}
.info_sticker li a:hover::before {
  right: -3px;
}
.info_sticker li a::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 1px;
  height: 100%;
  background: #fff;
}
  @media screen and (max-width: 1023px) {
    .info_sticker {
      width: 100%;
    }
    .info_sticker li {
      opacity: 1!important;
      position: static!important;
      margin: 0;
    }
    .info_sticker li a {
      padding: 2vw 8vw 2vw 0;
      color: #fff;
      text-decoration: none;
      line-height: 1.9;
    }
    .info_sticker li a::before {
      font-size: 4.8vw;
      line-height: 1;
      top: calc(50% - 2.33vw);
      right: 0!important;
    }
    .info_sticker li a::after {
      width: 36vw;
      height: 1px;
    }
  }

.appeal_bnr_wrap {
  padding: 0 65px 40px;
}
.appeal_bnr_slider .slick-list {
  padding-top: 35px!important;
}
.appeal_bnr_slider .slick-arrow {
  position: absolute;
  top: 50%;
  cursor: pointer;
  transition: all 0.2s ease-in-out 0s;
}
.appeal_bnr_slider .slick-arrow:hover {
  opacity: 0.7;
}
.appeal_bnr_slider .slick-arrow.prev_btn {
  left: -65px;
}
.appeal_bnr_slider .slick-arrow.next_btn {
  right: -65px;
}
  @media screen and (max-width: 1023px) {
    .appeal_bnr_wrap {
      padding: 0 6vw 40px;
    }
    .appeal_bnr_slider .slick-list {
      padding-top: 4vw!important;
    }
    .appeal_bnr_slider .slick-arrow {
      top: 16.66vw;
    }
    .appeal_bnr_slider .slick-arrow img {
      width: 8vw;
      height: auto;
    }
    .appeal_bnr_slider .slick-arrow:hover {
      opacity: 1;
    }
    .appeal_bnr_slider .slick-arrow.prev_btn {
      left: -8vw;
    }
    .appeal_bnr_slider .slick-arrow.next_btn {
      right: -8vw;
    }
  }

.appeal_bnr_box {
  position: relative;
  display: block;
  padding: 0 30px;
  text-decoration: none;
  color: #000!important;
}
.appeal_bnr_box:hover {
  color: #999!important;
}
.appeal_bnr_box figure {
  box-shadow: 0px 1px 9px 1px rgba(0, 0, 0, 0.45);
  margin-bottom: 22px;
}
.appeal_bnr_box figure img {
  width: 100%;
  height: auto;
}
.appeal_bnr_txt {
  text-align: center;
  font-size: 1.5rem;
}
.appeal_bnr_txt h3 {
  margin-bottom: 5px;
}
.ico_appeal {
  position: absolute;
  left: 50px;
  top: -15px;
  min-width: 164px;
  padding: 3px 5px;
  color: #fff;
  background: #998634;
  display: inline-block;
  text-align: center;
  z-index: 2;
}
  @media screen and (max-width: 1023px) {
    .appeal_bnr_box {
      padding: 0 2vw;
    }
    .appeal_bnr_box figure {
      box-shadow: 0px 1px 4px 1px rgba(0, 0, 0, 0.4);
      margin-bottom: 4.26vw;
    }
    .appeal_bnr_txt {
      font-size: 3.73vw;
    }
    .appeal_bnr_txt h3 {
      margin-bottom: 0.8vw;
    }
    .ico_appeal {
      left: 6vw;
      top: -3.73vw;
      min-width: 42.4vw;
      padding: 0.33vw 4vw;
      font-size: 3.46vw;
    }
  }

#index_recommend {
  position: relative;
  overflow: hidden;
  background-color: #EAE8E1;
  padding: 40px 0;
}
#index_recommend::after {
  position: absolute;
  left: calc(50% + 250px);
  top: -65px;
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi01.png") 0 0 no-repeat;
}
#index_recommend dl {
  position: relative;
  z-index: 2;
  letter-spacing: 0.2em;
  font-size: 2.4rem;
  margin-bottom: 32px;
}
#index_recommend dt {
  align-items: flex-end;
  line-height: 1.2;
  margin-bottom: 10px;
}
#index_recommend dt span {
  display: inline-block;
  margin-left: 12px;
}
  @media screen and (max-width: 1023px) {
    #index_recommend {
      padding: 11.33vw 2.66vw;
    }
    #index_recommend::after {
      left: 14.66vw;
      top: 3.73vw;
      width: 75.33vw;
      height: 61.6vw;
      background-size: 75.33vw 61.6vw;
    }
    #index_recommend dl {
      font-size: 4.8vw;
      margin-bottom: 3.73vw;
    }
    #index_recommend dt {
      line-height: 1.2;
      margin-bottom: 2.33vw;
    }
    #index_recommend dt span {
      display: inline-block;
      margin-left: 2.33vw;
    }
    #index_recommend dt img {
      width: 36.53vw;
      height: auto;
    }
  }

.index_room_list_wrap {
  position: relative;
  padding-bottom: 3%;
}
.index_room_list_wrap::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 24%;
  background: #EAE8E1;
}
.index_room_list {
  position: relative;
  z-index: 5;
  padding: 0 1%;
}
.index_room_box {
  width: 25%;
  padding: 1%;
  text-decoration: none;
  color: #fff;
  height: 100%;
}
.index_room_box dl {
  position: relative;
  width: 100%;
  height: 100%;
}
.index_room_box dt {
  width: 100%;
  height: 100%;
}
.index_room_box dt .index_room_bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.index_room_box dd {
  opacity: 0;
  z-index: -1;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(82,78,77,0.95);
  min-height: 100%;
  transition: all 0.2s ease-in-out 0s;
  border-radius: 10px;
  padding: 6.5% 7%;
}
.index_room_box dd h3 {
  text-align: center;
  margin-bottom: 5.5%;
}
.index_room_box dd h3 span {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 5px
}
.index_room_box dd h3 strong {
  display: block;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 1.3;
  margin-bottom: 5px;
}
.index_room_box dd h3 small {
  display: block;
  font-size: 1.3rem;
  color: #bba43f;
}
.index_room_box dd p {
  text-align: left;
  line-height: 2;
  margin-bottom: 7%;
}
.index_room_box dd ul {
  width: 100%;
}
.index_room_box dd li {
  margin-bottom: 10px;
}
.index_room_box dd li:last-child {
  margin-bottom: 0;
}
.index_room_box dd li a {
  width: 100%;
}
  @media screen and (max-width: 1180px) {
    .index_room_box dd li a {
      font-size: 1.3rem;
      letter-spacing: 0.05rem;
    }
    .index_room_box dd li a::before {
      right: 10px;
    }
  }
  @media screen and (max-width: 1023px) {
    .index_room_list_wrap {
      padding-bottom: 0;
    }
    .index_room_list_wrap::after {
      display: none;
    }
    .index_room_list {
      padding: 0;
    }
    .index_room_box {
      width: 100%;
      padding: 0;
      margin-bottom: 2px;
    }
    .index_room_list:last-child .index_room_box:last-child {
      margin-bottom: 0;
    }
    .index_room_box dd {
      opacity: 1!important;
      z-index: 5;
      left: 3vw;
      top: 3vw;
      background: none;
      min-height: auto;
      border-radius: 0;
      padding: 0;
      text-shadow: 2px 2px 10px rgba(0, 0, 0, 1),-2px 2px 7px rgba(0, 0, 0, 1),2px -2px 7px rgba(0, 0, 0, 1),-2px -2px 7px rgba(0, 0, 0, 1),2px 2px 10px rgba(0, 0, 0, 1),-2px 2px 7px rgba(0, 0, 0, 1),2px -2px 7px rgba(0, 0, 0, 1),-2px -2px 7px rgba(0, 0, 0, 1);
    }
    .index_room_box dd h3 {
      display: inline-block;
      text-align: left;
      margin-bottom: 0;
    }
    .index_room_box dd h3 span {
      display: inline-block;
      font-size: 3.73vw;
      margin-bottom: 0;
      line-height: 1;
    }
    .index_room_box dd h3 strong {
      display: inline-block;
      font-size: 3.73vw;
      line-height: 1;
      margin-bottom: 0;
      margin-left: 3vw;
    }
    .index_room_box dd h3 small {
      display: none;
    }
    .index_room_box dd p {
      display: none;
    }
    .index_room_box dd ul {
      display: none;
    }
  }

.index_room_box:hover img {
  opacity: 1!important;
}
.index_room_box:hover dd {
  opacity: 1;
  z-index: 5;
}
.index_room_box:hover .index_room_bg img {
  border-radius: 10px;
}
  @media screen and (max-width: 1480px) {
    /*.index_room_box .fixItem {
      max-height: 360px!important;
    }*/
  }
  @media screen and (max-width: 1023px) {
    .index_room_box:hover .index_room_bg img {
      border-radius: 0;
    }
  }

.index_room_logo {
  position: absolute;
  left: 0;
  bottom: 3.5%;
  width: 100%;
  text-align: center;
}
  @media screen and (max-width: 1023px) {
    .index_room_logo {
      left: auto;
      right: 0;
      bottom: 0;
      width: auto;
      z-index: 5;
    }
    #index_room01 .index_room_logo img {
      width: 46.66vw;
      height: auto;
    }
    #index_room02 .index_room_logo img {
      width: 38.66vw;
      height: auto;
    }
    #index_room03 .index_room_logo img {
      width: 36.66vw;
      height: auto;
    }
    #index_room04 .index_room_logo img {
      width: 41.33vw;
      height: auto;
    }
    #index_room05 .index_room_logo img {
      width: 38.33vw;
      height: auto;
    }
    #index_room06 .index_room_logo img {
      width: 37.33vw;
      height: auto;
    }
    #index_room07 .index_room_logo img {
      width: 37vw;
      height: auto;
    }
    #index_room08 .index_room_logo img {
      width: 45.33vw;
      height: auto;
    }
    #index_room09 .index_room_logo img {
      width: 45.66vw;
      height: auto;
    }
    #index_room10 .index_room_logo img {
      width: 35.66vw;
      height: auto;
    }
    #index_room11 .index_room_logo img {
      width: 35.66vw;
      height: auto;
    }
  }

.index_ttl {
  margin-bottom: 28px;
}
.index_ttl strong {
  position: relative;
  font-weight: 400;
  font-size: 2.4rem;
  letter-spacing: 0.2em;
  display: block;
  padding-bottom: 8px;
  margin-bottom: 10px;
}
.index_ttl strong:first-letter {
  font-size: 3.4rem;
  font-weight: 600;
  margin-right: 3px;
}
.index_ttl strong::after {
  position: absolute;
  left: calc(50% - 300px);
  bottom: 0;
  content: "";
  width: 600px;
  height: 1px;
  background: #b1afaf;
}
.index_ttl span {
  display: block;
  font-size: 1.6rem;
  color: #524e4d;
}
  @media screen and (max-width: 1023px) {
    .index_ttl {
      margin-bottom: 7.4vw;
    }
    .index_ttl strong {
      font-size: 4.8vw;
      padding-bottom: 1.66vw;
      margin-bottom: 3vw;
    }
    .index_ttl strong:first-letter {
      font-size: 7.73vw;
      margin-right: 0.33vw;
    }
    .index_ttl strong::after {
      position: absolute;
      left: 0;
      width: 100%;
    }
    .index_ttl span {
      font-size: 3.73vw;
    }
  }

.index_lead {
  overflow: hidden;
  position: relative;
  padding: 90px 0 35px;
}
.index_lead::after {
  position: absolute;
  left: calc(50% - 500px);
  top: -130px;
  content: "";
  width: 330px;
  height: 319px;
  background: url("../img/common/bg/sumi02.png") 0 0 no-repeat;
}
  @media screen and (max-width: 1023px) {
    .index_lead {
      padding: 20vw 4vw 8vw;
    }
    .index_lead::after {
      left: -6vw;
      top: -19.66vw;
      width: 49.33vw;
      height: 47.73vw;
      background-size: 49.33vw 47.73vw;
    }
    .index_lead p {
      text-align: left;
    }
  }

.index_wine_img {
  margin: 15px 0 2%;
}
.index_wine_img img {
  width: 100%;
  height: auto;
  max-height: 600px;
  object-fit: cover;
}
.index_wine_box {
  max-width: 1600px;
  margin: 0 auto;
  padding-bottom: 60px;
}
.index_wine_gallery {
  width: 59.4%;
}
.index_wine_gallery figure {
  width: 50%;
  padding-right: 3.2%;
}
.index_wine_gallery figure img {
  width: 100%;
  object-fit: cover;
}
  @media screen and (max-width: 1023px) {
    .index_wine_img {
      margin: 0 0 2.66vw;
    }
    .index_wine_img img {
      max-height: auto;
    }
    .index_wine_box {
      padding-bottom: 10.66vw;
    }
    .index_wine_gallery {
      width: 100%;
      padding: 0 1.33vw;
      margin-bottom: 5.33vw;
    }
    .index_wine_gallery figure {
      padding: 0 1.33vw;
    }
  }

.index_wine_btn {
  position: relative;
  width: 38.7%;
  align-items: flex-end;
}
.index_wine_btn .index_wine_bg {
  position: absolute;
  left: 80px;
  top: -35px;
}
  @media screen and (max-width: 1300px) {
    .index_wine_btn .index_wine_bg {
      left: 5%;
      top: -12%;
    }
  }
.index_wine_btn li {
  margin-bottom: 20px;
}
.index_wine_btn li:last-child {
  margin-bottom: 0;
}
.index_wine_btn li a {
  display: block;
}
  @media screen and (max-width: 1023px) {
    .index_wine_btn {
      width: 100%;
      padding: 0 6vw;
    }
    .index_wine_btn .index_wine_bg {
      display: none;
    }
    .index_wine_btn li {
      margin-bottom: 3.73vw;
    }
  }

#index_spa {
  position: relative;
  padding: 60px 0 100px;
}
#index_spa::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 290px;
  background: #EAE8E1;
}
#index_spa::before {
  position: absolute;
  left: calc(50% + 220px);
  top: 10px;
  content: "";
  z-index: 1;
  width: 548px;
  height: 207px;
  background: url("../img/common/bg/wave01.png") 0 0 no-repeat;
}
  @media screen and (max-width: 1023px) {
    #index_spa {
      padding: 10.66vw 2.66vw;
    }
    #index_spa::after {
      height: 124.66vw;
    }
    #index_spa::before {
      left: 35vw;
      top: 64vw;
      width: 73.06vw;
      height: 27.59vw;
      background-size: 73.06vw 27.59vw;
    }
  }

.index_spa_wrap {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
}
.index_spa_img {
  position: absolute;
  z-index: 4;
  left: 0;
  top: 0;
  width: 50.6%;
  height: 100%;
}
.index_spa_img img {
  object-fit: cover;
  width: 100%;
  height: calc(100% - 85px);
}
.index_spa_box {
  position: relative;
  z-index: 5;
  width: 47.5%;
}
.index_spa_txt {
  max-width: 630px;
  padding: 50px 4%;
}
.index_spa_txt h2 {
  margin-bottom: 28px;
}
.index_spa_txt h2 strong {
  position: relative;
  font-weight: 400;
  font-size: 2.4rem;
  letter-spacing: 0.2em;
  display: block;
  padding-bottom: 8px;
  margin-bottom: 10px;
}
.index_spa_txt h2 strong:first-letter {
  font-size: 3.4rem;
  font-weight: 600;
  margin-right: 3px;
}
.index_spa_txt h2 strong::after {
  position: absolute;
  left: -150px;
  bottom: 0;
  content: "";
  width: 690px;
  height: 1px;
  background: #b1afaf;
}
.index_spa_txt h2 span {
  display: block;
  font-size: 1.6rem;
  color: #524e4d;
}
.index_spa_txt p {
  padding-right: 60px;
}
  @media screen and (max-width: 1023px) {
    .index_spa_img {
      position: relative;
      width: 100%;
      height: auto;
    }
    .index_spa_img img {
      height: 53.33vw;
    }
    .index_spa_box {
      width: 100%;
    }
    .index_spa_txt {
      max-width: 100%;
      padding: 8vw 0 0 0;
    }
    .index_spa_txt h2 {
      margin-bottom: 7.4vw;
      text-align: center;
    }
    .index_spa_txt h2 strong {
      font-size: 4.8vw;
      padding-bottom: 1.66vw;
      margin-bottom: 3vw;
    }
    .index_spa_txt h2 strong:first-letter {
      font-size: 7.73vw;
      margin-right: 0.33vw;
    }
    .index_spa_txt h2 strong::after {
      position: absolute;
      left: 0;
      width: 100%;
    }
    .index_spa_txt h2 span {
      font-size: 4vw;
    }
    .index_spa_txt p {
      padding: 0 2.66vw 8vw;
    }
  }

.index_spa_gallery figure {
  width: 50%;
  padding-right: 4%;
}
.index_spa_gallery figure img {
  width: 100%;
  object-fit: cover;
}
  @media screen and (max-width: 1023px) {
    .index_spa_gallery {
      margin-bottom: 5vw;
    }
    .index_spa_gallery figure {
      width: 50%;
      padding-right: 0;
    }
    .index_spa_gallery figure:first-child {
      padding-right: 1.33vw;
    }
    .index_spa_gallery figure:last-child {
      padding-left: 1.33vw;
    }
  }

.index_spa_btn {
  position: relative;
  z-index: 5;
  width: 50.6%;
  align-items: flex-end;
}
.index_spa_btn li a {
  display: block;
}
  @media screen and (max-width: 1023px) {
    .index_spa_btn {
      width: 100%;
      margin: 0 auto;
    }
    .index_spa_btn li a {
      margin: 0 auto;
    }
  }

#index_hakutai {
  background: url("../img/index/index_hakutai_bg.jpg") center center no-repeat;
}
.float_g {
  width: 100%;
  height: 680px;
  background-size: cover!important;
  align-items: center;
}
.float_g_box {
  width: 48%;
  color: #fff;
  padding-left: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
  @media screen and (max-width: 1200px) {
    .float_g_box {
      padding-left: 0;
    }
  }
  @media screen and (max-width: 1023px) {
    #index_hakutai {
      background: url("../img/index/index_hakutai_bg_sp.jpg") center center no-repeat;
    }
    .float_g {
      height: auto;
      padding: 13.66vw 3vw 10.66vw;
    }
    .float_g_box {
      width: 100%;
      margin-bottom: 10.66vw;
      padding: 0;
      display: block;
    }
  }

/*動画追記*/
.index_hakutai_mv {
  width: 50%;
}
.index_hakutai_mv video {
  width: 100%;
}
.index_hakutai_mv figure {
  height: 100%;
}
.index_hakutai_mv figure img {
  height: 100%;
  object-fit: cover;
}
  @media screen and (max-width: 1023px) {
    .index_hakutai_mv {
      width: 100%;
      padding: 0;
    }
    .index_hakutai_mv figure img {
      width: 100%;
      height: auto;
    }
  }
/*動画追記*/

.float_g_box h2 {
  margin-bottom: 28px;
}
.float_g_box h2 strong {
  position: relative;
  font-weight: 400;
  font-size: 2.4rem;
  letter-spacing: 0.2em;
  display: block;
  padding-bottom: 8px;
  margin-bottom: 10px;
}
.float_g_box h2 strong:first-letter {
  font-size: 3.4rem;
  font-weight: 600;
}
.float_g_box h2 strong::after {
  position: absolute;
  left: -30px;
  bottom: 0;
  content: "";
  width: 690px;
  height: 1px;
  background: #b1afaf;
}
.float_g_box h2 span {
  display: block;
  font-size: 1.6rem;
}
.float_g_txt {
  margin-bottom: 32px;
}
.float_g_wrap figure {
  width: 50%;
}
.float_g_wrap figure img {
  height: 100%;
  object-fit: cover;
}
  @media screen and (max-width: 1023px) {
    .float_g_box h2 {
      margin-bottom: 7.6vw;
      text-align: center;
      line-height: 1.7;
    }
    .float_g_box h2 strong {
      font-size: 4.8vw;
      padding-bottom: 3vw;
      margin-bottom: 2.66vw;
    }
    .float_g_box h2 strong:first-letter {
      font-size: 7.73vw;
      margin-right: 0.33vw;
    }
    .float_g_box h2 strong::after {
      position: absolute;
      left: 0;
      width: 100%;
    }
    .float_g_box h2 span {
      font-size: 4vw;
    }
    .float_g_txt {
      margin-bottom: 6.66vw;
    }
    .float_g_wrap figure {
      width: 100%;
      padding: 0 4vw;
    }
    .float_g_wrap figure img {
      width: 100%;
      height: auto;
    }
  }

#index_plan {
  position: relative;
  padding: 90px 0 80px;
}
#index_plan::after {
  position: absolute;
  left: calc(50% - 500px);
  top: -130px;
  content: "";
  width: 330px;
  height: 319px;
  background: url("../img/common/bg/sumi02.png") 0 0 no-repeat;
}
#index_plan .sub_ttl01 {
  margin-bottom: 38px;
}
#index_plan .tabMenu {
  border-bottom: solid 1px #B1AFAF;
  margin-bottom: 60px;
}
#index_plan .tabMenu li {
  font-size: 1.6rem;
  min-width: 180px;
  padding: 16px 0 12px;
  margin: 0 5%;
}
  @media screen and (max-width: 1023px) {
    #index_plan {
      padding: 20vw 0 10.66vw;
    }
    #index_plan::after {
      left: -6vw;
      top: -19.66vw;
      width: 49.33vw;
      height: 47.73vw;
      background-size: 49.33vw 47.73vw;
    }
    #index_plan .sub_ttl01 {
      margin-bottom: 8vw;
    }
    #index_plan .tabMenu {
      margin-bottom: 8vw;
      justify-content: space-between;
    }
    #index_plan .tabMenu li {
      font-size: 3.73vw;
      line-height: 1.7;
      min-width: auto;
      width: 32%;
      padding: 16px 0 2.66vw;
      margin: 0;
    }
  }

.plan_list {
  padding: 0 2.5%;
}
.plan_list .plan_box {
  display: block;
  width: calc(33.33% - 20px);
  color: #111;
  text-decoration: none;
  background: #fff;
  margin: 0 30px 40px 0;
}
.plan_list .plan_box:nth-child(3n) {
  margin-right: 0;
}
.plan_list .plan_box:hover {
  color: #666;
}
.plan_list figure img {
  width: 100%;
  height: auto;
}
.plan_txt {
  padding: 20px 10px 0;
  font-size: 1.5rem;
}
.plan_txt h3 {
  line-height: 2;
  margin-bottom: 5px;
}
.plan_price {
  text-align: right;
}
.plan_price span {
  display: inline-block;
  font-size: 2rem;
  margin-left: 3px;
  color: #a00;
}
.plan_price small {
  display: inline-block;
  font-size: 1.5rem;
}
#index_plan .tabInner {
  border-bottom: solid 1px #B1AFAF;
  padding-bottom: 10px;
  margin-bottom: 40px;
}
#index_plan .no_post {
  max-width: 80%;
  margin: 0 auto;
  text-align: center;
  padding: 80px 20px;
  margin-bottom: 50px;
  background: #f2f2f2;
}
  @media screen and (max-width: 1023px) {
    .plan_list {
      padding: 0 10.66vw;
    }
    .plan_list .plan_box {
      width: 100%;
      margin: 0;
    }
    .plan_txt {
      padding: 3vw 0 2vw;
      font-size: 3.73vw;
    }
    .plan_txt h3 {
      padding: 0 2vw 0.33vw;
      margin-bottom: 0;
    }
    .plan_price span {
      font-size: 4.8vw;
      margin-left: 0.33vw;
    }
    .plan_price small {
      font-size: 3.73vw;
    }
    #index_plan .tabInner {
      padding-bottom: 5vw;
      margin-bottom: 5.33vw;
    }
    #index_plan .no_post {
      max-width: 90%;
      padding: 16vw 4vw;
      margin-bottom: 3.33vw;
    }
    .plan_list .slick-arrow {
      position: absolute;
      top: 23.33vw;
      cursor: pointer;
      transition: all 0.2s ease-in-out 0s;
    }
    .plan_list .slick-arrow img {
      width: 8vw;
      height: auto;
    }
    .plan_list .slick-arrow:hover {
      opacity: 1;
    }
    .plan_list .slick-arrow.prev_btn {
      left: 0;
    }
    .plan_list .slick-arrow.next_btn {
      right: 0;
    }
  }

#index_info {
  position: relative;
  background: #EAE8E1;
  padding: 90px 20px;
}
#index_info::after {
  position: absolute;
  left: calc(50% + 250px);
  top: -65px;
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi01.png") 0 0 no-repeat;
}
.index_info_wrap {
  position: relative;
  z-index: 5;
}
#index_info .sub_ttl01 {
  margin-bottom: 33px;
}
  @media screen and (max-width: 1023px) {
    #index_info {
      padding: 14.66vw 5vw 10.66vw;
    }
    #index_info::after {
      left: 32vw;
      top: 2vw;
      width: 75.33vw;
      height: 61.6vw;
      background-size: 75.33vw 61.6vw;
    }
    #index_info .sub_ttl01 {
      text-align: center;
      margin-bottom: 8vw;
    }
  }

#index_news {
  width: 65%;
}
#index_news .tabMenu {
  margin-bottom: 35px;
}
.index_news_list {
  padding-bottom: 40px;
}
.index_news_list li {
  margin-bottom: 16px;
}
.index_news_list li a {
  text-decoration: none;
  color: #000;
}
.index_news_list li a time {
  display: block;
  font-size: 1.5rem;
  margin: 0 30px;
}
.index_news_list li a h4 {
  display: inline-block;
  padding-top: 4px;
  font-size: 1.5rem;
  text-decoration: underline;
}
.index_news_list li a:hover h4 {
  text-decoration: none;
}
.cat_box span {
  display: inline-block;
  background: #998634;
  color: #fff;
  text-align: center;
  min-width: 95px;
  padding: 2px 5px;
  line-height: 1.5;
  vertical-align: bottom;
}
  @media screen and (max-width: 1023px) {
    #index_news {
      width: 100%;
      margin-bottom: 7.33vw;
    }
    #index_news .tabMenu {
      margin-bottom: 1.33vw;
    }
    .index_news_list {
      padding: 0 1.2vw 3vw;
    }
    .index_news_list li {
      margin-bottom: 5.33vw;
    }
    .index_news_list li a time {
      display: inline-block;
      vertical-align: middle;
      font-size: 3.73vw;
      margin: 0 2.66vw;
    }
    .index_news_list li a h4 {
      display: inline-block;
      padding-top: 1vw;
      font-size: 3.73vw;
      line-height: 1.7;
      text-decoration: underline;
    }
    .index_news_list li a:hover h4 {
      text-decoration: none;
    }
    .cat_box {
      display: inline-block;
    }
    .cat_box span {
      min-width: 24vw;
      padding: 0.33vw 1.66vw;
      line-height: 1.5;
      vertical-align: middle;
    }
  }

#index_sns {
  width: 31.6%;
}
#index_sns .sub_ttl01 {
  padding-left: 25px;
}
#index_sns li {
  border: solid 1px #B1AFAF;
  margin-bottom: 20px;
}
#index_sns li a {
  text-decoration: none;
  color: #000;
  font-size: 1.5rem;
  height: 76px;
  padding: 0 45px;
  justify-content: flex-start;
  align-items: center;
}
#index_sns li a:hover {
  background: rgba(255,255,255,0.3);
}
#index_sns li a span {
  display: inline-block;
  margin-left: 18px;
}
  @media screen and (max-width: 1023px) {
    #index_sns {
      position: relative;
      width: 100%;
      padding: 14vw 0 5vw;
    }
    #index_sns::after {
      position: absolute;
      content: "";
      left: 27vw;
      top: 2vw;
      width: 75.33vw;
      height: 61.6vw;
      background: url("../img/common/bg/sumi01.png") 0 0 no-repeat;
      background-size: 75.33vw 61.6vw;
    }
    #index_sns .sub_ttl01 {
      position: relative;
      z-index: 2;
      padding-left: 0;
    }
    #index_sns ul {
      position: relative;
      z-index: 2;
      display: flex;
      justify-content: space-between;
    }
    #index_sns li {
      margin-bottom: 0;
      width: 31.5%;
    }
    #index_sns li a i img {
      width: 12.8vw;
      height: auto;
    }
    #index_sns li a {
      text-align: center;
      font-size: 3.73vw;
      height: auto;
      padding: 3.33vw;
      -webkit-display: block;
      -moz-display: block;
      -ms-display: block;
      -o-display: block;
      display: block;
    }
    #index_sns li a span {
      display: none;
    }
  }

#index_insta {
  padding: 80px 20px 90px;
}
#index_insta h2 {
  margin-bottom: 40px;
}
#index_insta h2 span {
  display: block;
  margin-bottom: 15px;
}
#index_insta h2 small a {
  text-decoration: none;
  display: inline-block;
  color: #000;
  font-size: 1.5rem;
}
#index_insta figure {
  position: relative;
}
#index_insta figure::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "WordPress\aプラグイン";
  white-space: pre;
  color: #fff;
  font-size: 3rem;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: rgba(0,0,0,0.6);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.2em;
}
#index_insta figure img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 1023px) {
    #index_insta {
      padding: 16vw 0 14.33vw;
      background: url("../img/common/bg/sumiya.png") -2.66vw 0 no-repeat;
      background-size: 66.13vw auto;
    }
    #index_insta h2 {
      margin-bottom: 10.66vw;
    }
    #index_insta h2 span {
      margin-bottom: 3.33vw;
    }
    #index_insta h2 span img {
      width: 33.6vw;
      height: auto;
    }
    #index_insta h2 small a {
      font-size: 3.46vw;
      letter-spacing: 0.1em;
    }
    #index_insta figure::before {
      font-size: 6vw;
      letter-spacing: 0.2em;
    }
  }

/*下層共通*/
.lower_lead {
  position: relative;
  text-align: center;
  padding-bottom: 55px;
}
.lower_lead::after {
  position: absolute;
  left: calc(50% + 250px);
  top: -145px;
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi04.png") 0 0 no-repeat;
}
.lower_lead h2 {
  font-size: 2.4rem;
  letter-spacing: 0.2em;
  margin-bottom: 40px;
  line-height: 1.9;
}
  @media screen and (max-width: 1023px) {
    .lower_lead {
      padding: 13.33vw 2vw 11.33vw;
    }
    .lower_lead::after {
      left: 32vw;
      top: -8vw;
      width: 75.33vw;
      height: 61.6vw;
      background-size: 75.33vw 61.6vw;
    }
    .lower_lead h2 {
      font-size: 4.8vw;
      margin-bottom: 9.33vw;
    }
  }

.cont_lead {
  position: relative;
  padding: 90px 0 55px;
  text-align: center;
}
.cont_lead::after {
  position: absolute;
  left: calc(50% - 500px);
  top: -110px;
  content: "";
  width: 264px;
  height: 255px;
  background: url("../img/common/bg/sumi02.png") 0 0 no-repeat;
  background-size: 264px 255px;
}
.cont_lead .sub_ttl01 {
  margin-bottom: 45px;
}
  @media screen and (max-width: 1023px) {
    .cont_lead {
      position: relative;
      padding: 18vw 2vw 9.33vw;
      text-align: center;
    }
    .cont_lead::after {
      left: -6vw;
      top: -19.66vw;
      width: 49.33vw;
      height: 47.73vw;
      background-size: 49.33vw 47.73vw;
    }
    .cont_lead .sub_ttl01 {
      margin-bottom: 8vw;
    }
  }

/*タイルギャラリー*/
.tile_gallery img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 1023px) {
    .tile_gallery {
      padding: 0 3vw;
    }
  }

.tile_gA {
  width: 51.7%;
}
.tile_gA figure {
  margin-bottom: 1.7%;
}
.tile_gA li {
  width: 49.2%;
}
  @media screen and (max-width: 1023px) {
    .tile_gA {
      width: 100%;
    }
    .tile_gA figure {
      margin-bottom: 2vw;
    }
    .tile_gA li {
      width: 49%;
      margin-bottom: 2vw;
    }
  }

.tile_gB {
  width: 47.5%;
}
.tile_gB figure:first-child {
  margin-bottom: 1.9%;
}
  @media screen and (max-width: 1023px) {
    .tile_gB {
      width: 100%;
    }
    .tile_gB figure:first-child {
      margin-bottom: 2vw;
    }
  }

.tile_gC figure {
  width: 73.75%;
}
.tile_gC ul {
  width: 25.4%;
}
.tile_gC li {
  margin-bottom: 3.3%;
}
.tile_gC li:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 1023px) {
    .tile_gC figure {
      width: 100%;
      margin-bottom: 2vw;
    }
    .tile_gC ul {
      width: 100%;
      display: flex;
      justify-content: space-between;
    }
    .tile_gC li {
      width: 49%;
      margin-bottom: 0;
    }
  }

.tile_gD {
  width: 62.9%;
}
.tile_gD figure {
  margin-bottom: 1.6%;
}
.tile_gD li {
  width: 49.24%;
}
  @media screen and (max-width: 1023px) {
    .tile_gD {
      width: 100%;
    }
    .tile_gD figure {
      margin-bottom: 2vw;
    }
    .tile_gD li {
      width: 49%;
      margin-bottom: 2vw;
    }
  }

.tile_gE {
  width: 36.2%;
}
.tile_gE figure:first-child {
  margin-bottom: 2.4%;
}
  @media screen and (max-width: 1023px) {
    .tile_gE {
      width: 100%;
    }
    .tile_gE figure:first-child {
      margin-bottom: 2vw;
    }
  }


/*下層ブログ表示*/
.page_post {
  position: relative;
  padding: 70px 0 60px;
  background: #EAE8E1;
}
.page_post::after {
  position: absolute;
  left: calc(50% + 250px);
  top: -60px;
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi01.png") 0 0 no-repeat;
}
.page_post .sub_ttl01 {
  margin-bottom: 50px;
}
.page_post_list {
  padding-left: 15px;
}
.post_list_box {
  width: 390px;
  display: block;
  text-decoration: none;
  color: #000!important;
  border-bottom: solid 1px #B1AFAF;
  padding: 0 15px 30px;
  margin-bottom: 40px;
}
.post_list_box figure {
  margin-bottom: 20px;
  transition: all 0.2s ease-in-out 0s;
}
.post_list_box figure img {
  width: 100%;
  height: auto;
}
.post_list_box:hover figure img {
  opacity: 1!important;
}
.post_list_txt {
  padding: 0 10px;
  transition: all 0.2s ease-in-out 0s;
}
.post_list_txt time {
  display: inline-block;
  vertical-align: bottom;
  background: #524E4D;
  color: #fff;
  line-height: 1.7;
  padding: 0 10px;
  margin-bottom: 8px;
}
.post_list_txt h4 {
  line-height: 1.9;
  font-size: 1.5rem;
}
.post_list_box:hover figure {
  opacity: 0.7;
}
.post_list_box:hover .post_list_txt {
  opacity: 0.7;
}
  @media screen and (max-width: 1240px) {
    .page_post_list {
      padding-left: 0;
    }
    .post_list_box {
      width: 33.33%;
    }
  }
  @media screen and (max-width: 1023px) {
    .page_post {
      padding: 13.33vw 0 10.66vw;
    }
    .page_post::after {
      left: 32vw;
      top: 3vw;
      width: 75.33vw;
      height: 61.6vw;
      background-size: 75.33vw 61.6vw;
    }
    .page_post .sub_ttl01 {
      margin-bottom: 9.33vw;
    }
    .post_list_box {
      width: 100%;
      padding: 0 9.33vw 5vw;
      margin-bottom: 5.33vw;
    }
    .post_list_box figure {
      margin-bottom: 4vw;
    }
    .post_list_txt {
      padding: 0;
    }
    .post_list_txt time {
      padding: 0 2.66vw;
      margin-bottom: 2vw;
    }
    .post_list_txt h4 {
      line-height: 1.9;
      font-size: 3.73vw;
    }
  }

/*下層プラン表示*/
.lower_plan_wrap {
   padding: 0 30px;
}
.lower_plan_wrap .sub_ttl02 {
  margin-bottom: 50px;
}
.lower_plan_box {
  background: #fff;
  padding: 30px;
  text-decoration: none;
  color: #000!important;
  margin-bottom: 30px;
}
.lower_plan_box:last-child {
  margin-bottom: 0;
}
.lower_plan_box figure {
  width: 33.4%;
}
.lower_plan_box figure img {
  width: 100%;
  height: auto;
}
.lower_plan_txt {
  position: relative;
  width: 64%;
  padding-bottom: 40px;
  transition: all 0.2s ease-in-out 0s;
}
.lower_plan_box:hover .lower_plan_txt {
  opacity: 0.7;
}
.lower_plan_txt h4 {
  font-size: 2rem;
  line-height: 1.8;
  margin-bottom: 10px;
}
.lower_plan_txt p {
  line-height: 1.8;
}
.lower_plan_txt .plan_price {
  position: absolute;
  right: 0;
  bottom: 0;
}
.period_box {
  display: inline-block;
  vertical-align: bottom;
  background: #524E4D;
  color: #fff;
  line-height: 1.8;
  padding: 0 12px;
  margin-bottom: 18px;
}
.lower_plan_nopost {
  background: #fff;
  height: 300px;
  padding: 30px;
  font-size: 1.5rem;
  color: #aa0000;
  flex-wrap: 500;
}
  @media screen and (max-width: 1023px) {
    .lower_plan_wrap {
      padding: 0 2.66vw;
    }
    .lower_plan_wrap .sub_ttl02 {
      margin-bottom: 9.33vw;
    }
    .lower_plan_list {
      padding: 0 4vw;
    }
    .lower_plan_box {
      padding: 5.33vw;
      margin-bottom: 5.33vw;
    }
    .lower_plan_box figure {
      width: 100%;
      margin-bottom: 4vw;
    }
    .lower_plan_txt {
      width: 100%;
      padding-bottom: 0;
    }
    .lower_plan_txt h4 {
      font-size: 4vw;
      line-height: 1.8;
      margin-bottom: 1vw;
    }
    .lower_plan_txt p {
      display: none;
    }
    .lower_plan_txt .plan_price {
      position: static;
    }
    .period_box {
      padding: 0.33vw 3vw;
      margin-bottom: 2.33vw;
      font-size: 3.46vw;
    }
    .lower_plan_nopost {
      height: 46vw;
      padding: 4vw;
      font-size: 3.73vw;
    }
  }

.sumi_bg_box01 {
  position: relative;
  padding: 90px 0 60px;
  background: #EAE8E1;
}
.sumi_bg_box01::after {
  position: absolute;
  left: calc(50% + 250px);
  top: -60px;
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi01.png") 0 0 no-repeat;
}
.sumi_bg_box01 .sub_ttl01 {
  margin-bottom: 50px;
}
  @media screen and (max-width: 1023px) {
    .sumi_bg_box01 {
      padding: 13.33vw 0 10.66vw;
    }
    .sumi_bg_box01::after {
      left: 32vw;
      top: 3vw;
      width: 75.33vw;
      height: 61.6vw;
      background-size: 75.33vw 61.6vw;
    }
    .sumi_bg_box01 .sub_ttl01 {
      margin-bottom: 9.33vw;
    }
  }

.sumi_bg_box02 {
  position: relative;
  padding: 90px 0 60px;
}
.sumi_bg_box02::after {
  position: absolute;
  left: calc(50% - 500px);
  top: -110px;
  content: "";
  width: 264px;
  height: 255px;
  background: url("../img/common/bg/sumi02.png") 0 0 no-repeat;
  background-size: 264px 255px;
}
.sumi_bg_box02 .sub_ttl01 {
  margin-bottom: 45px;
}
  @media screen and (max-width: 1023px) {
    .sumi_bg_box02 {
      padding: 18vw 2vw 9.33vw;
    }
    .sumi_bg_box02::after {
      left: -6vw;
      top: -19.66vw;
      width: 49.33vw;
      height: 47.73vw;
      background-size: 49.33vw 47.73vw;
    }
    .sumi_bg_box02 .sub_ttl01 {
      margin-bottom: 8vw;
    }
  }

/*画像ギャラリー*/
.float_img01_wrap figure {
  width: 59.2%;
}
.float_img01_wrap figure img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.float_img01_box {
  width: 37.5%;
  display: flex;
  align-items: center;
}
.float_img01_wrap.fx_r_reverse .float_img01_box {
  justify-content: flex-end;
}
.float_img01_txt {
  width: 360px;
  letter-spacing: 0.06em;
}
  @media screen and (max-width: 1023px) {
    .float_img01_wrap {
      padding: 0 5.33vw;
    }
    .float_img01_wrap figure {
      width: 100%;
      margin-bottom: 5.33vw;
    }
    .float_img01_wrap figure img {
      height: auto;
    }
    .float_img01_box {
      width: 100%;
      display: block;
    }
    .float_img01_txt {
      width: 100%;
      letter-spacing: 0.05em;
    }
  }

.float_img02_box {
  padding-bottom: 30px;
}
.float_img02_box figure {
  width: 50%;
}
.float_img02_box figure img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}
.float_img02_txt {
  width: 45%;
  padding-right: 30px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.fx_r_reverse .float_img02_txt {
  padding-right: 0;
  padding-left: 30px;
}
  @media screen and (max-width: 1023px) {
    .float_img02_box {
      padding: 0 2.66vw 8vw;
    }
    .float_img02_box figure {
      width: 100%;
      margin-bottom: 4vw;
    }
    .float_img02_wrap figure img {
      height: auto;
    }
    .float_img02_txt {
      width: 100%;
      display: block;
      padding: 0!important;
    }
  }

/*2つ並びギャラリー*/
.float_gallery01 {
  position: relative;
  z-index: 5;
}
.float_gallery01_box {
  width: 47.3%;
}
.float_gallery01_box figure {
  margin-bottom: 25px;
}
.float_gallery01_box figure img {
  width: 100%;
  height: auto;
}
.float_gallery01_txt {
  text-align: center;
}
.float_gallery01_txt h3 {
  font-size: 2.4rem;
  margin-bottom: 15px;
}
  @media screen and (max-width: 1023px) {
    .float_gallery01_box {
      width: 100%;
      margin-bottom: 8vw;
    }
    .float_gallery01_box figure {
      margin-bottom: 5.33vw;
    }
    .float_gallery01_txt {
      text-align: left;
    }
    .float_gallery01_txt h3 {
      text-align: center;
      font-size: 4.4vw;
      margin-bottom: 3vw;
    }
  }

/*----------------------------------------------------
  お料理 cuisine
--------------------------------------------------- */
#monthly_dishes {
  padding-bottom: 60px;
}
#monthly_dishes .sub_ttl01 span em::after {
  content: "みずほ";
}
  @media screen and (max-width: 1023px) {
    #monthly_dishes {
      padding-bottom: 10.66vw;
    }
  }

#cuisine_menu {
  z-index: 1;
}

#specialty_dishes {
  position: relative;
  padding: 90px 0 60px;
}
#specialty_dishes::after {
  position: absolute;
  left: calc(50% - 500px);
  top: -110px;
  content: "";
  width: 264px;
  height: 255px;
  background: url("../img/common/bg/sumi02.png") 0 0 no-repeat;
  background-size: 264px 255px;
}
#specialty_dishes .sub_ttl01 {
  margin-bottom: 55px;
}
  @media screen and (max-width: 1023px) {
    #specialty_dishes {
      padding: 18vw 2vw 10.66vw;
    }
    #specialty_dishes::after {
      left: -6vw;
      top: -19.66vw;
      width: 49.33vw;
      height: 47.73vw;
      background-size: 49.33vw 47.73vw;
    }
    #specialty_dishes .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
  }

#specialty_dishes .tabMenu {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  margin-bottom: 40px;
  border-bottom: solid 1px #B1AFAF;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
#specialty_dishes .tabMenu li {
  width: 23.2%;
  font-size: 1.6rem;
}
#specialty_dishes .tabMenu li:first-letter {
  font-size: 2.4rem;
}
#specialty_dishes .tabMenu li::before {
  display: none;
}
#specialty_dishes .tabMenu li span {
  position: relative;
  display: block;
}
#specialty_dishes .tabMenu li span::after {
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
  position: absolute;
  content: "";
  z-index: -1;
}
#specialty_dishes .tabMenu li.active span::after {
  opacity: 1;
}
  @media screen and (max-width: 1023px) {
    #specialty_dishes .tabMenu {
      max-width: 100%;
      margin: 0 auto;
      padding: 0 2.66vw;
      margin-bottom: 5vw;
      border-bottom: solid 1px #B1AFAF;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      -o-justify-content: space-between;
      justify-content: space-between;
    }
    #specialty_dishes .tabLink_wrap {
      margin-bottom: 8vw;
    }
    #specialty_dishes .tabMenu li {
      width: auto;
      font-size: 3.73vw;
      white-space: nowrap;
      padding: 0 6vw;
      margin-right: 2.66vw;
    }
    #specialty_dishes .tabMenu li:first-letter {
      font-size: 5.33vw;
    }
    #specialty_dishes .tabMenu li span {
      padding-top: 11.33vw;
    }
  }

.tab_spring::after {
  right: 5px;
  bottom: 12px;
  width: 72px;
  height: 57px;
  background: url("../img/cuisine/tab_spring.png") 0 0 no-repeat;
  background-size: 72px 57px;
}
.tab_summer::after {
  right: 5px;
  bottom: 12px;
  width: 69px;
  height: 56px;
  background: url("../img/cuisine/tab_summer.png") 0 0 no-repeat;
  background-size: 69px 56px;
}
.tab_autumn::after {
  right: 5px;
  bottom: 12px;
  width: 69px;
  height: 56px;
  background: url("../img/cuisine/tab_autumn.png") 0 0 no-repeat;
  background-size: 69px 56px;
}
.tab_winter::after {
  right: 20px;
  bottom: 12px;
  width: 54px;
  height: 53px;
  background: url("../img/cuisine/tab_winter.png") 0 0 no-repeat;
  background-size: 54px 53px;
}
  @media screen and (max-width: 1023px) {
    .tab_spring::after {
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      background: url("../img/cuisine/tab_spring.png") center top no-repeat;
      background-size: auto 12vw;
    }
    .tab_summer::after {
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      background: url("../img/cuisine/tab_summer.png") center top no-repeat;
      background-size: auto 12vw;
    }
    .tab_autumn::after {
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      background: url("../img/cuisine/tab_autumn.png") center top no-repeat;
      background-size: auto 12vw;
    }
    .tab_winter::after {
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      background: url("../img/cuisine/tab_winter.png") center top no-repeat;
      background-size: auto 12vw;
    }
  }

.carousel_slider_wrap {
  padding-bottom: 60px;
}
.specialty_slider figure {
  padding: 0 0.1%;
}
.specialty_slider figure span {
  display: flex;
  align-items: center;
  height: 100%;
}
.specialty_slider figure img {
  width: 100%;
  height: calc(100% - 60px);
  transition: all 0.4s ease-in-out 0s;
}
.specialty_slider .slick-slide.slick-current  span img,
.specialty_slider .slick-slide.is-active-next  span img {
  height: 100%!important;
}
.specialty_slider .slick-arrow {
  position: absolute;
  bottom: -15px;
  z-index: 10;
  cursor: pointer;
}
.specialty_slider .next_btn {
  width: 19.33%;
  right: 0;
  text-align: left;
}
.specialty_slider .prev_btn {
  width: 19.33%;
  left: 0;
  text-align: right;
}
  @media screen and (max-width: 1023px) {
    .carousel_slider_wrap {
      padding-bottom: 12vw;
      margin-left: -2.66vw;
      margin-right: -2.66vw;
    }
    .specialty_slider figure {
      padding: 0 0.1%;
    }
    .specialty_slider figure img {
      height: 100%;
    }
    .specialty_slider .slick-arrow {
      position: absolute;
      bottom: -5vw;
    }
    .specialty_slider .slick-arrow img {
      width: 9.33vw;
      height: auto;
      display: block;
    }
    .specialty_slider .next_btn {
      width: auto;
      right: 3vw;
    }
    .specialty_slider .prev_btn {
      width: auto;
      left: 3vw;
    }
  }

.specialty_plan {
  position: relative;
  padding: 70px 30px 60px;
  background: #EAE8E1;
}
.specialty_plan::after {
  position: absolute;
  left: calc(50% + 250px);
  top: -60px;
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi01.png") 0 0 no-repeat;
}

.specialty_plan .inner {
  z-index: 2;
}
.specialty_plan .sub_ttl02 {
  margin-bottom: 55px;
}
  @media screen and (max-width: 1023px) {
    .specialty_plan {
      padding: 15.33vw 2.66vw 10.66vw;
      margin-left: -2.66vw;
      margin-right: -2.66vw;
    }
    .specialty_plan::after {
      left: 32vw;
      top: 3vw;
      width: 75.33vw;
      height: 61.6vw;
      background-size: 75.33vw 61.6vw;
    }
    .specialty_plan .sub_ttl02 {
      margin-bottom: 9.33vw;
    }
  }

/*----------------------------------------------------
  オーストリアワイン austrianwine
--------------------------------------------------- */
#with_wine {
  padding-bottom: 60px;
}
.austrianwine_btn {
  margin-top: 40px;
}
.austrianwine_btn li {
  margin: 0 15px;
}
  @media screen and (max-width: 1023px) {
    #with_wine {
      padding-bottom: 8vw;
    }
    .austrianwine_btn {
      margin-top: 8vw;
    }
    .austrianwine_btn li {
      margin: 0;
      text-align: center;
      margin-bottom: 3.33vw;
    }
  }

#sommelier {
  position: relative;
  z-index: 3;
  background: url("../img/cuisine/austrianwine/sommelier_bg.jpg") center center no-repeat;
}
#sommelier .float_g_txt {
  padding-right: 30px;
}
  @media screen and (max-width: 1023px) {
    #sommelier .float_g_txt {
      padding-right: 0;
    }
  }

#sumiya_wine {
  z-index: 2;
}
.wine_list_wrap {
  position: relative;
  padding-bottom: 60px;
}
.wine_list {
  position: relative;
  z-index: 5;
  padding: 0 1%;
}
.wine_box {
  width: 25%;
  padding: 1%;
  text-decoration: none;
  color: #fff;
  height: 100%;
}
.wine_box dl {
  position: relative;
  width: 100%;
  height: 100%;
}
.wine_box dt {
  width: 100%;
}
.wine_box dt figure {
  width: 100%;
  height: 100%;
}
.wine_box dt img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wine_box dd {
  opacity: 0;
  z-index: -1;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(86,115,57,0.95);
  min-height: 100%;
  transition: all 0.2s ease-in-out 0s;
  border-radius: 10px;
  padding: 6.5% 7%;
}
.wine_box dd h3 {
  width: 100%;
  font-size: 2rem;
  margin-bottom: 5.5%;
  text-align: center;
}
.wine_box dd p {
  text-align: left;
  line-height: 2;
}
  @media screen and (max-width: 1023px) {
    .wine_list_wrap {
      padding-bottom: 8vw;
    }
    .wine_list_wrap::after {
      display: none;
    }
    .wine_list {
      padding: 0 0 13.33vw;
    }
    .wine_box {
      width: 100%;
      padding: 0;
    }
    .wine_list:last-child .wine_box:last-child {
      margin-bottom: 0;
    }
    .wine_box dl {
      position: relative;
      padding-top: 50vw;
    }
    .wine_box dt {
      position: absolute;
      left: 0;
      top: 0;
      height: 70vw;
    }
    .wine_box dd {
      position: relative;
      opacity: 1!important;
      z-index: 5;
      top: auto;
      bottom: auto;
      min-height: auto;
      padding: 5.33vw 4vw;
      width: 88vw;
      margin: 0 auto;
    }
    .wine_box dd h3 {
      display: inline-block;
      text-align: left;
      margin-bottom: 2vw;
      font-size: 4.7vw;
    }
    .wine_box dd p {
      font-size: 3.46vw;
    }
  }

.wine_box:hover img {
  opacity: 1!important;
}
.wine_box:hover dd {
  opacity: 1;
  z-index: 5;
}
.wine_box:hover dt img {
  border-radius: 10px;
}
  @media screen and (max-width: 1480px) {
    /*.wine_box .fixItem {
      max-height: 360px!important;
    }*/
  }
  @media screen and (max-width: 1023px) {
    .wine_box {
      opacity: 1!important;
    }
    .wine_box:hover dt img {
      border-radius: 0;
    }
    .wine_list .slick-arrow {
      position: absolute;
      bottom: 0;
      cursor: pointer;
      transition: all 0.2s ease-in-out 0s;
    }
    .wine_list .slick-arrow img {
      width: 8vw;
      height: auto;
    }
    .wine_list .slick-arrow:hover {
      opacity: 1;
    }
    .wine_list .slick-arrow.prev_btn {
      left: 2.66vw;
    }
    .wine_list .slick-arrow.next_btn {
      right: 2.66vw;
    }
  }

#other_drink {
  margin-bottom: 60px;
}
.other_drink_box figure {
  width: 64.2%;
}
.other_drink_box figure img {
  width: 100%;
  height: auto;
}
.other_drink_txt {
  width: 31%;
  padding-top: 50px;
}
.other_drink_txt dl {
  margin-bottom: 30px;
}
.other_drink_txt dt {
  font-size: 2rem;
  margin-bottom: 5px;
}
  @media screen and (max-width: 1340px) {
    .other_drink_box {
      padding-right: 50px;
    }
    .other_drink_box figure {
      width: 58%;
    }
    .other_drink_txt {
      width: 38%;
      padding-top: 3%;
    }
  }
  @media screen and (max-width: 1023px) {
    #other_drink {
      margin-bottom: 10.66vw;
    }
    .other_drink_box {
      padding: 0 2.66vw;
    }
    .other_drink_box figure {
      width: 100%;
    }
    .other_drink_txt {
      width: 100%;
      padding-top: 5vw;
    }
    .other_drink_txt dl {
      margin-bottom: 5vw;
    }
    .other_drink_txt dl:last-child {
      margin-bottom: 0;
    }
    .other_drink_txt dt {
      font-size: 4.7vw;
      margin-bottom: 1vw;
    }
    .other_drink_txt dd {
      font-size: 3.46vw;
    }
  }

/*----------------------------------------------------
  ダイニング dining
--------------------------------------------------- */
  @media screen and (max-width: 1023px) {
    #dining_lead figure img {
      width: 70vw;
      height: auto;
    }
  }

#nostalgic_space {
  margin-bottom: 60px;
}
#nostalgic_space .tile_gallery_wrap:first-child {
  margin-bottom: 0.9%;
}
#nostalgic_space .tile_gallery {
  padding-bottom: 40px;
}
  @media screen and (max-width: 1023px) {
    #nostalgic_space {
      margin-bottom: 10.66vw;
    }
    #nostalgic_space .tile_gallery_wrap:first-child {
      margin-bottom: 2vw;
    }
    #nostalgic_space .tile_gallery {
      padding-bottom: 8vw;
    }
  }

#dining_info {
  z-index: 2;
}
.dining_info_wrap {
  position: relative;
  width: 100%;
  margin: 0 auto;
  z-index: 2;
}
.dining_info_img {
  width: 48.2%;
}
.dining_info_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.dining_info_img figure {
  margin-bottom: 3.9%;
}
.dining_info_img figure img {
  height: 500px;
}
.dining_info_img li {
  width: 50%;
  padding-left: 4%;
}
.dining_info_img li img {
  width: 100%;
  height: 266px;
}
.dining_info_txt {
  width: 48.2%;
  padding: 20px 80px 0 0;
}
.dining_info_txt_inner {
  max-width: 540px;
}
.dining_info_txt dl {
  margin-bottom: 30px;
}
.dining_info_txt dl:last-child {
  margin-bottom: 0;
}
.dining_info_txt dt {
  font-size: 2rem;
}
.dining_info_txt dd p {
  margin-bottom: 10px;
}
  @media screen and (max-width: 1023px) {
    #dining_info .sub_ttl01 {
      position: relative;
      z-index: 5;
    }
    .dining_info_wrap {
      max-width: 100%;
    }
    .dining_info_img {
      width: 100%;
      padding: 0 5.33vw;
    }
    .dining_info_img figure {
      margin-bottom: 2vw;
    }
    .dining_info_img figure img {
      height: auto;
    }
    .dining_info_img ul {
      width: 100%;
      justify-content: space-between;
    }
    .dining_info_img li {
      width: 49%;
      padding: 0;
    }
    .dining_info_img li img {
      height: auto;
    }
    .dining_info_txt {
      width: 100%;
      padding: 5vw 5.33vw 0;
    }
    .dining_info_txt_inner {
      max-width: 100%;
    }
    .dining_info_txt dl {
      margin-bottom: 5vw;
    }
    .dining_info_txt dt {
      font-size: 4.7vw;
    }
    .dining_info_txt dd p {
      margin-bottom: 2.66vw;
    }
  }

#dining_originality {
  padding-bottom: 60px;
}
#dining_originality .cont_lead {
  padding-bottom: 60px;
}
.dining_originality_wrap h3 {
  font-size: 2.4rem;
  letter-spacing: 0.3em;
  margin-bottom: 50px;
}
.dining_originality_box {
  position: relative;
  min-height: 500px;
}
.dining_originality_wrap .float_img01_box {
  text-align: left;
  width: 49%;
  padding-left: 20px;
  align-items: flex-start;
}
.dining_originality_wrap .float_img01_txt {
  position: relative;
  width: 530px;
  height: 100%;
}
.dining_originality_wrap .float_img01_txt p {
  margin-bottom: 30px;
}
.dining_originality_wrap .float_img01_wrap figure {
  width: 48%;
}
.dining_originality_wrap .float_img01_wrap figure img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.dining_originality_logo {
  position: absolute;
  left: -140px;
  bottom: -55px;;
}
  @media screen and (max-width: 1550px) {
    .dining_originality_box figure {
      position: absolute;
      left: 48%;
      top: 0;
      width: 64%;
    }
  }
  @media screen and (max-width: 1023px) {
    #dining_originality {
      padding-bottom: 10.66vw;
    }
    #dining_originality .cont_lead {
      padding-bottom: 4vw;
    }
    .dining_originality_wrap h3 {
      font-size: 4.4vw;
      letter-spacing: 0.3em;
      margin-bottom: 6vw;
    }
    .dining_originality_wrap .float_img01_box {
      min-height: auto;
      width: 100%;
      padding: 0;
    }
    .dining_originality_wrap .float_img01_txt {
      text-align: left;
      width: 100%;
    }
    .dining_originality_wrap .float_img01_txt p {
      margin-bottom: 5vw;
    }
    .dining_originality_wrap .float_img01_wrap figure {
      width: 100%;
      position: static;
      margin-bottom: 5vw;
    }
    .dining_originality_wrap .float_img01_wrap figure img {
      height: auto;
    }
  }

/*----------------------------------------------------
  客室 room
--------------------------------------------------- */
#room .cont_lead {
  padding-bottom: 10px;
}
.room_index_wrap {
  margin: 0 auto;
  padding-bottom: 60px;
}
.room_index_box:nth-child(even) {
  flex-direction: row-reverse;
}
.room_index_box figure {
  width: 59.2%;
}
.room_index_box figure img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.room_index_info {
  width: 37.5%;
  display: flex;
  align-items: center;
}
.room_index_box:nth-child(even) .room_index_info {
  justify-content: flex-end;
}
.room_index_txt {
  width: 360px;
  letter-spacing: 0.06em;
}
.room_index_txt dd {
  padding-bottom: 32px;
}
.room_index_txt dt {
  text-align: center;
  margin-bottom: 32px;
}
.room_index_btn li {
  margin-bottom: 18px;
}
.room_index_txt .room_icons li {
  margin: 0 3.5%;
}
  @media screen and (max-width: 1023px) {
    #room .cont_lead {
      padding-bottom: 0;
    }
    #room .sub_ttl01 span {
      letter-spacing: 0.15em;
    }
    .room_index_wrap {
      padding-bottom: 4vw;
    }
    .room_index_box {
      margin-bottom: 10.66vw;
      padding: 0 5.33vw;
    }
    .room_index_box figure {
      width: 100%;
      margin-bottom: 5.33vw;
    }
    .room_index_box figure img {
      height: auto;
    }
    .room_index_info {
      width: 100%;
      display: block;
    }
    .room_index_txt {
      width: 100%;
      letter-spacing: 0.05em;
    }
    .room_index_txt dd {
      padding-bottom: 5.33vw;
    }
    .room_index_txt dt {
      margin-bottom: 6vw;
    }
    .room_index_txt dt img {
      height: auto;
    }
    .room_index_btn {
      padding-bottom: 1.66vw;
    }
    .room_index_btn li {
      margin-bottom: 3.33vw;
    }
    .room_index_txt .room_icons li {
      margin: 0 2.66vw;
    }
    .room_index_txt .room_icons li img {
      width: auto;
      height: 6.66vw;
    }
    #room01 .room_index_txt dt img {
      width: 46.4vw;
    }
    #room02 .room_index_txt dt img {
      width: 36vw;
    }
    #room03 .room_index_txt dt img {
      width: 33vw;
    }
    #room04 .room_index_txt dt img {
      width: 38.93vw;
    }
    #room05 .room_index_txt dt img {
      width: 34.93vw;
    }
    #room06 .room_index_txt dt img {
      width: 34.13vw;
    }
    #room07 .room_index_txt dt img {
      width: 43.2vw;
    }
    #room08 .room_index_txt dt img {
      width: 43.2vw;
    }
    #room09 .room_index_txt dt img {
      width: 33.6vw;
    }
    #room10 .room_index_txt dt img {
      width: 35.46vw;
    }
    #room11 .room_index_txt dt img {
      width: 35.46vw;
    }
  }

#room_terrace {
  background: url("../img/common/bg/hana01.png") 99% 20px no-repeat #EAE8E1;
  z-index: 2;
}
#room_terrace .cont_lead::after {
  display: none;
}
  @media screen and (max-width: 1023px) {
    #room_terrace {
      background: url("../img/common/bg/hana01.png") 130% 3vw no-repeat #EAE8E1;
      background-size: 60vw auto;
    }
  }

#room_iori {
  background: url("../img/common/bg/yama01.png") 0 20px no-repeat #EAE8E1;
  z-index: 2;
  margin-bottom: 60px;
}
#room_iori .cont_lead::after {
  display: none;
}
#room_iori .room_index_box:nth-child(odd) {
  flex-direction: row-reverse;
}
#room_iori .room_index_box:nth-child(odd) .room_index_info {
  justify-content: flex-end;
}
#room_iori .room_index_box:nth-child(even) {
  flex-direction: row;
}
#room_iori .room_index_box:nth-child(even) .room_index_info {
  justify-content: flex-start;
}
  @media screen and (max-width: 1023px) {
    #room_iori {
      background: url("../img/common/bg/yama01.png") 0 3vw no-repeat #EAE8E1;
      background-size: 60vw auto;
      margin-bottom: 10.66vw;
    }
  }

/*----------------------------------------------------
  客室下層 room_lower
--------------------------------------------------- */
.room_lead_icons {
  padding-bottom: 40px;
}
.room_lead_icons dt {
  margin-bottom: 40px;
}
.room_lead_icons dd li {
  margin: 0 8px;
}

.room_lead_txt {
  position: relative;
  font-size: 1.6rem;
  line-height: 2;
  padding-top: 50px;
}
.room_lead_txt p {
  position: relative;
  z-index: 5;
}
.room_lead_txt_bg {
  position: absolute;
  left: -115px;
  top: -20px;;
}
  @media screen and (max-width: 1023px) {
    .room_lead_icons {
      padding-bottom: 8vw;
    }
    .room_lead_icons dt {
      margin-bottom: 9.33vw;
    }
    .room_lead_icons dd li {
      margin: 0 1.66vw;
      width: 23.33vw;
      margin-bottom: 3.33vw;
    }
    .room_lead_icons dd li span {
      display: block;
      width: 100%;
    }
    .room_lead_icons dd li span img {
      width: 100%;
      height: auto;
    }
    .room_lead_txt {
      font-size: 3.73vw;
      line-height: 2;
      padding-top: 8vw;
      letter-spacing: 0.025em;
    }
  }

.room_lead_logo {
  margin-top: 30px;
  align-items: center;
}
.room_lead_logo li {
  margin: 0 18px;
}
  @media screen and (max-width: 1023px) {
    .room_lead_logo {
      margin-top: 0;
    }
    .room_lead_logo li {
      text-align: center;
      margin: 8vw 0 0 0;
      width: 50%;
    }
  }

#about_room {
  padding-left: 20px;
  padding-right: 20px;
  z-index: 2;
}
.about_room_img {
  position: relative;
  width: 47.4%;
  text-align: center;
}
.about_room_img figure {
  height: 100%;
}
.about_room_img figure a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #fff;
  height: 100%;
  padding: 40px;
}
.about_room_img figure a::before {
  position: absolute;
  right: 15px;
  bottom: 15px;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f002";
  font-weight: 600;
  color: #000;
  font-size: 2.4rem;
  line-height: 1;
}
.about_room_txt {
  width: 50%;
  padding-top: 8px;
}
.about_room_txt .tbl02 {
  margin-bottom: 40px;
}
  @media screen and (max-width: 1023px) {
    #about_room {
      padding-left: 5.33vw;
      padding-right: 5.33vw;
    }
    .about_room_img {
      width: 100%;
    }
    .about_room_img figure a {
      display: block;
      padding: 5.33vw;
      min-height: auto;
    }
    .about_room_img figure a::before {
      right: 2vw;
      bottom: 2vw;
      font-size: 6vw;
    }
    .about_room_txt {
      width: 100%;
      padding-top: 8vw;
    }
    .about_room_txt .tbl02 {
      margin-bottom: 8vw;
    }
  }

#room_facilities {
  padding-left: 20px;
  padding-right: 20px;
}
  @media screen and (max-width: 1023px) {
    #room_facilities {
      padding-left: 5.33vw;
      padding-right: 5.33vw;
    }
  }

.room_ft_menu {
  position: relative;
  padding: 50px 0 60px;
  border-top: solid 1px #B1AFAF;
}
.room_ft_menu::after {
  position: absolute;
  left: 0;
  top: 200px;
  content: "";
  width: 100%;
  height: calc(100% - 400px);
  background: #EAE8E1;
}
.room_ft_menu::before {
  position: absolute;
  left: calc(50% + 250px);
  top: calc(50% - 215px);
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi01.png") 0 0 no-repeat;
  z-index: 1;
}
.room_ft_menu .wrapper {
  padding: 0!important;
  width: 100%;
  max-width: 1200px;
}
.room_menu_ttl {
  font-size: 3rem;
  padding: 0 2.2%;
  margin-bottom: 45px;
  letter-spacing: 0.3em;
}
.room_menu_wrap {
  padding: 0 2%;
}
.room_menu_box {
  width: 25%;
  padding: 0 0.75%;
  margin-bottom: 30px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #000!important;
}
.room_menu_box dt {
  margin-bottom: 10px;
}
.room_menu_box dt img {
  width: 100%;
  height: auto;
}
@media screen and (min-width:1024px) {
  .room_menu_box dt img {
    max-width: 270px;
  }
}
.room_menu_box dd {
  font-size: 1.5rem;
  line-height: 1.7;
  padding: 0 1%;
}
.room_menu_box dd span {
  position: relative;
  display: inline-block;
}
.room_menu_box dd span::after {
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f105";
  font-weight: 600;
  font-size: 1.6rem;
}
  @media screen and (max-width: 1240px) {
    .room_menu_wrap {
      padding: 0 1%;
    }
  }
  @media screen and (max-width: 1023px) {
    .room_ft_menu {
      padding: 10.66vw 0;
    }
    .room_ft_menu::after {
      top: 40vw;
      height: calc(100% - 80vw);
    }
    .room_ft_menu::before {
      display: none;
    }
    .room_ft_menu .wrapper {
      max-width: 100%;
    }
    .room_menu_ttl {
      margin-bottom: 8vw;
      font-size: 6.13vw;
      padding: 0 4vw;
      letter-spacing: 0.2em;
    }
    .room_menu_wrap {
      padding: 0 1.5vw;
    }
    .room_menu_box {
      width: 50%;
      padding: 0 1.5vw;
      margin-bottom: 5.33vw;
    }
    .room_menu_box dt {
      margin-bottom: 2.66vw;
    }
    .room_menu_box dd {
      font-size: 3.73vw;
      padding: 0;
    }
    .room_menu_box dd span::after {
      font-size: 4vw;
    }
  }

  @media screen and (max-width: 1023px) {
    #room-honami .room_lead_icons dt img {
      width: 46.4vw;
    }
    #room-seoto .room_lead_icons dt img {
      width: 36vw;
    }
    #room-sawarabi .room_lead_icons dt img {
      width: 33vw;
    }
    #room-tougasumi .room_lead_icons dt img {
      width: 38.93vw;
    }
    #room-tsuki-oboro .room_lead_icons dt img {
      width: 33vw;
    }
    #room-seiyu .room_lead_icons dt img {
      width: 34.13vw;
    }
    #room-akatoki .room_lead_icons dt img {
      width: 33vw;
    }
    #room-terrace .room_lead_icons dt img {
      width: 38.93vw;
    }
    #room-terrace_bed .room_lead_icons dt img {
      width: 38.93vw;
    }
    #room-yamanoiori .room_lead_icons dt img {
      width: 35.46vw;
    }
    #room-yamanoiori_twin .room_lead_icons dt img {
      width: 35.46vw;
    }
  }

/*山のテラス*/
  @media screen and (max-width: 1023px) {
    .logo_terrace_miyako img {
      width: 30vw;
      height: auto;
    }
    .logo_terrace_tsuru img {
      width: 28vw;
      height: auto;
    }
    .logo_terrace_kata img {
      width: 33vw;
      height: auto;
    }
    .logo_terrace_yuki img {
      width: 29vw;
      height: auto;
    }
  }

/*山のテラスベッド*/
  @media screen and (max-width: 1023px) {
    .logo_terrace_iwa img {
      width: 24vw;
      height: auto;
    }
    .logo_terrace_tsuki img {
      width: 34vw;
      height: auto;
    }
  }

/*----------------------------------------------------
  温泉 spa
--------------------------------------------------- */
#spa_info {
  background: url("../img/spa/spa_info_bg.png") center 30px no-repeat;
}
#spa_info .cont_lead::after {
  display: none;
}
#spa_info h3 {
  margin-bottom: 25px;
}
.spa_info_tbl table {
  margin: 35px 0 40px;
}
.spa_info_tbl th {
  width: 18%;
}
.spa_info_tbl td {
  text-align: left;
}
  @media screen and (max-width: 1023px) {
#spa_info {
  background: url("../img/spa/spa_info_bg.png") center 15.33vw no-repeat;
  background-size: 93.33vw auto;
}
    #spa_info h3 {
      margin-bottom: 6vw;
    }
    #spa_info h3 img {
      width: 44vw;
      height: auto;
    }
    .spa_info_tbl table {
      margin: 5.33vw 0 4vw;
    }
    .spa_info_tbl th {
      width: 100%;
    }
  }

/*内湯・露天風呂*/
#public_bath {
  position: relative;
  z-index: 5;
  padding: 90px 0 60px;
  background: #EAE8E1;
}
#public_bath::before {
  position: absolute;
  left: calc(50% + 220px);
  top: 10px;
  content: "";
  z-index: 1;
  width: 548px;
  height: 207px;
  background: url("../img/common/bg/wave01.png") 0 0 no-repeat;
}
.public_bath_lead {
  padding: 30px 0 45px;
}
.public_bath_lead dt {
  margin-bottom: 20px;
}
.spa_slider_box {
  padding: 0 0.1%;
}
.spa_slider_box figure {
  padding: 0;
}
.spa_slider_box dl {
  margin-top: 22px;
  padding: 0 4%;
}
.spa_slider_box dt {
  font-size: 2rem;
  margin-bottom: 5px;
}
.spa_slider_box dd {
  font-size: 1.5rem;
}
.spa_slider_box p {
  margin-top: 22px;
  padding: 0 4%;
  font-size: 1.5rem;
}
#public_bath .carousel_slider_wrap {
  padding-bottom: 90px;
}
#public_bath .specialty_slider .prev_btn {
  width: auto;
  left: 20.5%;
  bottom: -45px;
}
#public_bath .specialty_slider .next_btn {
  width: auto;
  right: 20.5%;
  bottom: -45px;
}
  @media screen and (max-width: 1023px) {
    #public_bath {
      padding: 13.33vw 0 10.66vw;
    }
    #public_bath::before {
      left: 35vw;
      top: 3vw;
      width: 73.06vw;
      height: 27.59vw;
      background-size: 73.06vw 27.59vw;
    }
    #public_bath .sub_ttl01 {
      position: relative;
      z-index: 2;
    }
    .public_bath_lead {
      padding: 6.66vw 0 8vw;
    }
    .public_bath_lead dt {
      margin-bottom: 5.33vw;
    }
    .public_bath_lead dt img {
      width: 42vw;
    }
    .spa_slider_box dl {
      margin-top: 4vw;
      padding: 0 2vw;
    }
    .spa_slider_box dt {
      font-size: 4.6vw;
      margin-bottom: 1vw;
    }
    .spa_slider_box dd {
      font-size: 3.73vw;
    }
    .spa_slider_box p {
      margin-top: 4vw;
      padding: 0 2vw;
      font-size: 3.73vw;
    }
    #public_bath .carousel_slider_wrap {
      padding-bottom: 18vw;
    }
    #public_bath .specialty_slider .prev_btn {
      left: 5vw;
      bottom: -8vw;
    }
    #public_bath .specialty_slider .next_btn {
      right: 5vw;
      bottom: -8vw;
    }
    #public_bath td {
      padding-left: 4vw;
      padding-right: 4vw;
    }
  }

/*湯上り処*/
#rest_area .float_img01_txt h3 {
  margin-bottom: 25px;
}
#rest_area .float_img01_txt p {
  margin-bottom: 30px;
}
#rest_area .float_img01_txt th {
  width: 150px;
  text-align: center;
}
  @media screen and (max-width: 1023px) {
    #rest_area .float_img01_txt h3 {
      margin-bottom: 6vw;
    }
    #rest_area .float_img01_txt h3 img {
      width: 40vw;
      height: auto;
    }
    #rest_area .float_img01_txt p {
      margin-bottom: 5vw;
    }
    #rest_area .float_img01_txt th {
      width: 33.33%;
    }
  }

/*貸切露天風呂*/
#private_bath {
  position: relative;
  padding: 90px 0 60px;
  background: #E3E7D6;
  z-index: 3;
}
#private_bath::before {
  position: absolute;
  right: calc(50% + 200px);
  top: 20px;
  content: "";
  z-index: 1;
  width: 577px;
  height: 195px;
  background: url("../img/common/bg/yama01.png") 0 0 no-repeat;
}
#private_bath .float_img01_wrap {
  margin: 50px 0 60px;
}
#private_bath .float_img01_txt h3 {
  margin-bottom: 25px;
}
#private_bath .float_img01_txt p {
  margin-bottom: 30px;
}
.private_bath_tbl {
  margin-top: 60px;
  padding: 0 30px;
}
.private_bath_tbl th {
  width: 200px;
}
  @media screen and (max-width: 1023px) {
    #private_bath {
      position: relative;
      padding: 13.33vw 0 10.66vw;
      background: url("../img/common/bg/yama01.png") 0 3vw no-repeat #E3E7D6;
      background-size: 60vw auto;
    }
    #private_bath::before {
      display: none;
    }
    #private_bath .float_img01_wrap {
      margin: 8vw 0 10.66vw;
    }
    #private_bath .float_img01_txt h3 {
      margin-bottom: 6vw;
    }
    #private_bath .float_img01_txt h3 img {
      width: 40vw;
      height: auto;
    }
    #private_bath .float_img01_txt p {
      margin-bottom: 5vw;
    }
    .private_bath_tbl {
      margin-top: 8vw;
      padding: 0 2.66vw;
    }
    .private_bath_tbl th {
      width: 100%;
    }
    .private_bath_tbl td {
      padding-left: 4vw;
      padding-right: 4vw;
    }
  }

/*お部屋で温泉を楽しむ*/
#room_bath .float_img01_txt h3 {
  text-align: center;
  font-size: 3rem;
  margin-bottom: 20px;
}
#room_bath .float_img01_txt h3 small {
  display: block;
  font-size: 2rem;
  margin-bottom: 3px;
}
#room_bath .float_img01_txt p {
  margin-bottom: 30px;
}
#room_bath .float_img01_txt li {
  margin-bottom: 20px;
}
#room_bath .float_img01_txt li:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 1023px) {
    #room_bath .float_img01_wrap {
      margin-bottom: 10.66vw;
    }
    #room_bath .float_img01_wrap:last-child {
      margin-bottom: 5.33vw;
    }
    #room_bath .float_img01_txt h3 {
      font-size: 5.33vw;
      margin-bottom: 4vw;
    }
    #room_bath .float_img01_txt h3 small {
      display: block;
      font-size: 4vw;
      margin-bottom: 1vw;
    }
    #room_bath .float_img01_txt p {
      margin-bottom: 5.33vw;
    }
    #room_bath .float_img01_txt li {
      margin-bottom: 4vw;
    }
  }


/*----------------------------------------------------
  日帰り温泉 daytrip
--------------------------------------------------- */
#daytrip .cont_lead table {
  width: 600px;
  margin: 30px auto 0;
}
#daytrip .cont_lead th {
  width: 180px;
}
#daytrip .cont_lead td {
  text-align: left;
}
  @media screen and (max-width: 1023px) {
    #daytrip .cont_lead table {
      width: 100%;
      margin: 6.66vw auto 0;
    }
    #daytrip .cont_lead th {
      width: 100%;
    }
    #daytrip .cont_lead td {
      text-align: center;
    }
    #daytrip .anchor_link .tabLink {
      margin: 0 auto;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      -o-justify-content: center;
      justify-content: center;
    }
  }

#daytrip_lunch_spend {
  position: relative;
  z-index: 3;
}
#daytrip_lunch_spend .float_img02_txt h3 {
  position: relative;
  font-size: 2rem;
  padding-left: 28px;
  margin-bottom: 20px;
}
#daytrip_lunch_spend .float_img02_txt h3::before {
  position: absolute;
  left: 0;
  top: 0;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f017";
  font-size: 2.4rem;
  font-weight: 600;
  color: #bba43f;
}
#daytrip_lunch_spend .float_img02_txt p {
  margin-bottom: 25px;
}
#daytrip_lunch_spend .float_img02_txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 1023px) {
    #daytrip_lunch_spend .float_img02_txt h3 {
      font-size: 4.6vw;
      padding-left: 6.66vw;
      margin-bottom: 4vw;
    }
    #daytrip_lunch_spend .float_img02_txt h3::before {
      font-size: 5.33vw;
      line-height: 1.4;
    }
    #daytrip_lunch_spend .float_img02_txt p {
      margin-bottom: 4vw;
      letter-spacing: 0.02em;
    }
    #daytrip_lunch_spend .float_img02_txt p:last-child {
      margin-bottom: 0;
    }
  }

#lunch_spend01 {
  padding-bottom: 0;
}
#lunch_spend01 .sub_ttl02 {
  margin-bottom: 50px;
}
#lunch_spend02 {
  position: relative;
}
#lunch_spend02::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 150px;
  background: #EAE8E1;
}
  @media screen and (max-width: 1023px) {
    #lunch_spend01 .sub_ttl02 {
      margin-bottom: 8vw;
    }
    #lunch_spend02::before {
      height: 18vw;
    }
  }

.lunch_spend02_lead {
  padding: 30px;
  margin-bottom: 30px;
  background: #fff;
}
.lunch_spend02_lead figure {
  width: 63.2%;
}
.lunch_spend02_lead figure img {
  width: 100%;
  height: auto;
}
.lunch_spend02_txt {
  width: 34.2%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lunch_spend02_txt dt {
  font-size: 2rem;
  margin-bottom: 5px;
}
  @media screen and (max-width: 1023px) {
    .lunch_spend02_lead {
      padding: 2.66vw;
      margin-bottom: 6.66vw;
    }
    .lunch_spend02_lead figure {
      width: 100%;
    }
    .lunch_spend02_txt {
      width: 100%;
      display: block;
    }
    .lunch_spend02_txt dt {
      font-size: 4.6vw;
      margin: 3.33vw 0 2vw;
    }
  }

#lunch_spend02 .float_img02_wrap {
  padding-bottom: 30px;
}
  @media screen and (max-width: 1023px) {
    #lunch_spend02 .float_img02_wrap {
      padding-bottom: 30px;
    }
  }

.daytrip_bus {
  margin-top: 60px;
}
.daytrip_bus figure {
  width: 30.7%;
}
.daytrip_bus figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.daytrip_bus_txt {
  width: 66.5%;
}
.daytrip_bus_txt table {
  font-size: 1.5rem;
  line-height: 2;
}
.daytrip_bus_txt th {
  width: 16%;
  padding: 12px;
  background: #F1F1F1;
  text-align: center;
  vertical-align: middle;
  border: solid 1px #B1AFAF;
  font-weight: 400;
}
.daytrip_bus_txt td {
  background: #fff;
  border: solid 1px #B1AFAF;
  padding: 12px 22px;
}
.daytrip_bus_txt td p span {
  font-size: 1.8rem;
}
.daytrip_bus_txt td dl {
  margin-bottom: 5px;
}
.daytrip_bus_txt td dl:last-child {
  margin-bottom: 0;
}
.daytrip_bus_txt td dt {
  position: relative;
  width: 240px;
  font-size: 1.8rem;
}
.daytrip_bus_txt td dt::before {
  position: absolute;
  left: 0;
  top: 16px;
  content: "";
  width: 100%;
  height: 1px;
  background: #BBA43F;
}
.daytrip_bus_txt td dt span {
  position: relative;
  display: inline-block;
  background: #fff;
  padding: 0 12px 0 30px;;
}
.daytrip_bus_txt td dt span::after {
  position: absolute;
  left: 0;
  top: 0;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f238";
  font-size: 2.4rem;
  font-weight: 600;
  color: #bba43f;
  line-height: 1.4;
}
.daytrip_bus_txt td dt span.bus::after {
  content: "\f207";
}
.daytrip_bus_txt td dd {
  width: calc(100% - 250px);
  padding-top: 2px;
}
  @media screen and (max-width: 1023px) {
    .daytrip_bus {
      margin-top: 10.66vw;
      padding: 0 4vw;
    }
    .daytrip_bus figure {
      width: 100%;
      margin-bottom: 5.33vw;
    }
    .daytrip_bus figure img {
      width: 100%;
      height: auto;
    }
    .daytrip_bus_txt {
      width: 100%;
    }
    .daytrip_bus_txt table,
    .daytrip_bus_txt tbody,
    .daytrip_bus_txt tr,
    .daytrip_bus_txt th,
    .daytrip_bus_txt td {
      display: block;
      width: 100%!important;
    }
    .daytrip_bus_txt table {
      font-size: 3.73vw;
      line-height: 1.9;
    }
    .daytrip_bus_txt th {
      border: none;
      border-top: solid 1px #B1AFAF;
      border-bottom: solid 1px #B1AFAF;
      padding: 2vw 2.66vw;
      font-size: 4vw;
    }
    .daytrip_bus_txt td {
      border: none;
      padding: 4vw;
    }
    .daytrip_bus_txt td p span {
      font-size: 4.26vw;
    }
    .daytrip_bus_txt td p a {
      color: #000;
    }
    .daytrip_bus_txt td dl {
      margin-bottom: 2.66vw;
    }
    .daytrip_bus_txt td dl:last-child {
      margin-bottom: 0;
    }
    .daytrip_bus_txt td dt {
      width: 100%;
      font-size: 4.4vw;
    }
    .daytrip_bus_txt td dt::before {
      display: none;
    }
    .daytrip_bus_txt td dt span {
      padding: 0 0 0 8vw;
    }
    .daytrip_bus_txt td dt span::after {
      font-size: 5.8vw;
      line-height: 1.4;
    }
    .daytrip_bus_txt td dd {
      position: relative;
      width: 100%;
      padding: 2vw 0 2.66vw 8vw;
      font-size: 3.46vw;
      letter-spacing: 0.1vw;
    }
    .daytrip_bus_txt td dd::before {
      position: absolute;
      left: 2.8vw;
      top: 0;
      content: "";
      width: 1px;
      height: 100%;
      background: #BBA43F;
    }
  }

#daytrip_dinner .tile_gallery {
  margin-top: 60px;
}
  @media screen and (max-width: 1023px) {
    #daytrip_dinner .tile_gallery {
      margin-top: 8vw;
      padding: 0;
    }
  }

#daytrip_lunch_plan {
  z-index: 2;
}
#daytrip_dinner_plan {
  margin-bottom: 60px;
}
  @media screen and (max-width: 1023px) {
    #daytrip_dinner_plan {
      margin-bottom: 10.66vw;
    }
  }

/*----------------------------------------------------
  施設 facilities
--------------------------------------------------- */
#facilities .anchor_link {
  z-index: 10;
}

#tsurezure {
  position: relative;
  z-index: 5;
}
.tsurezure01 {
  position: relative;
  z-index: 5;
}
#facilities .float_img01_wrap figure {
  width: 48%;
}
#facilities .float_img01_wrap figure img {
  height: 450px;
}
#facilities .float_img01_box {
  width: 47.5%;
}
#facilities .float_img01_txt {
  width: auto;
  max-width: 620px;
  padding-right: 12%;
}
#facilities .float_img01_txt h3 {
  font-size: 2.4rem;
  line-height: 2;
  margin-bottom: 18px;
}
#facilities .float_img01_txt p {
  margin-bottom: 28px;
}
#facilities .float_img01_txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 1023px) {
    .tsurezure_logo img {
      width: 56vw;
      height: auto;
    }
    #facilities .float_img01_wrap figure {
      width: 100%;
    }
    #facilities .float_img01_wrap figure img {
      height: auto;
    }
    #facilities .float_img01_box {
      width: 100%;
    }
    #facilities .float_img01_txt {
      width: 100%;
      max-width: 100%;
      padding-right: 0;
    }
    #facilities .float_img01_txt h3 {
      font-size: 4.4vw;
      line-height: 2;
      margin-bottom: 3vw;
    }
    #facilities .float_img01_txt p {
      margin-bottom: 3vw;
    }
  }

.tsurezure02 {
  position: relative;
  padding: 30px 0 60px;
}
.tsurezure02::before {
  position: absolute;
  left: 0;
  top: -30px;
  content: "";
  width: 100%;
  height: calc(100% + 30px);
  background: #EAE8E1;
}
.tsurezure02_img {
  width: 48.2%;
}
.tsurezure02_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.tsurezure02_img li {
  width: 50%;
  padding: 0 4% 0 0;
}
.tsurezure02_img li img {
  width: 100%;
  height: 350px;
}
.tsurezure02_txt {
  width: 48.2%;
  padding: 0 0 0 4%;
  align-items: center;
}
.tsurezure02_txt_inner {
  max-width: 560px;
}
.tsurezure02_txt_inner p {
  margin-bottom: 30px;
}
  @media screen and (max-width: 1023px) {
    .tsurezure02 {
      padding: 8vw 5.33vw 10.66vw;
      margin-top: 8vw;
    }
    .tsurezure02::before {
      top: 0;
      width: 100%;
      height: 100%;
    }
    .tsurezure02_img {
      width: 100%;
    }
    .tsurezure02_img img {
      width: 100%;
      height: auto;
      object-fit: cover;
    }
    .tsurezure02_img ul {
      margin-bottom: 5.33vw;
      justify-content: space-between;
    }
    .tsurezure02_img li {
      width: 48.5%;
      padding: 0;
    }
    .tsurezure02_img li img {
      width: 100%;
      height: auto;
    }
    .tsurezure02_txt {
      width: 100%;
      padding: 0;
    }
    .tsurezure02_txt_inner {
      max-width: 100%;
    }
    .tsurezure02_txt_inner p {
      margin-bottom: 5vw;
    }
  }

.hakutai01_gallery {
  padding: 0 2.5%;
  margin-top: 30px;
}
.hakutai01_gallery li {
  width: 31.6%;
}
.hakutai01_gallery li img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 1023px) {
    #hakutai {
      padding-left: 0;
      padding-right: 0;
    }
    .hakutai01_gallery {
      padding: 0 5.33vw;
      margin-top: 8vw;
    }
    .hakutai01_gallery li {
      width: 100%;
      margin-bottom: 2.66vw;
    }
    .hakutai01_gallery li img {
      width: 100%;
      height: auto;
    }
  }

#other_facilities {
  padding-bottom: 0;
}
.of_wrap {
  position: relative;
  z-index: 5;
}
.of_img {
  width: 59.5%;
}
.of_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.of_img figure {
  margin-bottom: 3.9%;
}
.of_img figure img {
  height: 500px;
}
.of_img li {
  width: 50%;
  padding: 0 3% 0 0;
}
.of_img li img {
  width: 100%;
  height: 400px;
}
.of_txt {
  width: 38%;
  padding: 0 0 0 4%;
  align-items: center;
}
.of_txt_inner {
  max-width: 380px;
}
.of_txt_inner h3 {
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 25px;
}
.of_txt_inner p {
  margin-bottom: 30px;
}
  @media screen and (max-width: 1023px) {
    #other_facilities {
      padding-bottom: 0;
    }
    .of_wrap {
      padding: 0 5.33vw;
    }
    .of_img {
      width: 100%;
    }
    .of_img img {
      width: 100%;
      height: auto;
      object-fit: cover;
    }
    .of_img figure {
      margin-bottom: 5.33vw;
    }
    .of_img figure img {
      height: auto;
    }
    .of_img ul {
      margin-bottom: 5.33vw;
      justify-content: space-between;
    }
    .of_img li {
      width: 48%;
      padding: 0;
    }
    .of_img li img {
      width: 100%;
      height: auto;
    }
    .of_txt {
      width: 100%;
      padding: 0;
    }
    .of_txt_inner {
      max-width: 100%;
    }
    .of_txt_inner h3 {
      font-size: 4.4vw;
      margin-bottom: 3vw;
    }
    .of_txt_inner p {
      margin-bottom: 5vw;
    }
  }

.other_facilities01 {
  margin-bottom: 60px;
}
.other_facilities02 {
  position: relative;
  margin-bottom: 60px;
}
.other_facilities02::after {
  position: absolute;
  left: 0;
  top: 30px;
  content: "";
  width: 100%;
  height: calc(100% - 60px);
  background: #fff;
}
.other_facilities02 .float_img01_wrap {
  z-index: 5;
}
#facilities .other_facilities02 figure {
  padding-left: 2%;
  width: 58.5%;
}
#facilities .other_facilities02 figure img {
  height: 500px;
}
#facilities .other_facilities02 .float_img01_box {
  width: 38%;
  padding-right: 6%;
}
#facilities .other_facilities02 .float_img01_txt {
  max-width: 360px;
  padding-right: 0;
}
.other_facilities02_txt h3 {
  text-align: center;
}
.other_facilities02_txt .btn a {
  width: 100%;
  max-width: 360px;
  display: block;
}
.other_facilities03 {
  margin-bottom: 65px;
}
.other_facilities04 {
  position: relative;
  padding-bottom: 60px;
}
.other_facilities04::after {
  position: absolute;
  left: 0;
  top: 30px;
  content: "";
  width: 100%;
  height: calc(100% - 30px);
  background: #fff;
}
  @media screen and (max-width: 1023px) {
    .other_facilities01 {
      margin-bottom: 10.66vw;
    }
    .other_facilities02 {
      padding: 10.66vw 0;
      margin-bottom: 10.66vw;
    }
    .other_facilities02::after {
      position: absolute;
      left: 0;
      top: 0;
      content: "";
      width: 100%;
      height: 100%;
      background: #fff;
    }
    #facilities .other_facilities02 figure {
      padding-left: 0;
      width: 100%;
    }
    #facilities .other_facilities02 figure img {
      height: auto;
    }
    #facilities .other_facilities02 .float_img01_box {
      width: 100%;
      padding-right: 0;
    }
    #facilities .other_facilities02 .float_img01_txt {
      max-width: 100%;
      padding-right: 0;
    }
    .other_facilities02_txt .btn a {
      max-width: 100%;
    }
    .other_facilities03 {
      margin-bottom: 10.66vw;
      padding: 0 5.33vw;
    }
    .other_facilities04 {
      padding-bottom: 15.33vw;
    }
    .other_facilities04::after {
      top: 18vw;
      height: calc(100% - 18vw);
    }
  }

#floor_info {
  position: relative;
  width: 100%;
  height: 215px;
  background: url("../img/facilities/floor_info_bg.jpg") center center no-repeat;
  background-size: cover;
  color: #fff;
  z-index: 5;
}
#floor_info .wrapper {
  height: 100%;
}
#floor_info dl {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  letter-spacing: 0.2em;
}
#floor_info dl::after {
  position: absolute;
  left: -30px;
  top: 50%;
  content: "";
  width: calc(100% - 310px);
  height: 1px;
  background: #fff;
}
#floor_info dt {
  font-size: 2.4rem;
  padding-bottom: 10px;
}
#floor_info dd {
  font-size: 1.6rem;
  padding-bottom: 10px;
}
#floor_info .btn01 {
  position: absolute;
  right: 0;
  top: calc(50% - 27px);
}
  @media screen and (max-width: 1300px) {
    #floor_info dl::after {
      width: calc(100% - 340px);
    }
    #floor_info .btn01 {
      right: 30px;
    }
  }
  @media screen and (max-width: 1023px) {
    #floor_info {
      height: auto;
      padding: 8vw 5.33vw;
    }
    #floor_info .wrapper {
      height: 100%;
    }
    #floor_info dl {
      height: 100%;
      display: block;
      margin-bottom: 5vw;
      text-align: center;
    }
    #floor_info dl::after {
      left: calc(50% - 10vw);
      width: 20vw;
    }
    #floor_info dt {
      font-size: 5.33vw;
      padding-bottom: 3vw;
    }
    #floor_info dd {
      font-size: 4vw;
      padding-bottom: 1.66vw;
    }
    #floor_info .btn01 {
      position: relative;
      right: auto;
      top: auto;
    }
  }

#facilities_gallery::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 43%;
  background: #fff;
}
#facilities_gallery .sub_ttl01 {
  position: relative;
  z-index: 5;
}
#facilities_gallery .tile_gallery {
  z-index: 5;
}
#facilities_gallery .tile_gallery_wrap {
  margin-bottom: 0.9%;
}
  @media screen and (max-width: 1023px) {
    #facilities_gallery .tile_gallery_sp {
      position: relative;
      z-index: 5;
      padding: 0 5.33vw 5.33vw;
    }
    .facilities_gallery_slider {
      position: relative;
      padding-bottom: 13.33vw;
    }
    .facilities_gallery_slider .slick-arrow {
      position: absolute;
      bottom: 0;
      cursor: pointer;
      transition: all 0.2s ease-in-out 0s;
    }
    .facilities_gallery_slider .slick-arrow img {
      width: 8vw;
      height: auto;
    }
    .facilities_gallery_slider .slick-arrow:hover {
      opacity: 1;
    }
    .facilities_gallery_slider .slick-arrow.prev_btn {
      left: 0;
    }
    .facilities_gallery_slider .slick-arrow.next_btn {
      right: 0;
    }
    #facilities_gallery .tile_gallery_sp .slick-list img {
      width: 100%!important;
      height: auto;
    }
  }

/*----------------------------------------------------
  よくあるご質問 faq
--------------------------------------------------- */
#faq {
  padding-bottom: 100px;
}
#faq_lead p a {
  color: #0470b6;
}
  @media screen and (max-width: 1023px) {
    #faq {
      padding-bottom: 15.33vw;
    }
  }

.category_nav {
  position: relative;
  z-index: 5;
  background: #F1F1F1;
  padding: 0 2%;
}
.category_nav ul {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 0 15px;
}
.category_nav li {
  width: calc(25% - 23px);
  color: #111;
  text-decoration: none;
  margin: 0 30px 15px 0;
}
.category_nav li:nth-child(4n) {
  margin-right: 0;
}
.category_nav li:hover {
  color: #666;
}
.category_nav li a {
  position: relative;
  display: block;
  text-decoration: none;
  color: #524e4d;
  background: #fff;
  font-size: 1.5rem;
  padding: 11px 50px 11px 22px;
  border: solid 1px #b1afaf;
}
.category_nav li a::after {
  position: absolute;
  right: 18px;
  top: calc(50% - 10px);
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f063";
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
  color: #b1afaf;
  transition: all 0.2s ease-in-out 0s;
}
.category_nav li a:hover {
  border: solid 1px #bba43f;
  color: #bba43f;
}
.category_nav li a:hover::after {
  color: #bba43f;
}
  @media screen and (max-width: 1023px) {
    .category_nav {
      padding: 0 3vw;
    }
    .category_nav ul {
      padding: 5vw 0 2vw;
      justify-content: space-between;
    }
    .category_nav li {
      width: 48.5%;
      margin: 0 0 3vw 0;
    }
    .category_nav li a {
      font-size: 3.73vw;
      padding: 2.66vw 8vw 2.66vw 3.33vw;
    }
    .category_nav li a::after {
      right: 2.33vw;
      top: calc(50% - 2.4vw);
      font-size: 4.8vw;
    }
  }

.faq_wrap {
  padding: 0 2% 100px;
}
.faq_wrap section {
  padding-top: 90px;
}
.faq_box dl {
  border-top: solid 1px #B1AFAF;
}
.faq_box dl:last-child {
  border-bottom: solid 1px #B1AFAF;
}
.faq_box dt {
  position: relative;
  cursor: pointer;
  padding: 13px 0 13px 78px;
  font-size: 1.6rem;
  min-height: 60px;
}
.faq_box dt::after {
  position: absolute;
  left: 20px;
  top: 10px;
  width: 40px;
  line-height: 40px;
  content: "Q";
  background: #524E4D;
  color: #fff;
  text-align: center;
  font-size: 2.4rem;
  font-family: 'Merriweather', serif;
}
.faq_box dt span {
  display: block;
  position: relative;
  padding-right: 50px;
}
.faq_box dt span::before {
  position: absolute;
  right: 30px;
  top: 18px;
  content: "";
  width: 15px;
  height: 1px;
  background: #524E4D;
}
.faq_box dt span::after {
  position: absolute;
  right: 37px;
  top: 11px;
  content: "";
  width: 1px;
  height: 15px;
  background: #524E4D;
  transition: all 0.2s ease-in-out 0s;
}
.faq_box dt.activ span::after {
  transform: rotate(90deg);
  opacity: 0;
}
.faq_box dd {
  position: relative;
  display: none;
  background: #EAE8E1;
  padding: 22px 78px;
  margin-bottom: 10px;
  font-size: 1.5rem;
}
.faq_box dd::after {
  position: absolute;
  left: 20px;
  top: 18px;
  width: 40px;
  line-height: 40px;
  content: "A";
  background: #fff;
  color: #BBA43F;
  text-align: center;
  font-size: 2.4rem;
  font-family: 'Merriweather', serif;
}
  @media screen and (max-width: 1023px) {
    .faq_wrap {
      padding: 0 3vw 15.33vw;
    }
    .faq_wrap section {
      padding-top: 12vw;
    }
    .faq_box dt {
      padding: 3vw 0 3vw 14vw;
      font-size: 4vw;
      min-height: 14vw;
    }
    .faq_box dt::after {
      left: 2.66vw;
      top: 2.66vw;
      width: 8.8vw;
      line-height: 8.8vw;
      font-size: 5.33vw;
    }
    .faq_box dt span {
      padding-right: 9.33vw;
    }
    .faq_box dt span::before {
      right: 2.22vw;
      top: 50%;
      width: 4.8vw;
    }
    .faq_box dt span::after {
      right: 4.4vw;
      top: calc(50% - 2.4vw);
      height: 4.8vw;
    }
    .faq_box dd {
      padding: 3.66vw 3.66vw 3.66vw 14vw;
      margin-bottom: 2.66vw;
      font-size: 3.73vw;
    }
    .faq_box dd::after {
      left: 2.66vw;
      top: 2.66vw;
      width: 8.8vw;
      line-height: 8.8vw;
      font-size: 5.33vw;
    }
  }

.reserve_nav {
  margin-bottom: 60px;
}
.reserve_nav li {
  margin: 0 15px;
}
.reserve_nav .btn-p a::before {
  display: none;
}
.reserve_nav .btn-p span {
  display: inline-block;
  position: relative;
  padding-right: 40px;
}
.reserve_nav .btn-p span::before {
  position: absolute;
  right: 0;
  top: 0;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f002";
  font-weight: 600;
  color: #bba43f;
  font-size: 2rem;
  line-height: 1.5;
}
  @media screen and (max-width: 1023px) {
    .reserve_nav {
      padding: 0 7vw;
      margin-bottom: 0;
    }
    .reserve_nav li {
      margin: 0 0 3.33vw;
    }
    .reserve_nav .btn01 a {
      width: 100%;
      max-width: 100%;
      letter-spacing: 0.1em;
    }
    .reserve_nav .btn01 a::before {
      display: none;
    }
    .reserve_nav .btn-p span {
      padding-right: 9.33vw;
    }
    .reserve_nav .btn-p span::before {
      font-size: 4.8vw;
    }
  }

.reserve_nav .btn-mail a::before {
  display: none;
}
.reserve_nav .btn-mail a:hover {
  border: solid 1px #bba43f;
  color: #bba43f;
}
.reserve_nav .btn-mail span {
  display: inline-block;
  position: relative;
  padding-left: 38px;
}
.reserve_nav .btn-mail span::before {
  position: absolute;
  left: 0;
  top: -5px;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f2b6";
  font-weight: 600;
  color: #bba43f;
  font-size: 2.4rem;
  line-height: 1.5;
}
  @media screen and (max-width: 1023px) {
    .reserve_nav .btn-mail span {
      padding-left: 8vw;
    }
    .reserve_nav .btn-mail span::before {
      top: -0.66vw;
      font-size: 5.33vw;
    }
  }

/*----------------------------------------------------
  プライバシーポリシー privacy
--------------------------------------------------- */
#privacy {
  padding-bottom: 100px;
}
#privacy_lead {
  padding: 32px 20px;
}
#privacy_lead p {
  text-align: left;
  font-size: 1.5rem;
}
  @media screen and (max-width: 1023px) {
    #privacy {
      padding-bottom: 15.33vw;
    }
    #privacy_lead {
      padding: 8vw 4vw;
    }
    #privacy_lead p {
      font-size: 3.73vw;
    }
    #privacy .page_ttl {
      letter-spacing: 0.4em;
    }
  }

.privacy_wrap {
  padding: 0 20px;
}
.privacy_wrap dl {
  font-size: 1.5rem;
  border-bottom: solid 1px #D5D4D4;
  padding: 30px 0;
}
.privacy_wrap dl:first-child {
  border-top: solid 1px #D5D4D4;
}
.privacy_wrap dd {
  padding-left: 33px;
}
.privacy_wrap dd li {
  padding-left: 32px;
  text-indent: -32px;
}
  @media screen and (max-width: 1023px) {
    .privacy_wrap {
      padding: 0 4vw;
    }
    .privacy_wrap dl {
      font-size: 3.46vw;
      padding: 5vw 0;
    }
    .privacy_wrap dd {
      padding-left: 7.2vw;
    }
    .privacy_wrap dd li {
      padding-left: 7.2vw;
      text-indent: -7.2vw;
    }
  }

.privacy_info {
  font-size: 1.5rem;
  margin-top: 30px;
}
.privacy_info h3 {
  margin-bottom: 7px;
}
.privacy_info p {
  padding-left: 16px;
  line-height: 2;
}
  @media screen and (max-width: 1023px) {
    .privacy_info {
      font-size: 3.73vw;
      margin-top: 9.33vw;
    }
    .privacy_info h3 {
      margin-bottom: 1.66vw;
    }
    .privacy_info p {
      padding-left: 3.73vw;
    }
    .privacy_info p a {
      color: #0470b6;
    }
  }

/*----------------------------------------------------
  こだわりの朝食 breakfast
--------------------------------------------------- */
#kodawari {
  z-index: 5;
}
.kodawari_wrap {
  position: relative;
  padding-top: 600px;
}
.kodawari_wrap::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 600px;
  background: url("../img/cuisine/breakfast/kodawari_main.jpg") center top no-repeat;
  background-size: cover;
}
.kodawari_cont {
  position: relative;
}
  @media screen and (max-width: 1023px) {
    .kodawari_wrap {
      padding-top: 66.66vw;
    }
    .kodawari_wrap::before {
      height: 66.66vw;
      background: url("../img/cuisine/breakfast/kodawari_main_sp.jpg") center top no-repeat;
      background-size: cover;
    }
  }

.kodawari_ttl {
  margin-bottom: 50px;
  line-height: 1.7;
  letter-spacing: 0.2em;
}
.kodawari_ttl span {
  display: block;
  margin-bottom: 20px;
}
.kodawari_ttl strong {
  display: block;
  font-weight: 400;
  font-size: 3rem;
}
.kodawari_ttl small {
  font-size: 2.4rem;
}
.kodawari_ttl b {
  display: inline-block;
  font-weight: 400;
  font-size: 2.4rem;
  border-bottom: solid 1px #BBA43F;
}
  @media screen and (max-width: 1023px) {
    .kodawari_ttl {
      margin-bottom: 8.7vw;
      line-height: 1.7;
    }
    .kodawari_ttl span {
      margin-bottom: 3.76vw;
    }
    .kodawari_ttl span img {
      width: 50.66vw;
      height: auto;
    }
    .kodawari_ttl strong {
      font-size: 5.6vw;
    }
    .kodawari_ttl small {
      font-size: 4.53vw;
    }
    .kodawari_ttl b {
      font-size: 4.53vw;
      padding-bottom: 1.2vw;
    }
  }

.picture_style01 {
  border: solid 2px #fff;
  box-shadow: 0px 1px 9px 1px rgba(0, 0, 0, 0.45);
}

#kodawari01 {
  background: #EAE8E1;
  z-index: 5;
  padding: 0 20px 60px;
}
#kodawari01 .inner {
  background: url("../img/common/bg/sumi01.png") 320px 60px no-repeat;
}
#kodawari01 .kodawari_inner {
  position: relative;
  top: -42px;
}
#kodawari01 .kodawari_box {
  width: calc(100% - 610px);
}
.kodawari01_img {
  position: relative;
  width: 570px;
  right: -30px;
}
.kodawari01_02 {
  position: absolute;
  right: 0;
  bottom: -40px;
  z-index: 2;
}
  @media screen and (max-width: 1210px) {
    .kodawari01_img {
      right: 0;
    }
  }
  @media screen and (max-width: 1023px) {
    #kodawari01 {
      padding: 0 0 6.66vw;
    }
    #kodawari01 .inner {
      padding: 0 5.33vw;
      background: url("../img/common/bg/sumi01.png") 31.33vw 44vw no-repeat;
      background-size: 75.33vw 61.6vw;
    }
    #kodawari01 .kodawari_inner {
      top: -7.6vw;
    }
    #kodawari01 .kodawari_box {
      width: 100%;
    }
    .kodawari01_img {
      width: 76.66vw;
      right: auto;
      margin: 8vw auto 0;
    }
    .kodawari01_01 img {
      width: 48.53vw;
    }
    .kodawari01_02 img {
      width: 32.53vw;
    }
    .kodawari01_02 {
      right: 0;
      bottom: -5vw;
    }
  }

.kodawari01_gallery {
  margin-top: 60px;
}
.kodawari01_gallery li {
  width: 31.6%;
}
.kodawari01_gallery li img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 1023px) {
    .kodawari01_gallery {
      margin-top: 5.33vw;
      flex-wrap: wrap;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      -o-justify-content: center;
      justify-content: center;
    }
    .kodawari01_gallery {
      margin-left: -4vw;
      margin-right: -4vw;
    }
    .kodawari01_gallery li {
      width: 46%;
      padding: 0 2% 4vw;
    }
  }

#kodawari02 {
  padding: 60px 20px;
  min-height: 520px;
}
.kodawari02_gallery {
  width: 48%;
  position: absolute;
  right: 0;
  top: 60px;
}
.kodawari02_gallery li {
  width: 50%;
  margin-right: 30px;
}
.kodawari02_gallery li img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}
  @media screen and (max-width: 1023px) {
    #kodawari02 {
      padding: 8vw 5.33vw 10.66vw;
      min-height: auto;
    }
    #kodawari02::after {
      left: 48vw;
    }
    .kodawari02_gallery {
      width: 100%;
      position: relative;
      right: auto;
      top: auto;
      margin-top: 6vw;
    }
    .kodawari02_gallery ul {
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      -o-justify-content: space-between;
      justify-content: space-between;
    }
    .kodawari02_gallery li {
      width: 48%;
      margin: 0;
    }
    .kodawari02_gallery li img {
      width: 100%;
      height: 46.66vw;
      object-fit: cover;
    }
  }

#kodawari03 {
  padding: 60px 20px;
  min-height: 620px;
  background: url("../img/common/bg/sumi01.png") 96% -60px #EAE8E1 no-repeat;
  z-index: 4;
}
.kodawari03_wrap {
  position: relative;
}
#kodawari03 .kodawari_box {
  width: 48%;
}
#kodawari03 .kodawari_txt {
  position: relative;
}
.kodawari03_gallery {
  max-width: 530px;
  position: absolute;
  top: calc(100% + 55px);
  left: 0;
}
.kodawari03_gallery ul {
  width: 100%;
}
.kodawari03_gallery li {
  width: 47.2%;
}
.kodawari03_gallery li img {
  width: 100%;
  height: auto;
}
.kodawari03_img {
  width: 48%;
  position: absolute;
  left: 0;
  top: 60px;
  padding-left: 30px;
}
.kodawari03_img img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
  @media screen and (max-width: 1023px) {
    #kodawari03 {
      padding: 8vw 5.33vw 10.66vw;
      min-height: auto;
      background: url("../img/common/bg/sumi01.png") 31.33vw 2.66vw  #EAE8E1 no-repeat;
      background-size: 75.33vw 61.6vw;
    }
    #kodawari03 .kodawari_box {
      width: 100%;
    }
    .kodawari03_gallery {
      max-width: 100%;
      position: relative;
      top: auto;
      left: auto;
      margin-bottom: 5vw;
    }
    .kodawari03_gallery ul {
      width: 100%;
      margin-top: 6vw;
    }
    .kodawari03_gallery li {
      width: 47.5%;
    }
    .kodawari03_img {
      width: 100%;
      position: relative;
      left: auto;
      top: auto;
      padding-left: 0;
    }
    .kodawari03_img img {
      height: auto;
    }
  }

#kodawari04 {
  padding: 60px 20px 90px;
}
#kodawari04 .kodawari_txt {
  width: 49.5%;
}
.kodawari04_img {
  width: 48%;
  position: absolute;
  right: 0;
  bottom: -30px;
}
.kodawari04_img img {
  width: 100%;
  height: 450px;
  object-fit: cover;
}
  @media screen and (max-width: 1023px) {
    #kodawari04 {
      padding: 8vw 5.33vw 10.66vw;
      min-height: auto;
    }
    #kodawari04::after {
      left: 48vw;
    }
    #kodawari04 .kodawari_txt {
      width: 100%;
    }
    .kodawari04_img {
      width: 100%;
      position: relative;
      right: auto;
      bottom: auto;
      margin-top: 6vw;
    }
    .kodawari04_img img {
      height: auto;
    }
  }

/*朝食のご案内*/
#breakfast_info {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 60px;
}
.breakfast_info_box figure {
  width: 47.5%;
}
.breakfast_info_txt {
  width: 47.5%;
  padding-top: 20px;
}
.breakfast_info_txt table {
  margin-bottom: 15px;
}
.breakfast_info_txt th {
  text-align: center;
  vertical-align: middle;
}
.breakfast_info_txt p {
  margin-bottom: 22px;
  padding-left: 14px;
  text-indent: -14px;
}
  @media screen and (max-width: 1023px) {
    #breakfast_info {
      padding: 15vw 5.33vw 10.66vw;
      margin-bottom: 10.66vw;
    }
    .breakfast_info_box figure {
      width: 100%;
    }
    .breakfast_info_txt {
      width: 100%;
      padding-top: 8vw;
    }
    .breakfast_info_txt table {
      margin-bottom: 4vw;
    }
    .breakfast_info_txt th {
      width: 21%;
    }
    .breakfast_info_txt p {
      font-size: 3.46vw;;
      margin-bottom: 4vw;
      padding-left: 3.46vw;
      text-indent: -3.46vw;
    }
  }

/*----------------------------------------------------
  交通案内 access
--------------------------------------------------- */
#access_map {
  padding-left: 20px;
  padding-right: 20px;
}
.access_map_info {
  margin-bottom: 25px;
}
.access_map_info_txt {
  text-align: left;
}
#gmap iframe {
  width: 100%;
}
  @media screen and (max-width: 1023px) {
    #access_map {
      padding-left: 2vw;
      padding-right: 2vw;
    }
    .access_map_info {
      margin-bottom: 8vw;
    }
    .access_map_info_txt {
      margin-bottom: 5.33vw;
    }
    #gmap iframe {
      height: 65vw;
    }
  }

#access_guide {
  position: relative;
  z-index: 5;
  padding-left: 20px;
  padding-right: 20px;
}
.access_guide_box {
  background: #fff;
  padding: 30px 20px;
  margin-bottom: 40px;
}
.access_guide_box_inner {
  max-width: 1060px;
  margin: 0 auto;
}
.access_guide_box h3 {
  position: relative;
  font-size: 2rem;
  margin-bottom: 32px;
  padding-left: 40px;
}
.access_guide_box h3::before {
  position: absolute;
  left: 0;
  font-family:"Line Awesome Free","Line Awesome Brands";
  font-weight: 600;
  font-size: 3rem;
  line-height: 1;
  color: #bba43f;
}
.access_guide_box figure {
  padding-bottom: 30px;
}
.access_guide_box p {
  font-size: 1.5rem;
}
  @media screen and (max-width: 1023px) {
    #access_guide {
      padding-left: 4vw;
      padding-right: 4vw;
    }
    .access_guide_box {
      padding: 5vw 4vw;
      margin-bottom: 8vw;
    }
    .access_guide_box_inner {
      max-width: 100%;
    }
    .access_guide_box h3 {
      font-size: 4.7vw;
      margin-bottom: 5vw;
      padding-left: 8.7vw;
    }
    .access_guide_box h3::before {
      font-size: 6.66vw;
      line-height: 1.1;
    }
    .access_guide_box figure {
      overflow: auto;
      width: 100%;
      padding-bottom: 5vw;
      margin-bottom: 3vw;
    }
    .access_guide_box figure img {
      display: block;
      width: 264vw;
      height: auto;
      max-width: 264vw;
    }
    .access_guide_box p {
      font-size: 3.46vw;
      letter-spacing: 0;
      text-align: center;
    }
    #access_guide03 .access_guide_box {
      margin-bottom: 0;
    }
  }

#access_guide01 .access_guide_box h3::before {
  content: "\f5e4";
}
#access_guide02 .access_guide_box h3::before {
  content: "\f238";
}
#access_guide03 .access_guide_box h3::before {
  content: "\f072";
}

.parking_box {
  margin-bottom: 40px;
}
.parking_box figure {
  position: relative;
  z-index: 5;
  width: 360px;
}
.parking_box figure img {
  width: 100%;
  height: auto;
}
.parking_txt {
  width: calc(100% - 390px);
}
.parking_txt h3 {
  position: relative;
  font-size: 2.4rem;
  padding: 22px 0 10px 0;
  margin-bottom: 22px;
}
.parking_txt h3::after {
  position: absolute;
  left: -30px;
  bottom: 0;
  content: "";
  width: calc(100% + 30px);
  height: 1px;
  background: #B1AFAF;
}
.parking_txt p {
  font-size: 1.5rem;
  margin-bottom: 30px;
}
  @media screen and (max-width: 1023px) {
    .parking_box {
      margin-bottom: 10.66vw;
    }
    .parking_box figure {
      width: 100%;
      margin-bottom: 5vw;
    }
    .parking_txt {
      width: 100%;
    }
    .parking_txt h3 {
      font-size: 4.4vw;
      padding: 0 0 2.66vw 0;
      margin-bottom: 3vw;
    }
    .parking_txt h3::after {
      left: 0;
      width: 100%;
    }
    .parking_txt p {
      font-size: 3.73vw;
      letter-spacing: 0.01em;
      margin-bottom: 5vw;
    }
    .parking_btn {
      text-align: center;
    }
  }

#transportation {
  z-index: 4;
}
.transportation_lead table {
  width: 510px;
  margin: 60px auto 25px;
  font-size: 1.8rem;
}
.transportation_lead th,
.transportation_lead td {
  text-align: center;
}
.transportation_lead dl {
  margin-bottom: 40px;
}
.transportation_lead dt {
  display: inline-block;
  color: #bb0000;
  border-bottom: solid 1px #bb0000;
  font-size: 2.4rem;
  line-height: 1.6;
  margin-bottom: 22px;
}
.transportation_lead dt small {
  font-size: 1.6rem;
}
.transportation_lead dt a {
  color: #bb0000;
  text-decoration: none;
}
  @media screen and (max-width: 1023px) {
    #transportation {
      padding-bottom: 0;
    }
    .transportation_lead {
      padding: 0 2vw;
    }
    .transportation_lead table {
      width: 100%;
      margin: 0 auto 5vw;
      font-size: 4vw;
    }
    .transportation_lead dl {
      margin-bottom: 8vw;
    }
    .transportation_lead dt {
      font-size: 4.4vw;
      margin-bottom: 5.33vw;
    }
    .transportation_lead dt small {
      font-size: 4vw;
    }
    .transportation_lead dd {
      text-align: left;
      font-size: 3.46vw;
    }
  }

.transportation_body {
  position: relative;
  padding: 0 20px 40px;
}
.transportation_body::after {
  position: absolute;
  left: 0;
  top: 100px;
  content: "";
  width: 100%;
  height: calc(100% - 100px);
  background: #EAE8E1;
}
.transportation_img {
  max-width: 840px;
  margin: 0 auto 40px;
}
.transportation_img img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 1023px) {
    .transportation_body {
      padding: 0 2vw 8vw;
    }
    .transportation_body::after {
      left: -2vw;
      top: 23.33vw;
      width: calc(100% + 4vw);
      height: calc(100% - 23.33vw);
    }
    .transportation_img {
      max-width: 100%;
      margin: 0 auto 8vw;
    }
  }

.transportation_tbl {
  margin-bottom: 20px;
}
.transportation_tbl th {
  text-align: center;
  vertical-align: middle;
  width: 140px;
  font-size: 1.8rem;
}
.transportation_tbl .tra_td01 {
  text-align: center;
  vertical-align: middle;
  width: 140px;
}
.transportation_tbl dl {
  width: 100%;
  margin-bottom: 15px;
}
.transportation_tbl dl:last-child {
  margin-bottom: 0;
}
.transportation_tbl dt {
  position: relative;
  width: 238px;
  font-size: 1.8rem;
}
.transportation_tbl dt::after {
  position: absolute;
  left: 0;
  top: 15px;
  content: "";
  width: 100%;
  height: 1px;
  background: #BBA43F;
}
.transportation_tbl dt span {
  position: relative;
  background: #fff;
  display: inline-block;
  z-index: 5;
  padding: 0 10px 0 30px;
}
.transportation_tbl dt span::before {
  position: absolute;
  left: 0;
  font-family:"Line Awesome Free","Line Awesome Brands";
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 1.6;
  color: #bba43f;
}
.tra_train span::before {
  content: "\f238";
}
.tra_bus span::before {
  content: "\f207";
}
.transportation_tbl dd {
  width: calc(100% - 238px);
  padding-left: 10px;
  font-size: 1.5rem;
}
  @media screen and (max-width: 1023px) {
    .transportation_tbl {
      overflow: auto;
      white-space: nowrap;
      margin-bottom: 4vw;
    }
    .transportation_tbl th {
      width: auto;
      font-size: 4vw;
    }
    .transportation_tbl .tra_td01 {
      width: auto;
    }
    .transportation_tbl td {
      font-size: 3.73vw;
    }
    .transportation_tbl dl {
      margin-bottom: 3.33vw;
    }
    .transportation_tbl dl:last-child {
      margin-bottom: 0;
    }
    .transportation_tbl dt {
      width: 50vw;
      font-size: 4vw;
    }
    .transportation_tbl dt::after {
      top: 3.33vw;
    }
    .transportation_tbl dt span {
      padding: 0 2.66vw 0 6.66vw;
    }
    .transportation_tbl dt span::before {
      font-size: 5.33vw;
      line-height: 1.5;
    }
    .transportation_tbl dd {
      width: calc(100% - 50vw);
      padding-left: 2.66vw;
      font-size: 3.73vw;
    }
  }

/*JR駅構内360°ビューア―*/
#virtual_tour .tabMenu {
  border-bottom: solid 1px #B1AFAF;
  margin-bottom: 40px;
  padding: 0 24%
}
#virtual_tour .tabMenu li {
  font-size: 1.6rem;
  min-width: 180px;
  padding: 16px 0 12px;
  margin: 0 5%;
}
#virtual_tour .tabMenu li span {
  position: relative;
  display: inline-block;
  line-height: 1.6;
  padding-top: 5px;
  padding-left: 28px;
}
#virtual_tour .tabMenu li span::before {
  position: absolute;
  left: 0;
  top: 0;
  font-family:"Line Awesome Free","Line Awesome Brands";
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.8;
  content: "\f083";
}
  @media screen and (max-width: 1023px) {
    #virtual_tour .sub_ttl01 span {
      letter-spacing: 0.1em;
    }
    #virtual_tour .tabMenu {
      margin-bottom: 8vw;
      justify-content: space-between;
      flex-wrap: wrap;
      padding: 0;
    }
    #virtual_tour .tabMenu li {
      font-size: 3.73vw;
      line-height: 1.4;
      min-width: auto;
      width: 48%;
      padding: 16px 0 2vw;
      margin: 0;
    }
    #virtual_tour .tabMenu li span {
      padding-top: 0;
      padding-left: 6.66vw;
    }
    #virtual_tour .tabMenu li span::before {
      font-size: 5vw;
      line-height: 1.2;
    }
  }

#panorama01,#panorama02,#panorama03,#panorama04 {
  width: 840px;
  height: 400px;
  background: #ccc;
  margin: 0 auto;
}
#panorama02{
  background: #555;
}
#panorama03{
  background: #999;
}
.panorama_tab .hide {
  display: none;
}
  @media screen and (max-width: 1023px) {
    #panorama01,#panorama02,#panorama03,#panorama04 {
      width: 100%;
      height: 50vw;
    }
    .pnlm-title-box {
      font-size: 3.46vw;
    }
    .pnlm-load-button {
      font-size: 15px;
    }
    .pnlm-author-box {
      font-size: 15px;
    }
    .pnlm-load-box {
      font-size: 15px;
    }
    .pnlm-info-box {
      font-size: 15px;
    }
    div.pnlm-tooltip span {
      font-size: 15px;
    }
  }

#access_links {
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 60px;
}
.access_links_tbl th {
  width: 180px;
  text-align: center;
  vertical-align: middle;
}
.access_links_tbl td span {
  display: inline-block;
}
  @media screen and (max-width: 1023px) {
    #access_links {
      padding-left: 4vw;
      padding-right: 4vw;
      margin-bottom: 10.66vw;
    }
    .access_links_tbl th {
      width: 20%;
      font-size: 3.73vw;
    }
  }

/*----------------------------------------------------
  宿泊約款 yakkan
--------------------------------------------------- */
.yakkan_wrap {
  position: relative;
  padding: 0 20px;
}
.yakkan_wrap::after {
  position: absolute;
  left: calc(50% + 250px);
  top: -145px;
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi04.png") 0 0 no-repeat;
}
  @media screen and (max-width: 1023px) {
    .yakkan_wrap {
      padding: 13.33vw 3.33vw 11.33vw;
    }
    .yakkan_wrap::after {
      left: 32vw;
      top: -8vw;
      width: 75.33vw;
      height: 61.6vw;
      background-size: 75.33vw 61.6vw;
    }
  }

.yakkan_wrap h2 {
  text-align: center;
  font-size: 3rem;
  margin-bottom: 15px;
  letter-spacing: 0.3em;
}
.yakkan_wrap h3 {
  font-size: 1.8rem;
  margin-bottom: 18px;
}
.yakkan_box {
  font-size: 1.5rem;
  border-bottom: solid 1px #B1AFAF;
  padding: 30px 0;
}
.yakkan_box dt {
  padding-left: 32px;
  text-indent: -32px;
}
.yakkan_box dd {
  padding-left: 32px;
}
  @media screen and (max-width: 1023px) {
    .yakkan_wrap h2 {
      font-size: 5.33vw;
      margin-bottom: 4vw;
    }
    .yakkan_wrap h3 {
      font-size: 4.26vw;
      margin-bottom: 3vw;
    }
    .yakkan_box {
      font-size: 3.73vw;
      padding: 4vw 0;
    }
    .yakkan_box dt {
      padding-left: 8vw;
      text-indent: -8vw;
    }
    .yakkan_box dd {
      padding-left: 8vw;
    }
  }

.y_list01 > li > span {
  display: inline-block;
  padding-left: 49px;
  text-indent: -49px;
}
.y_list01 ul {
  padding-left: 49px;
}
.y_list01 ul li {
  padding-left: 33px;
  text-indent: -33px;
}
.y_list02 li {
  padding-left: 33px;
  text-indent: -33px;
}
  @media screen and (max-width: 1023px) {
    .y_list01 > li > span {
      padding-left: 12vw;
      text-indent: -12vw;
    }
    .y_list01 ul {
      padding-left: 12vw;
    }
    .y_list01 ul li {
      padding-left: 8vw;
      text-indent: -8vw;
    }
    .y_list02 li {
      padding-left: 8vw;
      text-indent: -8vw;
    }
  }

.yakkan_ft_txt {
  font-size: 1.5rem;
  margin-top: 30px;
}
  @media screen and (max-width: 1023px) {
    .yakkan_ft_txt {
      font-size: 3.73vw;
      margin-top: 6.66vw;
    }
  }

#yakkan01 {
  padding-bottom: 160px;
}
#yakkan01 .yakkan_box:last-child {
  border-bottom: none;
}
#yakkan02 {
  padding-bottom: 90px;
}
  @media screen and (max-width: 1023px) {
    #yakkan01 {
      padding-bottom: 15.33vw;
    }
    #yakkan02 {
      padding-bottom: 13.33vw;
    }
  }

.yakkan_tbl_box h4 {
  margin-bottom: 15px;
}
#yakkan_tbl01 li {
  padding-left: 66px;
  text-indent: -66px;
}
#yakkan_tbl02 ul {
  position: relative;
  padding-left: 52px;
}
#yakkan_tbl02 ul::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "（注）";
}
#yakkan_tbl02 li {
  padding-left: 33px;
  text-indent: -33px;
}
  @media screen and (max-width: 1023px) {
    .yakkan_tbl_box h4 {
      margin-bottom: 4vw;
    }
    #yakkan_tbl01 li {
      padding-left: 15.66vw;
      text-indent: -15.66vw;
    }
    #yakkan_tbl02 ul {
      padding-left: 10.66vw;
    }
    #yakkan_tbl02 li {
      padding-left: 8vw;
      text-indent: -8vw;
    }
  }

.box_agreement {
  margin-bottom: 15px;
}
.tbl_basic tr {
  border: 1px solid #b1afaf;
}
.tbl_basic tr th {
  background: #f1f1f1;
  border-right: 1px solid #b1afaf;
  font-weight: 400;
  vertical-align: middle;
  padding: 10px;
}
.box_agreement table td {
  border-right: 1px solid #b1afaf;
  vertical-align: middle;
  padding: 8px 10px;
}
.penalty th {
  width: 6.75%!important;
}
.penalty th.caption {
  width: 12.25%!important;
}
  @media screen and (max-width: 1023px) {
    .box_agreement {
      margin-bottom: 4vw;
    }
    .tbl_basic tr th {
      padding: 2vw 2.66vw;
    }
    .box_agreement {
      overflow: auto;
      white-space: nowrap;
    }
    .box_agreement table td {
      padding: 2vw 2.66vw;
    }
  }

/*----------------------------------------------------
  サイトマップ sitemap
--------------------------------------------------- */
#sitemap {
  padding-bottom: 60px;
}
#sitemap_lead a {
  color: #0470b6;
}
.sitemap_lead_tel {
  font-size: 1.8rem;
}
.sitemap_wrap {
  padding: 0 20px;
}
.sitemap_box {
  display: block;
  width: calc(33.33% - 20px);
  color: #111;
  text-decoration: none;
  background: #fff;
  margin: 0 30px 50px 0;
  font-size: 1.5rem;
  line-height: 2.2;
}
.sitemap_box:nth-child(3n) {
  margin-right: 0;
}
.sitemap_box figure {
  margin-bottom: 20px;
}
.sitemap_box figure img {
  width: 100%;
  height: auto;
}
.sitemap_box a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #000;
}
.sitemap_box a:hover {
  text-decoration: underline;
}
.sitemap_box dt {
  position: relative;
  padding-left: 30px;
}
.sitemap_box dt::after {
  position: absolute;
  left: 0;
  top: 15px;
  content: "";
  width: 20px;
  height: 1px;
  background: #524E4D;
}
.sitemap_box dd {
  padding-left: 30px;
}
.ex_link li a {
  padding-left: 30px;
}
.ex_link li a::before {
  position: absolute;
  left: 0;
  top: 0;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f35d";
  font-weight: 600;
  color: #bba43f;
  font-size: 2rem;
  line-height: 1.6;
}
  @media screen and (max-width: 1023px) {
    #sitemap {
      padding-bottom: 12vw;
    }
    .sitemap_lead_tel {
      font-size: 5vw;
    }
    .sitemap_wrap {
      padding: 0 6.66vw;
    }
    .sitemap_box {
      width: 100%;
      margin: 0 auto 6.66vw;
      font-size: 3.73vw;
      line-height: 2;
    }
    .sitemap_box figure {
      margin-bottom: 4vw;
    }
    .sitemap_box dt {
      padding-left: 8vw;
    }
    .sitemap_box dt::after {
      top: 3.66vw;
      width: 6vw;
    }
    .sitemap_box dd {
      padding-left: 8vw;
    }
    .ex_link li a {
      padding-left: 8vw;
    }
    .ex_link li a::before {
      font-size: 4.7vw;
    }
  }

/*----------------------------------------------------
  SPA小湯治 coto-ji
--------------------------------------------------- */
.page-id-17978 #header::after {
  display: none;
}

#coto-ji_gallery .carousel_slider_wrap {
  padding: 60px 0 90px;
}
#coto-ji_gallery .specialty_slider .prev_btn {
  width: auto;
  left: 20.5%;
  bottom: -45px;
}
#coto-ji_gallery .specialty_slider .next_btn {
  width: auto;
  right: 20.5%;
  bottom: -45px;
}
  @media screen and (max-width: 1023px) {
    #coto-ji_gallery .carousel_slider_wrap {
      padding: 10.66vw 0 16.66vw;
    }
    #coto-ji_gallery .specialty_slider .prev_btn {
      left: 5vw;
      bottom: -8vw;
    }
    #coto-ji_gallery .specialty_slider .next_btn {
      right: 5vw;
      bottom: -8vw;
    }
  }

#ayurveda {
  position: relative;
  background: url("../img/spa/coto-ji/ayurveda_bg.jpg") center bottom no-repeat;
  background-size: cover;
  padding: 90px 20px 20px;
}
#ayurveda .sub_ttl01 {
  margin-bottom: 58px;
}
.ayurveda_box {
  position: relative;
  margin-bottom: 40px;
}
.ayurveda_box::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.6);
}
.ayurveda_box figure {
  position: relative;
  z-index: 2;
  width: 50%;
}
.ayurveda_box figure img {
  width: 100%;
  height: auto;
}
.ayurveda_txt {
  position: relative;
  z-index: 2;
  width: 50%;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.ayurveda_txt dl {
  text-align: center;
  margin-bottom: 20px;
}
.ayurveda_txt dt {
  font-size: 2rem;
  letter-spacing: 0.15em;
  border-bottom: solid 1px #B2B2AE;
  margin-bottom: 7px;
}
.ayurveda_txt dt:first-letter {
  font-size: 2.5rem;
}
.ayurveda_txt dd {
  font-size: 1.6rem;
  font-weight: 500;
}
.ayurveda_txt p {
  padding: 0 14%;
}
  @media screen and (max-width: 1023px) {
    #ayurveda {
      padding: 10.66vw 4vw 6vw;
    }
    #ayurveda .sub_ttl01 {
      margin-bottom: 5.33vw;
    }
    .ayurveda_box {
      margin-bottom: 4vw;
    }
    .ayurveda_box figure {
      width: 100%;
      margin-bottom: 2.66vw;
    }
    .ayurveda_txt {
      width: 100%;
      display: block;
    }
    .ayurveda_txt dl {
      text-align: center;
      margin-bottom: 1.66vw;
    }
    .ayurveda_txt dt {
      font-size: 3.73vw;
      padding-bottom: 1vw;
      margin-bottom: 3.33vw;
    }
    .ayurveda_txt dt:first-letter {
      font-size: 5vw;
    }
    .ayurveda_txt dd {
      font-size: 4.26vw;
      font-weight: 500;
    }
    .ayurveda_txt p {
      font-size: 3.46vw;
      padding: 0 6vw 5vw;
    }
  }

#coto-ji_menu {
  position: relative;
  z-index: 5;
  padding: 90px 20px 40px;
}
#coto-ji_menu .sub_ttl01 {
  margin-bottom: 40px;
}
.coto-ji_menu_wrap dl {
  margin-bottom: 28px;
}
.coto-ji_menu_wrap dt {
  color: #750e33;
  font-size: 1.6rem;
  margin-bottom: 7px;
}
.coto-ji_menu_wrap dd th {
  width: 240px;
}
.coto-ji_menu_wrap dd td {
  padding-left: 4%;
}
.coto-ji_menu_wrap dd td small {
  display: inline-block;
  font-size: 1.2rem;
}
  @media screen and (max-width: 1023px) {
    #coto-ji_menu {
      padding: 10.66vw 4vw 4vw;
    }
    #coto-ji_menu .sub_ttl01 {
      margin-bottom: 5vw;
    }
    .coto-ji_menu_wrap dl {
      margin-bottom: 8vw;
    }
    .coto-ji_menu_wrap dt {
      font-size: 4vw;
      line-height: 1.5;
      margin-bottom: 2.66vw;
    }
    .coto-ji_menu_wrap dd table {
      border: solid 1px #bbb;
    }
    .coto-ji_menu_wrap dd th {
      width: 100%;
      border: none;
    }
    .coto-ji_menu_wrap dd td {
      padding: 3vw 4vw;
    }
    .coto-ji_menu_wrap dd td small {
      display: inline-block;
      font-size: 3.46vw;
    }
  }

#treatment_flow {
  position: relative;
  z-index: 4;
  background: url("../img/spa/coto-ji/bg01.jpg") center top repeat;
  padding: 90px 20px 65px;
}
#treatment_flow::after {
  position: absolute;
  left: calc(50% - 825px);
  top: -172px;
  content: "";
  width: 572px;
  height: 555px;
  background: url("../img/spa/coto-ji/leaf01.png") center center no-repeat;
  background-size: 572px 555px;
  opacity: 0.5;
}
.treatment_flow_lead {
  padding: 45px 0 40px 0;
}
.treatment_flow_box {
  padding-bottom: 35px;
}
.treatment_flow_box figure {
  width: 276px;
}
.treatment_flow_box figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.treatment_flow_txt {
  width: calc(100% - 314px);
}
.treatment_flow_txt dl {
  width: 100%;
  background: #fff;
  margin-bottom: 14px;
  padding: 25px 50px;
}
.treatment_flow_txt dl:last-child {
  margin-bottom: 0;
}
.treatment_flow_txt dt {
  width: 115px;
}
.treatment_flow_txt dt span {
  display: block;
  background: #B79D6E;
  border-radius: 15px;
  text-align: center;
  font-size: 1.8rem;
  color: #fff;
  line-height: 31px;
}
.treatment_flow_txt dd {
  width: calc(100% - 165px);
}
#treatment_flow li {
  line-height: 1.7;
  padding-left: 15px;
  text-indent: -15px;
}
  @media screen and (max-width: 1023px) {
    #treatment_flow {
      background: url("../img/spa/coto-ji/bg01.jpg") center top repeat;
      padding: 10.66vw 4vw;
    }
    #treatment_flow::after {
      left: -15vw;
      top: -20vw;
      width: 60vw;
      height: 60vw;
      background-size: 60vw auto;
    }
    .treatment_flow_lead {
      padding: 5vw 0 6vw;
    }
    .treatment_flow_box {
      padding-bottom: 5.33vw;
    }
    .treatment_flow_box figure {
      width: 58vw;
      margin: 0 auto 6vw;
    }
    .treatment_flow_txt {
      width: 100%;
    }
    .treatment_flow_txt dl {
      width: 100%;
      margin-bottom: 4vw;
      padding: 4vw;
    }
    .treatment_flow_txt dl:last-child {
      margin-bottom: 0;
    }
    .treatment_flow_txt dt {
      width: 8vw;
    }
    .treatment_flow_txt dt span {
      border-radius: 50%;
      font-size: 4.4vw;
      line-height: 8vw;
    }
    .treatment_flow_txt dd {
      width: calc(100% - 11.33vw);
      line-height: 1.7;
      display: flex;
      align-items: center;
    }
    #treatment_flow li {
      font-size: 3.46vw;
      letter-spacing: 0;
      line-height: 1.7;
      padding-left: 3.33vw;
      text-indent: -3.33vw;
    }
  }

#ayuveda_oil {
  position: relative;
  z-index: 5;
  padding: 90px 20px 60px;
  background: url("../img/spa/coto-ji/bg02.jpg") center top repeat;
}
#ayuveda_oil::after {
  position: absolute;
  right: calc(50% - 825px);
  top: -382px;
  content: "";
  width: 448px;
  height: 757px;
  background: url("../img/spa/coto-ji/leaf02.png") center center no-repeat;
  background-size: 448px 757px;
  opacity: 0.5;
}
.ayuveda_oil_lead {
  padding: 45px 0 40px 0;
}
.ayuveda_oil_box {
  width: calc(25% - 10px);
  margin-bottom: 10px;
}
.ayuveda_oil_gallery figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ayuveda_oil_gallery dl {
  position: relative;
}
.ayuveda_oil_gallery dl::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.5);
}
.ayuveda_oil_gallery dt {
  position: relative;
  z-index: 2;
  background: #B79D6E;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.15em;
  font-weight: 500;
}
.ayuveda_oil_gallery dd {
  position: relative;
  z-index: 2;
  padding: 0 8% 8%;
}
.ayuveda_oil_gallery dd h3 {
  text-align: center;
  font-size: 2.2rem;
  padding: 22px 0 20px 0;
  font-weight: 400;
}
.ayuveda_oil_gallery dd p {
  line-height: 1.6;
}
  @media screen and (max-width: 1023px) {
    #ayuveda_oil {
      padding: 10.66vw 4vw 8vw;
    }
    #ayuveda_oil::after {
      position: absolute;
      right: -25vw;
      top: -40vw;
      width: 60vw;
      height: 110vw;
      background-size: 60vw auto;
    }
    .ayuveda_oil_lead {
      padding: 5vw 0 6vw;
    }
    .ayuveda_oil_box {
      width: 48.5%;
      margin-bottom: 2.66vw;
    }
    .ayuveda_oil_gallery dt {
      font-size: 3.73vw;
      letter-spacing: 0.01em;
    }
    .ayuveda_oil_gallery dd {
      padding: 1vw 4vw 3.33vw;
    }
    .ayuveda_oil_gallery dd h3 {
      text-align: center;
      font-size: 4vw;
      padding: 2vw 0;
    }
    .ayuveda_oil_gallery dd p {
      line-height: 1.4;
      font-size: 3.33vw;
      letter-spacing: 0;
    }
  }

#herb_tea {
  position: relative;
  z-index: 6;
  background: url("../img/spa/coto-ji/bg01.jpg") center top repeat;
  padding: 90px 20px 60px;
}
#herb_tea::after {
  position: absolute;
  left: calc(50% - 825px);
  top: -172px;
  content: "";
  width: 572px;
  height: 555px;
  background: url("../img/spa/coto-ji/leaf01.png") center center no-repeat;
  background-size: 572px 555px;
  opacity: 0.5;
}
.herb_tea_ttl {
  text-align: center;
  font-size: 2.4rem;
  margin: 40px 0 50px;
  letter-spacing: 0.25em;
}
.herb_tea_ttl span {
  display: inline-block;
  border-bottom: solid 1px #BBA43F;
  padding: 0 20px 10px 60px;
  background: url("../img/spa/coto-ji/herb_tea_ttl_ico.png") 14px 8px no-repeat;
  background-size: 28px auto;
}
.herb_tea_box {
  position: relative;
  padding-left: 120px;
  margin-bottom: 14px;
}
.herb_tea_box figure {
  position: absolute;
  z-index: 10;
}
.herb_tea_box dl {
  position: relative;
}
.herb_tea_box dl::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #483c06;
  opacity: 0.2!important;
}
.herb_tea_box:nth-child(even) dl::after {
  background: #bba43f;
}
.herb_tea_box dt {
  position: relative;
  z-index: 2;
  font-size: 2.4rem;
  line-height: 1.3;
  width: 36%;
  display: flex;
  align-items: center;
  padding: 15px 10px 15px 6%;
}
.herb_tea_box dd {
  position: relative;
  z-index: 2;
  width: 61.5%;
  padding: 14px 10px 14px 0;
}
.herb_tea_box dd li {
  line-height: 1.7;
  padding-left: 21px;
  text-indent: -21px;
}
  @media screen and (max-width: 1023px) {
    #herb_tea {
      padding: 10.66vw 4vw 12vw;
    }
    #herb_tea::after {
      left: -15vw;
      top: -20vw;
      width: 60vw;
      height: 60vw;
      background-size: 60vw auto;
    }
    .herb_tea_ttl {
      font-size: 4.26vw;
      margin: 6vw 0 0;
      letter-spacing: 0.1em;
    }
    .herb_tea_ttl span {
      padding: 0 0 2vw 10vw;
      background: url("../img/spa/coto-ji/herb_tea_ttl_ico.png") 0 0.33vw no-repeat;
      background-size: 7.4vw auto;
    }
    .herb_tea_box {
      position: relative;
      padding-left: 0;
      margin-bottom: 0;
    }
    .herb_tea_box figure {
      position: relative;
      width: 100%;
      text-align: center;
      left: auto!important;
      top: auto!important;
      bottom: -7.4vw;
    }
    .herb_tea_box dl {
      padding-top: 7.4vw;
    }
    .herb_tea_box dt {
      font-size: 5.33vw;
      line-height: 1.5;
      width: 100%;
      display: block;
      padding: 2vw;
      text-align: center;
    }
    .herb_tea_box dd {
      width: 100%;
      padding: 1vw 4vw 4vw;
    }
    .herb_tea_box dd li {
      font-size: 3.46vw;
      line-height: 1.6;
      padding-left: 4.8vw;
      text-indent: -4.8vw;
    }
  }

#herb_tea01 figure {
  left: 0;
  top: 7px;
}
#herb_tea02 figure {
  left: 20px;
  top: 5px;
}
#herb_tea03 figure {
  left: 33px;
  top: 0;
}
#herb_tea04 figure {
  left: 4px;
  top: 10px;
}
#herb_tea05 figure {
  left: 0;
  top: 2px;
}
  @media screen and (max-width: 1023px) {
    #herb_tea01 figure img {
      width: 40vw;
      height: auto;
    }
    #herb_tea02 figure img {
      width: 31.2vw;
      height: auto;
    }
    #herb_tea03 figure img {
      width: 26.66vw;
      height: auto;
    }
    #herb_tea04 figure img {
      width: 39.47vw;
      height: auto;
    }
    #herb_tea05 figure img {
      width: 40vw;
      height: auto;
    }
  }

#for_reservation {
  position: relative;
  z-index: 7;
  padding: 90px 20px 70px;
}
#for_reservation::after {
  position: absolute;
  left: calc(50% + 250px);
  top: -65px;
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi04.png") 0 0 no-repeat;
}
#for_reservation .sub_ttl01 {
  margin-bottom: 40px;
}
#for_reservation th {
  width: 200px;
}
#for_reservation td li {
  line-height: 1.7;
  padding-left: 16px;
  text-indent: -16px;
}
  @media screen and (max-width: 1023px) {
    #for_reservation {
      padding: 10.66vw 4vw;
    }
    #for_reservation::after {
      left: 32vw;
      top: -8vw;
      width: 75.33vw;
      height: 61.6vw;
      background-size: 75.33vw 61.6vw;
    }
    #for_reservation .sub_ttl01 {
      margin-bottom: 5.33vw;
    }
    #for_reservation th {
      width: 100%;
    }
    #for_reservation td li {
      padding-left: 4vw;
      text-indent: -4vw;
    }
  }

/*----------------------------------------------------
  ページ名 slug
--------------------------------------------------- */
  @media screen and (max-width: 1023px) {
  }

/*----------------------------------------------------
  お知らせ info
--------------------------------------------------- */

/*一覧*/
#info_lead {
  padding: 30px 20px 60px 20px;
}
  @media screen and (max-width: 1023px) {
    #info_lead {
      padding: 15.33vw 5.33vw 7.4vw 5.33vw;
    }
  }

#info_archive {
  padding-bottom: 30px;
}
#info_archive .info_list_box {
  width: calc(25% - 60px);
  margin-right: 80px;
  margin-bottom: 50px;
}
#info_archive .info_list_box:nth-child(4n) {
  margin-right: 0;
}
.info_list_box {
  display: block;
  text-decoration: none;
  color: #000!important;
  font-size: 1.5rem;
}
.info_list_box figure {
  margin-bottom: 10px;
}
.info_list_box figure img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}
.info_list_txt {
  transition: all 0.2s ease-in-out 0s;
}
.info_list_box:hover .info_list_txt {
  opacity: 0.7;
}
.info_list_txt h4 {
  line-height: 2;
  font-size: 1.5rem;
}
.info_date {
  margin-bottom: 7px;
}
.info_date .cat_box {
  display: inline-block;
  margin-right: 12px;
}
.info_date time {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.5rem;
}
  @media screen and (max-width: 1260px) {
    #info_archive .info_list_box {
      width: calc(25% - 38px);
      margin-right: 50px;
    }
    .info_list_box figure img {
      height: 20vw;
    }
  }
  @media screen and (max-width: 1023px) {
    #info_archive {
      padding-bottom: 2vw;
    }
    .info_list {
      justify-content: space-between;
      padding: 0 2vw;
    }
    #info_archive .info_list_box {
      width: 46.5%;
      margin-right: 0;
      margin-bottom: 10.66vw;
      font-size: 3.46vw;
    }
    .info_list_box figure {
      margin-bottom: 2vw;
    }
    .info_list_box figure img {
      height: 40vw;
    }
    .info_list_txt h4 {
      line-height: 1.9;
      font-size: 3.46vw;
    }
    .info_date {
      margin-bottom: 1vw;
    }
    .info_date .cat_box {
      margin-right: 0;
      font-size: 3.46vw;
    }
    .info_date time {
      display: block;
      font-size: 3.46vw;
    }
  }

.info_ft {
  border-top: solid 1px #B1AFAF;
  padding: 40px 20px 80px;
}
.info_ft_archive {
  position: absolute;
  right: 0;
  top: 0;
}
.info_ft_archive select {
  width: 240px;
  background: url("../img/common/ico/ico_arrow02.png") 92% center no-repeat;
  background-size: 15px auto;
  background-color: none;
  border: solid 1px #9C9B96;
  outline: none;
  letter-spacing: 0.1em;
  padding: 11px 20px;
}
.info_ft_archive select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
  @media screen and (max-width: 1023px) {
    .info_ft {
      padding: 10.66vw 4vw 15.33vw;
    }
    .info_ft_archive {
      position: static;
      padding: 0 1.8vw;
    }
    .info_ft_archive select {
      width: 100%;
      background: url("../img/common/ico/ico_arrow02.png") 94% center no-repeat;
      background-size: 4vw auto;
      padding: 2.66vw 5.33vw;
    }
  }

.category_link .tabLink li a {
  position: relative;
  display: inline-block;
}
.category_link .tabLink li a::before {
  position: absolute;
  right: -28px;
  top: 0;
  content: "|";
  color: #B1AFAF;
}
.category_link .tabLink li:last-child a::before {
  display: none;
}
  @media screen and (max-width: 1023px) {
    #info_lead .category_link .tabLink li::before,
    #info_lead .category_link .tabLink li::after {
      display: block;
    }
    #info_lead .category_link .tabLink {
      display: flex;
      flex-wrap: wrap;
      -webkit-justify-content: flex-start;
      -moz-justify-content: flex-start;
      -ms-justify-content: flex-start;
      -o-justify-content: flex-start;
      justify-content: flex-start;
    }
    #info_lead .category_link .tabLink li {
      font-size: 3.73vw;
      padding: 3vw 0;
      line-height: 1.6;
      margin: 0 10.33vw 4vw 0;
    }
    #info_lead .category_link .tabLink li:first-child {
      margin-left: 0;
    }
    #info_lead .category_link .tabLink li:last-child {
      margin-right: 0;
    }
    #info_lead .category_link .tabLink li a::before {
      right: -7.4vw;
      top: 0;
      content: "／";
    }
  }

/*詳細*/
.info_single_l {
  width: 72%;
}
.info_single_r {
  width: 21.2%;
}
  @media screen and (max-width: 1023px) {
    .info_single_l {
      width: 100%;
    }
    .info_single_r {
      display: none;
    }
  }

#info_single {
  position: relative;
  padding: 25px 20px 60px;
}
#info_single::after {
  position: absolute;
  left: calc(50% + 250px);
  top: -145px;
  content: "";
  width: 511px;
  height: 418px;
  background: url("../img/common/bg/sumi04.png") 0 0 no-repeat;
}
  @media screen and (max-width: 1023px) {
    #info_single {
      padding: 14.7vw 4vw 12vw;
    }
    #info_single::after {
      left: 32vw;
      top: -8vw;
      width: 75.33vw;
      height: 61.6vw;
      background-size: 75.33vw 61.6vw;
    }
  }

.single_ttl {
  position: relative;
  font-size: 2.4rem;
  padding: 12px 0 22px;
  margin-bottom: 30px;
}
.single_ttl::before {
  position: absolute;
  left: -30px;
  bottom: 0;
  content: "";
  width: calc(100% + 60px);
  height: 1px;
  background: #B1AFAF;
}
  @media screen and (max-width: 1023px) {
    .info_single_l .info_date time {
      display: inline-block;
      margin-left: 3.33vw;
    }
    .single_ttl {
      font-size: 4.26vw;
      line-height: 1.9;
      padding: 4vw 0 6vw;
      margin-bottom: 6vw;
    }
    .single_ttl::before {
      left: -8vw;
      width: calc(100% + 16vw);
    }
  }

.info_ft .category_link {
  margin-top: 70px;
}
.info_ft .category_link h3 {
  font-size: 3rem;
  margin-bottom: 10px;
  letter-spacing: 0.3em;
}
  @media screen and (max-width: 1023px) {
    .info_ft .category_link {
      margin: 10.66vw 0 9.33vw;
      padding: 0 1.66vw;
    }
    .info_ft .category_link h3 {
      font-size: 4.8vw;
      margin-bottom: 5vw;
    }
    .info_ft .category_link .tabLink li {
      padding-left: 1.66vw;
    }
    .info_ft .category_link .tabLink li a {
      padding: 0 0 0 6.66vw;
      line-height: 1;
    }
    .info_ft .category_link .tabLink li a::before {
      display: none;
    }
    .info_ft .category_link .tabLink li a::after {
      position: absolute;
      left: 0;
      top: 0;
      content: "";
      width: 1px;
      height: 100%;
      background: #848484;
    }
  }

.side_post .info_list_box {
  margin-bottom: 50px;
}
.side_post_ttl {
  font-size: 2.4rem;
  margin-bottom: 38px;
}
.side_post_ttl span {
  display: block;
  margin-bottom: 4px;
}
.side_post_ttl small {
  display: block;
  font-size: 1.6rem;
  color: #bba43f;
}

/*----------------------------------------------------
  共通WP
--------------------------------------------------- */
/* img */
.aligncenter {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.alignright { float: right; }
.alignleft { float: left; }
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
  max-width: 100%;
}

/*投稿詳細用*/
.entry-content {
  font-size: 1.6rem;
}
.entry-content:after {
  content: ""; 
  display: block; 
  clear: both;
}
  @media screen and (max-width: 1023px) {
    .entry-content {
      font-size: 3.73vw;
    }
  }

.entry-content h1 {
  font-size: 2.4rem;
  padding-bottom: 15px;
  margin-bottom: 30px;
  border-bottom: solid 1px #998634;
}
  @media screen and (max-width: 1023px) {
    .entry-content h1 {
      font-size: 4.26vw;
      padding-bottom: 3.33vw;
      margin-bottom: 5vw;
    }
  }

.entry-content h2 {
  font-size: 2.2rem;
  background: #524E4D;
  color: #fff;
  padding: 9px 18px;
  margin-bottom: 30px;
}
  @media screen and (max-width: 1023px) {
    .entry-content h2 {
      font-size: 4.26vw;
      padding: 2vw 4vw;
      margin-bottom: 5vw;
    }
  }

.entry-content h3 {
  font-size: 2.2rem;
  padding: 3px 0 3px 18px;
  border-left: solid 3px #998634;
  margin-bottom: 20px;
}
  @media screen and (max-width: 1023px) {
    .entry-content h3 {
      font-size: 4.26vw;
      padding: 1vw 0 1vw 4vw;
      margin-bottom: 4vw;
    }
  }

.entry-content h4 {
  font-size: 2.2rem;
  margin-bottom: 20px;
}
  @media screen and (max-width: 1023px) {
    .entry-content h4 {
      font-size: 4.26vw;
      margin-bottom: 4vw;
    }
  }

.entry-content h5 {
  font-size: 2rem;
  margin-bottom: 20px;
}
  @media screen and (max-width: 1023px) {
    .entry-content h5 {
      font-size: 4vw;
      margin-bottom: 4vw;
    }
  }

.entry-content h6 {
  font-size: 1.8rem;
  margin-bottom: 20px;
}
  @media screen and (max-width: 1023px) {
    .entry-content h6 {
      font-size: 4vw;
      margin-bottom: 4vw;
    }
  }

.entry-content p {
  margin-bottom: 30px;
}
  @media screen and (max-width: 1023px) {
    .entry-content p {
      margin-bottom: 5vw;
    }
  }

.entry-content img {
  margin-bottom: 30px;
}
  @media screen and (max-width: 1023px) {
    .entry-content img {
      margin-bottom: 5vw;
    }
  }

.entry-content ul {
  margin-bottom: 30px;
  padding-left: 20px;
}
.entry-content ul li {
  list-style-type: disc;
}
.entry-content ul li ul {
  margin-bottom: 10px;
  font-size: 93%;
}
.entry-content ul li ul li {
  list-style-type:circle;
}
  @media screen and (max-width: 1023px) {
    .entry-content ul {
      margin-bottom: 5vw;
      padding-left: 5.4vw;
    }
    .entry-content ul li ul {
      margin-bottom: 2vw;
    }
  }

.entry-content ol {
  counter-reset: section;
  margin-bottom: 30px;
}
.entry-content ol li {
  list-style: none;
}
.entry-content ol > li:before {
  content : counters(section, '-') '. ';
  counter-increment : section;
}
.entry-content ol li ol {
  padding-left: 20px;
  margin-bottom: 10px;
  font-size: 93%;
}
  @media screen and (max-width: 1023px) {
    .entry-content ol {
      margin-bottom: 5vw;
    }
    .entry-content ol li ol {
      padding-left: 5.4vw;
      margin-bottom: 2vw;
    }
  }

.entry-content table {
  width:100%;
  margin:0 0 35px 0;
}
.entry-content th {
  text-align: left;
  padding:7px 10px;
  border:solid 1px #eee;
}
.entry-content td {
  padding:7px 10px;
  border:solid 1px #eee;
}
  @media screen and (max-width: 1023px) {
    .entry-content table {
      margin: 0 0 5vw 0;
      font-size: 93%;
    }
    .entry-content th {
      padding:2vw;
    }
    .entry-content td {
      padding:2vw;
    }
  }

.entry-content table img {
  margin-bottom: 0;
}

.entry-content blockquote {
  position: relative;
  border: solid 4px #d7d7d7;
  padding: 20px 20px 20px 55px;
  margin-bottom: 35px;
}
.entry-content blockquote::before {
  position: absolute;
  left: 18px;
  top: 20px;
  content: "“";
  line-height: 1;
  font-size: 6rem;
  color: #d7d7d7;
}
  @media screen and (max-width: 1023px) {
    .entry-content blockquote {
      border: solid 3px #d7d7d7;
      padding: 4vw 3.33vw 4vw 9.33vw;
      margin-bottom: 5vw;
    }
    .entry-content blockquote::before {
      left: 2vw;
      top: 4vw;
      font-size: 12.33vw;
    }
  }

.entry-content u {
  text-decoration: underline;
}

.entry-content .wp-caption {
  width: 100%!important;
}
.entry-content .wp-caption img {
  margin-bottom: 5px;
}
.entry-content .wp-caption p {
  font-size: 90%;
  color: #757575;
  font-style: italic;
}

/*ページ分割ナビ*/
.wp-pagenavi {
  overflow: hidden;
  padding-right: 260px;
}
.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  text-align: center;
  width: 48px;
  line-height: 53px;
  background: #fff;
  border: 1px solid #9C9B96;
  color: #000;
  margin: 0 4px 10px 4px;
  text-decoration: none;
  font-size: 1.6rem;
}
.wp-pagenavi span {
  border: solid 1px #524E4D;
  background: #524E4D;
  color: #fff;
}
.wp-pagenavi a:hover {
  background: #524E4D;
  color: #fff;
  border: 1px solid #524E4D;
}
.wp-pagenavi .first, .wp-pagenavi .last {
  line-height: 1;
  width: auto;
  border: none;
  background: none;
}
.wp-pagenavi .first:hover, .wp-pagenavi .last:hover {
  border: none;
  color: #000;
  background: none;
  text-decoration: underline;
}
.wp-pagenavi .extend {
  line-height: 1;
  width: auto;
  border: none;
  color: #000;
  background: none;
}
.previouspostslink,
.nextpostslink {
  font-size: 1.8rem!important;
}
  @media screen and (max-width: 1023px) {
    .wp-pagenavi {
      padding: 0 0 8vw;
      text-align: center;
    }
    .wp-pagenavi a, .wp-pagenavi span {
      width: 9.33vw;
      line-height: 9.33vw;
      margin: 0 0.66vw 2vw 0.33vw;
      font-size: 3.46vw;
      letter-spacing: 0;
    }
    .previouspostslink,
    .nextpostslink {
      font-size: 3.73vw!important;
    }
  }

/*記事詳細ナビ*/
.wp-detailnavi {
  position: relative;
  display: flex;
}
.wp-detailnavi > div {
  width: 150px;
  margin-right: 20px;
}
.wp-detailnavi a {
  display: block;
  text-align: center;
  text-decoration: none;
  color: #000;
  border: solid 1px #B1AFAF;
  line-height: 53px;
  font-size: 1.5rem;
}
.wp-detailnavi a:hover {
  color: #fff;
  background: #524E4D;
  border: solid 1px #524E4D;
}
.prev_link {
  display: inline-block;
}
.next_link {
  display: inline-block;
}
.list_link {
  display: inline-block;
}
.list_link a {
  color: #fff;
  background: #524E4D;
  border: solid 1px #524E4D;
}
.list_link a:hover {
  opacity: 0.7;
}
  @media screen and (max-width: 1023px) {
    .wp-detailnavi {
      justify-content: space-between;
      padding: 0 1.66vw
    }
    .wp-detailnavi > div {
      width: 31.33%;
      margin-right: 0;
    }
    .wp-detailnavi a {
      line-height: 13vw;
      font-size: 3.46vw;
    }
  }

img.alignleft {
  margin-right: 25px;
}
img.alignright {
  margin-left: 25px;
}


/*----------------------------------------------------
  404 Not Found
--------------------------------------------------- */
#notfound {
  padding: 120px;
}
#notfound p {
  padding-bottom: 20px;
}
#notfound .btn {
  margin-top: 40px;
}
  @media screen and (max-width: 1023px) {
    #notfound {
      padding: 15.33vw 3.73vw;
    }
    #notfound p {
      padding-bottom: 4vw;
    }
    #notfound .btn {
      margin-top: 6.66vw;
    }
  }


/*----------------------------------------------------
  お問い合わせ contact
--------------------------------------------------- */
#contact_lead .wrapper {
  padding-bottom: 60px;
  border-bottom: solid 1px #B1AFAF;
}
#contact_lead .btn {
  margin-top: 50px;
}
  @media screen and (max-width: 1023px) {
    #contact_lead .wrapper {
      padding-bottom: 9.33vw;
    }
    #contact_lead .btn {
      margin-top: 6vw;
    }
  }

#contact .wpcf7 {
  padding: 0 20px;
}
#contact_form {
  padding: 0 0 100px;
}
.form_lead {
  font-size: 1.5rem;
  margin-bottom: 35px;
}
.form_lead strong {
  font-size: 1.8rem;
  font-weight: 400;
}
.form_lead em {
  font-style: normal;
  color: #aa0000;
}
  @media screen and (max-width: 1023px) {
    #contact .wpcf7 {
      padding: 0 4vw;
    }
    #contact_form {
      padding: 0 0 15.33vw;
    }
    .form_lead {
      font-size: 3.73vw;
      margin-bottom: 6vw;
    }
    .form_lead strong {
      font-size: 4.26vw;
    }
  }

.form_area table {
  margin-bottom: 40px;
}
.form_area th {
  width:28%;
  padding: 9px 15px;
  border: solid 1px #B1AFB0;
  background:#F1F1F1;
  font-weight:400;
  vertical-align:middle;
  color: #111111;
  font-size: 1.5rem;
  text-align: center;
}
.form_area th span {
  display:block;
  position:relative;
}
.form_area th em {
  position:absolute;
  right:0;
  top: 0;
  color:#aa0000;
  font-style:normal;
  display:inline-block;
}
.form_area td {
  padding: 9px 20px;
  background: #fff;
  border: solid 1px #B1AFB0;
  font-size: 1.5rem;
}
.form_area td .wpcf7-text, 
.form_area td textarea {
  padding: 10px 18px;
  background: #F9F9F9;
  border: none;
  width: 100%;
  margin: 5px 0;
  outline: none;
}
.form_area td textarea {
  height: 330px;
}
  @media screen and (max-width: 1023px) {
    .form_area table,
    .form_area tbody,
    .form_area tr,
    .form_area th,
    .form_area td {
      display: block;
      width: 100%!important;
      font-size: 3.73vw;
    }
    .form_area table {
      margin-bottom: 3vw;
    }
    .form_area th {
      padding: 2vw 3.33vw;
      border: none;
      border-top: solid 1px #B1AFB0;
      text-align: left;
    }
    .form_area th span {
      padding-right: 60px;
    }
    .form_area th em {
      font-size: 3.73vw;
    }
    .form_area td {
      padding: 3.33vw 0;
      border: none;
    }
    .form_area td .wpcf7-text, 
    .form_area td textarea {
      padding: 2.66vw 3.33vw;
      margin: 0;
      font-size:3.73vw;
    }
    .form_area td textarea {
      height: 60vw;
    }
  }
  @media screen and (max-width: 500px) {
    .form_area td .wpcf7-text, 
    .form_area td textarea {
      font-size: 1.6rem;
    }
  }

.doui_box {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 40px;
}
.doui_box input {
  margin-right: 10px;
}
.row-submit {
  text-align: center;
}
  @media screen and (max-width: 1023px) {
    .doui_box {
      font-size: 3.73vw;
      padding: 0;
      margin-bottom: 6vw;
    }
  }

/*プレースホルダー*/
::-webkit-input-placeholder { color:#777; opacity: 1; }
:-moz-placeholder { color:#777; opacity: 1; }
::-moz-placeholder { color:#777; opacity: 1; }

:focus::-webkit-input-placeholder { color:transparent; }
:focus:-moz-placeholder { color:transparent; }
:focus::-moz-placeholder { color:transparent; }
  @media screen and (max-width: 500px) {
    ::-webkit-input-placeholder { font-size: 3.73vw; }
    :-moz-placeholder { font-size: 3.73vw; }
    ::-moz-placeholder { font-size: 3.73vw; }
  }

/*ボタン*/
.submit-btn {
  position: relative;
  bottom: 0;
  display: inline-block;
  text-align: center;
  color: #524e4d;
  text-decoration: none;
  font-size: 1.5rem;
  background: #fff;
  line-height: 1.8;
}
.submit-btn::before {
  position: absolute;
  right: 17px;
  top: calc(50% - 10px);
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f061";
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
  color: #b1afaf;
  transition: all 0.2s ease-in-out 0s;
  z-index: 2;
}
.submit-btn:hover::before {
  color: #666;
}
.submit-btn input {
  position: relative;
  display: inline-block;
  width: 360px;
  padding: 15px 10px;
  text-align: center;
  color: #000;
  text-decoration: none;
  overflow: hidden;
  border: solid 1px #B1AFAF;
  outline: none;
  letter-spacing: 0.1em;
  transition: all 0.2s ease-in-out 0s;
  background: #fff;
  border-radius: 0;
}
.submit-btn input:hover {
  border: solid 1px #666;
}
.submit-btn [disabled] {
  background: #ccc!important;
  color: #888!important;
  opacity: 1!important;
}
.submit-btn [disabled]:hover {
  color: #000;
  border: solid 1px #B1AFAF;
}
  @media screen and (max-width: 1023px) {
    .submit-btn {
      display: block;
    }
    .submit-btn input {
      width: 100%;
      max-width: 89.33vw;
      padding: 3.2vw 2.66vw;
      font-size: 3.73vw;
    }
    .submit-btn::before {
      right: 4.7vw!important;
      top: calc(50% - 2.4vw);
      font-size: 4.8vw;
    }
  }

.wpcf7-radio {
  display: block;
  padding: 11px 0;
}
.wpcf7-radio label {
  display: inline-block;
  margin: 0 20px 0 0;
}
.wpcf7-radio .wpcf7-list-item-label {
  margin-left: 5px;
}
  @media screen and (max-width: 1023px) {
    .wpcf7-radio {
      display: block;
      padding: 1.66vw 0;
    }
    .wpcf7-radio label {
      display: inline-block;
      margin: 0 4vw 0 0;
    }
    .wpcf7-radio .wpcf7-list-item-label {
      margin-left: 1.66vw;
    }
  }

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #aa0000!important;
}