@charset "UTF-8";
/* -----------------------------------------------
  Variables
--------------------------------------------------*/
:root {
  --color-text: #000;
  --color-bg: #fff;
  --color-base: #0091d7;
  --color-link: #176ca9;
  --color-hover: rgb(36.5, 183.8604651163, 255);
  --color-visited: #176ca9;
  --color-error: #dd0000;
  --swiper-theme-color: #0091d7;
}

/* -----------------------------------------------
  Mixins
--------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

.body {
  background-color: #e5ecf3;
}

.header__logo {
  display: none;
}

.content {
  position: relative;
}

.c-en-c {
  font-family: "Funnel Display", sans-serif;
  font-weight: 300;
  letter-spacing: -0.04em;
}

.c-text-annotation {
  color: #7f878d;
  font-size: min(1.3rem, 0.962962963vw);
}

a:-moz-any-link {
  color: inherit;
}

a:any-link {
  color: inherit;
}

.header__text {
  color: #176ca9;
}

.page-title {
  background: url("../../images/concept/new/bg_page-title.webp") no-repeat bottom/cover;
  height: 35.9259259259vw;
}
.page-title__inner {
  height: 100%;
  max-width: 76.6666666667vw;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.page-title h1 {
  color: var(--color-base);
  margin-block: 0 13.3333333333vw;
}
.page-title h1 span {
  display: block;
}
.page-title h1 .c-en-c {
  font-family: "Funnel Display", sans-serif;
  font-size: min(6rem, 4.4444444444vw);
  font-weight: 500;
  background: #38b5f6;
  background: linear-gradient(90deg, rgb(56, 181, 246) 0%, rgb(0, 112, 171) 76%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.page-title h1 .c-ja {
  font-size: min(2.2rem, 1.6296296296vw);
}

.section__title {
  position: relative;
  text-align: center;
  margin-block: 0 min(3.5rem, 2.5925925926vw);
}
.section__title span {
  position: relative;
  display: block;
}
.section__title .circle {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.section__title .circle img {
  position: absolute;
  top: calc(min(5rem, 3.7037037037vw) * -1);
  left: calc(min(5rem, 3.7037037037vw) * -1);
  width: min(11.7rem, 8.6666666667vw);
  animation: rotation 25s linear infinite;
}
.section__title .circle .circle-item {
  position: absolute;
  top: calc(min(5rem, 3.7037037037vw) * -1);
  left: calc(min(5rem, 3.7037037037vw) * -1);
  width: min(11.7rem, 8.6666666667vw);
  height: min(11.7rem, 8.6666666667vw);
  -webkit-mask-image: url("../../images/concept/new/mask_check-out-reason.svg");
          mask-image: url("../../images/concept/new/mask_check-out-reason.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
  animation: rotation 25s linear infinite;
}
.section__title .circle .circle-item.--check01 {
  -webkit-mask-image: url("../../images/concept/new/mask_check-out-reason-01.svg");
          mask-image: url("../../images/concept/new/mask_check-out-reason-01.svg");
}
.section__title .circle .circle-item.--check02 {
  -webkit-mask-image: url("../../images/concept/new/mask_check-out-reason-02.svg");
          mask-image: url("../../images/concept/new/mask_check-out-reason-02.svg");
}
.section__title .circle .circle-item.--check03 {
  -webkit-mask-image: url("../../images/concept/new/mask_check-out-reason-03.svg");
          mask-image: url("../../images/concept/new/mask_check-out-reason-03.svg");
}
.section__title .circle .circle-item.--check04 {
  -webkit-mask-image: url("../../images/concept/new/mask_check-out-reason-04.svg");
          mask-image: url("../../images/concept/new/mask_check-out-reason-04.svg");
}
.section__title .circle .circle-item.--check05 {
  -webkit-mask-image: url("../../images/concept/new/mask_check-out-reason-05.svg");
          mask-image: url("../../images/concept/new/mask_check-out-reason-05.svg");
}
.section__title .circle .circle-item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background: linear-gradient(180deg, rgb(143, 170, 207) 0%, rgb(250, 234, 244) 100%);
  animation: rotation 25s linear infinite reverse;
}
.section__title .c-en-c {
  font-size: min(5.2rem, 3.8518518519vw);
  font-weight: normal;
  line-height: 1;
  letter-spacing: -0.025em;
  padding-bottom: min(2rem, 1.4814814815vw);
  z-index: 1;
}
.section__title .c-en-c::before, .section__title .c-en-c::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: min(1.1rem, 0.8148148148vw);
  height: min(0.4rem, 0.2962962963vw);
  background: #c9d4e2;
}
.section__title .c-en-c::after {
  left: auto;
  right: 50%;
  background: var(--color-base);
}
.section__title .c-ja {
  font-size: min(2.2rem, 1.6296296296vw);
  margin-top: min(1.5rem, 1.1111111111vw);
  z-index: 1;
}

@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes loop-horizontal {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes loop-horizontal2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-200%);
  }
}
@keyframes loop {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-200%);
  }
}
.section__text {
  font-size: min(1.6rem, 1.1851851852vw);
  line-height: 2;
  text-align: center;
  margin-block: 0;
}

.circle-arrow {
  position: relative;
  top: -2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(1.8rem, 1.3333333333vw);
  height: min(1.8rem, 1.3333333333vw);
  border: 1px solid #fff;
  border-radius: min(1.8rem, 1.3333333333vw);
  margin-right: min(0.5rem, 0.3703703704vw);
}
.circle-arrow .c-icon {
  fill: #fff;
  width: min(0.9rem, 0.6666666667vw);
  height: min(0.7rem, 0.5185185185vw);
  margin: 0;
}

.local-navigation {
  position: absolute;
  right: min(1rem, 0.7407407407vw);
  top: 5.9259259259vw;
  margin-block: auto;
  height: -moz-fit-content;
  height: fit-content;
}
.local-navigation ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
}
.local-navigation .lnavi-link {
  color: var(--color-base);
  text-decoration: none;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  -moz-column-gap: min(1rem, 0.7407407407vw);
       column-gap: min(1rem, 0.7407407407vw);
  width: min(5rem, 3.7037037037vw);
  height: min(5rem, 3.7037037037vw);
}
.local-navigation .lnavi-link .lnavi-text {
  font-size: min(1.6rem, 1.1851851852vw);
  font-weight: bold;
  line-height: 1.3;
  text-align: right;
  position: absolute;
  right: min(7rem, 5.1851851852vw);
  width: min(10rem, 7.4074074074vw);
  opacity: 0;
  visibility: hidden;
  text-shadow: 0 0 3px rgba(82, 110, 120, 0.1);
}
.local-navigation .lnavi-link .lnavi-text,
.local-navigation .lnavi-link .c-icon {
  margin: 0;
  transition: 0.3s;
}
.local-navigation .lnavi-link::after {
  content: "";
  position: absolute;
  right: min(1.5rem, 1.1111111111vw);
  margin-block: 0;
  width: min(0.8rem, 0.5925925926vw);
  height: min(0.8rem, 0.5925925926vw);
  background: var(--color-base);
  border-radius: 50%;
  transform: translatex(100%);
  opacity: 0;
  transition: 0.3s;
}
.local-navigation .lnavi-link:hover .c-icon {
  transform: translatex(min(-2rem, -1.4814814815vw));
}
.local-navigation .lnavi-link:hover::after,
.local-navigation .lnavi-link:hover .lnavi-text {
  opacity: 1;
  visibility: visible;
}
.local-navigation .c-icon {
  fill: var(--color-base);
  filter: drop-shadow(1px 1px 2px rgba(82, 110, 120, 0.15));
}
.local-navigation .c-icon.icon-admission {
  width: min(3.1rem, 2.2962962963vw);
  height: min(2.4rem, 1.7777777778vw);
}
.local-navigation .c-icon.icon-contact {
  width: min(3rem, 2.2222222222vw);
  height: min(2rem, 1.4814814815vw);
}
.local-navigation .c-icon.icon-fee {
  width: min(2rem, 1.4814814815vw);
  height: min(2.3rem, 1.7037037037vw);
}

.page-navigation {
  position: absolute;
  top: calc(min(5rem, 3.7037037037vw) * -1);
  left: min(4rem, 2.962962963vw);
}
.page-navigation ul {
  border-left: 1px solid #000;
}
.page-navigation li a {
  position: relative;
  display: block;
  padding: min(1rem, 0.7407407407vw) min(1.8rem, 1.3333333333vw);
}
.page-navigation li a:-moz-any-link {
  color: var(--color-text);
  text-decoration: none;
}
.page-navigation li a:any-link {
  color: var(--color-text);
  text-decoration: none;
}
.page-navigation li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: min(0.3rem, 0.2222222222vw);
  height: 100%;
  background: var(--color-base);
  transition: 0.3s;
  opacity: 0;
}
.page-navigation li.stay a, .page-navigation li:hover a {
  font-weight: bold;
}
.page-navigation li.stay a::before, .page-navigation li:hover a::before {
  opacity: 1;
}

.navi-area {
  padding-top: min(5rem, 3.7037037037vw);
  padding-bottom: min(7rem, 5.1851851852vw);
  max-width: min(122rem, 90.3703703704vw);
  margin-inline: auto;
}
.navi-area__title {
  font-size: min(2.4rem, 1.7777777778vw);
  line-height: inherit;
  text-align: center;
  margin-block: 0;
  margin-top: 1em;
  background: #38b5f6;
  background: linear-gradient(90deg, rgb(56, 181, 246) 0%, rgb(0, 112, 171) 76%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.navi-area__list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  row-gap: min(3.5rem, 2.5925925926vw);
  -moz-column-gap: min(4rem, 2.962962963vw);
       column-gap: min(4rem, 2.962962963vw);
}
.navi-area__list li {
  flex: 0 0 min(32.5rem, 24.0740740741vw);
  text-align: center;
}
.navi-area__list .lnavi-link {
  display: block;
}
.navi-area__list .lnavi-link::before, .navi-area__list .lnavi-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: min(0.7rem, 0.5185185185vw);
  width: calc(50% - min(1.1rem, 0.8148148148vw));
  height: 1px;
  background: #7f878d;
}
.navi-area__list .lnavi-link::after {
  left: auto;
  right: 0;
}
.navi-area__list .lnavi-link span {
  display: block;
}
.navi-area__list .lnavi-link .c-en-c {
  color: var(--color-base);
  font-size: min(1.5rem, 1.1111111111vw);
  margin-bottom: min(0.5rem, 0.3703703704vw);
}
.navi-area__list .lnavi-link .c-ja {
  font-size: min(1.7rem, 1.2592592593vw);
  font-weight: bold;
}
.navi-area__list .lnavi-link .c-icon {
  fill: #8c8f99;
  width: min(1.1rem, 0.8148148148vw);
  height: min(1.5rem, 1.1111111111vw);
  margin-top: min(1.4rem, 1.037037037vw);
}
.navi-area__list .lnavi-link:-moz-any-link {
  color: var(--color-text);
  text-decoration: none;
}
.navi-area__list .lnavi-link:any-link {
  color: var(--color-text);
  text-decoration: none;
}

.experience {
  position: relative;
  padding-top: min(8rem, 5.9259259259vw);
  padding-bottom: min(6.5rem, 4.8148148148vw);
}
.experience .bg-white {
  position: absolute;
  top: calc(min(16rem, 11.8518518519vw) * -1);
  left: 0;
  right: 0;
  margin-inline: auto;
  opacity: 0.9;
  pointer-events: none;
}
.experience__inner {
  position: relative;
  max-width: min(122rem, 90.3703703704vw);
  margin-inline: auto;
  margin-bottom: min(6.5rem, 4.8148148148vw);
}
.experience__wrapper:not(.--half) {
  position: relative;
  width: 100%;
  height: 45.7777777778vw;
}
.experience__wrapper.--half {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.experience__wrapper-item {
  position: relative;
  width: 50%;
  height: 41.6296296296vw;
  background: #fff;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: space-between;
}
.experience__wrapper-item.is-sup {
  -webkit-mask-image: url("../../images/concept/new/mask_experience-sup.svg");
          mask-image: url("../../images/concept/new/mask_experience-sup.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.experience__wrapper-item.is-sup .experience__overview {
  margin-left: calc((100vw - min(122rem, 90.3703703704vw)) / 2);
  padding-inline: 0 2.962962963vw;
  margin-bottom: 3.7037037037vw;
}
.experience__wrapper-item.is-horse {
  -webkit-mask-image: url("../../images/concept/new/mask_experience-horse.svg");
          mask-image: url("../../images/concept/new/mask_experience-horse.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
  margin-top: calc(1.4814814815vw * -1);
}
.experience__wrapper-item.is-horse .experience__overview {
  margin-right: calc((100vw - min(128rem, 94.8148148148vw)) / 2);
  padding-inline: 2.962962963vw 0;
  margin-top: 3.7037037037vw;
}
.experience__bg {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-mask-image: url("../../images/concept/new/mask_experience.svg");
          mask-image: url("../../images/concept/new/mask_experience.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.experience__div {
  position: absolute;
  top: calc(min(3.5rem, 2.5925925926vw) * -1);
  width: min(45.5rem, 33.7037037037vw);
  height: min(59.7rem, 44.2222222222vw);
  background: #fff;
  padding: min(0.8rem, 0.5925925926vw);
  -webkit-mask-image: url("../../images/concept/new/mask_experience-div.svg");
          mask-image: url("../../images/concept/new/mask_experience-div.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
  box-shadow: 0 0 40px rgba(76, 82, 87, 0.08);
}
.experience__div.is-spa {
  right: calc((100vw - min(119rem, 88.1481481481vw)) / 2);
}
.experience__div.is-sauna {
  left: calc((100vw - min(119rem, 88.1481481481vw)) / 2);
}
.experience__overview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: min(3.2rem, 2.3703703704vw);
  margin-block: min(3rem, 2.2222222222vw);
}
.experience__overview-title {
  position: relative;
  flex-shrink: 0;
  border-left: 1px solid var(--color-text);
  padding: min(2rem, 1.4814814815vw) min(2.9rem, 2.1481481481vw);
  margin-block: 0;
}
.experience__overview-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: min(0.2rem, 0.1481481481vw);
  width: 1px;
  height: 100%;
  background: var(--color-text);
}
.experience__overview-title span {
  display: block;
  line-height: 1;
}
.experience__overview-title .c-en-c {
  font-size: min(4.1rem, 3.037037037vw);
}
.experience__overview-title .c-ja {
  font-size: min(1.8rem, 1.3333333333vw);
  margin-top: min(2rem, 1.4814814815vw);
}
.experience__overview-list li {
  color: var(--color-base);
  font-size: min(1.5rem, 1.1111111111vw);
  letter-spacing: 0.05em;
  padding-left: min(2.2rem, 1.6296296296vw);
  margin-block: min(0.6rem, 0.4444444444vw);
}
.experience__overview-list li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  margin-block: auto;
  left: 0;
  width: min(1rem, 0.7407407407vw);
  height: 1px;
  background: var(--color-base);
}
.experience__overview-text {
  color: #606a70;
  font-size: min(1.5rem, 1.1111111111vw);
  margin: 0 min(3.2rem, 2.3703703704vw);
}
.experience__overview-text.--half {
  margin-inline: 0;
}
.experience__inner .c-text-annotation {
  text-align: right;
  margin-top: 0;
}

.stays {
  position: relative;
  padding-top: min(8rem, 5.9259259259vw);
  padding-bottom: min(8rem, 5.9259259259vw);
}
.stays .bg-white {
  position: absolute;
  top: calc(min(18rem, 13.3333333333vw) * -1);
  left: 0;
  right: 0;
  margin-inline: auto;
  opacity: 0.9;
  pointer-events: none;
}
.stays__inner {
  position: relative;
  margin-bottom: min(7rem, 5.1851851852vw);
  z-index: 1;
}
.stays__all {
  background: #fcfcfc;
  padding-bottom: min(0.5rem, 0.3703703704vw);
}
.stays__wrapper {
  width: 100%;
  background: #fff;
  background: linear-gradient(0deg, rgb(251, 251, 251) 0%, rgb(255, 255, 255) 30%);
  margin-top: min(0.5rem, 0.3703703704vw);
  filter: drop-shadow(0 0 40px rgba(76, 82, 87, 0.08));
}
.stays__wrapper .inner {
  position: relative;
  max-width: min(135rem, 100vw);
  margin-inline: auto;
}
.stays__div {
  position: relative;
  width: 51.4814814815vw;
  margin-left: calc(-50vw + 50%);
  top: calc(min(2.5rem, 1.8518518519vw) * -1);
}
.stays__div.--for-men {
  margin-left: auto;
  margin-right: calc(-50vw + 50%);
}
.stays__div .stays__image {
  width: 100%;
  -webkit-mask-image: url("../../images/concept/new/mask_stay.svg");
          mask-image: url("../../images/concept/new/mask_stay.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.stays__div .stays__text {
  font-size: min(1.5rem, 1.1111111111vw);
  margin-block: min(4rem, 2.962962963vw) 0;
  margin-left: calc((100vw - min(122rem, 90.3703703704vw)) / 2);
  margin-right: min(2rem, 1.4814814815vw);
  padding-bottom: min(4rem, 2.962962963vw);
}
.stays__div .stays__text.--for-men {
  margin-left: min(2rem, 1.4814814815vw);
  margin-right: calc((100vw - min(122rem, 90.3703703704vw)) / 2);
}
.stays__title {
  position: absolute;
  top: 11.1111111111vw;
  left: min(77rem, 57.037037037vw);
}
.stays__title.--for-men {
  left: min(44.7rem, 33.1111111111vw);
}
.stays__title h3 {
  margin-block: 0;
}
.stays__title h3 span {
  display: block;
  text-align: center;
}
.stays__title h3 .c-ja {
  font-size: min(1.2rem, 0.8888888889vw);
  margin-bottom: min(0.5rem, 0.3703703704vw);
}
.stays__title h3 .c-en-c {
  font-size: min(4rem, 2.962962963vw);
  line-height: 1.2;
}
.stays__title h3 .u-text-sm {
  font-size: min(2rem, 1.4814814815vw);
}
.stays__title h3 .c-label {
  font-size: min(1.3rem, 0.962962963vw);
  letter-spacing: 0.1em;
  padding: min(0.5rem, 0.3703703704vw) min(1rem, 0.7407407407vw);
  border: 1px solid;
  border-radius: 3px;
  margin-top: min(1.5rem, 1.1111111111vw);
}
.stays .gallery-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  width: min(37.2rem, 27.5555555556vw);
  height: 45.1111111111vw;
  overflow: hidden;
}
.stays .gallery-wrapper.--for-men {
  right: auto;
  left: 0;
}
.stays__gallery {
  width: min(37.2rem, 27.5555555556vw);
  height: min(78.3rem, 58vw);
  animation: scroll-vertical-stay 24s linear infinite;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}
.stays__gallery img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
@keyframes scroll-vertical-stay {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
.stays .--txt-for-women {
  position: absolute;
  top: min(4.8rem, 3.5555555556vw);
  left: min(66.5rem, 49.2592592593vw);
  width: 18.5925925926vw;
}
.stays .--img-for-women {
  position: absolute;
  bottom: min(2.5rem, 1.8518518519vw);
  right: min(35.2rem, 26.0740740741vw);
  width: min(9.3rem, 6.8888888889vw);
}
.stays .--txt-for-men {
  position: absolute;
  top: min(6.7rem, 4.962962963vw);
  left: min(34.2rem, 25.3333333333vw);
  width: 14.0740740741vw;
}
.stays .--img-for-men {
  position: absolute;
  bottom: min(2.5rem, 1.8518518519vw);
  left: min(35.4rem, 26.2222222222vw);
  width: min(11.2rem, 8.2962962963vw);
}
.stays .--txt-for-group {
  position: absolute;
  top: min(4.8rem, 3.5555555556vw);
  left: min(66.5rem, 49.2592592593vw);
  width: 16.8888888889vw;
}
.stays .--img-for-group {
  position: absolute;
  bottom: min(2.5rem, 1.8518518519vw);
  left: min(78.2rem, 57.9259259259vw);
  width: min(21.1rem, 15.6296296296vw);
}

.superior {
  position: relative;
  padding-top: min(6rem, 4.4444444444vw);
  background: #E5ECF3;
  background: linear-gradient(0deg, rgb(229, 236, 243) 0%, rgb(215, 226, 233) 100%);
  z-index: 1;
}
.superior__title {
  margin-block: 0 min(3rem, 2.2222222222vw);
  text-align: center;
}
.superior__title span {
  display: block;
}
.superior__title .c-en-c {
  font-size: min(3.6rem, 2.6666666667vw);
}
.superior__title .c-ja {
  font-size: min(1.8rem, 1.3333333333vw);
  margin-top: min(2rem, 1.4814814815vw);
}
.superior__wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: min(2rem, 1.4814814815vw);
  filter: drop-shadow(0 0 40px rgba(76, 82, 87, 0.08));
}
.superior__div {
  width: calc(50% - min(0.25rem, 0.1851851852vw));
}
.superior__div.--hotel-o {
  -webkit-mask-image: url("../../images/concept/new/mask_superior-l.svg");
          mask-image: url("../../images/concept/new/mask_superior-l.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.superior__div.--grampremier {
  -webkit-mask-image: url("../../images/concept/new/mask_superior-r.svg");
          mask-image: url("../../images/concept/new/mask_superior-r.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.superior__div .inner {
  position: relative;
}
.superior__div .inner.--hotel-o {
  height: 22.8148148148vw;
  padding-block: min(3rem, 2.2222222222vw);
  padding-left: calc((100vw - min(122rem, 90.3703703704vw)) / 2);
  margin-top: calc(1.1111111111vw * -1);
}
.superior__div .inner.--grampremier {
  height: 22.8148148148vw;
  padding-block: min(3rem, 2.2222222222vw);
  padding-right: calc((100vw - min(122rem, 90.3703703704vw)) / 2);
  padding-left: min(6rem, 4.4444444444vw);
  margin-top: calc(1.1111111111vw * -1);
}
.superior__div .mask-item-l {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + 1px);
  max-width: none;
}
.superior__div .mask-item-r {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + 1px);
  max-width: none;
}
.superior .gallery-wrapper {
  position: relative;
  display: flex;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.superior__gallery {
  animation: scroll-horizontal-superior 30s infinite linear 1s both;
}
.superior__gallery img {
  width: min(104rem, 77.037037037vw);
  max-width: none;
}
@keyframes scroll-horizontal-superior {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.superior__overlay {
  position: absolute;
  bottom: min(5rem, 3.7037037037vw);
  color: #fff;
}
.superior__overlay.--hotel-o {
  left: calc((100vw - min(122rem, 90.3703703704vw)) / 2);
}
.superior__overlay.--grampremier {
  left: min(6rem, 4.4444444444vw);
}
.superior__overlay .overlay-title {
  margin-bottom: min(1.5rem, 1.1111111111vw);
}
.superior__overlay .overlay-title span {
  display: block;
}
.superior__overlay .overlay-title .c-en-c {
  font-size: min(3.6rem, 2.6666666667vw);
  font-weight: 500;
}
.superior__overlay .overlay-title .c-ja {
  font-size: min(1.8rem, 1.3333333333vw);
}
.superior__overlay .overlay-link {
  font-size: min(1.6rem, 1.1851851852vw);
}
.superior__subtitle {
  position: relative;
  font-size: min(1.9rem, 1.4074074074vw);
  letter-spacing: -0.01em;
  white-space: nowrap;
  margin-block: 0 min(1.5rem, 1.1111111111vw);
  z-index: 1;
}
.superior__text {
  position: relative;
  font-size: min(1.5rem, 1.1111111111vw);
  margin-block: min(1rem, 0.7407407407vw) 0;
  z-index: 1;
}
.superior .c-text-annotation {
  position: relative;
  top: calc(8.8888888889vw * -1);
}

.section__buttons.--facilities {
  margin-top: calc(4.4444444444vw * -1);
}

.gourmet {
  position: relative;
  padding-top: min(8rem, 5.9259259259vw);
  padding-bottom: min(6rem, 4.4444444444vw);
  /* 無限に上へスクロール */
}
.gourmet .bg-white {
  position: absolute;
  top: calc(min(49.5rem, 36.6666666667vw) * -1);
  left: 0;
  right: 0;
  margin-inline: auto;
  opacity: 0.9;
  pointer-events: none;
}
.gourmet .c-text-annotation {
  text-align: left;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.gourmet__inner {
  position: relative;
  text-align: center;
  margin-bottom: min(3rem, 2.2222222222vw);
}
.gourmet__wrapper {
  position: relative;
  filter: drop-shadow(0 5px 40px rgba(43, 54, 64, 0.1));
  pointer-events: none;
  z-index: 1;
}
.gourmet__outer {
  -webkit-mask-image: url("../../images/concept/new/mask_gourmet.svg");
          mask-image: url("../../images/concept/new/mask_gourmet.svg");
  -webkit-mask-size: 100% min(41rem, 30.3703703704vw);
          mask-size: 100% min(41rem, 30.3703703704vw);
}
.gourmet__div {
  position: relative;
  display: flex;
  justify-content: center;
  -moz-column-gap: min(0.3rem, 0.2222222222vw);
       column-gap: min(0.3rem, 0.2222222222vw);
  width: min(122rem, 90.3703703704vw);
  height: min(41rem, 30.3703703704vw);
  margin-inline: auto;
  overflow: hidden;
}
.gourmet__gallery {
  width: min(40.5rem, 30vw);
  height: min(56.9rem, 42.1481481481vw);
  display: flex;
  flex-direction: column;
  animation: scroll-vertical-gourumet 24s linear infinite both;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}
.gourmet__gallery img {
  width: 100%;
  height: auto;
  display: block;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
.gourmet__gallery.--center {
  animation: scroll-vertical-gourumet 24s linear infinite both;
  animation-direction: reverse;
}
@keyframes scroll-vertical-gourumet {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}

.sight {
  position: relative;
  padding-top: min(8rem, 5.9259259259vw);
  padding-bottom: min(6rem, 4.4444444444vw);
}
.sight .bg-white {
  position: absolute;
  top: calc(min(21rem, 15.5555555556vw) * -1);
  left: 0;
  right: 0;
  margin-inline: auto;
  opacity: 0.9;
  pointer-events: none;
}
.sight__inner {
  position: relative;
  margin-bottom: min(3rem, 2.2222222222vw);
}
.sight__wrapper {
  position: relative;
  width: min(130rem, 96.2962962963vw);
  margin-inline: auto;
  filter: drop-shadow(0 5px 40px rgba(43, 54, 64, 0.1));
  z-index: 2;
}
.sight__list {
  width: min(122rem, 90.3703703704vw);
  height: min(55.6rem, 41.1851851852vw);
  margin-inline: auto;
  -webkit-mask-image: url("../../images/concept/new/mask_gourmet.svg");
          mask-image: url("../../images/concept/new/mask_gourmet.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.sight__list-row {
  display: grid;
}
.sight__list-row:first-child {
  grid-template-columns: repeat(3, 1fr);
}
.sight__list-row:last-child {
  grid-template-columns: repeat(5, 1fr);
}
.sight__list-item {
  position: relative;
}
.sight__list-item.--md {
  width: 100%;
  height: min(35rem, 25.9259259259vw);
  overflow: hidden;
}
.sight__list-item.--sm {
  width: 100%;
  height: min(20.6rem, 15.2592592593vw);
  overflow: hidden;
}
.sight__list-item .item-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
.sight__list-item:hover {
  cursor: pointer;
}
.sight__list-item:hover .item-image {
  scale: 1.2;
}
.sight__list-item .item-inner {
  position: absolute;
  bottom: min(3rem, 2.2222222222vw);
  inset-inline: 0;
  margin-inline: auto;
  padding-inline: min(4rem, 2.962962963vw);
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.sight__list-item .item-inner .c-icon {
  fill: #fff;
  width: min(3.2rem, 2.3703703704vw);
  height: min(3.2rem, 2.3703703704vw);
  flex-shrink: 0;
}
.sight__list-item .item-inner.--sm {
  bottom: min(4rem, 2.962962963vw);
  padding-inline: min(2rem, 1.4814814815vw);
}
.sight__list-item .item-inner.--sm .c-icon {
  width: min(2.6rem, 1.9259259259vw);
  height: min(2.6rem, 1.9259259259vw);
}
.sight__list-item .item-title {
  color: #fff;
  font-size: min(2.4rem, 1.7777777778vw);
  line-height: 1.5;
  margin-block: 0;
}
.sight__list-item .item-title.--sm {
  font-size: min(1.8rem, 1.3333333333vw);
}
.sight__list-item .item-title.--harada {
  letter-spacing: -0.1em;
}
.sight__overview .overview-item {
  width: min(43rem, 31.8518518519vw);
  height: min(36.5rem, 27.037037037vw);
  position: absolute;
  top: 0;
  left: min(3rem, 2.2222222222vw);
  -webkit-mask-image: url("../../images/concept/new/mask_sight-overview.svg");
          mask-image: url("../../images/concept/new/mask_sight-overview.svg");
  -webkit-mask-size: 100% min(36.5rem, 27.037037037vw);
          mask-size: 100% min(36.5rem, 27.037037037vw);
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}
.sight__overview .overview-item.--lg {
  width: min(53rem, 39.2592592593vw);
  height: min(36.5rem, 27.037037037vw);
  -webkit-mask-image: url("../../images/concept/new/mask_sight-overview-lg.svg");
          mask-image: url("../../images/concept/new/mask_sight-overview-lg.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.sight__overview .overview-item.sight-02 {
  inset-inline: 0;
  margin-inline: auto;
}
.sight__overview .overview-item.sight-03 {
  left: auto;
  right: min(3rem, 2.2222222222vw);
}
.sight__overview .overview-item.sight-04 {
  width: min(53rem, 39.2592592593vw);
  top: auto;
  bottom: 0;
}
.sight__overview .overview-item.sight-05 {
  width: min(53rem, 39.2592592593vw);
  top: auto;
  left: min(25.5rem, 18.8888888889vw);
  bottom: 0;
}
.sight__overview .overview-item.sight-06 {
  width: min(53rem, 39.2592592593vw);
  top: auto;
  bottom: 0;
  inset-inline: 0;
  margin-inline: auto;
}
.sight__overview .overview-item.sight-07 {
  width: min(53rem, 39.2592592593vw);
  top: auto;
  left: auto;
  right: min(25.5rem, 18.8888888889vw);
  bottom: 0;
}
.sight__overview .overview-item.sight-08 {
  width: min(53rem, 39.2592592593vw);
  top: auto;
  left: auto;
  right: min(3rem, 2.2222222222vw);
  bottom: 0;
}
.sight__overview .overview-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sight__overview .overview-inner {
  position: absolute;
  inset: 0;
  margin: auto;
  padding: min(5rem, 3.7037037037vw) min(6rem, 4.4444444444vw);
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.65);
}
.sight__overview .overview-inner .c-icon-circle-close {
  fill: #fff;
  width: min(4rem, 2.962962963vw);
  height: min(4rem, 2.962962963vw);
  position: absolute;
  bottom: min(5rem, 3.7037037037vw);
  inset-inline: 0;
  margin-inline: auto;
  cursor: pointer;
}
.sight__overview .overview-title {
  color: #fff;
  font-size: min(2.4rem, 1.7777777778vw);
  text-align: center;
  margin-block: 0 min(2rem, 1.4814814815vw);
}
.sight__overview .overview-text {
  color: #fff;
  font-size: min(1.5rem, 1.1111111111vw);
}
.sight__overview .overview-link a:-moz-any-link {
  color: #fff;
}
.sight__overview .overview-link a:any-link {
  color: #fff;
}
.sight__overview .overview-link .c-icon {
  fill: #fff;
}
.sight__overview .overview-link .c-icon-instagram {
  width: min(2.2rem, 1.6296296296vw);
  height: min(2.2rem, 1.6296296296vw);
  margin-inline: 0;
  margin-top: -3px;
}

.driving {
  position: relative;
  padding-top: min(8rem, 5.9259259259vw);
  margin-bottom: calc(1.8518518519vw * -1);
  z-index: 1;
}
.driving .bg-white {
  position: absolute;
  top: calc(min(19rem, 14.0740740741vw) * -1);
  left: 0;
  right: 0;
  margin-inline: auto;
  opacity: 0.9;
  pointer-events: none;
}
.driving__inner {
  position: relative;
  z-index: 1;
}
.driving__wrapper {
  position: relative;
  height: 60.1481481481vw;
  margin-top: min(3.5rem, 2.5925925926vw);
  padding-top: min(40rem, 29.6296296296vw);
}
.driving__bg {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-mask-image: url("../../images/concept/new/mask_driving.svg");
          mask-image: url("../../images/concept/new/mask_driving.svg");
  -webkit-mask-size: cover;
          mask-size: cover;
}
.driving__point {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: calc(min(3.2rem, 2.3703703704vw) + min(51.7rem, 38.2962962963vw));
  position: absolute;
  top: 0;
  right: calc((100vw - min(116rem, 85.9259259259vw)) / 2);
}
.driving__point .point-label {
  position: relative;
}
.driving__point .point-01 {
  right: calc(min(3.2rem, 2.3703703704vw) * -1);
  z-index: 3;
}
.driving__point .point-02 {
  right: calc(min(1.6rem, 1.1851851852vw) * -1);
  z-index: 2;
}
.driving__point .point-03 {
  z-index: 1;
}
.driving__point .point-04 {
  top: calc(min(1.9rem, 1.4074074074vw) * -1);
  right: calc(min(3.2rem, 2.3703703704vw) * -1);
}
.driving__point .point-05 {
  top: calc(min(1.9rem, 1.4074074074vw) * -1);
  right: calc(min(1.6rem, 1.1851851852vw) * -1);
}
.driving__point .point-06 {
  top: calc(min(1.9rem, 1.4074074074vw) * -1);
}
.driving .section__buttons {
  width: min(122rem, 90.3703703704vw);
  margin-inline: auto;
}

.section__buttons {
  position: relative;
  display: flex;
  justify-content: center;
  gap: min(5rem, 3.7037037037vw);
  z-index: 1;
}
.section__buttons .section__button {
  width: min(77rem, 57.037037037vw);
  height: min(22rem, 16.2962962963vw);
  padding: min(1rem, 0.7407407407vw);
  border: 1px solid #000;
  border-radius: min(0.4rem, 0.2962962963vw);
}
.section__buttons .section__button.--driving {
  width: min(37rem, 27.4074074074vw);
  height: auto;
  border: 2px solid #fff;
  background: rgba(255, 255, 255, 0.8);
}
.section__buttons .section__button-link {
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.65);
  border-radius: min(0.4rem, 0.2962962963vw);
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  color: var(--color-text) !important;
  text-decoration: none;
  overflow: hidden;
  box-shadow: 0 0 55px rgba(76, 82, 87, 0.15);
}
.section__buttons .section__button-link.--driving {
  background: #fff;
  flex-wrap: wrap;
}
.section__buttons .section__button-link:hover .link-more .square-arrow {
  background: var(--color-base);
}
.section__buttons .section__button-link:hover .link-more .square-arrow .c-icon {
  fill: #fff;
}
.section__buttons .section__button-link:hover .link-more .c-en-c {
  color: var(--color-base);
}
.section__buttons .section__button .link-image {
  flex: 0 0 50%;
}
.section__buttons .section__button .link-image.--driving {
  flex: 100%;
}
.section__buttons .section__button .link-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.section__buttons .section__button .link-summary {
  flex: 0 0 50%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: min(6rem, 4.4444444444vw) min(5.5rem, 4.0740740741vw);
}
.section__buttons .section__button .link-summary.--driving {
  flex: 100%;
  height: min(11rem, 8.1481481481vw);
  padding-inline: min(3.3rem, 2.4444444444vw) min(3rem, 2.2222222222vw);
}
.section__buttons .section__button .link-title {
  margin-bottom: min(2rem, 1.4814814815vw);
}
.section__buttons .section__button .link-title span {
  display: block;
  line-height: 1.5;
}
.section__buttons .section__button .link-title .c-en-c {
  font-size: min(3.6rem, 2.6666666667vw);
}
.section__buttons .section__button .link-title .c-ja {
  font-size: min(1.8rem, 1.3333333333vw);
}
.section__buttons .section__button .link-title.--driving {
  margin-bottom: 0;
}
.section__buttons .section__button .link-title.--driving .c-en-c {
  font-size: min(3.2rem, 2.3703703704vw);
  line-height: 1.2;
}
.section__buttons .section__button .link-more {
  width: min(4.6rem, 3.4074074074vw);
  color: #666b70;
  font-size: min(1.5rem, 1.1111111111vw);
  text-align: center;
}
.section__buttons .section__button .link-more .square-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(4.6rem, 3.4074074074vw);
  height: min(4.6rem, 3.4074074074vw);
  background: #e6e9ec;
  border-radius: min(0.4rem, 0.2962962963vw);
  transition: 0.3s;
}
.section__buttons .section__button .link-more .square-arrow .c-icon {
  fill: var(--color-text);
  width: min(1.2rem, 0.8888888889vw);
  height: min(0.9rem, 0.6666666667vw);
}
.section__buttons .section__button .link-more.--driving {
  width: auto;
  display: flex;
}
.section__buttons .section__button .link-more.--driving .square-arrow {
  flex-shrink: 0;
}
.section__buttons .section__button .link-more.--driving .c-en-c {
  order: -1;
  writing-mode: vertical-rl;
}
.section__buttons.--facilities::before {
  content: "";
  position: absolute;
  top: calc(min(5rem, 3.7037037037vw) * -1);
  left: 0;
  right: 0;
  margin-inline: auto;
  width: min(0.2rem, 0.1481481481vw);
  height: min(10rem, 7.4074074074vw);
  background: var(--color-text);
}/*# sourceMappingURL=concept.css.map */