@charset "UTF-8";
/* =========================================================
common
========================================================= */
@font-face {
  font-family: "AcuminVariableConcept";
  src: url("../../../fonts/AcuminVariableConcept.woff") format("woff"), url("../../../fonts/AcuminVariableConcept.woff2") format("woff2");
  font-weight: 400 500 600 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans Symbols";
  src: url("../fonts/NotoSansSymbols-VariableFont_wght.woff") format("woff"), url("../fonts/NotoSansSymbols.woff2") format("woff2");
  font-weight: 400 500 600 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lunasima";
  src: url("../../fonts/Lunasima-Regular.woff2") format("woff2"), url("../../fonts/Lunasima-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.secTitle01 {
  margin-bottom: 30px;
  font-size: 2.5rem;
  color: #000;
}
@media (max-width: 767px) {
  .secTitle01 {
    margin-bottom: 15px;
    font-size: 1.4rem;
  }
}
.secTitle01 span {
  display: block;
}
.secTitle01 .en {
  margin-bottom: -5px;
  letter-spacing: 0.02em;
  font-family: "AcuminVariableConcept";
  font-weight: 500;
  font-style: italic;
  font-variation-settings: "ital" 1;
  font-synthesis: none;
  font-size: 4.8rem;
}
@media (max-width: 767px) {
  .secTitle01 .en {
    margin-bottom: 0;
    font-size: 2.7rem;
  }
}

body.lang_fr .secTitle01 .enExc,
body.lang_de .secTitle01 .enExc,
body.lang_es .secTitle01 .enExc,
body.lang_it .secTitle01 .enExc,
body.lang_ms .secTitle01 .enExc,
body.lang_id .secTitle01 .enExc {
  margin-bottom: -5px;
  letter-spacing: 0.02em;
  font-family: "AcuminVariableConcept";
  font-weight: 500;
  font-style: italic;
  font-variation-settings: "ital" 1;
  font-synthesis: none;
  font-size: 4.8rem;
}
@media (max-width: 767px) {
  body.lang_fr .secTitle01 .enExc,
  body.lang_de .secTitle01 .enExc,
  body.lang_es .secTitle01 .enExc,
  body.lang_it .secTitle01 .enExc,
  body.lang_ms .secTitle01 .enExc,
  body.lang_id .secTitle01 .enExc {
    margin-bottom: 0;
    font-size: 2.7rem;
  }
}

.secTitle2 {
  margin: 0 0 64px;
}
@media (max-width: 1024px) {
  .secTitle2 {
    margin: 0 0 16px;
  }
}
.secTitle2 .en {
  font-family: "AcuminVariableConcept";
  font-weight: 600;
  font-style: italic;
  font-variation-settings: "ital" 1;
  font-synthesis: none;
  font-size: 6.6rem;
  line-height: 1.15;
  letter-spacing: 0.02em;
  color: #284c7f;
}
@media (max-width: 1024px) {
  .secTitle2 .en {
    font-size: 3.6rem;
  }
}

.btn3 a {
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: #d26230;
  color: #fff;
}
@media (max-width: 767px) {
  .btn3 a {
    width: 60px;
    height: 60px;
  }
}
.btn3 a .text {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 65px;
  height: 22px;
}
@media (max-width: 767px) {
  .btn3 a .text {
    top: 4px;
    width: 43px;
    height: 15px;
  }
}
.btn3 a .arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -20%);
  width: 32px;
  height: 20px;
}
@media (max-width: 767px) {
  .btn3 a .arrow {
    width: 21px;
    height: 13px;
  }
}
.btn3 .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.book .tabList li + li {
  display: none;
}

.book .tabList .shinkansen {
  display: none !important;
}

.contents {
  overflow: visible;
}
@media (max-width: 767px) {
  .contents {
    overflow-x: clip;
  }
}

@media (max-width: 1300px) {
  .wrapper {
    padding-inline: 5%;
  }
}
@media (max-width: 767px) {
  .wrapper {
    padding-inline: 0;
  }
}

/* =========================================================
fixedMenu
========================================================= */
.fixedMenu {
  margin-block: -275px -115px;
}
@media (max-width: 767px) {
  .fixedMenu {
    margin-block: -220px -40px;
  }
}
body.lang_it .fixedMenu, body.lang_fr .fixedMenu, body.lang_de .fixedMenu, body.lang_es .fixedMenu, body.lang_vi .fixedMenu {
  margin-block: 15px -320px;
}

/* =========================================================
kv
========================================================= */
.kv {
  position: relative;
  z-index: 0;
}
.kv::before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0, rgba(0, 0, 0, 0) 100%);
}
@media (max-width: 1024px) {
  .kv {
    margin-bottom: 150px;
  }
}
.kv .slider-main {
  height: calc(100vh - 60px);
}
@media (max-width: 1024px) {
  .kv .slider-main {
    height: calc(100vh - 150px - 55px);
  }
}
.kv .slider-main:not(.slick-initialized) .listItem:not(:first-child) {
  display: none;
}
.kv .slider-main:not(.slick-initialized) + .wrapper:has(.slider-thumb) .slider-thumb {
  display: none;
}
.kv .slider-main .listItem::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0, rgba(0, 0, 0, 0) 100%);
  width: 100%;
  height: 55%;
}
@media (max-width: 1024px) {
  .kv .slider-main .listItem::after {
    height: 80%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0, rgba(0, 0, 0, 0) 100%);
  }
}
.kv .slider-main .listItem .wrapper {
  position: absolute;
  left: 8vw;
  bottom: 45px;
  width: 100%;
  padding: 0;
  z-index: 2;
}
@media (max-width: 1024px) {
  .kv .slider-main .listItem .wrapper {
    bottom: 20px;
    width: 90%;
    left: 5%;
  }
}
.kv .slider-main .listItem .wrapper .slideText {
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  width: 50%;
  position: relative;
  z-index: 2;
}
@media (max-width: 1024px) {
  .kv .slider-main .listItem .wrapper .slideText {
    width: 100%;
  }
}
.kv .slider-main .listItem .wrapper .slideText .text h2 {
  font-size: 7.1rem;
  font-family: "AcuminVariableConcept", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  letter-spacing: -0.3rem;
  line-height: 1;
  margin-bottom: 10px;
}
@media (max-width: 1024px) {
  .kv .slider-main .listItem .wrapper .slideText .text h2 {
    font-size: 3.1rem;
    letter-spacing: 0;
    margin-bottom: 10px;
  }
}
.kv .slider-main .listItem .wrapper .slideText .text p {
  font-size: 2rem;
  letter-spacing: 0.5px;
  line-height: 1.6;
}
@media (max-width: 1024px) {
  .kv .slider-main .listItem .wrapper .slideText .text p {
    font-size: 1.2rem;
    letter-spacing: 0;
  }
}
.kv .slider-main .listItem .wrapper .slideText .btn3 a {
  background: none;
  border: 1px solid #deb345;
}
@media (max-width: 1024px) {
  .kv .slider-main .listItem .wrapper .slideText .btn3 a {
    width: 52px;
    height: 52px;
  }
}
.kv .slider-main .listItem .wrapper .slideText .btn3 a .text {
  width: 73px;
  height: 33px;
}
@media (max-width: 1024px) {
  .kv .slider-main .listItem .wrapper .slideText .btn3 a .text {
    width: 52px;
    height: 18px;
  }
}
@media (max-width: 1024px) {
  .kv .slider-main .listItem .wrapper .slideText .btn3 a .arrow {
    width: 14px;
    top: 46%;
  }
}
.kv .slider-main .listItem.slick-slide {
  height: calc(100vh - 60px);
}
@media (max-width: 1024px) {
  .kv .slider-main .listItem.slick-slide {
    height: calc(100vh - 150px - 55px);
  }
}
.kv .slider-main .listItem.slick-slide picture img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.kv .wrapper:has(.slider-thumb) {
  position: absolute;
  bottom: 55px;
  right: 8vw;
  width: 35%;
  overflow: visible;
  z-index: 3;
  padding: 0;
}
@media (max-width: 1024px) {
  .kv .wrapper:has(.slider-thumb) {
    width: 90%;
    right: 5%;
    justify-content: center;
    bottom: -120px;
  }
}
@media (max-width: 1024px) {
  .kv .slider-thumb {
    max-width: 400px;
    margin: 0 auto;
  }
}
.kv .slider-thumb .slick-list {
  overflow: visible;
}
.kv .slider-thumb .listItem {
  padding: 0 1.3%;
  cursor: pointer;
}
.kv .slider-thumb .listItem img {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  height: auto;
  width: auto;
}
.kv .slider-thumb .listItem.slick-current {
  margin: 0 5px;
}
.kv .slider-thumb .listItem.slick-current img {
  opacity: 1;
  transform: scale(1.18);
  border: solid 3px #fff;
}
.kv .slider-thumb.slick-slider .slick-track, .kv .slider-thumb.slick-slider .slick-list {
  transform: translate3d(0, 0, 0) !important;
}
.kv .slider-thumb.slick-slider .slick-track {
  display: flex;
  flex-wrap: nowrap;
}
@media (max-width: 1024px) {
  .kv .slider-thumb.slick-slider .slick-track {
    justify-content: center;
  }
}
.kv .textBlock {
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: 100%;
  height: auto;
}
@media (max-width: 1024px) {
  .kv .textBlock {
    top: 30px;
  }
}
.kv .textBlock h2 {
  font-size: 3.7rem;
  font-family: "Lunasima", sans-serif;
}
@media (max-width: 1024px) {
  .kv .textBlock h2 {
    font-size: 2.1rem;
    line-height: 1.3;
  }
}
.kv .textBlock h1 {
  margin-top: 5px;
  font-size: 2.2rem;
  margin-bottom: 20px;
}
@media (max-width: 1024px) {
  .kv .textBlock h1 {
    font-size: 1.4rem;
    line-height: 1.3;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
body:not(.lang_ja) .kv .textBlock h1 {
  font-size: 3.7rem;
  font-family: "Lunasima", sans-serif;
}
@media (max-width: 1024px) {
  body:not(.lang_ja) .kv .textBlock h1 {
    font-size: 2.1rem;
  }
}
.kv .textBlock p {
  font-size: 2.5rem;
  color: #000;
  background-color: #fff;
  display: inline-block;
  font-family: "AcuminVariableConcept", sans-serif;
  font-variation-settings: "slnt" 0, "wdth" 100, "wght" 600;
  padding: 12px 30px 7px;
  line-height: 1;
}
@media (max-width: 1024px) {
  .kv .textBlock p {
    font-size: 1.6rem;
    padding: 10px 20px 7px;
  }
}

.campaign {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #739761;
  color: #fff;
}
.campaign .text {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 25.1px 0;
  max-width: 1250px;
  margin-inline: auto;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 1250px) {
  .campaign .text {
    max-width: 94%;
  }
}
@media (max-width: 1024px) {
  .campaign .text {
    font-size: 1.5rem;
    line-height: 1.4;
    padding: 15px 0;
  }
}
@media (max-width: 767px) {
  .campaign .text {
    max-width: 90%;
  }
}
.campaign .text strong {
  font-size: 3.2rem;
  line-height: 0.9375;
}
@media (max-width: 1024px) {
  .campaign .text strong {
    font-size: 1.9rem;
    line-height: 1.4;
  }
}

.breadcrumbs {
  display: none;
}
@media (max-width: 767px) {
  .breadcrumbsList {
    padding-left: 20px;
  }
}

/* =========================================================
.bookArea
========================================================= */
.bookArea .wrapper {
  padding-bottom: 40px;
  max-width: 930px;
}
@media (max-width: 767px) {
  .bookArea .wrapper {
    padding-inline: 0;
  }
}
.bookArea .bookModule {
  margin-bottom: 0;
  color: #000;
}
@media (max-width: 767px) {
  .bookArea .bookModule {
    display: block;
    width: 75%;
    margin: 0 auto;
  }
}
.bookArea .bookModule .bookTitle {
  border-top-color: #333;
  color: inherit;
  font-weight: 500;
}
.bookArea .bookModule .bookTitle span {
  background: #fff;
}
.bookArea .bookModule .tabList {
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .bookArea .bookModule .tabList {
    display: block;
    margin: 0 auto;
    font-size: 1.4rem;
  }
}
.bookArea .bookModule .tabList li + li {
  display: block;
}
.bookArea .bookModule .tabList li {
  display: block !important;
}
.bookArea .bookModule .tabList li a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-bottom: 1px solid;
  background: no-repeat 25px center;
  width: 100%;
  color: #000;
  font-weight: 700;
}
@media (max-width: 767px) {
  .bookArea .bookModule .tabList li a {
    height: 40px;
    line-height: 40px;
  }
}
.bookArea .bookModule .tabList li a svg {
  display: none;
  fill: currentColor;
}
.bookArea .bookModule .tabList li.active a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid;
  background-color: #e5e5e5;
}
.bookArea .bookModule .tabList li:first-child a {
  background-image: url(../img/top/icon_bed.svg);
}
.bookArea .bookModule .tabList li:nth-child(2) a {
  background-image: url(../img/top/icon_airline.svg);
}
.bookArea .bookModule .tabList li:nth-child(3) a {
  background-image: url(../img/top/icon_express.svg);
}
@media (max-width: 767px) {
  .bookArea .bookModule .tabContentsWrap {
    display: block;
    width: 100%;
  }
  .bookArea .bookModule .tabContentsWrap form {
    display: none;
  }
}
.bookArea .bookModule .formList li:last-child input.submitBtn {
  background: #002239 url(/img/common/icon_search.svg) no-repeat 20px center;
}
.bookArea .bookModule #bookModuleTab02 .formList li,
.bookArea .bookModule .form_area,
.bookArea .bookModule .form_hotel,
.bookArea .bookModule .form_date,
.bookArea .bookModule .form_room,
.bookArea .bookModule .form_person {
  border-bottom-color: #333;
  background: no-repeat 15px center;
}
.bookArea .bookModule #bookModuleTab02 .formList li .icon,
.bookArea .bookModule .form_area .icon,
.bookArea .bookModule .form_hotel .icon,
.bookArea .bookModule .form_date .icon,
.bookArea .bookModule .form_room .icon,
.bookArea .bookModule .form_person .icon {
  display: none;
  fill: #333;
}
.bookArea .bookModule #bookModuleTab02 .formList li:first-child {
  background-image: url(../img/top/icon_airline.svg);
}
.bookArea .bookModule #bookModuleTab02 .formList li:nth-child(2),
.bookArea .bookModule .form_area {
  background-image: url(../img/top/icon_map.svg);
}
.bookArea .bookModule #bookModuleTab02 .formList li:nth-child(3),
.bookArea .bookModule .form_hotel {
  background-image: url(../img/top/icon_hotel.svg);
}
.bookArea .bookModule #bookModuleTab02 .formList li:nth-child(4),
.bookArea .bookModule .form_date {
  background-image: url(../img/top/icon_cal.svg);
}
.bookArea .bookModule .form_room {
  background-image: url(../img/top/icon_bed.svg);
}
.bookArea .bookModule #bookModuleTab02 .formList li:nth-child(5),
.bookArea .bookModule .form_person {
  background-image: url(../img/top/icon_person.svg);
}
.bookArea .bookModule .formList li:last-child input.submitBtn {
  width: 100%;
}
.bookArea .bookModule .reloadBtn {
  display: none;
}
@media (max-width: 767px) {
  .bookArea .bookModule .link {
    display: block;
  }
}
.bookArea .bookModule .link a {
  display: block !important;
}
.bookArea .spBlock .bookBtn a {
  border-radius: 0;
  border: 1px solid;
  background: #e5e5e5;
  padding: 0;
  color: #000;
  font-weight: 600;
  font-size: 1.4rem;
}
.bookArea .spBlock .bookBtn a .icon_bed {
  display: none;
  fill: currentColor;
}
.bookArea .dynamicPackaging .white {
  background: #fafbfc;
}

@media (max-width: 767px) {
  body:not(.lang_ja) .bookModule .tabList,
  body:not(.lang_ja) .bookModule .tabContentsWrap {
    display: none;
  }
  body:not(.lang_ja) .bookModule .spBlock {
    display: block;
  }
}

.kvBenefits .icon {
  display: none;
}
@media (max-width: 767px) {
  .kvBenefits {
    padding: 15px 15px;
  }
  .kvBenefits span {
    text-align: center;
  }
}

.kvBenefits {
  background: #deb345;
}

.kvBenefits:after {
  border: none !important;
}

/* 宿泊予約 のみにする*/
.bookArea .bookModule .tabList {
  width: 100%;
  border-bottom: 1px solid #000;
}
@media (max-width: 1024px) {
  .bookArea .bookModule .tabList {
    display: none;
  }
}

.bookArea .bookModule .tabList li a {
  width: 310px;
  border-bottom: none !important;
  background-image: none !important;
  padding: 0;
}
@media (max-width: 767px) {
  .bookArea .bookModule .tabList li a {
    width: 100%;
  }
}

.bookArea .bookModule .tabContentsWrap {
  width: 100%;
}
@media (max-width: 1024px) {
  .bookArea .bookModule .tabContentsWrap {
    display: none;
  }
}

.bookArea .bookModule .tabList li:nth-child(2),
.bookArea .bookModule .tabList li:nth-child(3) {
  display: none !important;
  opacity: 0 !important;
}

.bookArea .bookModule .form_area,
.bookArea .bookModule .form_hotel,
.bookArea .bookModule .form_brand {
  display: none !important;
}

.bookModule .link {
  margin-left: 0;
}

.bookModule .spBlock .bookBtn.gold {
  display: none;
}
.bookModule .spBlock .bookBtn.gold + .link {
  display: none;
}

body:not(.lang_ja) .wrapper.bookModuleOuter .dynamicPackaging.sp.bookBtn {
  display: none !important;
}
body:not(.lang_ja) .dynamicPackaging {
  display: none !important;
}

/* =========================================================
detail
========================================================= */
.detail {
  background: #f8f0da;
}
.detail .wrapper:first-of-type {
  padding-bottom: 70px;
}
@media (max-width: 767px) {
  .detail .wrapper:first-of-type {
    padding-bottom: 30px;
  }
}
.detail .flex {
  align-items: center;
}
@media (max-width: 1024px) {
  .detail .flex {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .detail .flex {
    display: flex;
    flex-direction: column-reverse;
  }
}
.detail .taBlock {
  display: block;
  width: 68%;
}
@media (max-width: 1024px) {
  .detail .taBlock {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .detail .taBlock {
    margin-bottom: 0;
  }
}
.detail .taBlock .photo {
  border-radius: 0;
  margin-bottom: 0;
}
.detail .detailHotel {
  width: 27%;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .detail .detailHotel {
    width: 100%;
    margin-right: 0;
    font-size: 1.2rem;
  }
}
.detail .detailHotel .hotelName {
  display: block;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .detail .detailHotel .hotelName {
    margin-bottom: 10px;
    text-align: left;
    font-size: 1.3rem;
  }
}
.detail .detailHotel .hotelName img {
  display: block;
  width: 250px;
  height: 54px;
  margin: 0 0 20px;
}
@media (max-width: 1024px) {
  .detail .detailHotel .hotelName img {
    margin: 0 auto 20px;
  }
}
@media (max-width: 767px) {
  .detail .detailHotel .hotelName img {
    margin: 0 0 20px;
    width: 165px;
    height: auto;
  }
}
@media (max-width: 767px) {
  .detail .detailHotel .address {
    display: flex;
    flex-direction: column;
    line-height: 1.5;
    text-align: left;
  }
  .detail .detailHotel .address p:first-child {
    order: -1;
  }
  .detail .detailHotel .address a {
    margin-bottom: 7px;
  }
  .detail .detailHotel .address a:has(.icon_ex) {
    order: -1;
  }
}
.detail .detailHotel .address p {
  display: block;
}
@media (min-width: 1025px) {
  .detail .detailHotel .address a + a {
    margin-left: 20px;
  }
}
.detail .detailHotel .icon_ex,
.detail .detailHotel .icon_link {
  display: none;
}
.detail .detailLinkList {
  display: flex;
  gap: 20px;
  height: 100%;
}
@media (max-width: 767px) {
  .detail .detailLinkList {
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 20px;
  }
}
.detail .detailLinkList li {
  background: #fff;
  width: 100%;
  height: 100%;
  text-align: center;
  box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.1);
}
@media (max-width: 1024px) {
  .detail .detailLinkList li {
    width: calc(50% - 8px);
  }
  .detail .detailLinkList li:first-child:nth-last-child(odd) {
    width: 100%;
  }
}
.detail .detailLinkList li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 60px 0 60px;
  text-decoration: none;
}
@media (max-width: 1024px) {
  .detail .detailLinkList li a {
    padding: 30px 0px 20px;
  }
}
.detail .detailLinkList li .icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 50px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .detail .detailLinkList li .icon {
    max-width: 50px;
    max-height: 35px;
  }
}
@media (max-width: 1024px) {
  .detail .detailLinkList li .icon img {
    max-width: 100%;
    max-height: 100%;
  }
}
.detail .detailLinkList li p {
  margin: 15px 0 0;
  line-height: 1.3;
  color: #000;
}
@media (max-width: 767px) {
  .detail .detailLinkList li p {
    margin-top: 10px;
  }
}
.detail .detailLinkList li p .en {
  display: block;
  font-family: "AcuminVariableConcept";
  font-weight: 700;
  font-style: italic;
  font-variation-settings: "ital" 1;
  font-synthesis: none;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .detail .detailLinkList li p .en {
    font-size: 1.5rem;
  }
}
.detail .detailLinkList li.bgBrown {
  background: #ad9b66;
}
.detail .detailLinkList li.bgBrown .icon {
  filter: brightness(0) invert(1);
}
.detail .detailLinkList li.bgBrown p {
  color: #fff;
}

/* =========================================================
.stayPlan
========================================================= */
.stayPlan .wrapper {
  padding-block: 130px;
}
@media (max-width: 1024px) {
  .stayPlan .wrapper {
    padding: 15px 0 45px;
  }
}

.stayPlan .tabList {
  gap: 10px;
  margin-bottom: 20px;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .stayPlan .tabList {
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .stayPlan .tabList {
    justify-content: flex-start;
    gap: 10px;
    width: auto;
    margin-top: 10px;
  }
}
@media (max-width: 767px) {
  .stayPlan .tabList li {
    width: calc(33.3333333333% - 6.6666666667px);
  }
}
.stayPlan .tabList li a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid;
  border-radius: 6px;
  width: 150px;
  height: 40px;
  color: #000;
  text-align: center;
  text-transform: capitalize;
  line-height: 1;
}
@media (max-width: 767px) {
  .stayPlan .tabList li a {
    width: 100%;
    height: 25px;
  }
}
.stayPlan .tabList li:last-child {
  margin-left: auto;
}
@media (max-width: 767px) {
  .stayPlan .tabList li:last-child {
    margin-left: 0;
  }
}
.stayPlan .tabList li:last-child a {
  border: none;
  background: #d26230;
  color: #fff;
}
.stayPlan .skyCruising {
  position: absolute;
  right: 0;
  top: 110px;
}
@media screen and (max-width: 1300px) {
  .stayPlan .skyCruising {
    right: 5.5%;
  }
}
@media (max-width: 1024px) {
  .stayPlan .skyCruising {
    position: static;
    margin-block: 20px 30px;
  }
}
.stayPlan .skyCruising a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-image: linear-gradient(180deg, #4b749b, #04254e);
  color: #fff;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  text-decoration: none;
  padding: 5px 23px;
  min-width: 305px;
  height: 100px;
}
.stayPlan .skyCruising a:hover {
  color: #fff;
}
.stayPlan .skyCruising a .pic {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  width: auto;
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
}
.stayPlan .skyCruising a .logo {
  position: relative;
  margin: 0 0 3px;
  z-index: 1;
}
.stayPlan .skyCruising a .text {
  position: relative;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  letter-spacing: 0.075em;
  z-index: 1;
  text-shadow: 0.7px 0.7px 2px rgba(54, 80, 145, 0.4);
}

body.lang_en .stayPlan .skyCruising,
body.lang_fr .stayPlan .skyCruising,
body.lang_de .stayPlan .skyCruising,
body.lang_es .stayPlan .skyCruising,
body.lang_it .stayPlan .skyCruising,
body.lang_ms .stayPlan .skyCruising,
body.lang_id .stayPlan .skyCruising {
  top: 20px;
}

.stayPlan .planList {
  margin: 30px 0 0;
}

@media (min-width: 768px) {
  .stayPlan .planList {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 20px;
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .stayPlan .planList {
    padding-right: 115px;
    margin: 30px -10px -10px;
  }
  .stayPlan .planList .slick-list,
  .stayPlan .planList .slick-track {
    display: flex;
  }
}
.stayPlan .planList .slick-list {
  overflow: visible;
}

.stayPlan .planList .listItem {
  position: relative;
}

@media (max-width: 767px) {
  .stayPlan .planList .listItem {
    margin: 0 10px;
  }
}
.stayPlan .planList .listItem a,
.stayPlan .planList .listItem .noLink {
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 6px;
  background: #f3f3f3;
  height: 100%;
  padding: 15px;
  line-height: 1.5;
  font-size: 1.2rem;
  text-decoration: none;
  color: #000;
  box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.2);
}
@media (max-width: 767px) {
  .stayPlan .planList .listItem a,
  .stayPlan .planList .listItem .noLink {
    padding: 10px;
  }
}

.stayPlan .planList .listItem .photo {
  overflow: visible;
  aspect-ratio: 300/187;
  border-radius: 0;
  margin: -15px -15px 20px;
  position: relative;
}
@media (max-width: 767px) {
  .stayPlan .planList .listItem .photo {
    margin: -10px -10px 10px;
  }
}

.stayPlan .planList .listItem .photo p {
  position: absolute;
  color: #fff;
  line-height: 1;
}

@media (max-width: 767px) {
  .stayPlan .planList .listItem .photo p {
    letter-spacing: initial;
    font-size: 1.1rem;
  }
}
.stayPlan .planList .listItem .photo p.tag {
  left: 0;
  bottom: -13px;
  min-width: 80px;
  padding: 0 5px;
  width: auto;
  height: 25px;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .stayPlan .planList .listItem .photo p.tag {
    min-width: 70px;
    width: auto;
    font-size: 1.1rem;
    padding: 0 3%;
  }
}
.stayPlan .planList .listItem .photo p.tag.blue {
  background-color: #2F60AC;
}

.stayPlan .planList .listItem .photo p.tag.red {
  background-color: #CF351A;
}

.stayPlan .planList .listItem .photo:has(p.tag) {
  border-bottom: 4px solid #000;
}

.stayPlan .planList .listItem .photo:has(p.tag.blue) {
  border-bottom-color: #2F60AC;
}

.stayPlan .planList .listItem .photo:has(p.tag.red) {
  border-bottom-color: #CF351A;
}

.stayPlan .planList .listItem .photo p.img {
  right: 8px;
  bottom: 8px;
  letter-spacing: 0.3px;
  text-shadow: 0px 0px 10px rgb(0, 0, 0);
}

.stayPlan .planList .listItem .photo .bg_white {
  position: absolute;
  background-color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  top: 0;
  right: 0;
  height: 32px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.1rem;
}

@media (max-width: 767px) {
  .stayPlan .planList .listItem .photo .bg_white {
    font-size: 1.2rem;
    height: 25px;
  }
}
.stayPlan .planList .listItem .photo .bg_white p {
  color: #21100b;
}

.stayPlan .planList .listItem .photo .circle {
  position: absolute;
  right: 5px;
  top: 5px;
  background-color: #a97c45;
  width: 64px;
  height: 64px;
  border-radius: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media (max-width: 1250px) {
  .stayPlan .planList .listItem .photo .circle {
    top: 35px;
  }
}
@media (max-width: 767px) {
  .stayPlan .planList .listItem .photo .circle {
    top: 25px;
    width: 52px;
    height: 52px;
  }
}
.stayPlan .planList .listItem .photo .circle::before {
  content: "";
  position: absolute;
  width: 60px;
  height: 60px;
  border: 1px solid #fff;
  border-radius: 50%;
}

@media (max-width: 767px) {
  .stayPlan .planList .listItem .photo .circle::before {
    width: 50px;
    height: 50px;
  }
}
.stayPlan .planList .listItem .photo .circle p {
  position: initial;
}

.stayPlan .planList .listItem .photo .circle p.yellow {
  color: #efe009;
  font-size: 1.4rem;
  line-height: 1.2;
}

@media (max-width: 767px) {
  .stayPlan .planList .listItem .photo .circle p.yellow {
    font-size: 1.1rem;
    margin-top: 2px;
  }
}
.stayPlan .planList .listItem .photo img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.stayPlan .planList .listItem .title {
  letter-spacing: 0.05em;
  margin-bottom: 5px;
  text-transform: capitalize;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  font-size: 1.4rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .stayPlan .planList .listItem .title {
    margin-top: 10px;
    -webkit-line-clamp: 2;
    font-size: 1.2rem;
  }
}
.stayPlan .planList .listItem .title + p {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .stayPlan .planList .listItem .title + p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    margin-bottom: 5px;
  }
}

.stayPlan .planList .listItem .member {
  position: absolute;
  left: 15px;
  bottom: 15px;
}
@media (max-width: 767px) {
  .stayPlan .planList .listItem .member {
    display: none;
  }
}

.stayPlan .planList .listItem .btnS {
  position: relative;
  margin-top: auto;
  padding-right: 20px;
  text-align: right;
  color: #4d4d4d;
  font-size: 1.1rem;
}
@media (max-width: 767px) {
  .stayPlan .planList .listItem .btnS {
    font-size: 1.1rem;
  }
}
.stayPlan .planList .listItem .btnS::before, .stayPlan .planList .listItem .btnS::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.stayPlan .planList .listItem .btnS::before {
  content: "";
  background: #4d4d4d;
  border-radius: 50%;
  width: 14px;
  height: 14px;
}
.stayPlan .planList .listItem .btnS::after {
  right: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  width: 5px;
  height: 5px;
  rotate: 45deg;
}
.stayPlan .planList .listItem .btnS .icon_link {
  display: none;
}

.stayPlan .planList .slick-counter {
  display: flex;
  align-items: center;
  margin: 20px 0 0 4%;
  font-size: 12px;
  font-family: "acumin-variable", sans-serif;
}

.stayPlan .planList .slick-counter {
  display: none !important;
}

.stayPlan .planList .slick-counter.slick-slide {
  display: none;
}

.stayPlan .planList .slick-counter .bar {
  overflow: hidden;
  position: relative;
  background: #CACACA;
  width: 100%;
  height: 1px;
  margin: 0 10px;
}

.stayPlan .planList .slick-counter .bar::before {
  content: "";
  display: block;
  position: absolute;
  background: #000;
  width: 70px;
  height: 1px;
  animation: borderAnim 3.5s cubic-bezier(0.19, 1, 0.22, 1) infinite;
}

@media (min-width: 768px) {
  .stayPlan .topics .arrows {
    display: none;
  }
}
@media (max-width: 767px) {
  .stayPlan .topics .arrows {
    position: relative;
    z-index: 0;
    margin-top: -22px;
  }
}
@keyframes borderAnim {
  0% {
    left: 0;
  }
  100% {
    left: 100%;
  }
}
.stayPlan .planList02 {
  margin-top: 80px;
}

@media (max-width: 767px) {
  .stayPlan .planList02 {
    margin-top: 45px;
  }
}
.stayPlan .planList02 .listItem {
  background-color: #f6f3ee;
  padding: 0 25px;
  height: 87px;
  color: #000;
}

@media (max-width: 767px) {
  .stayPlan .planList02 .listItem {
    height: auto;
    padding: 30px 20px;
  }
}
.stayPlan .planList02 .listItem:nth-child(even) {
  background-color: #fff;
}

.stayPlan .planList02 .listItem .noLink span {
  font-size: 1.7rem;
  line-height: 87px;
  display: inline-block;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 25px;
}

@media (max-width: 767px) {
  .stayPlan .planList02 .listItem .noLink span {
    line-height: 1.7;
    font-size: 1.5rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    white-space: initial;
  }
}
.stayPlan .planList02 .listItem a {
  text-decoration: none;
  font-size: 1.7rem;
  line-height: 87px;
  display: inline-block;
  display: flex;
  align-items: center;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
}

@media (max-width: 767px) {
  .stayPlan .planList02 .listItem a {
    line-height: 1.7;
    font-size: 1.5rem;
  }
}
.stayPlan .planList02 .listItem a span {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 25px;
}

@media (max-width: 767px) {
  .stayPlan .planList02 .listItem a span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    white-space: initial;
  }
}
@media (max-width: 767px) {
  .stayPlan .arrows {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 100vmax;
    width: 135px;
    margin: 40px auto 0;
    padding: 0 15px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.2);
  }
  .stayPlan .arrows .slick-arrow {
    border: none;
    width: 16px;
    height: 16px;
    margin: 0;
    z-index: 0;
  }
  .stayPlan .arrows .slick-arrow svg {
    width: 5px;
    height: 10px;
  }
  .stayPlan .arrows .slick-prev {
    order: -1;
  }
  .stayPlan .arrows::after {
    content: "";
    display: block;
    order: -1;
    background: #000;
    width: 100px;
    height: 1px;
  }
}
.stayPlan .arrows .slick-arrow.slick-prev + .slick-arrow.slick-prev {
  display: none;
}

.stayPlan .arrows .slick-arrow.slick-prev + .slick-arrow.slick-next {
  display: none;
}
@media (max-width: 767px) {
  .stayPlan .arrows .slick-arrow.slick-prev + .slick-arrow.slick-next {
    display: flex !important;
  }
}

/* =========================================================
facility
========================================================= */
.facility .wrapper {
  padding-bottom: 40px;
}
@media (max-width: 767px) {
  .facility .wrapper {
    padding-bottom: 20px;
  }
}
.facilityBlock {
  width: 50%;
  color: #333;
}
@media (max-width: 767px) {
  .facilityBlock {
    width: 100%;
    font-size: 1.2rem;
  }
}
.facilityBlockWrap {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .facilityBlockWrap {
    display: block;
  }
}
.facilityBlock a {
  display: block;
  overflow: hidden;
  text-decoration: none;
  padding: 0 80px 40px;
}
@media (max-width: 767px) {
  .facilityBlock a {
    padding: 0 12% 15px;
  }
}
.facilityBlock a:hover {
  color: inherit;
}
.facilityBlock .facilityPhoto {
  position: relative;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .facilityBlock .facilityPhoto {
    margin-bottom: 15px;
  }
}
.facilityBlock .facilityPhoto picture {
  display: block;
  overflow: hidden;
  width: calc(100% - 20px);
  aspect-ratio: 550/280;
  margin-top: -1px;
}
@media (max-width: 767px) {
  .facilityBlock .facilityPhoto picture {
    width: 100%;
  }
}
.facilityBlock .facilityPhoto picture img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.facilityBlock .facilityPhoto h3 {
  position: absolute;
  bottom: 0;
  width: 12vw;
  height: 2.2vw;
  line-height: 2.2vw;
  text-align: center;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .facilityBlock .facilityPhoto h3 {
    width: auto;
    height: auto;
    line-height: 1;
    font-size: 1.1rem;
  }
}
.facilityBlock .facilityPhoto .logo {
  position: absolute;
  top: 0;
  bottom: 0;
  height: fit-content;
  margin: auto;
}
.facilityBlock .facilityPhoto .open {
  position: absolute;
  left: -81px;
  bottom: 4px;
  margin-left: 12vw;
  width: calc(100% - 12vw - 6.6vw);
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  font-family: "AcuminVariableConcept";
  font-weight: 700;
  font-style: italic;
  font-variation-settings: "ital" 1;
  font-synthesis: none;
  font-synthesis: unset;
  font-size: clamp(1.8rem, 2.47vw, 3.7rem);
  line-height: 1;
  letter-spacing: 0.01em;
  color: #e3e300;
}
@media (max-width: 1024px) {
  .facilityBlock .facilityPhoto .open {
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .facilityBlock .facilityPhoto .open {
    margin-left: 42vw;
    width: calc(100% - 42vw);
  }
}
.facilityBlock h4 {
  border-bottom: 1px solid #000;
  margin-bottom: 15px;
  font-family: "AcuminVariableConcept";
  font-weight: 100;
  font-style: italic;
  font-variation-settings: "ital" 1;
  font-synthesis: none;
  line-height: 1.2;
  font-size: 6rem;
}
@media (max-width: 767px) {
  .facilityBlock h4 {
    margin-bottom: 10px;
    font-size: 3rem;
  }
}
.facilityBlock h5 {
  line-height: 1;
  font-family: "AcuminVariableConcept";
  font-weight: 400;
  font-style: italic;
  font-variation-settings: "ital" 1;
  font-synthesis: none;
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  .facilityBlock h5 {
    font-size: 1.2rem;
  }
}
.facilityBlock h5 span {
  font-size: 3.6rem;
}
@media (max-width: 767px) {
  .facilityBlock h5 span {
    font-size: 1.8rem;
  }
}
.facilityBlock:nth-child(odd) .facilityPhoto picture {
  -webkit-clip-path: url(#photoL);
  clip-path: url(#photoL);
  margin-left: auto;
  margin-right: -81px;
}
@media (max-width: 767px) {
  .facilityBlock:nth-child(odd) .facilityPhoto picture {
    -webkit-clip-path: url(#photoR_SP);
    clip-path: url(#photoR_SP);
    margin-left: -16%;
    margin-right: 0;
  }
}
.facilityBlock:nth-child(odd) .facilityPhoto h3 {
  right: -80px;
}
@media (max-width: 767px) {
  .facilityBlock:nth-child(odd) .facilityPhoto h3 {
    right: auto;
    left: 0;
  }
}
.facilityBlock:nth-child(odd) .facilityPhoto .logo {
  left: 0;
}
@media (max-width: 767px) {
  .facilityBlock:nth-child(odd) .facilityPhoto .logo {
    left: auto;
    right: -10px;
  }
}
.facilityBlock:nth-child(even) .facilityPhoto picture {
  -webkit-clip-path: url(#photoR);
  clip-path: url(#photoR);
  margin-right: auto;
  margin-left: -81px;
}
@media (max-width: 767px) {
  .facilityBlock:nth-child(even) .facilityPhoto picture {
    -webkit-clip-path: url(#photoR_SP);
    clip-path: url(#photoR_SP);
    margin-left: -16%;
    margin-right: 0;
  }
}
.facilityBlock:nth-child(even) .facilityPhoto h3 {
  left: -80px;
}
@media (max-width: 767px) {
  .facilityBlock:nth-child(even) .facilityPhoto h3 {
    left: 0;
  }
}
.facilityBlock:nth-child(even) .facilityPhoto .logo {
  right: 0;
}
@media (max-width: 767px) {
  .facilityBlock:nth-child(even) .facilityPhoto .logo {
    right: -10px;
  }
}
.facilityBlock:first-child {
  background: #edd8a7;
}
.facilityBlock:nth-child(2) {
  background: #ea9984;
}
.facilityBlock:nth-child(2) .facilityPhoto .logo {
  right: -30px;
}
@media (max-width: 767px) {
  .facilityBlock:nth-child(2) .facilityPhoto .logo {
    right: -20px;
    width: 45px;
  }
}
.facilityBlock:nth-child(3) {
  background: #aec8a7;
}
@media (max-width: 767px) {
  .facilityBlock:nth-child(3) .facilityPhoto .logo {
    width: 30px;
  }
}
.facilityBlock:nth-child(4) {
  background: #b5d5f4;
}
/* =========================================================
pool
========================================================= */
.pool {
  background: #6473a6;
  color: #fff;
}
.pool .wrapper {
  max-width: 1124px;
  padding-block: 150px 120px;
  padding-inline: 0;
}
@media screen and (max-width: 1200px) {
  .pool .wrapper {
    max-width: 84%;
  }
}
@media (max-width: 1024px) {
  .pool .wrapper {
    padding-block: 80px 60px;
  }
}
.poolTitle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.poolTitle .inner {
  display: block;
  aspect-ratio: 930/500;
  max-width: 930px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .poolTitle .inner {
    max-width: 90%;
  }
}
.poolTitle01 {
  position: absolute;
  top: -3.8vw;
  left: -8px;
  height: 7.6vw;
  width: auto;
}
.poolTitle02 {
  position: absolute;
  right: 8px;
  bottom: -4.8vw;
  height: 7.6vw;
  width: auto;
}
.poolCopy {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.031em;
  max-width: 47%;
  margin: 40px auto 0 95px;
}
@media screen and (max-width: 1200px) {
  .poolCopy {
    margin-left: 4vw;
    max-width: 63%;
  }
}
@media (max-width: 1024px) {
  .poolCopy {
    max-width: 90%;
    font-size: 1.5rem;
    margin: 32px auto 0;
  }
}
.pool .photo {
  display: block;
  border-radius: 0;
  margin: 0;
  max-width: 930px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .pool .photo {
    max-width: 90%;
  }
}
.pool .photo img {
  object-fit: cover;
  width: 100%;
  height: auto;
  aspect-ratio: 930/500;
}
.pool .photoWrap {
  position: relative;
}
.pool .btnWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.pool .btnWrap .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 930/500;
  max-width: 930px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .pool .btnWrap .inner {
    max-width: 90%;
  }
}
.pool .btn3 {
  width: 100%;
  height: fit-content;
}
.pool .btn3 a {
  margin-left: auto;
  margin-right: -45px;
}
@media (max-width: 767px) {
  .pool .btn3 a {
    margin-right: -30px;
  }
}

/* =========================================================
sightseeing
========================================================= */
.sightseeingBlock2 {
  position: relative;
  color: #000;
}
.sightseeingBlock2 .wrapper {
  position: relative;
  z-index: 2;
  padding-block: 96px 104px;
  max-width: 1042px;
  align-items: center;
  gap: 0 96px;
  padding-inline: 0;
}
@media (max-width: 1024px) {
  .sightseeingBlock2 .wrapper {
    padding-block: 48px 52px;
    max-width: 84%;
    gap: 0 8%;
  }
}
.sightseeingBlock2 .textBlock {
  position: relative;
  flex-grow: 1;
}
.sightseeingBlock2 .photo {
  display: block;
  border-radius: 0;
  margin: 0;
  width: 44%;
}
@media (max-width: 767px) {
  .sightseeingBlock2 .photo {
    width: 100%;
    margin: 0 0 24px;
  }
}
.sightseeingBlock2 .photo img {
  object-fit: cover;
  width: 100%;
  height: auto;
  aspect-ratio: 460/600;
}
@media (max-width: 767px) {
  .sightseeingBlock2 .photo img {
    aspect-ratio: 460/300;
    object-position: bottom;
  }
}
.sightseeingBlock2 .photoBg {
  position: absolute;
  inset: 0;
  right: auto;
  margin-block: auto;
  width: 34%;
}
.sightseeingBlock2 .photoBg::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  background: rgba(215, 224, 239, 0.6);
  z-index: 1;
}
.sightseeingBlock2 .photoBg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  opacity: 0.3;
}
.sightseeingBlock2 p:not([class]) {
  font-size: 1.4rem;
  line-height: 2;
}
@media (max-width: 1024px) {
  .sightseeingBlock2 p:not([class]) {
    font-size: 1.3rem;
  }
}
.sightseeingBlock2 .btn3 {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media (max-width: 1024px) {
  .sightseeingBlock2 .btn3 {
    position: static;
    margin: 8px 0 0;
  }
  .sightseeingBlock2 .btn3 a {
    margin-left: auto;
  }
}

.suttleBus {
  background: #f5f2e9;
}
.suttleBusCopy {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.94;
  letter-spacing: 0.015em;
  margin: 0 0 16px;
}
@media (max-width: 1024px) {
  .suttleBusCopy {
    font-size: 1.5rem;
    margin: 0 0 8px;
  }
}

.areaMap {
  background: #deeef7;
}
.areaMap .wrapper {
  flex-direction: row-reverse;
}
@media (max-width: 1024px) {
  .areaMap .photo {
    margin-left: auto;
  }
  .areaMap .photo img {
    object-position: center;
  }
}
.areaMap .photoBg {
  right: 0;
  left: auto;
}
.areaMap .photoBg::before {
  background: rgba(166, 193, 222, 0.2);
}
.areaMap .photoBg img {
  opacity: 1;
}

/* =========================================================
SNS
========================================================= */
.snsBlock {
  text-align: center;
  overflow: hidden;
}
.snsBlock .wrapper {
  padding-top: 160px;
  padding-bottom: 150px;
}
@media (max-width: 767px) {
  .snsBlock .wrapper {
    padding: 40px 0;
  }
}
.snsBlock .snsImage img {
  display: block;
  width: 100%;
  height: auto;
}
.snsBlock .sns-content p {
  font-size: 2.4rem;
  color: #000;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .snsBlock .sns-content p {
    font-size: 1.5rem;
  }
}
.snsBlock .sns-content .btn3 {
  display: inline-block;
  margin-top: 45px;
}
@media (max-width: 767px) {
  .snsBlock .sns-content .btn3 {
    margin-top: 20px;
  }
}
.snsBlock .sns-content .btn3 a {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .snsBlock .sns-content .btn3 a img {
    width: 25px;
    height: 25px;
  }
}

/* --- 写真アーチ部分のスタイル --- */
/* .snsBlock .photo-arch {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 15px; 
}

.snsBlock .photo-item {
flex: 0 0 calc(16.66% - 15px); 
  max-width: 180px;
  aspect-ratio: 4 / 5;
  border-radius: 4px; 
  box-sizing: border-box;
  overflow: hidden; 
  transition: transform 0.3s ease; 
}

.snsBlock .photo-item img {
width: 100%;
  height: 100%;
  object-fit: cover;
}

.item1 { transform: translateY(45px) rotate(-18deg); }
.item2 { transform: translateY(20px) rotate(-8deg); } 
.item3 { transform: translateY(-5px) rotate(-2deg); } 
.item4 { transform: translateY(-5px) rotate(3deg); } 
.item5 { transform: translateY(20px) rotate(8deg); } 
.item6 { transform: translateY(45px) rotate(18deg); }  */
/* =========================================================
topics
========================================================= */
.topics {
  background: #fbf5e7;
}
.topics .wrapper {
  padding: 100px 0;
}
@media (max-width: 767px) {
  .topics .wrapper {
    padding: 30px 0;
  }
}

@media (max-width: 767px) {
  .topics .secTitle01.spLeft {
    text-align: center;
  }
}
.topicsList {
  display: block;
  margin-inline: -35px;
}

@media (max-width: 767px) {
  .topicsList {
    width: auto;
    padding-right: 0;
    margin-inline: -12px;
  }
}
.topicsList .slick-list {
  overflow: hidden;
}

.topicsList .listItem {
  margin-inline: 35px;
}

@media (max-width: 767px) {
  .topicsList .listItem {
    margin-inline: 12px;
  }
}
.topicsList .listItem .photo {
  box-shadow: none;
  height: auto;
  border-radius: 0;
}

@media (max-width: 767px) {
  .topicsList .listItem .photo {
    margin-bottom: 10px;
  }
}
/* @media (min-width: 1025px) {
  .topicsList .listItem:nth-child(odd) {
    margin-top: 60px;
  }
} */
.topicsList .listItem .title {
  text-transform: initial;
}

@media (max-width: 767px) {
  .topicsList .listItem .title {
    font-size: 1.2rem;
  }
}
.topicsList .listItem .title::after {
  content: "";
  display: block;
  background: #000;
  width: 10px;
  height: 1px;
  margin-top: 10px;
}

.topicsList .listItem .btnS {
  color: #000;
}

@media (max-width: 767px) {
  .topicsList .listItem .btnS {
    display: block;
    margin-top: 10px;
  }
}
/* .topics .arrows {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 100vmax;
  width: 345px;
  margin: 30px auto 0;
  box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.2);
}
@media (max-width: 767px) {
  .topics .arrows {
    width: 135px;
    height: 16px;
    padding: 0 10px;
  }
} */
@media (max-width: 767px) {
  .topics .arrows {
    margin-top: 10px;
    align-items: center;
    justify-content: center;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 100vmax;
    width: 135px;
    margin: 40px auto 0;
    padding: 0 15px;
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.2);
    background: #fff;
  }
  .topics .arrows .line {
    display: none;
  }
  .topics .arrows .slick-arrow {
    border: none;
    width: 16px;
    height: 16px;
    margin: 0;
    z-index: 0;
  }
  .topics .arrows .slick-arrow svg {
    width: 5px;
    height: 10px;
  }
  .topics .arrows .slick-prev {
    order: -1;
  }
  .topics .arrows::after {
    content: "";
    display: block;
    order: -1;
    background: #000;
    width: 100px;
    height: 1px;
  }
}

.stayPlan .arrows .slick-arrow.slick-prev + .slick-arrow.slick-prev {
  display: none;
}

.stayPlan .arrows .slick-arrow.slick-prev + .slick-arrow.slick-next {
  display: none;
}
@media (max-width: 767px) {
  .stayPlan .arrows .slick-arrow.slick-prev + .slick-arrow.slick-next {
    display: flex !important;
  }
}

/* =========================================================
recommend
========================================================= */
.recommend {
  background: #fbf5e7;
  margin-top: 10px;
}

@media (max-width: 767px) {
  .recommend .secTitle01.spLeft {
    text-align: center;
  }
}
.recommend .wrapper {
  padding-inline: 10%;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  .recommend .wrapper {
    padding-inline: 20%;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.recommendList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 80px;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .recommendList {
    display: block;
    margin-top: 20px;
  }
}
@media (max-width: 767px) {
  .recommendList .listItem + .listItem {
    margin-top: 20px;
  }
}
.recommendList .listItem a {
  height: auto;
  box-shadow: none;
  text-decoration: none;
}

.recommendList .listItem .textBlock {
  position: static;
  background: none;
  height: auto;
  color: #000;
}

.recommendList .listItem .textBlock .title {
  color: inherit;
  text-align: center;
}

.recommendList .listItem .textBlock .btnS,
.recommendList .listItem .textBlock .btn2 {
  display: none;
}

.recommendList .listItem,
.recommendList .listItem:first-child {
  grid-row: 1/1;
  width: auto;
}

.recommendList li a,
.recommendList li .noLink {
  border-radius: 0;
}

.recommendList .listItem .photo,
.recommendList .listItem:first-child .photo {
  border-radius: 0;
  aspect-ratio: 414/280;
}

.recommendList .listItem .textBlock,
.recommendList .listItem:first-child .textBlock {
  padding: 30px 0 0;
}

@media (max-width: 767px) {
  .recommendList .listItem .textBlock,
  .recommendList .listItem:first-child .textBlock {
    width: auto;
    padding: 10px 0 0;
  }
}
.recommendList .listItem .textBlock .title,
.recommendList .listItem:first-child .textBlock .title {
  font-size: 1.8rem;
  text-align: left;
  font-weight: 500;
}

@media (max-width: 767px) {
  .recommendList .listItem .textBlock .title,
  .recommendList .listItem:first-child .textBlock .title {
    font-size: 1.2rem;
  }
}
/* =========================================================
news
========================================================= */
@media (max-width: 767px) {
  .news .secTitle01.spLeft {
    text-align: center;
  }
}
.news .wrapper {
  padding-inline: 75px;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  .news .wrapper {
    padding-inline: 0;
    padding-top: 30px;
  }
}

.newsList {
  border-top: 1px solid #000;
  border-bottom: none;
  padding-inline: 0;
  padding-bottom: 0;
  margin-top: -10px;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .newsList {
    margin-top: 10px;
  }
}
@media (max-width: 767px) {
  .newsList li a,
  .newsList li .noLink {
    padding: 5px 0;
  }
}
@media (max-width: 767px) {
  .newsList li a .title,
  .newsList li .noLink .title {
    font-size: 1.2rem;
  }
}
.newsList li a .icon_link,
.newsList li .noLink .icon_link {
  display: none;
}

.news .btn {
  position: absolute;
  top: 90px;
  right: 75px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .news .btn {
    top: 65px;
  }
}
@media (max-width: 767px) {
  .news .btn {
    position: static;
  }
}
.news .btn a {
  width: 150px;
  height: 40px;
  padding-inline: 0;
  background: #d26230;
}

.news .btn a .mark {
  display: none;
}

body.lang_en .news .btn,
body.lang_fr .news .btn,
body.lang_de .news .btn,
body.lang_es .news .btn,
body.lang_it .news .btn,
body.lang_ms .news .btn,
body.lang_id .news .btn {
  top: 44px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  body.lang_en .news .btn,
  body.lang_fr .news .btn,
  body.lang_de .news .btn,
  body.lang_es .news .btn,
  body.lang_it .news .btn,
  body.lang_ms .news .btn,
  body.lang_id .news .btn {
    top: 19px;
  }
}
/* =========================================================
shareBtn
========================================================= */
.shareBtn {
  background: #fff;
}/*# sourceMappingURL=top.css.map */