@charset "UTF-8";
/* ===================================================================
CSS information

file name  : homepage.scss
author     : Abilive
style info : トップページ
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 基盤・初期設定
=================================================================== */
/* ===================================================================
CSS information

file name  : _variables.scss
author     : Abilive
style info : 基盤・初期設定
=================================================================== */
/* ===================================================================
CSS information

file name  : _mixins.scss
author     : Abilive
style info : 基盤・初期設定
=================================================================== */
.p-pick-up {
  width: 100%;
  padding-top: calc(100 / var(--s-parent-font-size) * 1rem);
  padding-bottom: calc(160 / var(--s-parent-font-size) * 1rem);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .p-pick-up {
    padding-top: calc(40 / var(--s-parent-font-size) * 1rem);
    padding-bottom: calc(60 / var(--s-parent-font-size) * 1rem);
    overflow: hidden;
  }
}
.p-pick-up__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}
.p-pick-up__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-pick-up__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(20%, rgba(255, 255, 255, 0))), -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0.8)), color-stop(20%, rgba(255, 255, 255, 0))), rgba(255, 255, 255, 0.7);
  background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 20%), linear-gradient(to top, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 20%), rgba(255, 255, 255, 0.7);
  pointer-events: none;
}
.p-pick-up__inner {
  position: relative;
  z-index: 1;
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-pick-up__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-pick-up__inner {
    max-width: calc(var(--s-child-width) * 1px * (14 + 2 + 0) / 14);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-pick-up__inner {
    max-width: calc(var(--s-child-width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-pick-up__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (max-width: 767px) {
  .p-pick-up__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (min-width: 768px) {
  .p-pick-up__inner {
    overflow: hidden;
  }
}
.p-pick-up__slider {
  margin-top: calc(20 / var(--s-parent-font-size) * 1rem);
}
.p-pick-up__slider .c-card__link .c-card__image img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-pick-up__slider .c-card__link:hover .c-card__image img, .p-pick-up__slider .c-card__link:focus-visible .c-card__image img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
@media only screen and (max-width: 767px) {
  .p-pick-up__slider .c-slider__element {
    width: calc(260 / 328 * 100%);
  }
}
@media only screen and (min-width: 1025px) {
  .p-pick-up__slider .c-card__image {
    max-width: 311px;
  }
}
.p-pick-up__slider .c-card__image img {
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-pick-up__slider .c-card__image + .c-card__text {
  margin-top: calc(16 / var(--s-parent-font-size) * 1rem) !important;
}

/* ===================================================================
CSS information

file name  : _p-intro.scss
author     : Abilive
style info : p-intro
=================================================================== */
.p-intro {
  position: relative;
  --offset-top: calc(50 / var(--s-parent-font-size) * 1rem);
  margin-top: calc(var(--offset-top) * -1);
}
@media only screen and (max-width: 767px) {
  .p-intro {
    --offset-top: calc(24 / var(--s-parent-font-size) * 1rem);
  }
}
.p-intro__marquee {
  width: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-intro__marquee {
    --marquee-element-size: calc(220 / var(--s-parent-font-size) * 1rem);
    --marquee-scale: 1;
  }
}
@media only screen and (max-width: 767px) {
  .p-intro__marquee {
    --marquee-element-size: calc(146 / var(--s-parent-font-size) * 1rem);
    --marquee-scale: 1;
  }
}
.p-intro__marquee-wrp {
  overflow: hidden;
  position: sticky;
  top: 0;
  padding-top: var(--offset-top);
}
.p-intro__marquee-element:nth-child(even) {
  -webkit-transform: translateY(calc(var(--offset-top) * -1));
          transform: translateY(calc(var(--offset-top) * -1));
}
.p-intro__marquee-element {
  border-bottom-left-radius: 0 !important;
}
.p-intro__body {
  padding-bottom: 50vh;
}
.p-intro__inner {
  padding-top: calc(135 / var(--s-parent-font-size) * 1rem);
  --custom-fade-start: 0%;
  --custom-fade-size: 55.16%;
}
.p-intro__inner > p {
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-intro__inner > p {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-intro__inner > p {
    max-width: calc(var(--s-child-width) * 1px * (14 + 2 + 0) / 14);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-intro__inner > p {
    max-width: calc(var(--s-child-width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-intro__inner > p {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (max-width: 767px) {
  .p-intro__inner > p {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
.p-intro__parallax-offset {
  margin-top: -50vh;
}
.p-intro__text {
  margin-top: calc(20 / var(--s-parent-font-size) * 1rem);
}

.p-rooms {
  position: relative;
  padding-top: calc(120 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-rooms {
    padding-top: calc(120 / var(--s-parent-font-size) * 1rem);
  }
}
.p-rooms::before {
  content: "";
  background: url("../images/home/bg_rooms.webp") no-repeat center top;
  background-size: cover;
  display: block;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  position: sticky;
  top: 0;
  left: 0;
}
.p-rooms__side {
  width: 100%;
  margin-top: calc(var(--vh, 1vh) * 100 * -1);
}
@media only screen and (min-width: 768px) {
  .p-rooms__side {
    padding-top: calc(85 / var(--s-parent-font-size) * 1rem);
    padding-bottom: 1em;
    height: calc(var(--vh, 1vh) * 100);
    position: sticky;
    top: 0;
  }
}
@media only screen and (min-width: 768px) {
  .p-rooms__side-inner {
    width: calc(540 / 1440 * 100%);
    padding-left: calc(120 / 1440 * 100%);
    padding-right: 2em;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-rooms__side-inner {
    padding-left: calc(60 / 1440 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .p-rooms__side-inner > * {
    max-width: calc(300 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-rooms__side-inner {
    width: calc(328 / 368 * 100%);
    margin-right: auto;
    margin-left: auto;
  }
}
.p-rooms__leaf {
  margin-top: 0 !important;
}
.p-rooms__main {
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (max-width: 767px) {
  .p-rooms__main {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
.p-rooms__main {
  padding-top: calc(40 / var(--s-parent-font-size) * 1rem);
  z-index: 1;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-rooms__main {
    padding-bottom: calc(220 / var(--s-parent-font-size) * 1rem);
    margin-right: 0;
    margin-left: auto;
    width: calc(900 / 1440 * 100%);
    margin-top: calc(var(--vh, 1vh) * 100 * -1);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-rooms__main {
    padding-bottom: calc(130 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-rooms__main {
    padding-bottom: calc(76 / var(--s-parent-font-size) * 1rem);
  }
}
.mouse .p-rooms__item {
  -webkit-transition: opacity 0.15s ease-in;
  transition: opacity 0.15s ease-in;
}
.mouse .p-rooms__item:hover, .touch .p-rooms__item.touchstart {
  opacity: 0.7;
}
.touch .p-rooms__item {
  -webkit-tap-highlight-color: transparent;
}
.touch .p-rooms__item.touchend {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}
.p-rooms__item .c-media-card__image img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-rooms__item:hover .c-media-card__image img, .p-rooms__item:focus-visible .c-media-card__image img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
.p-rooms__item + .p-rooms__item {
  margin-top: calc(60 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-rooms__item + .p-rooms__item {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-rooms__bottom {
    margin-top: calc(36 / var(--s-parent-font-size) * 1rem);
  }
}

.p-restaurant {
  background: url("../images/home/bg_restaurant.png") no-repeat center top/100% auto;
  padding-top: calc(190 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-restaurant {
    padding-top: calc(120 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant {
    padding-top: calc(80 / var(--s-parent-font-size) * 1rem);
  }
}
.p-restaurant__header-inner {
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-restaurant__header-inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-3);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-restaurant__header-inner {
    max-width: calc(var(--s-child-width) * 1px * (14 + 2 + 0) / 14);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-restaurant__header-inner {
    max-width: calc(var(--s-child-width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-restaurant__header-inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant__header-inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
.p-restaurant__header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: calc(60 / var(--s-parent-font-size) * 1rem);
     -moz-column-gap: calc(60 / var(--s-parent-font-size) * 1rem);
          column-gap: calc(60 / var(--s-parent-font-size) * 1rem);
  row-gap: calc(12 / var(--s-parent-font-size) * 1rem);
}
.p-restaurant__header-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: calc(10 / var(--s-parent-font-size) * 1rem);
}
.p-restaurant__slider {
  margin-top: calc(40 / var(--s-parent-font-size) * 1rem);
}
.p-restaurant__btn {
  margin-top: calc(48 / var(--s-parent-font-size) * 1rem);
}

.p-restaurant-item {
  margin-top: calc(80 / var(--s-parent-font-size) * 1rem);
}
.p-restaurant-item__inner {
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-restaurant-item__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-restaurant-item__inner {
    max-width: calc(var(--s-child-width) * 1px * (14 + 2 + 0) / 14);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-restaurant-item__inner {
    max-width: calc(var(--s-child-width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-restaurant-item__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-item__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (min-width: 1025px) {
  .p-restaurant-item__inner {
    max-width: calc(1200px * (var(--s-parent-font-size) + 2 + 0) / var(--s-parent-font-size));
  }
}
@media only screen and (min-width: 768px) {
  .p-restaurant-item__inner {
    --media-width: calc(855 / 1200 * 100%);
    --body-width: calc(270 / 1200 * 100%);
  }
}
.p-restaurant-item__media {
  max-width: 977px;
  margin-right: 0;
  margin-left: auto;
}
.p-restaurant-item__media > a {
  display: block;
}
.mouse .p-restaurant-item__media > a {
  -webkit-transition: opacity 0.15s ease-in;
  transition: opacity 0.15s ease-in;
}
.mouse .p-restaurant-item__media > a:hover, .touch .p-restaurant-item__media > a.touchstart {
  opacity: 0.7;
}
.mouse .p-restaurant-item__media > a:hover img, .touch .p-restaurant-item__media > a.touchstart img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
.touch .p-restaurant-item__media > a {
  -webkit-tap-highlight-color: transparent;
}
.touch .p-restaurant-item__media > a.touchend {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}
.p-restaurant-item__media > a img {
  display: block;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-hotel-amenities {
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-hotel-amenities {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-hotel-amenities {
    max-width: calc(var(--s-child-width) * 1px * (14 + 2 + 0) / 14);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-hotel-amenities {
    max-width: calc(var(--s-child-width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-hotel-amenities {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (max-width: 767px) {
  .p-hotel-amenities {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
.p-hotel-amenities {
  margin-top: calc(62 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-hotel-amenities {
    margin-top: calc(62 / var(--s-parent-font-size) * 1rem);
    padding-bottom: calc(100 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-hotel-amenities {
    margin-top: calc(62 / var(--s-parent-font-size) * 1rem);
  }
}
.p-hotel-amenities__catch {
  margin-top: calc(24 / 14 / (24 / 14) * 1em);
}
.p-hotel-amenities__text {
  margin-top: calc(20 / 14 / (14 / 14) * 1em);
}
@media only screen and (min-width: 768px) {
  .p-hotel-amenities__list {
    margin-top: calc(60 / var(--s-parent-font-size) * 1rem);
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr calc(28 / 1320 * 100%) 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: calc(28 / 1320 * 100%);
       -moz-column-gap: calc(28 / 1320 * 100%);
            column-gap: calc(28 / 1320 * 100%);
    row-gap: calc(40 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-hotel-amenities__list {
    margin-top: calc(40 / var(--s-parent-font-size) * 1rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(40 / var(--s-parent-font-size) * 1rem);
  }
}
.p-hotel-amenities__item {
  max-width: 738px;
}
.p-hotel-amenities__item .c-media-card__image img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-hotel-amenities__item:hover .c-media-card__image img, .p-hotel-amenities__item:focus-visible .c-media-card__image img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
.p-hotel-amenities__btn {
  margin-top: calc(60 / var(--s-parent-font-size) * 1rem);
  padding-bottom: calc(160 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-hotel-amenities__btn {
    margin-top: calc(40 / var(--s-parent-font-size) * 1rem);
    padding-bottom: calc(40 / var(--s-parent-font-size) * 1rem);
  }
}

.p-stay {
  position: relative;
}
.p-stay::before {
  content: "";
  background: url("../images/home/bg_stay_01.png") no-repeat center top;
  background-size: cover;
  display: block;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  position: sticky;
  top: 0;
}
.p-stay__inner {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-stay__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-stay__inner {
    max-width: calc(var(--s-child-width) * 1px * (14 + 2 + 0) / 14);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-stay__inner {
    max-width: calc(var(--s-child-width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-stay__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
@media only screen and (max-width: 767px) {
  .p-stay__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-1);
  }
}
.p-stay__inner {
  margin-top: calc(var(--vh, 1vh) * -100);
  padding-top: calc(160 / var(--s-parent-font-size) * 1rem);
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .p-stay__inner {
    padding-top: calc(60 / var(--s-parent-font-size) * 1rem);
  }
}
.p-stay__side {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .p-stay__side {
    padding-bottom: 1em;
    height: calc(var(--vh, 1vh) * 100);
    position: sticky;
    top: 0;
    padding-top: calc(30 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-stay__side-inner {
    width: calc(540 / 1320 * 100%);
  }
}
.p-stay__leaf {
  margin-top: 0 !important;
}
.p-stay__main {
  z-index: 1;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-stay__main {
    padding-bottom: calc(175 / var(--s-parent-font-size) * 1rem);
    margin-right: 0;
    margin-left: auto;
    width: calc(841 / 1320 * 100%);
    margin-top: calc(var(--vh, 1vh) * 100 * -1);
    max-width: 960px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-stay__main {
    padding-bottom: calc(100 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-stay__main {
    padding-bottom: calc(90 / var(--s-parent-font-size) * 1rem);
    margin-top: calc(28 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-stay__footer {
    margin-top: calc(28 / var(--s-parent-font-size) * 1rem);
    text-align: center;
  }
}
.p-stay__item .c-media-card__image img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-stay__item:hover .c-media-card__image img, .p-stay__item:focus-visible .c-media-card__image img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
.p-stay__item + .p-stay__item {
  margin-top: calc(60 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-stay__item + .p-stay__item {
    margin-top: calc(28 / var(--s-parent-font-size) * 1rem);
  }
}

.p-sightseeing {
  padding-top: calc(200 / var(--s-parent-font-size) * 1rem);
  padding-bottom: calc(80 / var(--s-parent-font-size) * 1rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-sightseeing {
    padding-top: calc(100 / var(--s-parent-font-size) * 1rem);
    padding-bottom: calc(40 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing {
    padding-top: calc(75 / var(--s-parent-font-size) * 1rem);
    padding-bottom: calc(60 / var(--s-parent-font-size) * 1rem);
  }
}
.p-sightseeing__catch {
  margin-bottom: calc(16 / var(--s-parent-font-size) * 1rem);
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__map {
    width: calc(694 / 1440 * 100%);
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .p-sightseeing__map {
    width: calc(794 / 1440 * 100%);
  }
}
.p-sightseeing__map-img {
  width: 86%;
  margin-right: auto;
  margin-left: auto;
  max-width: calc(570 / var(--s-parent-font-size) * 1rem);
}
.p-sightseeing__map-img img {
  max-width: 650px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.p-sightseeing__map-links {
  margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-sightseeing__map-links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-sightseeing__slider .c-card__link .c-card__image img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-sightseeing__slider .c-card__link:hover .c-card__image img, .p-sightseeing__slider .c-card__link:focus-visible .c-card__image img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider {
    overflow: hidden;
    width: calc(746 / 1440 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-sightseeing__slider {
    width: calc(646 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider {
    margin-top: calc(40 / var(--s-parent-font-size) * 1rem);
    width: calc(250 / 368 * 100%);
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slide__inner {
    width: calc(286 / 306 * 100%);
    margin-left: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-sightseeing__slider .c-slide__inner {
    width: calc(230 / 250 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slide__inner {
    width: calc(230 / 250 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="1"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="0"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="3"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="2"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="5"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="4"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="7"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="6"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="9"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="8"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="11"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="10"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="13"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="12"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="15"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="14"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="17"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="16"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="19"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="18"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="21"] {
    margin-top: calc(50 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide[data-swiper-slide-index="20"] {
    margin-top: calc(32 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-sightseeing__slider .c-slider__slide {
    width: calc(306 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-sightseeing__slider .c-slider__slide {
    width: 100%;
  }
}
.p-sightseeing__slider .c-slider__ctrls {
  margin-top: calc(60 / var(--s-parent-font-size) * 1rem);
}

.p-news {
  background: url("../images/home/bg_news.png") no-repeat center top;
}
@media only screen and (min-width: 768px) {
  .p-news {
    --list-padding: calc(24 / var(--s-parent-font-size) * 1rem);
    margin-top: calc(100 / var(--s-parent-font-size) * 1rem);
    padding-bottom: calc(100 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-news {
    margin-top: 0;
    --list-padding: calc(16 / var(--s-parent-font-size) * 1rem);
    padding-bottom: 3em;
  }
}
.p-news__inner {
  margin-right: auto;
  margin-left: auto;
  --s-container-width: var(--s-content-0);
}
@media only screen and (min-width: 1025px) {
  .p-news__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-2);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .p-news__inner {
    max-width: calc(var(--s-child-width) * 1px * (14 + 2 + 0) / 14);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .p-news__inner {
    max-width: calc(var(--s-child-width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-news__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-2);
  }
}
@media only screen and (max-width: 767px) {
  .p-news__inner {
    width: calc(var(--s-child-width) / var(--s-container-width) * 100%);
    --s-child-width: var(--s-content-2);
  }
}
@media only screen and (min-width: 768px) {
  .p-news__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-news__box-st {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .p-news__box-st {
    width: calc(270 / 1200 * 100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: calc(60 / var(--s-parent-font-size) * 1rem);
  }
}
.p-news__list {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .p-news__list {
    margin-right: 0;
    margin-left: auto;
    width: calc(930 / 1200 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-news__list {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-news__item:first-child .p-news__item-link {
    margin-top: calc(var(--list-padding) * -1);
  }
}
.p-news__item {
  border-bottom: 1px solid var(--s-color-line-divider);
}
.p-news__item-link {
  display: block;
  text-decoration: none;
  padding-top: var(--list-padding);
  padding-bottom: var(--list-padding);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: calc(12 / var(--s-parent-font-size) * 1rem);
     -moz-column-gap: calc(12 / var(--s-parent-font-size) * 1rem);
          column-gap: calc(12 / var(--s-parent-font-size) * 1rem);
  row-gap: calc(10 / var(--s-parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-news__item-link {
    padding-inline: calc(16 / var(--s-parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-news__item-link {
    padding-inline: calc(12 / var(--s-parent-font-size) * 1rem);
  }
}
.p-news__item-text {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-news__footer {
    margin-top: 2rem;
  }
}