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


/*ローディングアニメーション*/
.home #page {
  display: none;
}
.home.accessed #page {
  display: block;
}
.loading {
  width: 100%;
  height: 100%;
  transition: all 2s ease-in-out 0s;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
  background-color: #fff;
}
.loading.is-active {
  opacity: 0;
  visibility: hidden;
}
.loading-animation {
  width: 100%;
  height: 100%;
  transition: all 2s ease-in-out 0s;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}
.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}
.loading-logo {
  position: relative;
  transition: all 2s ease-in-out 0s;
  text-align: center;
}
  @media screen and (max-width: 767px) {
    .loading-logo span img {
      width: 58vw;
      height: auto;
    }
  }

/*----------------------------------------------------
  トップページ index
--------------------------------------------------- */
#mainVisual {
  position: relative;
}
.mv_slider {
  opacity: 0;
  transition: opacity 0.4s linear;
}
.mv_slider.slick-initialized{
  opacity: 1;
}
.mv_slider figure img {
  width: 100%;
  object-fit: cover;
}
.mv_slider .add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
@keyframes zoomUp {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

.mv_copy {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  color: #fff;
  line-height: 1.5;
  text-align: center;
  transition: all 1.2s ease-in-out 1.2s;
}
.frame_in .mv_copy {
  opacity: 1;
}
.mv_copy h2 {
  font-size: 4.4rem;
  margin: 15px;
}
.mv_copy h2 .tab_none {
  display: none;
}
.mv_copy p {
  font-size: 2rem;
}
  @media screen and (max-width: 920px) {
    .mv_copy h2 .tab_none {
      display: block;
    }
  }
  @media screen and (max-width: 767px) {
    .mv_copy {
      padding-top: 19.87vw;
    }
    .mv_copy h2 {
      font-size: 5.64vw;
      margin: 4vw;
    }
    .mv_copy h2 .tab_none {
      display: none;
    }
    .mv_copy p {
      font-size: 2.56vw;
    }
    .mv_copy h2 .tab_none {
      display: none;
    }
  }

  .mv-bnr {
    position: absolute;
    z-index: 10;
    bottom: 30px;
    left: 50px;
    width: 300px;
    height: auto;
  }
  .mv-bnr a:hover {
    opacity: 0.8;

  }
 @media screen and (max-width: 767px) {
  .mv-bnr {
    bottom: 10px;
    left: 10px;
    /* border-bottom: 1px solid #1B1B1B; */
    width: 60%;

  }
 }


/*検索フォーム*/
.search_wrap {
  align-items: center;
  padding: 25px 0;
}
.search_wrap h2 {
  margin-right: 50px;
}
.search_box {
  position: relative;
  align-items: center;
}
.search_box form {
  width: 100%;
  padding-right: 210px;
  position: relative;
  line-height: 1.5;
  display: flex;
}
.date_489ban {
  text-align: center;
  border-left: solid 1px #1B1B1B;
  border-right: solid 1px #1B1B1B;
}
.inbox_489ban {
  display: flex;
}
.inbox_489ban dl {
  width: 140px;
  border-right: solid 1px #1B1B1B;
  padding: 3px 0;
}
.inbox_489ban dt {
  text-align: center;
  font-size: 1.4rem;
}
.inbox_489ban dd {
  position: relative;
  text-align: center;
}
.inbox_489ban dd span {
  display: block;
}
.date_489ban dd label {
  position: relative;
  z-index: 5;
  display: block;
  font-size: 1.4rem;
  margin-top: 3px;
}
.date_489ban dd label input {
  margin-right: 5px;
}
.search_box select,
.search_box input[type="date"] {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  font-size: 2.4rem;
  padding: 0 12px;
  text-align: center;
  background-color: unset;
  border: none;
  outline: none;
  letter-spacing: 0.1em;
}
.search_box input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.search_box input[type="date"]:disabled {
  color: #ccc!important;
}
.search_box option {
  color: #333;
}
.search_box input[type="checkbox"] {
  outline: none;
  border: none;
  border-radius: 0;
}
.search_box button {
  position: absolute;
  right: 0;
  top: calc(50% - 22px);
  z-index: 5;
  background: #333;
  color: #fff;
  font-size: 1.4rem;
  width: 160px;
  line-height: 45px;
  height: 45px;
  border: solid 1px #333;
  padding: 0 0 0 28px;
  transition: all 0.3s ease-in-out 0s;
}
.search_box button::before {
  position: absolute;
  left: 40px;
  top: calc(50% - 8px);
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f002";
  font-weight: 600;
  color: #fff;
  font-size: 1.6rem;
  z-index: 2;
  line-height: 1;
  transition: all 0.3s ease-in-out 0s;
}
.search_box button:hover {
  background: #fff;
  color: #333;
}
.search_box button:hover::before {
  color: #333;
}
.search_link {
  margin-left: 35px;
}
.search_link a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #333;
  font-size: 1.4rem;
  padding-right: 20px;
  white-space: nowrap;
}
.search_link a::before {
  position: absolute;
  right: 0;
  top: calc(50% - 8px);
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f105";
  font-weight: 600;
  color: #333;
  font-size: 1.6rem;
  z-index: 2;
  line-height: 1;
  transition: all 0.3s ease-in-out 0s;
}
.search_link a:hover {
  text-decoration: underline;
}
  @media screen and (max-width: 1280px) {
    .search_wrap h2 {
      margin-right: 30px;
    }
    .search_box form {
      padding-right: 170px;
    }
    .inbox_489ban dl {
      width: 115px;
    }
    .search_box button {
      width: 140px;
      padding: 0 0 0 24px;
    }
    .search_box button::before {
      left: 30px;
    }
    .search_link {
      margin-left:25px;
    }
  }
  @media screen and (max-width: 1180px) {
    .search_wrap {
      display: block;
    }
    .search_wrap h2 {
      margin: 0 0 20px 0;
    }
    .search_box {
      display: block;
    }
    .search_box form {
      padding: 0 0 70px 0;
      justify-content: center;
    }
    .search_box button {
      width: 180px;
      right: calc(50% - 90px);
      top: auto;
      bottom: 0;
    }
    .search_box button::before {
      left: 50px;
    }
    .search_link {
      margin: 15px 0 0 0;
      text-align: center;
    }
  }
  @media screen and (max-width: 767px) {
    .search_wrap {
      padding: 10.66vw 0;
    }
    .search_wrap h2 {
      margin: 0 0 6vw;
    }
    .search_wrap h2 img {
      width: 30.76vw;
      height: auto;
    }
    .search_box form {
      flex-wrap: wrap;
      padding: 0 0 18vw 0;
    }
    .inbox_489ban dl {
      width: 27.9vw;
      padding: 0;
    }
    .inbox_489ban dt {
      font-size: 3.58vw;
    }
    .date_489ban {
      width: 100%;
      border: none;
      padding-bottom: 4vw;
      margin-bottom: 4vw;
      border-bottom: solid 1px #1B1B1B;
    }
    .person_489ban {
      border: none!important;
    }
    .date_489ban dd label {
      font-size: 3.58vw;
      margin-top: 2vw;
    }
    .date_489ban dd label input {
      margin-right: 1.33vw;
    }
    .search_box select,
    .search_box input[type="date"] {
      font-size: 6vw;
      padding: 0 2.66vw;
    }
    .search_box button {
      font-size: 3.84vw;
      width: 48vw;
      right: calc(50% - 24vw);
      line-height: 10.66vw;
      height: 10.66vw;
      padding: 0 0 0 6.66vw;
    }
    .search_box button::before {
      left: 12.66vw;
      top: calc(50% - 1.6vw);
      font-size: 4.2vw;
    }
    .search_link {
      margin: 4vw 0 0 0;
    }
    .search_link a {
      font-size: 3.58vw;
      padding-right: 5.6vw;
    }
    .search_link a::before {
      top: calc(50% - 1.6vw);
      font-size: 4.2vw;
    }
  }

/*重要なお知らせ*/
#index_important {
  background: #333;
  padding: 30px 0;
}
#index_important h2 {
  margin-right: 70px;
  font-size: 2rem;
  white-space: nowrap;
}
.index_important_box {
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.5;
  align-items: center;
  color: #fff;
}
.index_important_box li {
  margin-bottom: 10px;
}
.index_important_box li:last-child {
  margin-bottom: 0;
}
.index_important_box li a {
  color: #fff;
  text-decoration: none;
}
.index_important_box li time {
  display: block;
  margin-right: 15px;
}
.index_important_box li h3 {
  text-decoration: underline;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.index_important_box li a:hover h3 {
  text-decoration: none;
}
  @media screen and (max-width: 1000px) {
    #index_important h2 {
      margin-right: 40px;
    }
  }
  @media screen and (max-width: 767px) {
    #index_important {
      padding: 9.33vw 0;
    }
    #index_important h2 {
      margin: 0 0 5vw 0;
      font-size: 5.12vw;
    }
    .index_important_box {
      max-width: 100%;
    }
    .index_important_box li {
      margin-bottom: 4vw;
    }
    .index_important_box li time {
      margin-right: 0;
    }
  }

/*トップあいさつ*/
#index_lead {
  position: relative;
  background: #120A02;
}
#index_lead::before {
  opacity: 0;
  position: absolute;
  right: calc(50% - 800px);
  top: 0;
  content: "";
  width: 1080px;
  height: 100%;
  background: url("../img/index/index_lead_bg.jpg") center center no-repeat;
  background-size: cover;
  transition: all 1s ease-in-out 0.4s;
}
#index_lead.active::before {
  opacity: 1;
}
.index_lead_box {
  padding: 85px 0;
  max-width: 1100px;
  margin: 0 auto;
}
.index_lead_box h2 {
  font-size: 4rem;
  margin-bottom: 20px;
  transition: all 0.6s ease-in-out 2.5s;
}
.index_lead_box p {
  font-size: 2rem;
  line-height: 2.2;
  transition: all 0.6s ease-in-out 2.5s;
}
.index_lead_box.active h2 {
  color: #fff;
}
.index_lead_box.active p {
  color: #fff;
}
  @media screen and (max-width: 1080px) {
    #index_lead::before {
      right: calc(50% - 900px);
    }
  }
  @media screen and (max-width: 767px) {
    #index_lead {
      min-height: 89.74vw;
    }
    #index_lead::before {
      right: 0;
      width: 100%;
      height: 100%;
      background: url("../img/index/index_lead_bg_sp.jpg") center center no-repeat;
      background-size: cover;
    }
    .index_lead_box {
      padding: 9.33vw 0;
      max-width: 100%;
    }
    .index_lead_box h2 {
      font-size: 5.12vw;
      margin-bottom: 4vw;
    }
    .index_lead_box p {
      white-space: nowrap;
      font-size: 3.58vw;
      line-height: 1.8;
    }
  }

/*アートに触れる*/
#index_art {
  position: relative;
  z-index: 5;
}
.index_art_wrap {
  max-width: 1920px;
  margin: 0 auto;
  padding: 180px 0 60px;
}
.index_art_box {
  position: relative;
  z-index: 5;
}
.index_art_box h2 {
  font-size: 4rem;
  margin-bottom: 18px;
}
.index_art_box p {
  font-size: 2rem;
  line-height: 2.2;
  margin-bottom: 45px;
}
.index_art_box li {
  margin: 0 10px;
}
.index_art_img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.index_art_img::before {
  position: absolute;
  left: calc(50% - 40px);
  top: calc(50% - 175px);
  content: "";
  width: 418px;
  height: 418px;
  background: #F5F5F5;
}
.index_art_img li {
  position: absolute;
  z-index: 2;
}
  @media screen and (max-width: 767px) {
    .index_art_wrap {
      max-width: 100%;
      padding: 101.28vw 0 78.2vw;
    }
    .index_art_box h2 {
      font-size: 5.12vw;
      margin-bottom: 3.33vw;
    }
    .index_art_box p {
      font-size: 3.58vw;
      line-height: 2;
      margin-bottom: 6vw;
    }
    .index_art_box li {
      margin: 0 0 2.66vw 0;
    }
    .index_art_box li:last-child {
      margin-bottom: 0;
    }
    .index_art_img::before {
      position: absolute;
      left: auto;
      right: 3.2vw;
      top: calc(50% - 33.33vw);
      width: 53.58vw;
      height: 53.58vw;
    }
    .index_art_img li img {
      height: auto;
    }
  }

.index_art01 {
  top: -45px;
  left: calc(50% - 960px);
}
.index_art02 {
  top: 70px;
  left: calc(50% - 530px);
}
.index_art03 {
  top: -85px;
  left: calc(50% - 170px);
}
.index_art04 {
  right: calc(50% - 580px);
  top: 52px;
}
.index_art05 {
  right: calc(50% - 630px);
  top: 240px;
}
.index_art06 {
  right: calc(50% - 960px);
  top: 100px;
}
.index_art07 {
  bottom: 25px;
  left: calc(50% - 860px);
}
.index_art08 {
  bottom: 0;
  left: calc(50% - 655px);
}
.index_art09 {
  right: calc(50% - 485px);
  bottom: 14px;
}
  @media screen and (max-width: 767px) {
    .index_art01 {
      top: 32.05vw;
      left: 0;
    }
    .index_art02 {
      top: 19.23vw;
      left: auto;
      right: 3vw;
    }
    .index_art03 {
      top: -6.15vw;
      left: 5.76vw;
    }
    .index_art04 {
      right: 0;
      top: auto;
      bottom: 11.79vw;
    }
    .index_art05 {
      right: 3.33vw;
      top: auto;
      bottom: 56vw;
    }
    .index_art06 {
      right: auto;
      top: auto;
      left: 0;
      bottom: 0;
    }
    .index_art07 {
      bottom: auto;
      top: 81vw;
      left: 4.4vw;
    }
    .index_art08 {
      bottom: auto;
      left: auto;
      right: 0;
      top: 64vw;
    }
    .index_art09 {
      right: 27.5vw;
      bottom: 43vw;
    }
    .index_art01 img {
      width: 53.33vw;
    }
    .index_art02 img {
      width: 35.89vw;
    }
    .index_art03 img {
      width: 50.25vw;
    }
    .index_art04 img {
      width: 41.66vw;
    }
    .index_art05 img {
      width: 21.79vw;
    }
    .index_art06 img {
      width: 43.58vw;
    }
    .index_art07 img {
      width: 20.76vw;
    }
    .index_art08 img {
      width: 41.53vw;
    }
    .index_art09 img {
      width: 23.84vw;
    }
  }

/*白浜での新しい過ごし方*/
#index_stay {
  position: relative;
  padding: 180px 0 0 0;
  overflow: hidden;
}
#index_stay::before {
  position: absolute;
  left: 0;
  top: 202px;
  content: "";
  width: calc(50% + 700px);
  /*height: 2180px;*/
  height: calc(100% - 600px);
  background: #F5F5F5;
}
.index_stay_ttl {
  position: relative;
  text-align: center;
  font-size: 5.2rem;
  padding-bottom: 130px;
  margin-bottom: 20px;
}
.index_stay_ttl::after {
  position: absolute;
  left: calc(50% - 1px);
  top: 86px;
  content: "";
  width: 2px;
  height: 0;
  background: #002063;
  transition: all 0.4s ease-in-out 1.5s;
}
.index_stay_ttl.active::after {
  height: 120px;
}
.index_stay_box {
  align-items: center;
  padding: 100px 0 110px;
}
.index_stay_txt h3 {
  font-size: 4rem;
  margin-bottom: 40px;
  line-height: 1.7;
}
.index_stay_txt h3 span {
  position: relative;
  display: inline-block;
  padding: 5px 80px;
}
.index_stay_txt h3 span::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 80px;
  height: 2px;
  background: #002063;
  transform: rotate(-45deg);
}
.index_stay_txt h3 span::after {
  position: absolute;
  right: 0;
  bottom: 10px;
  content: "";
  width: 80px;
  height: 2px;
  background: #002063;
  transform: rotate(-45deg);
}
.index_stay_txt p {
  font-size: 2rem;
  line-height: 1.9;
}
.index_stay_btn {
  padding: 30px 0;
}
  @media screen and (max-width: 940px) {
    .index_stay_box {
      justify-content: center;
      text-align: center;
    }
  }
  @media screen and (max-width: 767px) {
    #index_stay {
      padding: 16vw 0 0 0;
    }
    #index_stay::before {
      top: 18.66vw;
      width: 96.5vw;
      height: calc(100% - 30vw);
    }
    .index_stay_ttl {
      font-size: 6.15vw;
      padding-bottom: 12vw;
      margin-bottom: 4vw;
    }
    .index_stay_ttl::after {
      top: 10.66vw;
    }
    .index_stay_ttl.active::after {
      height: 12vw;
    }
    .index_stay_box {
      display: block;
      padding: 20vw 0 13.33vw;
    }
    .index_stay_txt {
      width: 100%;
    }
    .index_stay_txt h3 {
      font-size: 5.12vw;
      margin-bottom: 5.33vw;
    }
    .index_stay_txt h3 span {
      padding: 1.33vw 12vw;
    }
    .index_stay_txt h3 span::before {
      width: 12vw;
    }
    .index_stay_txt h3 span::after {
      bottom: 2.66vw;
      width: 12vw;
    }
    .index_stay_txt p {
      font-size: 3.58vw;
      line-height: 1.8;
      text-align: left;
    }
    .index_stay_btn {
      padding: 8vw 0 0 0;
    }
  }

.carousel_slider {
  z-index: 10;
  max-width: 1920px;
  margin: 0 auto;
}
.carousel_slider figure {
  padding: 0 6px;
}
.carousel_slider figure img {
  width: 100%;
  height: auto;
}
.carousel_slider .slick-dots {
  text-align: center;
  bottom: -40px;
}
  @media screen and (max-width: 767px) {
    .carousel_slider {
      max-width: 100%;
    }
    .carousel_slider figure {
      padding: 0 1.33vw;
    }
    .carousel_slider .slick-dots {
      bottom: -8vw;
    }
  }

.index_stay_menu a {
  position: relative;
  display: block;
  width: calc(50% - 5px);
  margin-bottom: 10px;
  color: #fff;
  text-decoration: none;
}
.index_stay_menu a:nth-child(even) {
  position: relative;
  top: -50px;
}
.index_stay_menu a::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.15);
  transition: all 0.6s ease-in-out 0s;
}
.index_stay_menu a:hover::before {
  background: rgba(0,0,0,0.5);
}
.index_stay_menu a figure {
  width: 100%;
  height: 100%;
}
.index_stay_menu a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1!important;
}
.stay_menu_box {
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  padding: 6.5%;
  justify-content: flex-end;
  align-items: flex-end;
}
.stay_menu_box::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 180px;
  background: -moz-linear-gradient( rgba(255,255,255,0) 0%, #000 100%);
  background: -webkit-linear-gradient( rgba(255,255,255,0) 0%, #000 100%);
  background: linear-gradient( rgba(255,255,255,0) 0%, #000 100%);
}
.stay_menu_box h3 {
  position: absolute;
  left: 6.5%;
  top: 9%;
}
.stay_menu_box h3 small {
  display: inline-block;
  font-size: 3.2rem;
  border-bottom: solid 1px #fff;
  padding-bottom: 10px;
  margin-bottom: 5px;
}
.stay_menu_box h3 span {
  display: block;
  font-size: 4rem;
}
.stay_menu_txt {
  position: relative;
  z-index: 5;
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.9);
}
.stay_menu_txt p {
  margin-bottom: 20px;
}
.stay_menu_btn {
  text-align: right;
  font-size: 2rem;
}
  @media screen and (max-width: 1120px) {
    .index_stay_menu a {
      height: 340px;
    }
    .stay_menu_box h3 small {
      font-size: 2.6rem;
    }
    .stay_menu_box h3 span {
      font-size: 3.4rem;
    }
    .stay_menu_txt p {
      margin-bottom: 15px;
      font-size: 1.4rem;
    }
    .stay_menu_btn {
      font-size: 1.8rem;
    }
  }
  @media screen and (max-width: 920px) {
    .index_stay_menu {
      display: block;
    }
    .index_stay_menu a {
      width: 100%;
      max-width: 600px;
      height: auto;
      margin: 0 auto 20px;
    }
    .index_stay_menu a:nth-child(even) {
      top: 0;
    }
    .stay_menu_box h3 small {
      font-size: 3rem;
    }
    .stay_menu_box h3 span {
      font-size: 3.8rem;
    }
    .stay_menu_txt p {
      margin-bottom: 20px;
      font-size: 1.5rem;
    }
    .stay_menu_btn {
      font-size: 1.9rem;
    }
  }
  @media screen and (max-width: 767px) {
    .index_stay_menu a {
      margin-bottom: 2.66vw;
    }
    .stay_menu_box {
      padding: 4.4vw 5vw;
    }
    .stay_menu_box::before {
      height: 30vw;
    }
    .stay_menu_box h3 {
      left: 5vw;
      top: 5vw;
    }
    .stay_menu_box h3 small {
      font-size: 4vw;
      padding-bottom: 2vw;
      margin-bottom: 1.33vw;
    }
    .stay_menu_box h3 span {
      font-size: 5.12vw;
    }
    .stay_menu_txt p {
      font-size: 2.66vw;
      margin-bottom: 2.66vw;
    }
    .stay_menu_btn {
      font-size: 3.58vw;
    }
  }

.stay_menu_btn span {
  position: relative;
  padding-right: 40px;
}
.stay_menu_btn span::before {
  position: absolute;
  right: 0;
  top: calc(50% - 4px);
  content: "";
  background: url("../img/common/ico/ico_arrow01b.svg") right center no-repeat;
  background-size: 30px auto;
  width: 30px;
  height: 9px;
  transition: all 0.3s ease-in-out 0s;
}
.index_stay_menu a:hover .stay_menu_btn span::before {
  right: -5px;
}
  @media screen and (max-width: 767px) {
    .stay_menu_btn span {
      padding-right: 7.4vw;
    }
    .stay_menu_btn span::before {
      top: calc(50% - 1vw);
      content: "";
      background-size: 6.15vw auto;
      width: 6.15vw;
      height: 2vw;
    }
    .index_stay_menu a:hover .stay_menu_btn span::before {
      right: 0;
    }
  }

/*オファー*/
#index_offers {
  padding: 130px 0 160px;
}
#index_offers .sub_ttl01 {
  margin-bottom: 50px;
}
.tabMenu {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  padding-bottom: 30px;
}
.tabMenu li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  cursor: pointer;
  text-align: center;
  color: #ddd;
  border-bottom: solid 2px #ddd;
  width: calc(50% - 5px);
  font-size: 2rem;
  padding: 0 20px 10px 20px;
  margin: 0 0 10px;
  transition: all 0.3s ease-in-out 0s;
}
.tabMenu li:hover {
  border-bottom: solid 2px #1B1B1B!important;
  color: #222;
}
.tabMenu li.active {
  border-bottom: solid 2px #1B1B1B!important;
  color: #222;
}
.tabMenu li:nth-child(odd) {
  align-items: flex-end;
}
.tabMenu li:nth-child(even) {
  align-items: flex-start;
}
.tabContent {
  opacity: 0;
  height: 0;
  z-index: -1;
  overflow: hidden;
}
.tabContent.active {
  opacity: 1;
  z-index: 5;
  height: auto;
  overflow: visible;
}
.tabInner {
  opacity: 0;
  transition: all 0.4s ease-in-out 0s;
}
.tabContent.active .tabInner {
  opacity: 1;
}
  @media screen and (max-width: 767px) {
    #index_offers {
      padding: 13.33vw 0;
    }
    #index_offers .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .tabMenu {
      padding-bottom: 4vw;
    }
    .tabMenu li {
      width: calc(50% - 1.33vw);
      font-size: 4.1vw;
      padding: 0 2.66vw 2.66vw 2.66vw;
      margin: 0 0 2.66vw;
    }
  }

.plan_list {
  padding-bottom: 30px;
}
.plan_box {
  display: block;
  width: calc(33.33% - 20px);
  color: #333!important;
  text-decoration: none;
  background: #fff;
  margin: 0 0 30px 0;
  transition: all 0.5s ease-in-out 0s;
}
.plan_box:nth-child(1) {
  margin-right: 30px;
}
.plan_box:nth-child(3) {
  margin-left: 30px;
}
.plan_box:last-child {
  margin-right: 0;
}
.plan_box:hover {
  opacity: 0.7;
}
.plan_box figure {
  overflow: hidden;
}
.plan_box figure img {
  width: 100%;
  height: auto;
  opacity: 1!important;
}
.plan_txt {
  padding: 15px 0 0;
  font-size: 1.5rem;
}
.plan_txt h3 {
  font-size: 2rem;
  line-height: 1.7;
  margin-bottom: 10px;
}
  @media screen and (max-width: 767px) {
    .plan_list {
      padding-bottom: 16vw;
    }
    .plan_box {
      width: 100%;
      margin: 0;
      padding: 0 2.66vw;
    }
    .plan_box:nth-child(1) {
      margin-right: 0;
    }
    .plan_box:nth-child(3) {
      margin-left: 0;
    }
    .plan_box figure img {
      height: 52vw;
      object-fit: cover;
    }
    .plan_txt {
      padding: 5vw 0 0;
      font-size: 3.58vw;
    }
    .plan_txt h3 {
      font-size: 4.1vw;
      margin-bottom: 2vw;
    }
    .slick-arrow {
      cursor: pointer;
      position: absolute;
      top: calc(50% - 5.86vw);
      z-index: 10;
    }
    .slick-arrow img {
      width: 7.69vw;
    }
    .plan_list .next_btn {
      right: -7.69vw;
    }
    .plan_list .prev_btn {
      left: -7.69vw;
    }
    .plan_list .slick-dots {
      text-align: center;
      bottom: 7.4vw;
    }
  }

/*トップトピックス*/
#index_topics {
  width: 100%;
  min-height: 400px;
  background: url("../img/index/index_topics_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 100px 0 65px;
}
.index_topics_box {
  margin-bottom: 60px;
}
.index_topics_box h2 {
  width: 160px;
  color: #fff;
  text-align: left;
}
.index_topics_box h2 em {
  background: url("../img/common/ico/ico_sub_ttl01b.svg") center top no-repeat;
  background-size: 26px auto;
}
.index_topics_box ul {
  width: calc(100% - 200px);
  max-width: 920px;
}
.index_topics_box li {
  border-bottom: solid 1px rgba(255,255,255,1);
}
.index_topics_box li:first-child {
  border-top: solid 1px rgba(255,255,255,1);
}
.index_topics_box li a {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  line-height: 1.5;
  text-decoration: none;
  color: #fff;
  padding: 20px 70px 20px 20px;
  font-size: 1.4rem;
}
.index_topics_box li a:hover {
  background-color: rgba(255,255,255,0.2);
}
.index_topics_box li a::before {
  position: absolute;
  right: 20px;
  top: calc(50% - 4px);
  content: "";
  background: url("../img/common/ico/ico_arrow01b.svg") right center no-repeat;
  background-size: 30px auto;
  width: 30px;
  height: 9px;
  transition: all 0.3s ease-in-out 0s;
}
.index_topics_box li a:hover::before {
  right: 15px;
}
.index_topics_box li .cat_box {
  width: 140px;
}
.index_topics_box li .cat_box span {
  width: 100%;
  max-width: 115px;
  padding: 5px;
  text-align: center;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin: 0;
  border: solid 1px #fff;
}
.index_topics_box li time {
  display: block;
  width: 95px;
}
.index_topics_box li h4 {
  display: block;
  width: calc(100% - 235px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
#index_topics .btn01 a:hover {
  background-color: rgba(255,255,255,0.2);
  border: solid 1px #fff;
}
  @media screen and (max-width: 767px) {
    #index_topics {
      min-height: auto;
      padding: 13.33vw 0;
    }
    .index_topics_box {
      margin-bottom: 8vw;
    }
    .index_topics_box h2 {
      width: 100%;
      text-align: center;
      margin-bottom: 8vw;
    }
    .index_topics_box ul {
      width: 100%;
      max-width: 100%;
    }
    .index_topics_box li a {
      align-items: center;
      flex-wrap: wrap;
      padding: 4vw 8vw 4vw 2.66vw;
      font-size: 3.58vw;
    }
    .index_topics_box li a::before {
      right: 2.66vw;
      top: calc(50% - 1vw);
      background-size: 6.15vw auto;
      width: 6.15vw;
      height: 2vw;
    }
    .index_topics_box li a:hover::before {
      right: 2.66vw;
    }
    .index_topics_box li .cat_box {
      display: inline-block;
      width: auto;
    }
    .index_topics_box li .cat_box span {
      width: 100%;
      max-width: unset;
      padding: 0.8vw 2.66vw;
      font-size: 3.33vw;
      margin-right: 3.33vw;
    }
    .index_topics_box li time {
      display: inline-block;
      width: auto;
      margin-right: 3.33vw;
    }
    .index_topics_box li h4 {
      width: 100%;
      margin-top: 3.33vw;
    }
    #index_topics .btn01 a:hover {
      background-color: rgba(255,255,255,1);
    }
  }

/*Instagram*/
#index_insta {
  position: relative;
  padding: 150px 0 160px;
}
#index_insta .sub_ttl01 {
  margin-bottom: 55px;
}
.sub_ttl01 em a {
  color: #ccc;
  text-decoration: none;
  font-style: normal;
}
.sub_ttl01 em a:hover {
  color: #002063;
}
.insta_box {
  padding-bottom: 55px;
}
.insta_box figure {
  position: relative;
}
.insta_box figure::before {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  content: "Sample";
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(18,12,11,0.7);
  color: #fff;
  font-size: 3rem;
  letter-spacing: 0.1em;
  z-index: 5;
}
  @media screen and (max-width: 767px) {
    #index_insta {
      padding: 13.33vw 0;
    }
    #index_insta .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .insta_box {
      padding-bottom: 8vw;
    }
    .insta_box figure::before {
      font-size: 7.69vw;
    }
  }

/*追加*/
  @media screen and (min-width: 768px) {
    #index_stay {
      padding-top: 90px;
    }
  }

#index_art {
  margin-bottom: 150px;
}

  @media screen and (max-width: 767px) {
    .index_stay_txt h3 span {
      padding: 1.33vw 11vw;
    }
    #index_art {
      margin-bottom: 13.33vw;
    }
  }

#index .movie {
  height: auto;
    padding: 5px 0 0 0;
    background: #000;
    text-align: center;
}
#index .movie video {
  width: 62.5vw;
  height: auto;
}

#index_stay {
  padding-top: 110px;
}

  @media  screen and (max-width: 810px) { 
    #index .movie video {
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
    }
  }

/*----------------------------------------------------
  コンセプト concept
--------------------------------------------------- */
#concept_art {
  padding: 120px 0 60px 0;
}
#concept_art .sub_ttl02 {
  margin-bottom: 80px;
}
.concept_art_box {
  position: relative;
  max-width: 1360px;
  margin: 0 auto;
}
.concept_art_box figure {
  position: absolute;
  right: 0;
  top: 0;
  width: 47.5%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.concept_art_box figure img {
  width: 100%;
  height: auto;
}
.concept_art_txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 520px;
  width: 64%;
  padding: 2% 17% 2% 4.5%;
  border: solid 1px #13316f;
}
.concept_art_txt h3 {
  align-items: center;
  margin-bottom: 25px;
}
.concept_art_txt h3 span {
  display: inline-block;
  font-size: 3.2rem;
}
.concept_art_txt h3 small {
  display: inline-block;
  font-size: 1.6rem;
  margin-left: 22px;
}
.concept_art_txt p {
  margin-bottom: 25px;
}
.concept_art_txt li {
  margin-right: 30px;
}
.concept_art_txt li:last-child {
  margin-right: 0;
}
  @media screen and (max-width: 1000px) {
    #concept_art {
      padding-bottom: 30px;
    }
    .concept_art_box figure {
      position: relative;
      width: 100%;
      height: auto;
      z-index: 5;
    }
    .concept_art_box figure img {
      width: calc(100% - 80px);
    }
    .concept_art_txt {
      position: relative;
      top: -50px;
      display: block;
      min-height: auto;
      width: 100%;
      padding: 80px 40px 40px 40px;
    }
  }
  @media screen and (max-width: 767px) {
    #concept_art {
      padding: 15.33vw 0 2.66vw 0;
    }
    #concept_art .sub_ttl02 {
      margin-bottom: 10.66vw;
    }
    .concept_art_box {
      max-width: 100%;
    }
    .concept_art_box figure img {
      width: calc(100% - 12vw);
    }
    .concept_art_txt {
      top: -13.33vw;
      padding: 20vw 5.33vw 5.33vw 5.33vw;
    }
    .concept_art_txt h3 {
      margin-bottom:5vw;
    }
    .concept_art_txt h3 span {
      font-size: 5.33vw;
    }
    .concept_art_txt h3 small {
      font-size: 3.33vw;
      margin-left: 3.33vw;
    }
    .concept_art_txt p {
      margin-bottom: 5vw;
    }
    .concept_art_txt li {
      margin-right: 5vw;
    }
  }

#concept_story_lead {
  position: relative;
  margin-bottom: 100px;
}
#concept_story_lead::before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 50%;
  height: 100%;
  background: #F5F5F5;
}
.concept_story_lead_box {
  min-height: 564px;
  align-items: center;
}
.concept_story_lead_img {
  position: relative;
  width: 100%;
  max-width: 500px;
  height: 100%;
  padding-bottom: 100px;
}
.concept_story_lead_img figure {
  position: relative;
  z-index: 5;
  max-width: 360px;
  height: 100%;
}
.concept_story_lead_img figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.concept_story_lead_img dl {
  position: absolute;
  right: 0;
  bottom: 0;
  border: solid 1px #13316f;
  width: 100%;
  max-width: 400px;
  height: 130px;
  padding: 35px 20px 20px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.concept_story_lead_img dt,
.concept_story_lead_img dd {
  width: 100%;
  max-width: 250px;
  margin: 0 auto;
}
.concept_story_lead_txt {
  position: relative;
  transition: opacity 1s ease,transform 1.5s ease,background-position 1s ease 0.7s
}
.concept_story_lead_txt p {
  font-size: 2rem;
  line-height: 2.3;
}
.to_story_btn {
  position: absolute;
  left: -320px;
  top: calc(50% - 28px);
  z-index: 5;
}
  @media screen and (max-width: 1140px) {
    #concept_story_lead::before {
      width: 46%;
    }
    .to_story_btn {
      position: static;
      margin-top: 25px;
    }
  }
  @media screen and (max-width: 1000px) {
    #concept_story_lead::before {
      width: 48%;
    }
    .concept_story_lead_box {
      min-height: auto;
    }
    .concept_story_lead_img {
      max-width: 370px;
    }
    .concept_story_lead_img figure {
      max-width: 340px;
    }
    .concept_story_lead_img dl {
      max-width: unset;
      width: calc(100% - 30px);
    }
    .concept_story_lead_txt p {
      font-size: 1.8rem;
      line-height: 2;
    }
  }
  @media screen and (max-width: 860px) {
    #concept_story_lead::before {
      width: 46.8%;
    }
    .concept_story_lead_txt p {
      font-size: 1.6rem;
    }
  }
  @media screen and (max-width: 767px) {
    #concept_story_lead {
      margin-bottom: 12vw;
    }
    #concept_story_lead::before {
      width: calc(100% - 9.33vw);
      height: calc(100% - 38vw);
    }
    .concept_story_lead_img {
      max-width: 100%;
      left: -2vw;
      height: auto;
      padding-bottom: 25.64vw;
    }
    .concept_story_lead_img figure {
      max-width: 80vw;
      height: auto;
    }
    .concept_story_lead_img dl {
      width: calc(100% - 5vw);
      max-width: unset;
      height: 30vw;
      padding: 8vw 6.66vw 6.66vw 6.66vw;
    }
    .concept_story_lead_img dt,
    .concept_story_lead_img dd {
      max-width: 62vw;
    }
    .concept_story_lead_txt {
      padding: 10.66vw 0 12vw 6.66vw;
    }
    .concept_story_lead_txt p {
      font-size: 3.84vw;
      line-height: 2;
    }
    .to_story_btn {
      margin-top: 6.66vw;
    }
  }

.to_story_btn a {
  position: relative;
  vertical-align: bottom;
  display: inline-block;
  min-width: 245px;
  padding: 9px 10px;
  text-align: center;
  background: #fff;
  color: #002063;
  border: solid 1px #002063;
  text-decoration: none;
  font-size: 2rem;
}
.to_story_btn a:hover {
  background: #002063;
  color: #fff;
}
.to_story_btn a span {
  position: relative;
  padding-right: 22px;
}
.to_story_btn a span::before {
  position: absolute;
  right: 0;
  top: calc(50% - 8px);
  content: "";
  background: url("../img/common/ico/ico_arrow02a.svg") right center no-repeat;
  background-size: 9px auto;
  width: 9px;
  height: 16px;
  transition: all 0.3s ease-in-out 0s;
}
.to_story_btn a:hover span::before {
  background: url("../img/common/ico/ico_arrow02b.svg") right center no-repeat;
  background-size: 9px auto;
}
  @media screen and (max-width: 1000px) {
    .to_story_btn a {
      font-size: 1.8rem;
    }
  }
  @media screen and (max-width: 767px) {
    .to_story_btn a {
      min-width: 58vw;
      padding: 2.66vw;
      font-size: 3.84vw;
    }
    .to_story_btn a span {
      padding-right: 5vw;
    }
    .to_story_btn a span::before {
      top: calc(50% - 1.9vw);
      background-size: 2vw auto;
      width: 2vw;
      height: 3.8vw;
    }
    .to_story_btn a:hover span::before {
      background-size: 2vw auto;
    }
  }

#concept_slider {
  padding-bottom: 120px;
}
#concept_slider .infinite-slider {
  margin-bottom: 50px;
}
#concept_slider .swiper-wrapper {
  transition-timing-function: linear;
  align-items: center;
}
#concept_slider .swiper-slide {
  height: 100% !important;
  width: auto !important;
  padding: 0 10px;
}
#concept_slider .swiper-slide img {
  width: auto;
}
  @media screen and (max-width: 767px) {
    #concept_slider {
      padding-bottom: 15.33vw;
    }
    #concept_slider .infinite-slider {
      margin-bottom: 6.66vw;
    }
    #concept_slider .swiper-wrapper {
      transition-timing-function: linear;
      align-items: center;
    }
    #concept_slider .swiper-slide {
      width: 42vw !important;
      padding: 0 2vw;
    }
    #concept_slider .swiper-slide img {
      width: auto;
    }
  }

#concept_rooms_art {
  padding-bottom: 100px;
}
#concept_rooms_art .concept_rooms_art_wrap {
  background: #fff;
  overflow: hidden;
}
  @media screen and (max-width: 767px) {
    #concept_rooms_art {
      padding-bottom: 14vw;
    }
  }

.concept_rooms_art_slider {
  margin-bottom: 80px;
}
.concept_rooms_art_slider .carousel_slider {
  padding-bottom: 20px;
}
.concept_rooms_art_slider .carousel_slider figure {
  padding: 0 15px;
  max-width: 310px;
}
.concept_rooms_art_slider .carousel_slider figure figcaption {
  text-align: center;
  padding-top: 0.5em;
  padding-bottom: 0.25em;
}
  @media screen and (max-width: 767px) {
    .concept_rooms_art_slider {
      margin-bottom: 0;
    }
    .concept_rooms_art_slider .carousel_slider {
      margin-bottom: 8vw;
    }
    .concept_rooms_art_slider .carousel_slider figure {
      padding: 0 10px;
    }
    .concept_rooms_art_slider .carousel_slider figure blockquote {
      font-size: 1.25rem;
      margin-top: 0.5em;
    }
  }

#concept_rooms_art .concept_rooms_art_prof {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40px 0;
}
#concept_rooms_art .concept_rooms_art_prof .creator {
  width: 300px;
  padding-right: 40px;
  text-align: right;
  font-weight: bold;
}
#concept_rooms_art .concept_rooms_art_prof .introduction {
  width: 660px;
  padding: 10px 30px;
  background-color: #f5f5f5;
}
#concept_rooms_art .concept_rooms_art_img {
  display: flex;
  justify-content: center;
  margin-bottom: 100px;
}
#concept_rooms_art .concept_rooms_art_img figure {
  padding: 0 15px;
}
#concept_rooms_art .concept_rooms_art_img figure figcaption {
  text-align: center;
}
  @media screen and (max-width: 767px) {
    #concept_rooms_art .concept_rooms_art_prof {
      display: block;
      margin-bottom: 20px;
    }
    #concept_rooms_art .concept_rooms_art_prof .creator,
    #concept_rooms_art .concept_rooms_art_prof .introduction {
      width: 100%;
      padding: 1em 1.5em;
    }
    #concept_rooms_art .concept_rooms_art_prof .creator {
      padding: 0.5em;
      text-align: center;
      font-size: 1.3em;
    }
    #concept_rooms_art .concept_rooms_art_img {
      flex-wrap: wrap;
      row-gap: 20px;
      margin-bottom: 8vw;
    }
    #concept_rooms_art .concept_rooms_art_img figure {
      width: 50%;
    }
    #concept_rooms_art .concept_rooms_art_img figure.sp_100 {
      width: 100%;
    }
    #concept_rooms_art .concept_rooms_art_img_last figure {
      width: 33%;
      padding: 0 2px;
    }
  }

#concept_story {
  padding-bottom: 90px;
}
#concept_story .sub_ttl02 {
  margin-bottom: 80px;
}
.story_post_box {
  display: block;
  text-decoration: none;
  width: calc(33.33% - 20px);
  margin: 0 30px 50px 0;
  color: #333!important;
}
.story_post_box:hover {
  color: #002063!important;
}
.story_post_box:nth-child(3n) {
  margin-right: 0;
}
.story_post_box figure {
  margin-bottom: 15px;
}
.story_post_box figure img {
  width: 100%;
  height: auto;
}
.story_post_box:hover img {
  opacity: 0.7;
}
  @media screen and (max-width: 767px) {
    #concept_story {
      padding-bottom: 12vw;
    }
    #concept_story .sub_ttl02 {
      margin-bottom: 10.66vw;
    }
    .story_post_box {
      display: block;
      text-decoration: none;
      width: 100%;
      margin: 0 0 6.66vw 0;
    }
    .story_post_box figure {
      margin-bottom: 3.33vw;
    }

    .wrapper_large {
      width: 100%;
      padding-right: 3vw;
      padding-left: 3vw;
    }

  }

/*----------------------------------------------------
  下層共通
--------------------------------------------------- */
.lower_lead {
  padding: 120px 0 70px;
}
.lower_lead .sub_ttl02 {
  margin-bottom: 70px;
}
.lower_lead p {
  text-align: center;
  margin-bottom: 30px;
  font-size: 2rem;
  line-height: 2;
}
  @media screen and (max-width: 767px) {
    .lower_lead {
      padding: 15.33vw 0 10.66vw;
    }
    .lower_lead .sub_ttl02 {
      margin-bottom: 6.66vw;
    }
    .lower_lead p {
      margin-bottom: 4vw;
      font-size: 4vw;
      line-height: 2;
      text-align: left;
    }
  }

.anchor_menu {
  padding-top: 30px;
}
.anchor_menu li {
  margin: 0 10px 20px 10px;
}
.anchor_menu li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  text-decoration: none;
  border: solid 1px #002063;
  padding: 7px 20px;
  height: 100%;
  min-height: 55px;
}
.anchor_menu li a span {
  display: inline-block;
  padding-right: 18px;
  background: url("../img/common/ico/ico_arrow02a.svg") right center no-repeat;
  background-size: 9px auto;
}
.anchor_menu li a:hover {
  background: #002063;
  color: #fff;
}
.anchor_menu li a:hover span {
  background: url("../img/common/ico/ico_arrow02b.svg") right center no-repeat;
  background-size: 9px auto;
}
  @media screen and (max-width: 767px) {
    .anchor_menu {
      padding-top: 4vw;
    }
    .anchor_menu ul {
      margin: 0 -2%!important;
    }
    .anchor_menu li {
      max-width: 100%!important;
      width: 46%!important;
      margin: 0 2% 4vw 2%!important;
    }
    .anchor_menu li a {
      display: block;
      padding: 3.33vw 0;
      height: auto;
      min-height: auto;
      text-align: center;
      font-size: 3.07vw;
    }
    .anchor_menu li a span {
      padding-right: 4.4vw;
      background-size: 2.33vw auto;
    }
    .anchor_menu li a:hover span {
      background-size: 2.33vw auto;
    }
  }

.am_c3 {
  margin-left: -20px;
  margin-right: -20px;
}
.am_c3 li {
  width: calc(33.33% - 30px);
  max-width: 388px;
}
.am_c4 {
  margin-left: -10px;
  margin-right: -10px;
}
.am_c4 li {
  width: calc(25% - 20px);
  max-width: 285px;
}

.ex_link02 a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  text-decoration: none;
  border: solid 1px #002063;
  padding: 7px 28px;
  height: 100%;
  min-height: 55px;
  color: #002063!important;
}
.ex_link02 a span {
  display: inline-block;
  padding-right: 24px;
  background: url("../img/common/ico/ico_link01a.svg") right center no-repeat;
  background-size: 16px auto;
}
.ex_link02 a:hover {
  background: #002063;
  color: #fff!important;
}
.ex_link02 a:hover span {
  background: url("../img/common/ico/ico_link01b.svg") right center no-repeat;
  background-size: 16px auto;
}
  @media screen and (max-width: 767px) {
    .ex_link02 a {
      display: block;
      padding: 3.33vw;
      font-size: 3.84vw;
      height: auto;
      min-height: auto;
    }
    .ex_link02 a span {
      padding-right: 5.33vw;
      background-size: 3.84vw auto;
    }
    .ex_link02 a:hover span {
      background-size: 3.84vw auto;
    }
  }

/*----------------------------------------------------
  ストーリー story
--------------------------------------------------- */
#story_archive {
  padding: 100px 0 80px 0;
}
  @media screen and (max-width: 767px) {
    #story_archive {
      padding: 15.33vw 0 12vw 0;
    }
  }

#story_single {
  padding: 100px 0 140px;
}
.story_single_ttl {
  font-size: 3.2rem;
  margin-bottom: 70px;
  font-weight: 600;
  text-align: center;
}
#story_single .entry-content {
  line-height: 2.3;
}
  @media screen and (max-width: 767px) {
    #story_single {
      padding: 15.33vw 0;
    }
    .story_single_ttl {
      font-size: 5.33vw;
      margin-bottom: 8vw;
    }
    #story_single .entry-content {
      line-height: 2;
    }
  }

/*----------------------------------------------------
  客室 room
--------------------------------------------------- */
.page-id-room #page,
.page-id-14 #page {
  overflow: visible;
}

  @media screen and (max-width: 960px) {
    #room_lead .anchor_menu li {
      max-width: 40%;
      width: 40%;
    }
  }

.room_head {
  position: relative;
  overflow: hidden;
  padding: 160px 0 90px 0;
}
.room_head_box h2 {
  margin-bottom: 35px;
}
.room_head_box h2 span {
  font-size: 4.8rem;
  display: inline-block;
  margin-right: 25px;
}
.room_head_box h2 small {
  font-size: 2.8rem;
  display: inline-block;
}
.room_head_box p {
  font-size: 2rem;
  line-height: 1.9;
}
.room_head_copy {
  position: absolute;
  font-size: 18rem;
  opacity: 0.1;
  line-height: 1;
  color: #13316f;
  bottom: -12px;
  left: calc(50% - 200px);
  white-space: nowrap;
}
.room_head_sign {
  position: absolute;
  top: 0;
  left: calc(50% - 945px);
}
  @media screen and (max-width: 1200px) {
    .room_head_copy {
      font-size: 16rem;
      left: calc(50% - 60px);
    }
    .room_head_sign {
      left: -320px;
    }
  }
  @media screen and (max-width: 767px) {
    .room_head {
      padding: 16.66vw 0 15.38vw 0!important;
    }
    .room_head .inner {
      padding: 0;
    }
    .room_head_box h2 {
      margin-bottom: 3.33vw;
      text-align: center;
    }
    .room_head_box h2 span {
      font-size: 8.71vw;
      display: block;
      margin-right: 0;
    }
    .room_head_box h2 small {
      font-size: 4.61vw;
      display: block;
    }
    .room_head_box p {
      font-size: 3.5vw;
      line-height: 1.8;
      text-align: center;
    }
    .room_head_copy {
      font-size: 14vw;
      bottom: -2vw;
      left: 0!important;
      right: auto!important;
      width: 100%;
      text-align: center;
      font-weight: 600;
    }
    .room_head_sign {
      display: block;
      width: 100%;
      right: auto!important;
      left: 0!important;
      text-align: center;
    }
    .room_head_sign img {
      width: 69.23vw;
      height: auto;
    }
  }

.room_head_copy span.active {
  -webkit-animation: ani_fade 1s ease 1.5s 1 forwards;
  animation: ani_fade 1s ease 1.5s 1 forwards;
}
.room_head_sign.active {
  -webkit-animation: ani_fade 1s ease 1.5s 1 forwards;
  animation: ani_fade 1s ease 1.5s 1 forwards;
}

#room02 .room_head {
  padding-top: 130px;
}
#room02 .room_head_sign {
  left: auto;
  right: calc(50% - 940px);
}
#room02 .room_head_copy {
  left: auto;
  right: calc(50% + 180px);
}
#room02 .room_head_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
}
  @media screen and (max-width: 1200px) {
    #room02 .room_head_sign {
      left: auto;
      right: -320px;
    }
    #room02 .room_head_copy {
      left: auto;
      right: calc(50% + 60px);
    }
  }
  @media screen and (max-width: 767px) {
    #room02 .room_head_box {
      display: block;
    }
  }

#room03 .room_head {
  padding-top: 140px;
}
#room03 .room_head_sign {
  left: calc(50% - 940px);
}
#room03 .room_head_copy {
  left: calc(50% + 120px);
}
  @media screen and (max-width: 1200px) {
    #room03 .room_head_sign {
      left: -320px;
    }
    #room03 .room_head_copy {
      left: calc(50% + 60px);
    }
  }
  @media screen and (max-width: 767px) {
  }

.parallax {
  width: 100%;
  height: 900px;
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.parallax01 {
  background-image: url("../img/room/room01_main.jpg");
}
.parallax02 {
  background-image: url("../img/room/room02_main.jpg");
}
.parallax03 {
  background-image: url("../img/room/room03_main.jpg");
}
  @media screen and (max-width: 767px) {
    .parallax {
      height: 56.15vw;
    }
    .parallax01 {
      background-image: url("../img/room/room01_main_sp.jpg");
    }
    .parallax02 {
      background-image: url("../img/room/room02_main_sp.jpg");
    }
    .parallax03 {
      background-image: url("../img/room/room03_main_sp.jpg");
    }
  }

.room_box {
  position: relative;
}
.room_box::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 100px;
  background: #fff;
  z-index: 2;
}
.room_box::before {
  position: absolute;
  content: "";
  width: 50%;
  height: 600px;
  background: #E9E9E9;
  z-index: -2;
}
#room01::before {
  left: 0;
  top: 80px;
}
#room02::before {
  left: auto;
  right: 0;
  top: 45px;
}
#room03::before {
  left: 0;
  top: 52px;
}

.room_box_wrap {
  position: relative;
  z-index: 5;
  top: -100px;
  padding-top: 100px;
  overflow: hidden;
}
  @media screen and (max-width: 1200px) {
    .room_box_wrap {
      top: 0;
      padding-top: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .room_box::before {
      top: 5.76vw!important;
      width: 100%;
      height: 120vw;
    }
  }

.room_box_inner {
  position: relative;
  background: #fff;
}
.room_box_inner::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 50%;
  height: 365px;
  background: #E9E9E9;
}
.room_info {
  margin-bottom: 65px;
}
.room_info_txt {
  position: relative;
  z-index: 5;
  top: -25px;
  max-width: 440px;
}
.room_info_txt p {
  line-height: 2.2;
  margin-bottom: 40px;
}
.room_info_tbl {
  border-top: solid 1px #13316f;
  margin-bottom: 40px;
}
.room_info_tbl dl {
  border-bottom: solid 1px #13316f;
  padding: 2px 0 22px;
}
.room_info_tbl dt {
  font-size: 2rem;
  margin-bottom: 15px;
}
.room_info_num dd {
  position: relative;
  padding-right: 60px;
}
.room_info_num dd span {
  position: absolute;
  right: 5px;
  color: #002063;
}
  @media screen and (max-width: 1200px) {
    .room_box_inner::before {
      display: none!important;
    }
    .room_info {
      display: block;
      padding-top: 60px;
    }
    .room_info_txt {
      top: 0;
      max-width: 960px;
      margin: 0 auto;
    }
  }
  @media screen and (max-width: 767px) {
    .room_info {
      margin-bottom: 22vw;
      padding-top: 6vw;
    }
    .room_info_txt {
      max-width: 100%;
    }
    .room_info_txt p {
      line-height: 2;
      margin-bottom: 6.66vw;
    }
    .room_info_txt .btn01 {
      text-align: center;
    }
    .room_info_txt .btn01 a {
      min-width: 42vw;
    }
    .room_info_tbl {
      margin-bottom: 8vw;
    }
    .room_info_tbl dl {
      padding: 3vw 0;
      display: flex;
      justify-content: space-between;
    }
    .room_info_tbl dt {
      width: 26%;
      font-size: 3.846vw;
      margin-bottom: 0;
    }
    .room_info_tbl dd {
      width: 70%;
    }
    .room_info_num dd {
      padding-right: 15vw;
    }
    .room_info_num dd span {
      right: 1.66vw;
    }
  }

.room_slider_wrap {
  position: relative;
  width: 100%;
  max-width: 680px;
  padding-top: 80px;
}
.room_slider_wrap::before {
  position: absolute;
  left: 100%;
  top: -100px;
  content: "";
  width: 100vw;
  height: 100px;
  background: #fff;
}
.room_slider {
  width: 100%;
  opacity: 0;
  transition: opacity 0.6s linear;
  margin-bottom: 18px;
}
.room_slider.slick-initialized{
  opacity: 1;
}
.room_slider .slick-list,
.room_slider .slick-track,
.room_slider_box,
.room_slider_box figure,
.room_slider_box figure img {
  height: 100%;
}
.room_slider_box figure {
  position: relative;
  text-align: center;
  height: 520px;
}
.room_slider_box figure img {
  width: 100%;
  object-fit: cover;
  margin: 0 auto;
}
  @media screen and (max-width: 1200px) {
    .room_slider_wrap {
      max-width: 960px;
      margin: 0 auto;
    }
  }
  @media screen and (max-width: 767px) {
    .room_slider_wrap {
      max-width: 100%;
      padding-top: 10.66vw;
    }
    .room_slider_wrap::before {
      display: none;
    }
    .room_slider {
      margin-bottom: 0;
    }
    .room_slider.slick-initialized{
      opacity: 1;
    }
    .room_slider .slick-dots {
      bottom: -8vw;
    }
    .room_slider .slick-arrow {
      top: calc(50% - 6.5vw);
    }
    .room_slider .slick-arrow img {
      width: 6.4vw;
    }
    .room_slider .prev_btn {
      left: -5.33vw;
    }
    .room_slider .next_btn {
      right: -5.33vw;
    }
    .room_slider_box figure {
      height: auto;
    }
  }

.room_slider-nav {
  width: 100%;
  opacity: 0;
  transition: opacity 0.6s linear;
}
.room_slider-nav.slick-initialized{
  opacity: 1;
}
.room_slider-nav.slick-slider .slick-track, 
.room_slider-nav.slick-slider .slick-list {
  height: auto!important;
  transform: none!important;
}
.room_slider-nav.slick-slider .slick-track {
  display: flex;
  flex-wrap: wrap;
}
.room_slider-nav li {
  float: none!important;
  width: calc(20% - 12px)!important;
  margin: 0 15px 0 0;
  cursor: pointer;
}
.room_slider-nav li:nth-child(5n) {
  margin-right: 0;
}
.room_slider-nav li img {
  display: block;
  width: 100%;
  height: 80px;
  object-fit: cover;
}
.room_slider-nav li.slick-active {
  opacity: 0.5;
}
.room_slider-nav li.slick-current {
  opacity: 1;
}
  @media screen and (max-width: 1200px) {
    .room_slider-nav {
      max-width: 960px;
      margin: 0 auto;
    }
    .room_slider-nav li img {
      height: 10vw;
    }
  }
  @media screen and (max-width: 767px) {
    .room_slider-nav {
      display: none;
    }
  }

#room02 .room_slider_wrap::before {
  left: auto;
  right: 100%;
}
#room02 .room_box_inner::before {
  left: auto;
  right: 0;
  top: 0;
}

@media screen and (max-width: 767px) {
  .room_info_tbl .flex-type {
  justify-content: end;
  }
.sp-none{
    display: none;
}
}
/*カレンダー*/
.room_info_calendar {
  padding-bottom: 30px;
}
  @media screen and (max-width: 1200px) {
    .room_info_calendar {
      padding-bottom: 60px;
    }
  }
  @media screen and (max-width: 767px) {
    .room_info_calendar {
      padding: 0 7.69vw 15.33vw;
    }
    .room_info_calendar .sub_ttl01 {
      display: none;
    }
    .room_info_calendar h4 {
      position: relative;
      font-size: 6.15vw;
      padding: 4vw 0;
    }
    .room_info_calendar h4::after {
      position: absolute;
      right: 0;
      top: calc(50% - 3.8vw);
      font-family: "Line Awesome Free", "Line Awesome Brands";
      content: "\f067";
      font-weight: 600;
      font-size: 7.6vw;
      line-height: 1;
      color: #002063;
    }
    .room_info_calendar h4.activ::after {
      content: "\f068";
    }
    .calendar_outer {
      border-top: solid 1px #002063;
      border-bottom: solid 1px #002063;
    }
    .calendar_wrap {
      display: none;
    }
    .room_info_calendar .btn01 {
      margin-top: 8vw;
    }
    .room_info_calendar .btn01 a {
      min-width: 48vw;
    }
  }

.calendar_489ban {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  min-height: 430px;
}
  @media screen and (max-width: 1119px) {
    .calendar_489ban {
      min-height: 805px;
    }
  }
  @media screen and (max-width: 767px) {
    .calendar_489ban {
      min-height: auto;
    }
  }

.calendar_489ban table {
  width: 330px;
  margin: 40px 20px 0 20px;
  font-size: 1.4rem;
  line-height: 1.4;
}
.calendar_489ban table td a {
  text-decoration: none;
}
.room_info_calendar table caption {
  margin-bottom: 10px;
  font-size: 2rem;
}
.room_info_calendar table th, .room_info_calendar table td {
  padding: 5px 0;
  border-collapse: collapse;
  border: 1px solid #cfcfcf;
  text-align: center;
  line-height: 1.5em;
}
  @media screen and (max-width: 767px) {
    .calendar_489ban {
    }
    .calendar_489ban table {
      width: 100%;
      margin: 8vw 0 0 0;
      font-size: 3.58vw;
    }
    .room_info_calendar table caption {
      margin-bottom: 2.66vw;
      font-size: 5.12vw;
    }
    .room_info_calendar table th, .room_info_calendar table td {
      padding: 1.33vw 0;
    }
  }

.room_info_calendar table th:first-child, .room_info_calendar table td:first-child, .room_info_calendar table th:first-child a, .room_info_calendar table td:first-child a {
  color: #c43e39;
}
.room_info_calendar table th:last-child, .room_info_calendar table td:last-child, .room_info_calendar table th:last-child a, .room_info_calendar table td:last-child a {
  color: #595ea3;
}
.room_info_calendar table th {
  background: #f1f1f1;
}
.room_info_calendar table td a {
  color: #333;
}
.room_info_calendar .calendar_489ban + p {
  max-width: 1080px;
  margin: 15px auto 50px;
  text-align: right;
}
.room_info_calendar .calendar_489ban + p a {
  position: relative;
  box-sizing: border-box;
  color: #333;
  text-decoration: none;
  font-size: 1.4rem;
}
.room_info_calendar .calendar_489ban + p a:hover {
  color: #002063;
}
.room_info_calendar .calendar_489ban + p a::after {
  font-family: "Line Awesome Free", "Line Awesome Brands";
  content: "\f105";
  font-weight: 600;
  font-size: 1.6rem;
}
  @media screen and (max-width: 1119px) {
    .room_info_calendar .calendar_489ban + p {
      text-align: center;
    }
  }
  @media screen and (max-width: 767px) {
    .room_info_calendar .calendar_489ban + p {
      max-width: 100%;
      padding: 3.33vw 0 6.66vw;
      margin: 0;
      text-align: right;
    }
    .room_info_calendar .calendar_489ban + p a {
      font-size: 3.07vw;
    }
  }

#room_amenity {
  padding: 90px 0;
  background: #F5F5F5;
}
#room_amenity .sub_ttl01 {
  margin-bottom: 50px;
}
#room_amenity h3 {
  font-size: 2.8rem;
  line-height: 1.4;
  margin-bottom: 30px;
  overflow: hidden;
}
#room_amenity h3 span {
  position: relative;
  display: inline-block;
  padding-right: 25px;
}
#room_amenity h3 span::before {
  position: absolute;
  left: 100%;
  top: 50%;
  content: "";
  width: 120px;
  height: 1px;
  background: #13316f;
}
  @media screen and (max-width: 767px) {
    #room_amenity {
      padding: 10.66vw 0;
    }
    #room_amenity .sub_ttl01 {
      margin-bottom: 8vw;
    }
    #room_amenity h3 {
      text-align: center;
      font-size: 5.38vw;
      margin-bottom: 6vw;
    }
    #room_amenity h3 span::after {
      position: absolute;
      left: 0;
      top: 50%;
      content: "";
      height: 1px;
      background: #13316f;
    }
    #room_amenity h3 span::before {
      position: absolute;
      left: auto;
      right: 0;
      top: 50%;
      content: "";
      height: 1px;
      background: #13316f;
    }
    #room_amenity h3 span {
      padding: 0 15vw;
    }
    #room_amenity h3 span::after {
      width: 12vw;
    }
    #room_amenity h3 span::before {
      width: 12vw;
    }
  }

.room_amenity01_box {
  background: #fff;
  border: solid 1px #ddd;
  padding: 3.2%;
}
.room_amenity01_box ul {
  width: 65%;
}
.room_amenity01_box li {
  width: 47.5%;
  height: 100%;
}
.room_amenity01_box li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.room_amenity01_box dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 31.5%;
}
.room_amenity01_box dt {
  font-size: 2.4rem;
  margin-bottom: 20px;
}
  @media screen and (max-width: 767px) {
    .room_amenity01_box {
      padding: 2.66vw;
    }
    .room_amenity01_box ul {
      width: 100%;
      margin-bottom: 3vw;
    }
    .room_amenity01_box li {
      width: calc(50% - 1.33vw);
      height: auto;
    }
    .room_amenity01_box li img {
      height: auto;
    }
    .room_amenity01_box dl {
      display: block;
      width: 100%;
    }
    .room_amenity01_box dt {
      font-size: 4.61vw;
      margin-bottom: 2vw;
    }
  }

.room_amenity02_box {
  padding: 3.2% 3.2% 0;
  align-items: center;
}
.room_amenity02_box dl {
  width: calc(33.33% - 27px);
  margin: 0 40px 3.2% 0;
  text-align: center;
}
.room_amenity02_box dl:nth-child(3n) {
  margin-right: 0;
}
.room_amenity02_box dt {
  margin-bottom: 10px;
}
.room_amenity02_box dt img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 767px) {
    .room_amenity02_box {
      padding: 2.66vw 2.66vw 0 2.66vw;
      justify-content: space-between;
      align-items: flex-start;
    }
    .room_amenity02_box dl {
      width: calc(50% - 1.33vw);
      margin: 0 0 3.33vw 0;
      font-size: 3.07vw;
    }
    .room_amenity02_box dt {
      margin-bottom: 1.66vw;
    }
  }

.room_amenity03_box {
  background: #fff;
  border: solid 1px #ddd;
  padding: 2.5% 3.2%;
  margin-bottom: 70px;
}
.room_amenity03_box li {
  width: 33.33%;
  margin: 3px 0;
}
  @media screen and (max-width: 767px) {
    .room_amenity03_box {
      padding: 2.66vw;
      margin-bottom: 10.66vw;
    }
    .room_amenity03_box li {
      width: 100%;
      margin: 0.13vw 0;
    }
  }

.room_amenity04_box dl {
  width: 48.8%;
}
.room_amenity04_box dt {
  width: 58%;
}
.room_amenity04_box dt img {
  height: 100%;
  object-fit: cover;
}
.room_amenity04_box dd {
  width: 38%;
}
.room_amenity04_box dd h4 {
  padding: 15px 0;
}
.room_amenity04_box dd p {
  font-size: 1.4rem;
  line-height: 2;
}
  @media screen and (max-width: 960px) {
    .room_amenity04_box {
      display: block;
    }
    .room_amenity04_box dl {
      width: 100%;
    }
    .room_amenity04_box dl:nth-child(1) {
      margin-bottom: 30px;
    }
    .room_amenity04_box dt {
      width: 48.4%;
    }
    .room_amenity04_box dd {
      width: 48.4%;
    }
  }
  @media screen and (max-width: 767px) {
    .room_amenity04_box dl {
    }
    .room_amenity04_box dt {
    }
    .room_amenity04_box dt img {
      height: auto;
    }
    .room_amenity04_box dd h4 {
      padding: 0 0 0.66vw 0;
    }
    .room_amenity04_box dd p {
      font-size: 3.07vw;
      line-height: 1.6;
    }
    .room_amenity04_box dl:nth-child(1) {
      margin-bottom: 9.33vw;
    }
  }

.room_rental_box {
  padding: 50px 0;
}
.room_rental_txt {
  margin: 20px 60px;
  line-height: 2;
}
.room_rental_btn {
  margin: 20px 60px;
}
  @media screen and (max-width: 767px) {
    .room_rental_box {
      padding: 6.66vw 0 15.33vw;
    }
    .room_rental_txt {
      margin: 0 0 6.66vw 0;
      line-height: 1.8;
    }
    .room_rental_btn {
      margin: 0;
      text-align: center;
    }
    .room_rental_btn .btn01 a {
      min-width: 56vw;
    }
  }

/*----------------------------------------------------
  レストラン restaurant
--------------------------------------------------- */
.page-id-restaurant #page,
.page-id-16 #page {
  overflow: visible;
}

#restaurant_lead {
  padding-bottom: 130px;
}
#restaurant_lead .am_c3 li {
  max-width: 290px;
}
  @media screen and (max-width: 767px) {
    #restaurant_lead {
      padding-bottom: 10.66vw;
    }
  }

.restaurant_head {
  position: relative;
  overflow: hidden;
  padding-top: 25px;
}
#restaurant01 .restaurant_head_inner::before {
  position: absolute;
  left: calc(50% - 700px);
  top: 0;
  content: "";
  width: 1400px;
  height: 100%;
  background: #F5F5F5;
}
.restaurant_head_inner {
  position: relative;
  width: 100%;
  padding: 90px 0 65px;
}
.restaurant_head_box {
  text-align: center;
}
.restaurant_head_box h2 {
  margin-bottom: 40px;
}
.restaurant_head_box h2 em {
  display: block;
  font-size: 2rem;
  margin-bottom: 5px;
}
.restaurant_head_box h2 b {
  font-size: 4.8rem;
  display: inline-block;
  margin-right: 22px;
}
.restaurant_head_box h2 span {
  font-size: 2.8rem;
  display: inline-block;
}
.restaurant_head_box h2 small {
  font-size: 2.4rem;
}
.restaurant_head_box p {
  font-size: 2rem;
  line-height: 1.9;
}
.restaurant_head_copy {
  position: absolute;
  font-size: 16rem;
  opacity: 0.1;
  line-height: 1;
  width: 100%;
  text-align: center;
  color: #13316f;
  left: 0;
  bottom: -12px;
  white-space: nowrap;
}
.restaurant_head_sign {
  position: absolute;
  top: -25px;
  left: calc(50% - 705px);
}
  @media screen and (max-width: 767px) {
    .restaurant_head {
      padding-top: 5vw;
    }
    #restaurant01 .restaurant_head_inner::before {
      left: 0;
      top: 0;
      width: 100%;
    }
    .restaurant_head_inner {
      padding: 12vw 0 15.38vw;
    }
    .restaurant_head_box h2 {
      margin-bottom: 3.33vw;
    }
    .restaurant_head_box h2 em {
      font-size: 3.84vw;
      margin-bottom: 1.33vw;
    }
    .restaurant_head_box h2 b {
      font-size: 8.71vw;
      display: block;
      margin-right: 0;
    }
    .restaurant_head_box h2 span {
      font-size: 4.61vw;
      display: inline-block;
    }
    .restaurant_head_box h2 small {
      font-size: 4.1vw;
    }
    .restaurant_head_box p {
      font-size: 3.5vw;
      line-height: 1.8;
      text-align: center;
    }
    .restaurant_head_copy {
      font-size: 13.4vw;
      bottom: -1.33vw;
      left: 0!important;
      right: auto!important;
      width: 100%;
      text-align: center;
      font-weight: 600;
    }
    .restaurant_head_sign {
      display: block;
      width: 100%;
      right: auto!important;
      left: 0!important;
      top: -5vw;
      text-align: center;
    }
    .restaurant_head_sign img {
      width: 69.23vw;
      height: auto;
    }
  }

.restaurant_head_copy span.active {
  -webkit-animation: ani_fade 1s ease 1.5s 1 forwards;
  animation: ani_fade 1s ease 1.5s 1 forwards;
}
.restaurant_head_sign.active {
  -webkit-animation: ani_fade 1s ease 1.5s 1 forwards;
  animation: ani_fade 1s ease 1.5s 1 forwards;
}

.parallax_restaurant {
  background-image: url("../img/restaurant/restaurant01_main.jpg");
}
.restaurant01_wrap {
  background: #fff;
  overflow: hidden;
  padding-top: 60px;
}
.restaurant_tbl {
  border-top: solid 1px #13316f;
}
.restaurant_tbl dl {
  border-bottom: solid 1px #13316f;
  padding: 2px 0 20px;
}
.restaurant_tbl dt {
  font-size: 2rem;
  margin-bottom: 15px;
}
  @media screen and (max-width: 767px) {
    .restaurant01_wrap {
      padding-top: 8vw;
    }
    .restaurant_tbl dl {
      padding: 4vw 0;
    }
    .restaurant_tbl dt {
      font-size: 4.1vw;
      margin-bottom: 0.66vw;
    }
  }

.restaurant01_01 {
  position: relative;
  padding-bottom: 60px;
}
.restaurant01_01_box {
  padding-right: 50px;
}
.restaurant01_01_txt {
  width: 48%;
  min-width: 530px;
  padding-top: 70px;
}
.restaurant01_01_txt .sub_ttl01 {
  text-align: left;
  margin-bottom: 40px;
}
.restaurant01_01_txt .sub_ttl01 em {
  background: url("../img/common/ico/ico_sub_ttl01a.svg") 10px top no-repeat;
  background-size: 26px auto;
}
.restaurant01_01_txt p {
  font-size: 2rem;
  line-height: 2.1;
  margin-bottom: 45px;
}
.restaurant01_01_img {
  position: relative;
  width: 100%;
  max-width: 500px;
  padding-left: 20px;
}
.restaurant01_01_img li {
  margin-bottom: 20px;
}
.restaurant01_01_img li:last-child {
  margin-bottom: 0;
}
.restaurant01_01 figure {
  position: absolute;
  right: -408px;
  top: 0;
}
  @media screen and (max-width: 1070px) {
    .restaurant01_01_box {
      display: block;
      padding-right: 0;
    }
    .restaurant01_01_txt {
      width: 100%;
      min-width: 100%;
      padding: 0 0 60px 0;
    }
    .restaurant01_01_txt p {
      font-size: 2rem;
      line-height: 2.1;
      margin-bottom: 45px;
    }
    .restaurant01_01_img {
      max-width: 100%;
      padding-left: 0;
      display: flex;
    }
    .restaurant01_01_img ul {
      display: flex;
      width: 66.66%;
    }
    .restaurant01_01_img li {
      width: calc(50% - 10px);
      margin: 0 5px;
    }
    .restaurant01_01 figure {
      position: static;
      width: 33.33%;
      padding: 0 5px;
    }
    .restaurant01_01_img img {
      width: 100%;
      height: 350px;
      object-fit: cover;
    }
  }
  @media screen and (max-width: 767px) {
    .restaurant01_01 {
      padding-bottom: 13.33vw;
    }
    .restaurant01_01_box {
      padding-right: 0;
    }
    .restaurant01_01_txt {
      width: 100%;
      min-width: 100%;
      padding: 0 0 9.33vw 0;
    }
    .restaurant01_01_txt .sub_ttl01 {
      text-align: center;
      margin-bottom: 6.66vw;
    }
    .restaurant01_01_txt .sub_ttl01 em {
      background: url("../img/common/ico/ico_sub_ttl01a.svg") center top no-repeat;
    }
    .restaurant01_01_txt p {
      font-size: 3.58vw;
      line-height: 1.8;
      margin-bottom: 5.33vw;
    }
    .restaurant01_01_img {
      max-width: 100%;
      padding-left: 0;
      display: flex;
    }
    .restaurant01_01_img ul {
      display: block;
      width: 50%;
    }
    .restaurant01_01_img li {
      width: 100%;
      margin: 0 0 2vw;
    }
    .restaurant01_01_img li img {
      height: auto;
    }
    .restaurant01_01 figure {
      position: static;
      width: 50%;
      padding: 0 0 0 2vw;
    }
    .restaurant01_01 figure img {
      height: 100%;
    }
  }

.restaurant01_02 {
  margin-bottom: 60px;
}
.restaurant01_02 .carousel_slider {
  margin-bottom: 112px;
}
.restaurant01_02_box figure {
  max-width: 800px;
}
.restaurant01_02_txt {
  width: 100%;
  max-width: 730px;
  padding-left: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.restaurant01_02_txt h3 {
  font-size: 2.8rem;
  margin-bottom: 35px;
}
.restaurant01_02_txt p {
  font-size: 2rem;
  line-height: 2.1;
}
  @media screen and (max-width: 767px) {
    .restaurant01_02 {
      margin-bottom: 12vw;
    }
    .restaurant01_02 .carousel_slider {
      margin-bottom: 20vw;
    }
    .restaurant01_02_box figure {
      max-width: 100%;
      margin-bottom: 5vw;
    }
    .restaurant01_02_txt {
      width: 100%;
      max-width: 100%;
      padding-left: 0;
      display: block;
    }
    .restaurant01_02_txt h3 {
      font-size: 4.61vw;
      margin-bottom: 4vw;
    }
    .restaurant01_02_txt p {
      font-size: 3.58vw;
      line-height: 1.8;
    }
  }

.restaurant01_03 {
  padding: 60px 0;
  background: #f5f5f5;
}
.restaurant01_03_box {
  max-width: 1320px;
  margin: 0 auto;
}
.restaurant01_03_txt {
  width: calc(100% - 390px);
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.restaurant01_03_txt h3 {
  padding-bottom: 25px;
}
.restaurant01_03_txt h3 span {
  font-size: 3.2rem;
  display: inline-block;
  margin-right: 10px;
}
.restaurant01_03_txt h3 small {
  font-size: 2.4rem;
  display: inline-block;
}
.restaurant01_03_txt_inner p {
  max-width: 360px;
  line-height: 2.1;
  margin: 10px 8% 10px 0;
}
.restaurant01_03_txt_inner ul {
  margin: 10px 0;
}
.restaurant01_03_txt_inner li {
  font-size: 1.4rem;
  margin-bottom: 3px;
}
.restaurant01_03 figure {
  width: 360px;
}
  @media screen and (max-width: 1200px) {
    .restaurant01_03_box {
      justify-content: center;
    }
    .restaurant01_03_txt {
      width: auto;
      max-width: 400px;
    }
  }
  @media screen and (max-width: 960px) {
    .restaurant01_03_txt_inner p {
      margin: 10px 0;
    }
  }
  @media screen and (max-width: 767px) {
    .restaurant01_03 {
      padding: 12vw 0;
    }
    .restaurant01_03_box {
      display: block;
      max-width: 100%;
    }
    .restaurant01_03_box figure {
      width: 56vw;
      margin: 0 auto 6.66vw;
    }
    .restaurant01_03_txt {
      width: 100%;
      max-width: 100%;
      padding-top: 0;
      display: block;
    }
    .restaurant01_03_txt h3 {
      padding-bottom: 5vw;
    }
    .restaurant01_03_txt h3 span {
      font-size: 5.8vw;
      margin-right: 2.66vw;
    }
    .restaurant01_03_txt h3 small {
      font-size: 4.61vw;
    }
    .restaurant01_03_txt_inner p {
      max-width: 100%;
      line-height: 1.8;
      margin: 0 0 5vw 0;
    }
    .restaurant01_03_txt_inner ul {
      margin: 0;
    }
    .restaurant01_03_txt_inner li {
      font-size: 3.2vw;
      margin-bottom: 0.66vw;
    }
  }

#restaurant02 {
  position: relative;
  padding: 120px 0;
}
.restaurant02_wrap {
  overflow: hidden;
  position: relative;
  padding-top: 112px;
  margin-top: 60px;
}
.restaurant02_wrap::after {
  position: absolute;
  left: calc(50% - 210px);
  top: 0;
  content: "";
  width: 1040px;
  height: 1100px;
  background: #f5f5f5;
}
.restaurant02_main {
  position: absolute;
  left: 0;
  top: 112px;
  width: calc(50% + 25px);
  z-index: 2;
}
.restaurant02_main img {
  object-fit: cover;
  width: 100%;
  height: 630px;
}
  @media screen and (max-width: 1080px) {
    .restaurant02_main {
      width: calc(50% + 20px);
    }
    .restaurant02_main img {
      height: 530px;
    }
  }
  @media screen and (max-width: 767px) {
    #restaurant02 {
      padding: 12vw 0 6.66vw;
    }
    .restaurant02_wrap {
      padding-top: 10.66vw;
      margin-top: 6.66vw;
    }
    .restaurant02_wrap::after {
      left: calc(50% - 210px);
      width: 100vw;
      height: 40vw;
    }
    .restaurant02_main {
      position: relative;
      left: 0;
      top: 0;
      width: 100%;
      padding: 0 7.69vw;
      margin-bottom: 5vw;
    }
    .restaurant02_main img {
      height: auto;
    }
  }

.restaurant02_01 {
  min-height: 630px;
  padding-left: calc(50% + 125px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 60px;
}
.restaurant02_01 p {
  font-size: 2rem;
  line-height: 2;
  margin-bottom: 45px;
}
.restaurant02_01 .restaurant_tbl {
  margin-bottom: 60px;
}
  @media screen and (max-width: 1080px) {
    .restaurant02_01 {
      min-height: 530px;
      padding-left: calc(50% + 60px);
      display: flex;
      flex-direction: column;
      justify-content: center;
      margin-bottom: 60px;
    }
  }
  @media screen and (max-width: 767px) {
    .restaurant02_01 {
      min-height: auto;
      padding-left: 0;
      display: block;
      margin-bottom: 12vw;
    }
    .restaurant02_01 p {
      font-size: 4.4vw;
      line-height: 1.8;
      margin-bottom: 5vw;
    }
    .restaurant02_01 .restaurant_tbl {
      margin-bottom: 6.66vw;
    }
    .restaurant02_01 .btn01 {
      text-align: center;
    }
  }

.restaurant02_02 {
  margin-bottom: 60px;
}
.restaurant02_02 li {
  width: calc(50% - 20px);
}
.restaurant02_02 li img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 767px) {
    .restaurant02_02 {
      margin-bottom: 12vw;
    }
    .restaurant02_02 li {
      width: calc(50% - 1.33vw);
    }
  }

.restaurant02_03 {
  position: relative;
  border: solid 1px #ddd;
  background: #fff;
  padding: 3.2%;
  margin-bottom: 100px;
}
.restaurant02_03 figure {
  max-width: 360px;
}
.restaurant02_03 figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.restaurant02_03_txt {
  width: calc(100% - 420px);
  padding: 10px 0;
}
.restaurant02_03_txt h3 {
  font-size: 2.8rem;
  margin-bottom: 20px;
}
.restaurant02_03_txt p {
  margin-bottom: 20px;
}
.restaurant02_03_txt li {
  font-size: 1.4rem;
}
  @media screen and (max-width: 980px) {
    .restaurant02_03 figure {
      max-width: 312px;
    }
    .restaurant02_03_txt {
      width: calc(100% - 340px);
      padding: 0 0 15px 0;
    }
    .restaurant02_03_txt h3 {
      font-size: 2.6rem;
      margin-bottom: 12px;
    }
    .restaurant02_03_txt p {
      margin-bottom: 12px;
    }
  }
  @media screen and (max-width: 767px) {
    .restaurant02_03 {
      padding: 2.66vw;
      margin-bottom: 18vw;
    }
    .restaurant02_03 figure {
      max-width: 100%;
    }
    .restaurant02_03 figure img {
      height: auto;
    }
    .restaurant02_03_txt {
      width: 100%;
      padding: 5vw 2.66vw 8vw;
    }
    .restaurant02_03_txt h3 {
      font-size: 4.61vw;
      margin-bottom: 4vw;
    }
    .restaurant02_03_txt p {
      margin-bottom: 4vw;
    }
    .restaurant02_03_txt li {
      font-size: 3.12vw;
      padding-left: 3.12vw;
      text-indent: -3.12vw;
    }
  }

.restaurant02_03 .btn01 {
  position: absolute;
  right: 40px;
  bottom: -29px;
}
  @media screen and (max-width: 767px) {
    .restaurant02_03 .btn01 {
      right: 0;
      width: 100%;
      text-align: center;
      bottom: -6vw;
    }
  }

.restaurant02_btn {
  max-width: 600px;
  margin: 0 auto 30px;
  padding-left: 300px;
  background: url("../img/restaurant/restaurant02_btn.png") 20px center no-repeat #002063;
  background-size: 258px auto;
  border: solid 1px #002063;
}
.restaurant02_btn a {
  display: block;
  font-size: 2rem;
  line-height: 78px;
  padding: 0 10px;
  text-align: center;
  background: #F2F4F7;
  text-decoration: none;
}
.restaurant02_btn a:hover {
  color: #fff;
  background: #002063;
}
.restaurant02_btn a span {
  display: inline-block;
  background: url("../img/common/ico/ico_arrow01a.svg") right center no-repeat;
  background-size: 30px auto;
  padding-right: 38px;
}
.restaurant02_btn a:hover span {
  background: url("../img/common/ico/ico_arrow01b.svg") right center no-repeat;
  background-size: 30px auto;
}
  @media screen and (max-width: 767px) {
    .restaurant02_btn {
      max-width: 100%;
      margin: 0 auto 6.66vw;
      padding: 14vw 0 0 0;
      background: url("../img/restaurant/restaurant02_btn.png") center 4vw no-repeat #002063;
      background-size: 58vw auto;
    }
    .restaurant02_btn a {
      font-size: 4.26vw;
      line-height: 14vw;
      padding: 0 2.66vw;
    }
    .restaurant02_btn a span {
      background-size: 6.66vw auto;
      padding-right: 8vw;
    }
    .restaurant02_btn a:hover span {
      background-size: 6.66vw auto;
    }
  }

#restaurant03 {
  position: relative;
  padding-bottom: 100px;
  margin-bottom: 160px;
  overflow: hidden;
}
#restaurant03::before {
  position: absolute;
  left: calc(50% - 700px);
  top: 0;
  content: "";
  width: 1400px;
  height: 100%;
  background: #F5F5F5;
}
  @media screen and (max-width: 767px) {
    #restaurant03 {
      padding-bottom: 12vw;
      margin-bottom: 16vw;
    }
    #restaurant03::before {
      left: 0;
      width: 100%;
    }
  }

.restaurant03_01 {
  position: relative;
  width: 100%;
  height: 640px;
  margin-bottom: 90px;
}
.restaurant03_01 .img_slider_wrap {
  position: absolute;
  left: calc(50% - 70px);
  top: 0;
  z-index: 5;
  width: calc(50% + 70px);
}
.restaurant03_01 .img_slider {
  width: 100%;
}
.restaurant03_01 .img_slider figure img {
  width: 100%;
  height: 640px;
  object-fit: cover;
}
.restaurant03_01 .img_slider .slick-dots {
  text-align: center;
  bottom: -35px;
}
.restaurant03_01 .inner {
  height: 100%;
  display: flex;
  align-items: center;
}
.restaurant03_01_txt {
  max-width: 600px;
  width: 55%;
  background: #fff;
  padding: 9% 6%;
}
.restaurant03_01_txt .restaurant_tbl {
  margin-bottom: 30px;
}
  @media screen and (max-width: 767px) {
    .restaurant03_01 {
      height: auto;
      margin-bottom: 12vw;
    }
    .restaurant03_01 .img_slider_wrap {
      position: relative;
      left: 0;
      width: 100%;
      margin: 0 0 16vw 0;
    }
    .restaurant03_01 .img_slider figure img {
      height: auto;
    }
    .restaurant03_01 .img_slider .slick-dots {
      bottom: -8vw;
    }
    .restaurant03_01 .inner {
      height: auto;
      display: block;
    }
    .restaurant03_01_txt {
      max-width: 100%;
      width: 100%;
      padding: 8vw 5vw;
    }
    .restaurant03_01_txt .restaurant_tbl {
      margin-bottom: 6.66vw;
    }
    .restaurant03_01_txt .btn01 {
      text-align: center;
    }
  }

.restaurant03_02 {
  padding-bottom: 70px;
}
.restaurant03_02 li {
  width: calc(33.33% - 27px);
  margin: 0 40px 0 0;
}
.restaurant03_02 li:nth-child(3n) {
  margin-right: 0;
}
  @media screen and (max-width: 767px) {
    .restaurant03_02 {
      padding-bottom: 12vw;
    }
    .restaurant03_02 ul {
      justify-content: space-between;
    }
    .restaurant03_02 li:nth-child(1),
    .restaurant03_02 li:nth-child(2) {
      width: calc(50% - 1.33vw);
      margin: 0 0 2.66vw 0;
    }
    .restaurant03_02 li:nth-child(3) {
      width: 100%;
      margin: 0;
    }
  }

.restaurant03_03_box {
  background: #fff;
  padding: 3.2%;
}
.restaurant03_03_box figure {
  width: 33.8%;
  max-width: 360px;
}
.restaurant03_03_box figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.restaurant03_03_txt {
  width: 62.4%;
  max-width: 700px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.restaurant03_03_txt p {
  margin-bottom: 30px;
  font-size: 2rem;
}
  @media screen and (max-width: 767px) {
    .restaurant03_03_box {
      background: #fff;
      padding: 2.66vw;
    }
    .restaurant03_03_box figure {
      width: 100%;
      max-width: 100%;
    }
    .restaurant03_03_box figure img {
      height: auto;
    }
    .restaurant03_03_txt {
      width: 100%;
      max-width: 100%;
      padding: 4vw 2.66vw;
      display: block;
    }
    .restaurant03_03_txt p {
      margin-bottom: 4vw;
      font-size: 4.26vw;
    }
  }

.restaurant03_03 h3 {
  font-size: 2.8rem;
  line-height: 1.4;
  margin-bottom: 30px;
  overflow: hidden;
}
.restaurant03_03 h3 span {
  position: relative;
  display: inline-block;
  padding-right: 25px;
}
.restaurant03_03 h3 span::before {
  position: absolute;
  left: 100%;
  top: 50%;
  content: "";
  width: 120px;
  height: 1px;
  background: #13316f;
}
  @media screen and (max-width: 767px) {
    .restaurant03_03 h3 {
      text-align: center;
      font-size: 5.38vw;
      margin-bottom: 6vw;
    }
    .restaurant03_03 h3 span::after {
      position: absolute;
      left: 0;
      top: 50%;
      content: "";
      height: 1px;
      background: #13316f;
      width: 12vw;
    }
    .restaurant03_03 h3 span::before {
      position: absolute;
      left: auto;
      right: 0;
      top: 50%;
      content: "";
      height: 1px;
      background: #13316f;
      width: 12vw;
    }
    .restaurant03_03 h3 span {
      padding: 0 15vw;
    }
    .restaurant03_03 .btn01 {
      text-align: center;
    }
  }


  p.allergy-test {
    text-align: center;
    color: red;
    border: 1px solid;
    width: 36%;
    margin: 0 auto;
    margin-top: -10px;
  }
  @media screen and (max-width: 767px) {
    p.allergy-test {
      width: 90%;
    }
  
  }

/*----------------------------------------------------
  施設・サービス facilities
--------------------------------------------------- */
#facilities .am_c3 li {
  max-width: 285px;
}
#facility_map {
  padding: 50px 0 80px 0;
}
#facility_map .sub_ttl01 {
  margin-bottom: 55px;
}
.facility_map_wrap {
  max-width: 1600px;
  margin: 0 auto;
  background: #F5F5F5;
  padding: 75px 0 40px;
}
.facility_map_l {
  padding-bottom: 83px;
}
.facility_map_l figure {
  position: relative;
  width: 460px;
  text-align: right;
}
.facility_map_l figure::after {
  position: absolute;
  left: calc(50% - 270px);
  top: calc(50% - 225px);
  content: "";
  width: 540px;
  height: 540px;
  border-radius: 50%;
  background: #fff;
}
.facility_map_l figure span {
  position: absolute;
  z-index: 3;
}
.facility_map_l figure span a {
  display: block;
}
.fmap_bg {
  position: relative;
  z-index: 2;
}
.fmap01 {
  right: 115px;
  top: 60px;
}
.fmap02 {
  right: 164px;
  top: 160px;
}
.fmap03 {
  left: 0;
  top: 232px;
}
.fmap04 {
  left: 190px;
  top: 240px;
}
.fmap05 {
  left: 215px;
  top: 304px;
}
.fmap06 {
  left: 168px;
  bottom: 16px;
  z-index: 4!important;
  transform: rotate(45deg);
}
.fmap07 {
  left: 94px;
  bottom: 18px;
}
.fmap08 {
  left: 130px;
  bottom: -80px;
}
.facility_map_r {
  width: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.facility_map_r p {
  margin-bottom: 30px;
}
.facility_map_r figure {
  margin-bottom: 25px;
}
.facility_map_r figure img {
  width: 100%;
  height: auto;
}
  @media screen and (max-width: 1130px) {
    .facility_map_wrap {
      padding-bottom: 75px;
    }
    .facility_map_box {
      display: block;
    }
    .facility_map_l figure {
      margin: 0 auto 60px auto;
    }
    .facility_map_r {
      margin: 0 auto;
    }
    .facility_map_r .btn02 {
      text-align: center;
    }
  }
  @media screen and (max-width: 900px) {
    #facilities_lead p {
      font-size: 1.8rem;
    }
  }
  @media screen and (max-width: 767px) {
    #facilities_lead .sub_ttl02 {
      white-space: nowrap;
    }
    #facilities_lead p {
      font-size: 4.1vw;
    }
    #facility_map {
      padding: 6.66vw 0;
    }
    #facility_map .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .facility_map_wrap {
      max-width: 100%;
      padding: 8vw 0 12vw;
    }
    .facility_map_wrap .inner {
      padding: 0 3.5vw;
    }
    .facility_map_l {
      padding-bottom: 12vw;
    }
    .facility_map_l figure {
      width: 100%;
    }
    .facility_map_l figure::after {
      left: calc(50% - 58vw);
      top: calc(50% - 45vw);
      width: 116vw;
      height: 116vw;
    }
    .fmap_bg img {
      width: 84vw;
      height: auto;
    }
    .facility_map_l figure span img {
      height: auto;
    }
    .fmap01 {
      right: 21vw;
      top: 13.6vw;
    }
    .fmap01 img {
      width: 24vw;
    }
    .fmap02 {
      right: 33.6vw;
      top: 32.4vw;
    }
    .fmap02 img {
      width: 40.16vw;
    }
    .fmap03 {
      left: -0.5vw;
      top: 47.2vw;
    }
    .fmap03 img {
      width: 24.46vw;
    }
    .fmap04 {
      left: 37.5vw;
      top: 49vw;
    }
    .fmap04 img {
      width: 12.84vw;
    }
    .fmap05 {
      left: 43vw;
      top: 62vw;
    }
    .fmap05 img {
      width: 16.3vw;
    }
    .fmap06 {
      left: 33.33vw;
      bottom: 3.8vw;
    }
    .fmap06 img {
      width: 22.83vw;
    }
    .fmap07 {
      left: 18.3vw;
      bottom: 3.7vw;
    }
    .fmap07 img {
      width: 62.38vw;
    }
    .fmap08 {
      left: 25.5vw;
      bottom: -16.3vw;
    }
    .fmap08 img {
      width: 28.54vw;
    }
    .facility_map_r {
      width: 100%;
      display: block;
      padding: 0 4vw;
    }
    .facility_map_r p {
      margin-bottom: 6.66vw;
    }
    .facility_map_r figure {
      margin-bottom: 6.66vw;
    }
  }

.roll_none {
  z-index: 2;
}

#facility_guide {
  padding-top: 60px;
}
#facility_guide .sub_ttl01 {
  margin-bottom: 30px;
}
.facility_guide_wrap {
  margin-top: 140px;
}
.facility_guide_box {
  position: relative;
  z-index: 2;
  margin-bottom: 100px;
  padding: 80px 0;
}

.facility_guide_slide {
  position: relative;
  min-height: 630px;
  margin-bottom: 30px;
}
.facility_guide_slide .img_slider_wrap {
  position: absolute;
  top: 0;
  width: 50%;
}
  @media screen and (max-width: 1200px) {
    .facility_guide_slide .img_slider_wrap {
      width: calc(50% + 50px);
    }
  }
  @media screen and (max-width: 960px) {
    .facility_guide_slide .img_slider_wrap {
      position: relative;
      left: auto;
      top: auto;
      right: auto;
      width: 100%;
      margin-bottom: 80px;
      padding: 0 20px;
    }
    .facility_guide_slide {
      padding-left: 0!important;
      padding-right: 0!important;
      margin-bottom: 0!important;
    }
  }
  @media screen and (max-width: 767px) {
    #facility_guide {
      padding-top: 6.66vw;
    }
    #facility_guide .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .facility_guide_wrap {
      margin-top: 13.33vw;
    }
    .facility_guide_box {
      margin-bottom: 12vw;
      padding: 10.66vw 0;
    }
    .facility_guide_box::before {
      width: 100%!important;
    }
    .facility_guide_slide {
      min-height: auto;
      margin-bottom: 0;
    }
    .facility_guide_slide .img_slider_wrap {
      position: relative;
      left: auto;
      top: auto;
      right: auto;
      width: 100%;
      margin-bottom: 13.33vw!important;
      padding: 0 7.69vw;
    }
  }

.facility_guide_slide .img_slider_wrap figure img {
  width: 100%;
  height: 630px;
  object-fit: cover;
}
.facility_guide_slide .img_slider_wrap .slick-dots {
  text-align: center;
  bottom: -40px;
}
.facility_guide_slide_txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  min-height: 630px;
  max-width: 500px;
}
  @media screen and (max-width: 960px) {
    .facility_guide_slide .img_slider_wrap figure img {
      height: auto;
    }
    .facility_guide_slide_txt {
      display: block;
      min-height: auto;
      max-width: 100%;
      padding: 0 80px;
      margin: 0 auto;
    }
  }
  @media screen and (max-width: 767px) {
    .facility_guide_slide .img_slider_wrap .slick-dots {
      bottom: -8vw;
    }
    .facility_guide_slide_txt {
      padding: 0 7.69vw;
      max-width: 100%;
    }
  }

.facility_guide_slide_txt h3 {
  font-size: 4rem;
  line-height: 1.4;
  margin-bottom: 40px;
  overflow: hidden;
}
.facility_guide_slide_txt h3 span {
  position: relative;
  display: inline-block;
  padding-right: 25px;
}
.facility_guide_slide_txt h3 span::before {
  position: absolute;
  left: 100%;
  top: 50%;
  content: "";
  width: 120px;
  height: 1px;
  background: #13316f;
}
.facility_guide_slide_txt p {
  font-size: 2rem;
  margin-bottom: 35px;
}
.facility_guide_slide_txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 767px) {
    .facility_guide_slide_txt h3 {
      font-size: 5.6vw;
      margin-bottom: 5.33vw;
    }
    .facility_guide_slide_txt h3 span {
      padding-right: 5vw;
    }
    .facility_guide_slide_txt h3 span::before {
      width: 21.33vw;
    }
    .facility_guide_slide_txt p {
      font-size: 3.58vw;
      margin-bottom: 5vw;
    }
  }

#facility_guide01::before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: calc(100% - 160px);
  height: 100%;
  background: #f5f5f5;
}
  @media screen and (max-width: 960px) {
    #facility_guide01::before {
      width: calc(100% - 60px);
    }
  }

#facility_guide01 .facility_guide_slide .img_slider_wrap {
  left: 0;
}
#facility_guide01 .facility_guide_slide {
  padding-left: calc(50% + 100px);
  padding-right: 20px;
}

#facility_guide02::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: calc(100% - 160px);
  height: 100%;
  background: #f5f5f5;
}
  @media screen and (max-width: 960px) {
    #facility_guide02::before {
      width: calc(100% - 60px);
    }
  }

#facility_guide02 .facility_guide_slide .img_slider_wrap {
  right: 0;
}
#facility_guide02 .facility_guide_slide {
  padding-right: calc(50% + 100px);
  padding-left: 20px;
}
#facility_guide02 .facility_guide_slide {
  display: flex;
  justify-content: flex-end;
}
  @media screen and (max-width: 960px) {
    #facility_guide02 .facility_guide_slide {
      display: block;
    }
  }

#facility_guide03::before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: calc(100% - 160px);
  height: 100%;
  background: #f5f5f5;
}
  @media screen and (max-width: 960px) {
    #facility_guide03::before {
      width: calc(100% - 60px);
    }
  }

#facility_guide03 .facility_guide_slide .img_slider_wrap {
  left: 0;
}
#facility_guide03 .facility_guide_slide {
  padding-left: calc(50% + 100px);
  padding-right: 20px;
}

.facility_guide_gallery {
  padding: 60px 0 15px;
}
.facility_guide_gallery li {
  width: calc(33.33% - 30px);
  margin: 0 45px 45px 0;
}
.facility_guide_gallery li:nth-child(3n) {
  margin-right: 0;
}
  @media screen and (max-width: 767px) {
    .facility_guide_gallery {
      padding: 9.33vw 0;
    }
    .facility_guide_gallery ul {
      justify-content: space-between;
    }
    .facility_guide_gallery li:nth-child(1),
    .facility_guide_gallery li:nth-child(2) {
      width: calc(50% - 1.33vw);
      margin: 0 0 2.66vw 0;
    }
    .facility_guide_gallery li:nth-child(3) {
      width: 100%;
      margin: 0;
    }
  }

#facility_guide02 .sub_ttl03 {
  margin-bottom: 30px;
}
.facility_guide02_info_box {
  background: #fff;
  border: solid 1px #ddd;
  padding: 2.7% 3%;
  margin-bottom: 50px;
}
.facility_guide02_info_box dt {
  font-size: 2rem;
  margin-bottom: 22px;
}
.facility_guide02_info_box dt span {
  display: inline-block;
}
.facility_guide02_info_box p {
  margin-bottom: 25px;
}
.facility_guide02_info_box li {
  padding-left: 16px;
  text-indent: -16px;
}
  @media screen and (max-width: 767px) {
    #facility_guide02 .sub_ttl03 {
      margin-bottom: 5.33vw;
    }
    .facility_guide02_info_box {
      padding: 5vw;
      margin-bottom: 10.66vw;
    }
    .facility_guide02_info_box dt {
      font-size: 4.1vw;
      margin-bottom: 4vw;
    }
    .facility_guide02_info_box dt span {
      display: block;
    }
    .facility_guide02_info_box p {
      margin-bottom: 4vw;
    }
    .facility_guide02_info_box li {
      padding-left: 3.58vw;
      text-indent: -3.58vw;
    }
  }

.facility_guide02_onsen_box {
  background: #fff;
  border: solid 1px #ddd;
  padding: 3%;
}
.facility_guide02_onsen_box figure {
  width: 32%;
  max-width: 360px;
}
.facility_guide02_onsen_box figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.facility_guide02_onsen_txt {
  width: 64%;
  max-width: 710px;
}
.facility_guide02_onsen_txt dl {
  border-bottom: solid 1px #13316F;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.facility_guide02_onsen_txt dt {
  font-size: 2rem;
  margin-bottom: 3px;
}
  @media screen and (max-width: 767px) {
    .facility_guide02_onsen_box {
      padding: 5vw;
    }
    .facility_guide02_onsen_box figure {
      width: 100%;
      max-width: 100%;
      margin-bottom: 4vw;
    }
    .facility_guide02_onsen_box figure img {
      height: auto;
    }
    .facility_guide02_onsen_txt {
      width: 100%;
      max-width: 100%;
    }
    .facility_guide02_onsen_txt dl {
      margin-bottom: 4vw;
      padding-bottom: 4vw;
    }
    .facility_guide02_onsen_txt dt {
      font-size: 4.1vw;
      margin-bottom: 0.66vw;
    }
  }

.facility_guide03_amenity {
  padding-top: 60px;
}
.facility_guide03_amenity dl {
  margin-bottom: 30px;
}
.facility_guide03_amenity dt {
  text-align: center;
  margin: 12px 0 42px;
  font-size: 2rem;
}
.facility_guide03_amenity dd {
  text-align: center;
}
.facility_guide03_amenity dd figure {
  margin: 0 20px;
  max-width: 350px;
}
.facility_guide03_amenity dd figure img {
  width: 100%;
  height: auto;
}
.facility_guide03_amenity dd figcaption {
  display: block;
  margin-top: 10px;
}
.facility_guide03_amenity_list {
  background: #fff;
  border: solid 1px #ddd;
  padding: 3%;
}
.facility_guide03_amenity_list li {
  margin: 3px 5% 3px 0;
}
  @media screen and (max-width: 767px) {
    .facility_guide03_amenity {
      padding-top: 13.33vw;
    }
    .facility_guide03_amenity dl {
      margin-bottom: 3vw;
    }
    .facility_guide03_amenity dt {
      margin: 4vw 0 8vw;
      font-size: 4.1vw;
    }
    .facility_guide03_amenity dd {
      text-align: center;
      justify-content: space-around;
      flex-wrap: wrap;
    }
    .facility_guide03_amenity dd figure {
      padding: 0 0 5vw;
      max-width: 100%;
      width: calc(50% - 1.33vw);
      margin: 0;
    }
    .facility_guide03_amenity dd figcaption {
      display: block;
      margin-top: 2.66vw;
    }
    .facility_guide03_amenity_list {
      background: #fff;
      border: solid 1px #ddd;
      padding: 3%;
    }
    .facility_guide03_amenity_list li {
      width: 50%;
      margin: 0.66vw 0;
    }
    .facility_guide03_amenity_list li:nth-child(1),
    .facility_guide03_amenity_list li:nth-child(2) {
      width: 100%;
    }
  }

#facility_information {
  background: #f5f5f5;
  padding: 80px 0;
}
#facility_information .sub_ttl01 {
  margin-bottom: 60px;
}
.facility_info_box {
  background: #ddd;
  padding: 10px;
  margin-bottom: 60px;
  text-align: center;
}
.facility_info_box_l {
  width: 40%;
}
.facility_info_box_r {
  width: calc(60% - 10px);
}
.facility_info_time {
  position: relative;
  padding: 115px 13% 25px;
  background: #fff;
  height: 100%;
}
.facility_info_time::after {
  position: absolute;
  left: 0;
  top: 36px;
  width: 100%;
  text-align: center;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f562";
  font-weight: 600;
  line-height: 1;
  font-size: 4.8rem;
  color: #333;
}
  @media screen and (max-width:900px) {
    .facility_info_time {
      padding: 115px 9% 25px;
    }
  }
  @media screen and (max-width: 767px) {
    #facility_information {
      padding: 12vw 0;
    }
    #facility_information .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .facility_info_box {
      display: block;
      padding: 2.66vw;
      margin-bottom: 9.33vw;
    }
    .facility_info_box_l {
      width: 100%;
    }
    .facility_info_box_r {
      width: 100%;
    }
    .facility_info_box_r > div {
      height: auto;
    }
    .facility_info_time {
      padding: 15vw 5.33vw 5.33vw;
      margin-bottom: 2.66vw;
      justify-content: center;
    }
    .facility_info_time::after {
      top: 5vw;
      font-size: 8vw;
    }
    .facility_info_time dl {
      margin: 0 4vw;
    }
  }

.acility_info_parking {
  width: 56%;
  position: relative;
  padding: 112px 3% 25px;
  background: url("../img/facilities/facility_info_parking.svg") center 32px no-repeat;
  background-size: 60px auto;
  background-color: #fff;
  height: 100%;
}
.acility_info_room {
  width: calc(44% - 10px);
  position: relative;
  padding: 115px 3% 25px;
  background: #fff;
  height: 100%;
}
.acility_info_room::after {
  position: absolute;
  left: 0;
  top: 36px;
  width: 100%;
  text-align: center;
  font-family:"Line Awesome Free","Line Awesome Brands";
  content: "\f236";
  font-weight: 600;
  line-height: 1;
  font-size: 4.8rem;
  color: #333;
}
  @media screen and (max-width:900px) {
    .acility_info_parking {
      width: 60%;
    }
    .acility_info_room {
      width: calc(40% - 10px);
    }
  }
  @media screen and (max-width: 767px) {
    .acility_info_parking {
      width: 58%;
      padding: 15vw 2.33vw 5.33vw;
      background: url("../img/facilities/facility_info_parking.svg") center 4vw no-repeat;
      background-size: 8.6vw auto;
      background-color: #fff;
    }
    .acility_info_room {
      width: calc(42% - 2.66vw);
      padding: 15vw 2.33vw 5.33vw;
    }
    .acility_info_room::after {
      top: 5vw;
      font-size: 8vw;
    }
  }

.facility_info_box dt {
  line-height: 1.5;
}
.facility_info_box dd b {
  font-weight: 500;
  font-size: 2rem;
  display: block;
}
.facility_info_box dd span {
  font-size: 1.4rem;
}
  @media screen and (max-width: 767px) {
    .facility_info_box dd b {
      font-size: 4.8vw;
    }
    .facility_info_box dd span {
      font-size: 3.06vw;
      line-height: 1.5;
      display: block;
    }
  }

#evacuation {
  padding: 150px 0 180px;
}
#evacuation .sub_ttl01 {
  margin-bottom: 60px;
}
.evacuation_box .img_slider {
  width: calc(100% - 510px);
}
.evacuation_box .img_slider figure img {
  width: 100%;
  height: 446px;
  object-fit: cover;
}
.evacuation_box .img_slider .slick-dots {
  bottom: -35px;
  text-align: center;
}
.evacuation_txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 30px;
}
.evacuation_txt p {
  font-size: 2rem;
  margin-bottom: 40px;
  line-height: 2;
}
  @media screen and (max-width: 1070px) {
    .evacuation_box .img_slider {
      width: calc(100% - 400px);
    }
    .evacuation_txt {
      padding-right: 0;
    }
    .evacuation_txt p {
      font-size: 1.8rem;
    }
  }
  @media screen and (max-width: 960px) {
    #evacuation {
      padding: 120px 0;
    }
    .evacuation_box {
      display: block;
    }
    .evacuation_box .img_slider {
      width: 100%;
      margin-bottom: 50px;
    }
    .evacuation_box .img_slider figure img {
      height: auto;
    }
    .evacuation_txt {
      display: block;
      padding-right: 0;
    }
  }
  @media screen and (max-width: 767px) {
    #evacuation {
      padding: 12vw 0 15.33vw;
    }
    #evacuation .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .evacuation_box .img_slider {
      margin-bottom: 13.33vw;
    }
    .evacuation_box .img_slider .slick-dots {
      bottom: -8vw;
    }
    .evacuation_txt p {
      font-size: 3.58vw;
      margin-bottom: 5.33vw;
    }
  }

/*----------------------------------------------------
  交通・周辺案内 access
--------------------------------------------------- */
#access_map {
  padding-bottom: 150px;
}
#gmap {
  margin: 60px 0 30px;
}
#gmap iframe {
  width: 100%;
  height: 640px;
}
.access_map_info {
  align-items: center;
}
.access_map_info li {
  margin-left: 20px;
}
  @media screen and (max-width: 900px) {
    .access_map_info {
      display: block;
      text-align: center;
    }
    .access_map_info ul {
      margin-top: 30px;
      justify-content: center;
    }
    .access_map_info li {
      margin: 0 10px;
    }
  }
  @media screen and (max-width: 767px) {
    #access_map {
      padding-bottom: 12vw;
    }
    #gmap {
      margin: 6.66vw 0;
    }
    #gmap iframe {
      width: 100%;
      height: 80vw;
    }
    .access_map_info li {
      margin: 0 0 4vw;
    }
  }

.access_guide_lead .anchor_menu {
  padding: 60px 0 140px;
}
.access_guide_box {
  margin-bottom: 90px;
}
.access_guide_ttl {
  font-size: 2.4rem;
  line-height: 40px;
  margin-bottom: 55px;
}
#access_car .access_guide_ttl {
  padding-left: 56px;
  background: url("../img/access/access_car_ttl.svg") 0 center no-repeat;
  background-size: 46px auto;
}
#access_plane .access_guide_ttl {
  padding-left: 56px;
  background: url("../img/access/access_plane_ttl.svg") 0 center no-repeat;
  background-size: 46px auto;
}
#access_train .access_guide_ttl {
  padding-left: 48px;
  background: url("../img/access/access_train_ttl.svg") 0 center no-repeat;
  background-size: 34px auto;
}
  @media screen and (max-width: 767px) {
    .access_guide_lead .anchor_menu {
      padding: 6.66vw 0 8vw;
    }
    .access_guide_box {
      margin-bottom: 10.66vw;
    }
    .access_guide_ttl {
      font-size: 5.33vw;
      line-height: 9vw;
      margin-bottom: 8vw;
    }
    #access_car .access_guide_ttl {
      padding-left: 10.66vw;
      background-size: 8.2vw auto;
    }
    #access_plane .access_guide_ttl {
      padding-left: 10.66vw;
      background-size: 8.2vw auto;
    }
    #access_train .access_guide_ttl {
      padding-left: 9.33vw;
      background-size: 6.66vw auto;
    }
  }

.access_guide_box figure {
  margin-bottom: 50px;
}
.access_guide_info dd {
  font-size: 1.4rem;
}
.access_car_parking {
  position: relative;
  padding: 15px 15px 15px 70px;
  background: url("../img/access/access_car_parking_bg.png") 16px 19px no-repeat;
  background-size: 40px auto;
  line-height: 1.6;
  margin-top: 20px;
}
.access_car_parking::before {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  content: "";
  width: 100%;
  height: 100%;
  border: solid 1px #B1B1B1;
}
.access_car_parking::after {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  content: "";
  width: 100%;
  height: 100%;
  border: dashed 1px #333;
}
.access_car_parking dd {
  font-size: 1.4rem;
}
  @media screen and (max-width: 767px) {
    .access_guide_box figure {
      overflow: auto;
      width: 100%;
      padding: 0 5.12vw 4vw 0;
      margin-bottom: 6.66vw;
    }
    .access_guide_box figure img {
      display: block;
      width: 260vw;
      height: auto;
      max-width: 264vw;
    }
    .access_guide_box .scroll-hint-icon {
      height: 88px;
    }
    .access_guide_info dt {
      font-size: 3.84vw;
    }
    .access_guide_info dd {
      font-size: 3.58vw;
    }
    .access_car_parking {
      padding: 4vw 4vw 4vw 16vw;
      background: url("../img/access/access_car_parking_bg.png") 4vw 4.6vw no-repeat;
      background-size: 9.33vw auto;
      margin-top: 5.33vw;
    }
    .access_car_parking dt {
      font-size: 3.84vw;
    }
    .access_car_parking dd {
      font-size: 3.58vw;
    }
  }

.transfer_box {
  border: solid 1px #ddd;
  padding: 3%;
  align-items: center;
  margin-bottom: 150px;
}
.transfer_box figure {
  width: 360px;
}
.transfer_txt {
  width: calc(100% - 420px);
}
.transfer_txt h3 {
  font-size: 2.4rem;
  margin-bottom: 20px;
}
  @media screen and (max-width: 767px) {
    .transfer_box {
      padding: 3.33vw 3.33vw 4vw 3.33vw;
      align-items: center;
      margin-bottom: 13.33vw;
    }
    .transfer_box figure {
      width: 100%;
      margin-bottom: 4vw;
    }
    .transfer_txt {
      width: 100%;
    }
    .transfer_txt h3 {
      font-size: 4.26vw;
      margin-bottom: 0;
    }
  }

#sightseeing {
  padding-bottom: 120px;
}
#sightseeing .sub_ttl01 {
  margin-bottom: 60px;
}
.sightseeing_box {
  width: calc(25% - 23px);
  margin: 0 30px 30px 0;
}
.sightseeing_box:nth-child(4n) {
  margin-right: 0;
}
.sightseeing_list a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding-bottom: 40px;
  border: solid 1px #ddd;
  text-decoration: none;
  color: #333;
}
.sightseeing_list a:hover {
  color: #002063;
}
.sightseeing_box figure img {
  width: 100%;
  height: auto;
}
.sightseeing_box a:hover img {
  opacity: 0.7;
}
.sightseeing_txt {
  padding: 20px 18px;
}
.sightseeing_txt h3 {
  margin-bottom: 12px;
}
.sightseeing_txt p {
  font-size: 1.4rem;
}
.sightseeing_btn {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  line-height: 40px;
  text-align: center;
  background: #222;
  color: #fff;
  font-size: 1.4rem;
}
.sightseeing_list a:hover .sightseeing_btn {
  background: #002063;
}
.sightseeing_btn span {
  display: inline-block;
  padding-right: 24px;
  background: url("../img/common/ico/ico_link01b.svg") right center no-repeat;
  background-size: 16px auto;
}
  @media screen and (max-width: 767px) {
    #sightseeing {
      padding-bottom: 22vw;
    }
    #sightseeing .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .sightseeing_box {
      width: 100%;
      margin: 0;
      padding: 0 4vw;
    }
    .sightseeing_list a {
      padding-bottom: 10vw;
    }
    .sightseeing_txt {
      padding: 4vw;
    }
    .sightseeing_txt h3 {
      font-size: 4.1vw;
      margin-bottom: 2.66vw;
    }
    .sightseeing_txt p {
      font-size: 3.84vw;
    }
    .sightseeing_btn {
      line-height: 10vw;
      font-size: 3.84vw;
    }
    .sightseeing_btn span {
      padding-right: 5.33vw;
      background-size: 3.84vw auto;
    }
    .sightseeing_list .next_btn {
      right: -8vw;
    }
    .sightseeing_list .prev_btn {
      left: -8vw;
    }
    .sightseeing_list .slick-dots {
      bottom: -8vw;
    }
  }

.sightseeing_box_3col {
  width: calc(33% - 18px);
}
.sightseeing_box_3col:nth-child(3n) {
  margin-right: 0;
}
.sightseeing_box_3col:nth-child(4n) {
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .sightseeing_box_3col {
    width: 100%;
  }
  .sightseeing_box_3col,
  .sightseeing_box_3col:nth-child(4n) {
    margin: 0 0;
  }
}

#resort {
    padding-top: 0;
    padding-bottom: 100px;
}
#resort .sub_ttl01 {
  margin-bottom: 60px;
}
.resort_btn {
    max-width: 600px;
    margin: 0 auto 30px;
    border: solid 1px #002063;
}
.resort_btn a {
    display: block;
    font-size: 2rem;
    line-height: 78px;
    padding: 0 10px;
    text-align: center;
    background: #F2F4F7;
    text-decoration: none;
}
.resort_btn a span {
    display: inline-block;
    background: url("<?php echo get_template_directory_uri(); ?>/assets/img/common/ico/ico_arrow01a.svg") right center no-repeat;
    background-size: 30px auto;
    padding-right: 38px;
}
.resort_btn a:hover {
    color: #fff;
    background: #002063;
}
.resort_btn a:hover span {
    background: url("<?php echo get_template_directory_uri(); ?>/assets/img/common/ico/ico_arrow01b.svg") right center no-repeat;
    background-size: 30px auto;
}
.resort_list .resort_box {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border: solid 1px #ddd;
    text-decoration: none;
    color: #333;
}

  @media screen and (max-width: 767px) {
    #resort {
      padding-bottom: 22vw;
    }
    #resort .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .resort_btn {
      margin-top: 15vw;
    }
    .resort_btn a {
      font-size: 4.26vw;
      line-height: 14vw;
      padding: 0 2.66vw;
    }
  }

/*----------------------------------------------------
  お知らせ news
--------------------------------------------------- */
.post_wrap {
  display: flex;
  justify-content: space-between;
  position: relative;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding: 90px 20px;
}
.post_main {
  width: calc(100% - 320px);
  max-width: 820px;
}
.post_count {
  margin-bottom: 45px;
}
.post_count span {
  font-size: 2.4rem;
}
  @media screen and (max-width: 980px) {
    .post_main {
      width: calc(100% - 260px);
    }
  }
  @media screen and (max-width: 767px) {
    .post_wrap {
      display: block;
      max-width: 100%;
      padding: 12vw 7.69vw 15.33vw 7.69vw
    }
    .post_main {
      width: 100%;
      max-width: 100%;
      padding-bottom: 6.66vw;
    }
    .post_count {
      margin-bottom: 6.66vw;
    }
    .post_count span {
      font-size: 6vw;
    }
  }

.post_g3_box {
  display: block;
  width: calc(33.33% - 14px);
  margin: 0 20px 35px 0;
  text-decoration: none;
  color: #222 !important;
}
.post_g3_box:hover {
  color: #002063 !important;
}
.post_g3_box:nth-child(3n) {
  margin-right: 0;
}
  @media screen and (max-width: 980px) {
    .post_g3_box {
      width: calc(50% - 10px);
    }
    .post_g3_box:nth-child(3n) {
      margin-right: 20px;
    }
    .post_g3_box:nth-child(2n) {
      margin-right: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .post_g3_box {
      width: 100%;
      margin: 0 0 6.66vw 0;
    }
  }

.post_g3_box figure {
  overflow: hidden;
  margin-bottom: 18px;
}
.post_g3_box figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.post_g3_box:hover img {
  opacity: 0.7;
}
.post_g3_info {
  align-items: center;
  margin-bottom: 3px;
  font-size: 1.4rem;
}
.post_g3_info time {
  display: inline-block;
}
  @media screen and (max-width: 767px) {
    .post_g3_box figure {
      margin-bottom: 4vw;
    }
    .post_g3_info {
      margin-bottom: 0.33vw;
      font-size: 3.07vw;
    }
  }

#news_single {
  padding-bottom: 50px;
}
.single_info {
  align-items: center;
  margin-bottom: 25px;
}
.single_ttl {
  font-size: 2.4rem;
  margin-bottom: 50px;
}
  @media screen and (max-width: 767px) {
    #news_single {
      padding-bottom: 6.66vw;
    }
    .single_info {
      margin-bottom: 3.33vw;
    }
    .single_ttl {
      font-size: 5.8vw;
      margin-bottom: 6.66vw;
    }
  }

.post_side {
  width: 280px;
}
  @media screen and (max-width: 980px) {
    .post_side {
      width: 240px;
    }
  }
  @media screen and (max-width: 767px) {
    .post_side {
      width: 100%;
    }
  }

.post_side h3 {
  color: #222;
  font-size: 2.4rem;
  padding-bottom: 12px;
  border-bottom: solid 1px #ddd;
}
.post_side h3 small {
  font-size: 1.2rem;
  display: inline-block;
  margin-left: 12px;
  vertical-align: middle;
}
.post_side > div {
  margin-bottom: 80px;
}
.post_side > div:last-child {
  margin-bottom: 0;
}
.post_side li {
  border-bottom: solid 1px #ddd;
}
.post_side li a {
  display: block;
  padding: 15px 18px;
  color: #222;
  text-decoration: none;
}
.post_side li a:hover {
  background-color: #F0F0F0;
}
.post_side .current-cat a {
  background-color: #F0F0F0;
}
  @media screen and (max-width: 767px) {
    .post_side h3 {
      font-size: 5.33vw;
      padding-bottom: 12px;
    }
    .post_side h3 small {
      font-size: 3.07vw;
      margin-left: 2.66vw;
    }
    .post_side > div {
      margin-bottom: 10.66vw;
    }
    .post_side li a {
      padding: 3.33vw;
    }
  }

.side_category li a {
  padding: 15px 52px 15px 18px;
  background: url("../img/common/ico/ico_arrow01a.svg") right 15px center no-repeat;
  background-size: 30px auto;
}
.side_archive dl {
  border-bottom: solid 1px #ddd;
}
.side_archive dt {
  position: relative;
  padding: 15px 40px 15px 18px;
  color: #222;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease-in-out 0s;
}
.side_archive dt:hover {
  background-color: #F0F0F0;
}
.side_archive_list dd {
  display: none;
  border-top: solid 1px #ddd;
}
.side_archive li {
  border-bottom: solid 1px #ddd;
}
.side_archive li:last-child {
  border-bottom: none;
}
.side_archive dt::after {
  position: absolute;
  right: 15px;
  top: calc(50% - 11px);
  font-family: "Line Awesome Free", "Line Awesome Brands";
  font-weight: 600;
  content: "\f067";
  font-size: 2.3rem;
  line-height: 1;
  color: #002063;
}
.side_archive dt.activ::after {
  content: "\f068";
}
.side_archive_list dl:first-child dd {
  display: block;
}
.side_archive_list dl:first-child dt::after {
  content: "\f068";
}
.side_archive_list dl:first-child dt.activ::after {
  content: "\f067";
}
  @media screen and (max-width: 767px) {
    .side_category li a {
      padding: 3.33vw 12vw 3.33vw 3.33vw;
      background: url("../img/common/ico/ico_arrow01a.svg") right 3.33vw center no-repeat;
      background-size: 5.8vw auto;
    }
    .side_archive dt {
      padding: 3.33vw 10.66vw 3.33vw 3.33vw;
    }
    .side_archive dt::after {
      right: 3.33vw;
      top: calc(50% - 2.9vw);
      font-size: 5.8vw;
    }
  }

/*----------------------------------------------------
  共通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%;
}
img.alignleft {
  margin-right: 25px;
}
img.alignright {
  margin-left: 25px;
}

/*投稿詳細用*/

.entry-content:after {
  content: ""; 
  display: block; 
  clear: both;
}
.entry-content h1 {
  font-size: 2.6rem;
  font-weight: 600;
  padding-bottom: 15px;
  margin-bottom: 30px;
  border-bottom: solid 2px #333;
}
  @media screen and (max-width: 767px) {
    .entry-content h1 {
      font-size: 5vw;
      padding-bottom: 3.33vw;
      margin-bottom: 4vw;
    }
  }

.entry-content h2 {
  font-size: 2.4rem;
  font-weight: 600;
  padding-top: 10px;
  margin-bottom: 20px;
  padding-left: 32px;
  position: relative;
}
.entry-content h2::before {
  position: absolute;
  left: 0;
  top: 10px;
  content: "";
  width: 40px;
  height: 2px;
  background: #002063;
  transform: rotate(-45deg);
}
  @media screen and (max-width: 767px) {
    .entry-content h2 {
      font-size: 4.8vw;
      padding-top: 2.66vw;
      margin-bottom: 3.33vw;
      padding-left: 6vw;
    }
    .entry-content h2::before {
      top: 2.66vw;
      width: 8vw;
    }
  }

.entry-content h3 {
  font-size: 2.2rem;
  font-weight: 600;
  border-bottom: solid 1px #002063;
  margin-bottom: 30px;
  background: url("../img/common/ico/ico_sub_ttl01a.svg") 0 8px no-repeat;
  background-size: 20px auto;
  padding: 0 0 12px 32px;
}
  @media screen and (max-width: 767px) {
    .entry-content h3 {
      font-size: 4.6vw;
      margin-bottom: 4vw;
      background: url("../img/common/ico/ico_sub_ttl01a.svg") 0 1.5vw no-repeat;
      background-size: 4.6vw auto;
      padding: 0 0 3vw 6vw;
      border-bottom: solid 1px #002063;
    }
  }

.entry-content h4 {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 20px;
}
  @media screen and (max-width: 767px) {
    .entry-content h4 {
      font-size: 4.6vw;
      margin-bottom: 3.33vw;
    }
  }

.entry-content h5 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 20px;
}
  @media screen and (max-width: 767px) {
    .entry-content h5 {
      font-size: 4.4vw;
      margin-bottom: 3.33vw;
    }
  }

.entry-content h6 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 20px;
}
  @media screen and (max-width: 767px) {
    .entry-content h6 {
      font-size: 4.2vw;
      margin-bottom: 3.33vw;
    }
  }

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

.entry-content img {
  margin-bottom:30px;
}
  @media screen and (max-width: 767px) {
    .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: 767px) {
    .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: 767px) {
    .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: 767px) {
    .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: 767px) {
    .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.alignright {
  margin-left: 25px;
}
.entry-content .wp-caption.alignleft {
  margin-right: 25px;
}
  @media screen and (max-width: 767px) {
    .entry-content .wp-caption {
      width: 100%!important;
      float: none!important;
      margin: 0 0 5vw 0!important;
    }
  }

.entry-content .wp-caption img {
  margin-bottom: 5px;
}
.entry-content .wp-caption p {
  font-size: 90%;
  color: #757575;
  font-style: italic;
}
  @media screen and (max-width: 767px) {
    .entry-content .wp-caption img {
      margin-bottom: 2vw;
    }
  }

/*ページ分割ナビ*/
.wp-pagenavi {
  padding: 50px 0;
  text-align: center;
  overflow: hidden;
}
.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  width: 26px;
  line-height: 24px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0);
  color: #000;
  margin: 0 2px 10px 2px;
  text-decoration: none;
}
.wp-pagenavi span {
  background: #000;
  color: #fff;
}
.wp-pagenavi a:hover {
  background: #000;
  color: #fff;
  border: 1px solid #000;
}

.wp-pagenavi .extend {
  line-height: 1;
  width: auto;
  border: none;
  color: #333;
  background: none;
}
  @media screen and (max-width: 767px) {
    .wp-pagenavi {
      padding: 6.66vw 0;
    }
    .wp-pagenavi a, .wp-pagenavi span {
      width: 6.66vw;
      line-height: 6.66vw;
      margin: 0 0.66vw 2.66vw 0.66vw;
    }
  }

/*記事詳細ナビ*/
.wp-detailnavi {
  position: relative;
  padding: 50px 0 0 0;
  text-align: center;
}
.wp-detailnavi a {
  display: inline-block;
  text-decoration: none;
  color: #333;
}
.wp-detailnavi a:hover {
  text-decoration: underline;
}
.wp-detailnavi a i {
  position: relative;
  top: 3px;
  font-size: 2.4rem;
}
.prev_link {
  position: absolute;
  left: 0;
  bottom: 0;
}
.next_link {
  position: absolute;
  right: 0;
  bottom: 0;
}
  @media screen and (max-width: 767px) {
    .wp-detailnavi {
      padding: 8vw 0 0 0;
    }
    .wp-detailnavi a i {
      top: 0.4vw;
      font-size: 4.6vw;
    }
  }

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

/*----------------------------------------------------
  お問い合わせ contact
--------------------------------------------------- */
#contact_mail {
  padding: 100px 0;
}
#contact_mail .sub_ttl01 {
  margin-bottom: 50px;
}
.contact_lead {
  margin-bottom: 50px;
}
.contact_lead_tel {
  font-size: 2rem;
  margin-top: 12px;
}
.contact_lead_tel a {
  text-decoration: none;
  color: #000;
}
  @media screen and (max-width: 767px) {
    #contact_mail {
      padding: 12vw 0;
    }
    #contact_mail .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .contact_lead {
      margin-bottom: 10.66vw;
    }
    .contact_lead_tel {
      font-size: 4.26vw;
      margin-top: 3.33vw;
    }
  }

.form_area table {
  margin-bottom: 50px;
}
.form_area th {
  max-width: 300px;
  width: 27%;
  padding: 15px 20px;
  text-align:left;
  font-weight:400;
  vertical-align:middle;
  border-top: solid 1px #eee;
  border-bottom: solid 1px #eee;
}
.form_area th span {
  display:block;
  position:relative;
  padding-right: 25px;
}
.form_area th .require {
  position:absolute;
  right:0;
  top: 0;
  color:#dd0000;
  font-style:normal;
  display:inline-block;
}
.form_area td {
  padding: 15px 20px;
  background: rgba(255,255,255,0.9);
  border-top: solid 1px #eee;
  border-bottom: solid 1px #eee;
}
.form_area td .wpcf7-text, 
.form_area td textarea {
  padding: 10px 15px;
  background: #fff;
  border: solid 1px #000;
  border-radius: 0;
  width: 100%;
  margin: 8px 0;
  outline: none;
}
.form_area td textarea {
  height: 250px;
}
  @media screen and (max-width: 767px) {
    .form_area {
      max-width: 100%;
      padding: 0 0 6.66vw 0;
    }
    .form_area table,
    .form_area tbody,
    .form_area tr,
    .form_area th,
    .form_area td {
      display: block;
      width: 100%!important;
      font-size: 1.6rem;
    }
    .form_area table {
      margin-bottom: 10px;
    }
    .form_area th {
      max-width: 100%;
      padding: 10px 15px;
      background: #f2f2f2;
    }
    .form_area th span {
      display: inline-block;
      padding-right: 30px;
    }
    .form_area td {
      padding: 10px 0;
      border: none;
    }
    .form_area td .wpcf7-text, f
    .form_area td textarea {
      padding: 9px 12px;
      margin: 5px 0;
      font-size: 1.6rem;
    }
    .form_area td textarea {
      height: 220px;
    }
  }

#zipcode {
  width: 180px;
}
  @media screen and (max-width: 767px) {
    #zipcode {
      width: 150px;
    }
  }

.doui_box {
  text-align: center;
  margin-bottom: 40px;
}
.doui_box .wpcf7-list-item-label {
  margin-left: 5px;
}
.row-submit {
  text-align: center;
}
  @media screen and (max-width: 767px) {
    .doui_box {
      font-size: 1.5rem;
      margin-bottom: 30px;
    }
  }

.wpcf7-radio .wpcf7-list-item {
  display: inline-block;
  margin: 10px 30px 10px 0;
}
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
  margin-left: 5px;
  display: inline-block;
}
  @media screen and (max-width: 767px) {
    .wpcf7-radio .wpcf7-list-item {
      margin: 7px 20px 7px 0;
      font-size: 1.5rem;
    }
  }

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

:focus::-webkit-input-placeholder { color:transparent; }
:focus:-moz-placeholder { color:transparent; }
:focus::-moz-placeholder { color:transparent; }

/*ボタン*/
.submit-btn {
  position: relative;
  display: inline-block;
}
.submit-btn input {
  outline: none;
  position: relative;
  display: inline-block;
  width: 246px;
  padding: 12px 10px;
  border-radius: 0;
  text-align: center;
  color: #002063;
  border: solid 1px #002063;
  text-decoration: none;
  background: url("../img/common/ico/ico_arrow01a.svg") #fff right 30px center no-repeat;
  background-size: 30px auto;
  transition: all 0.2s ease-in-out 0s;
}
.submit-btn input:hover {
  color: #fff;
  background: url("../img/common/ico/ico_arrow01b.svg") #002063 right 30px center no-repeat;
  background-size: 30px auto;
}
.submit-btn [disabled] {
  color: #999!important;
  opacity: 1!important;
  border: solid 1px #ccc;
  background: url("") right 30px center no-repeat!important;
  background-color: #ccc!important;
  background-size: 30px auto;
}
  @media screen and (max-width: 767px) {
    .submit-btn {
      display: block;
    }
    .submit-btn::after {
      left: 5vw;
      top: 4.4vw;
      font-size: 5vw;
    }
    .submit-btn input {
      display: block;
      min-width: 100%;
      width: 100%;
      padding: 4vw 2vw;
      font-size: 1.6rem;
    }
  }

.wpcf7 .ajax-loader {
  position: absolute;
  right: calc(50% - 35px)!important;
  bottom: -35px!important;
}
.wpcf7 form.spam .wpcf7-response-output {
  text-align: center!important;
}

/*プライバシーポリシー*/
#privacy {
  background: #F5F5F5;
  padding: 70px 0;
  margin-bottom: 160px;
}
#privacy .sub_ttl01 {
  margin-bottom: 50px;
}
.privacy_wrap dl {
  margin-bottom: 40px;
}
.privacy_wrap dl:last-child {
  margin-bottom: 0;
}
.privacy_wrap dt {
  font-size: 2.4rem;
  margin-bottom: 20px;
  line-height: 1.5;
}
  @media screen and (max-width: 767px) {
    #privacy {
      padding: 12vw 0;
      margin-bottom: 15.33vw;
    }
    #privacy .sub_ttl01 {
      margin-bottom: 6.66vw;
    }
    .privacy_wrap dl {
      margin-bottom: 5.33vw;
    }
    .privacy_wrap dt {
      font-size: 4.26vw;
      margin-bottom: 3.33vw;
    }
  }

  /* facilities 避難経路スライダー非表示 */

#evacuation div.fx_between {
  justify-content: center;
}

#evacuation .evacuation_txt {
  padding-right: 0;
  text-align: center;
}

  /* restaurant sp_タイトル変更 */

  .pcnone {
    display: none;
  }

@media screen and (max-width: 767px){
  .pcnone {
    display: block;
  }
}

/* contact 個人情報保護方針　幅 */

#privacy .inner {
  max-width: 800px;
}




.facility_map_l .fmap04 {
  padding-top: 17px;
}
.facility_map_l .fmap05 {
  padding-top: 10px;
}
.facility_map_l .fmap06 {
  padding-top: 5px;
}
.facility_map_l .fmap08 {
  padding-bottom: 10px;
}





