/* ==========================================================================
Foundation
========================================================================== */
/* Reset
----------------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, button, textarea, select {
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Base
	----------------------------------------------------------------- */
html {
  overflow-x: hidden;
  height: 100%;
  color: #F5F5F4;
  background: #0F0F0F;
}
html.is-modal {
  overflow-y: hidden;
}
html.is-room {
  background: #0F0F0F;
}

body {
  color: #0F0F0F;
  background: #E7E7E0;
  -webkit-text-size-adjust: 100%;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.09375vw;
  letter-spacing: -0.01em;
  line-height: calc(14 / 14);
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 720px) {
  body {
    min-height: 100vh;
    /* mobile viewport bug fix */
    min-height: -webkit-fill-available;
  }
  .is-sp body {
    min-height: 100dvh;
  }
}
body.is-transition {
  pointer-events: none;
}
.is-room body {
  background: #0F0F0F;
}

img {
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}

a {
  color: #0F0F0F;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.6s;
}
@media screen and (min-width: 721px) {
  a:hover {
    opacity: 0.5;
  }
}

strong, em {
  font-weight: 600;
}

/* ==========================================================================
	Layout
========================================================================== */
.header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  mix-blend-mode: difference;
  z-index: 100;
  color: #F5F5F4;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: -0.01em;
  line-height: calc(15 / 14);
  transition: opacity 0.4s;
  pointer-events: none;
}
@media screen and (max-width: 720px) {
  .header {
    max-width: 100vw;
    font-size: 3.0769230769vw;
    letter-spacing: -0.005em;
    line-height: calc(11 / 12);
  }
}
.header a {
  color: #F5F5F4;
}
.is-modal .header {
  opacity: 0;
  pointer-events: none;
}
.is-top .header.is-keyvisual {
  mix-blend-mode: normal;
}
.header__logo {
  margin-left: 2.96875vw;
  margin-top: 2.890625vw;
  width: 12.55vw;
}
.header__logo img {
  width: 12.55vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .header__logo {
    margin-left: 5.6153846154vw;
    margin-top: 7.4358974359vw;
    width: 27.6923076923vw;
  }
  .header__logo img {
    width: 27.6923076923vw;
  }
}
.header__logo a {
  pointer-events: auto;
}
.header__shortcut {
  position: absolute;
  right: 11.25vw;
  top: 3.125vw;
  display: flex;
  align-items: center;
  transition: opacity 0.4s;
  pointer-events: auto;
}
@media screen and (max-width: 720px) {
  .header__shortcut {
    right: 26.1025641026vw;
    top: 7.641025641vw;
  }
}
.header.is-active .header__shortcut {
  opacity: 0;
  pointer-events: none;
}
.header__shortcut li.ext-booknow {
  margin-left: 3.359375vw;
}
.header__shortcut li.ext-booknow a {
  display: flex;
  border: 1px solid #F5F5F4;
  height: 2.03125vw;
  line-height: 1.953125vw;
  border-radius: 1.015625vw;
  padding: 0 0.78125vw;
  box-sizing: border-box;
}
@media screen and (max-width: 720px) {
  .header__shortcut li {
    display: none;
  }
  .header__shortcut li.ext-booknow {
    margin-left: 0;
    display: block;
  }
  .header__shortcut li.ext-booknow a {
    font-size: 3.0769230769vw;
    letter-spacing: -0.01em;
    line-height: calc(10 / 12);
    height: 5.2384615385vw;
    line-height: 4.9820512821vw;
    border-radius: 2.6192307692vw;
    padding: 0 2.3076923077vw;
  }
}
.header__toggle {
  position: absolute;
  right: 3.09375vw;
  top: 3.671875vw;
  display: flex;
  align-items: center;
  pointer-events: auto;
}
@media screen and (max-width: 720px) {
  .header__toggle {
    right: 5.358974359vw;
    top: 8.8461538462vw;
  }
}
.header__toggle:before {
  content: "Menu";
}
.header.is-active .header__toggle::before {
  content: "Close";
}
.header__toggle span {
  display: inline-block;
  overflow: hidden;
  position: relative;
  height: 0.625vw;
  width: 1.7234375vw;
  margin-left: 0.9921875vw;
  overflow: hidden;
  transition: width 0.6s cubic-bezier(0.75, 0.01, 0.31, 1);
}
@media screen and (max-width: 720px) {
  .header__toggle span {
    height: 1.7666666667vw;
    width: 4.8692307692vw;
    margin-left: 3.3076923077vw;
  }
}
.header.is-active .header__toggle span {
  width: 0;
}
.header__toggle span:before, .header__toggle span:after {
  content: "";
  display: block;
  position: absolute;
  height: 1px;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #F5F5F4;
}
@media screen and (max-width: 720px) {
  .header__toggle span:before, .header__toggle span:after {
    height: 1px;
  }
}
.header__toggle span:after {
  top: auto;
  bottom: 0;
  width: 50%;
}
.header__layer {
  position: fixed;
  background: #0F0F0F;
  color: #F5F5F4;
  top: 0;
  right: 100vw;
  width: 100%;
  height: 100vh;
  z-index: 99;
  transition: right 0.6s cubic-bezier(0.2, 0.5, 0.4, 1), opacity 0s linear 0.6s;
  opacity: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.is-sp .header__layer {
  height: 100dvh;
  overflow-y: scroll;
}
.header.is-active + .header__layer {
  right: 0;
  opacity: 1;
  pointer-events: all;
  transition: right 0.6s cubic-bezier(0.2, 0.5, 0.4, 1), opacity 0s linear 0s;
}
.header.is-active + .header__layer .header__navi li {
  opacity: 1;
  transform: none;
}
.header.is-active + .header__layer .header__navi li:nth-child(1) {
  transition-delay: 0.4s;
}
.header.is-active + .header__layer .header__navi li:nth-child(2) {
  transition-delay: 0.5s;
}
.header.is-active + .header__layer .header__navi li:nth-child(3) {
  transition-delay: 0.6s;
}
.header.is-active + .header__layer .header__navi li:nth-child(4) {
  transition-delay: 0.7s;
}
.header.is-active + .header__layer .header__navi li:nth-child(5) {
  transition-delay: 0.8s;
}
.header.is-active + .header__layer .header__navi li:nth-child(6) {
  transition-delay: 0.9s;
}
.header.is-active + .header__layer .header__navi li:nth-child(7) {
  transition-delay: 1s;
}
.header.is-active + .header__layer .header__navi li:nth-child(8) {
  transition-delay: 1.1s;
}
.header.is-active + .header__layer .header__navi li:nth-child(9) {
  transition-delay: 1.2s;
}
.header.is-active + .header__layer .header__navi li:nth-child(10) {
  transition-delay: 1.3s;
}
.header.is-active + .header__layer .header__image {
  opacity: 1;
  transform: none;
  transition-delay: 0.7s;
}
@media screen and (max-width: 720px) {
  .header.is-active + .header__layer .header__image {
    transition-delay: 0.4s;
  }
}
.header.is-active + .header__layer .header__address {
  opacity: 1;
  transform: none;
  transition-delay: 0.4s;
}
@media screen and (max-width: 720px) {
  .header.is-active + .header__layer .header__address {
    transition-delay: 0.5s;
  }
}
.header.is-active + .header__layer .header__sns a {
  opacity: 1;
  transform: none;
  transition-delay: 0.5s;
}
@media screen and (max-width: 720px) {
  .header.is-active + .header__layer .header__sns a {
    transition-delay: 0.6s;
  }
}
.header.is-active + .header__layer .header__sns a + a {
  transition-delay: 0.6s;
}
@media screen and (max-width: 720px) {
  .header.is-active + .header__layer .header__sns a + a {
    transition-delay: 0.7s;
  }
}
.header__layer > div {
  max-width: 72.65625vw;
  display: flex;
  align-items: stretch;
  justify-content: center;
}
@media screen and (max-width: 720px) {
  .header__layer > div {
    max-width: 100%;
    width: 100%;
    padding: 25.8974358974vw 5.641025641vw 8.9230769231vw;
    flex-direction: column;
  }
}
.header__navi {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 3.515625vw;
  letter-spacing: -0.033em;
  line-height: calc(56 / 45);
  margin-right: 19.84375vw;
}
@media screen and (max-width: 720px) {
  .header__navi {
    font-size: 5.8974358974vw;
    letter-spacing: -0.033em;
    line-height: calc(29 / 23);
    margin-right: 0;
  }
}
.header__navi li {
  opacity: 0;
  transition: opacity 0.4s, transform 0.4s;
  transform: translate(-1.5625vw, 0) translateZ(0);
  transition-delay: 0;
}
.header__navi li a {
  color: #F5F5F4;
  white-space: nowrap;
}
.header__navi li.ext-booknow {
  margin-top: 2.734375vw;
}
@media screen and (max-width: 720px) {
  .header__navi li.ext-booknow {
    margin-top: 7.3846153846vw;
  }
}
.header__navi li.ext-booknow a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 22.03125vw;
  height: 4.53125vw;
  border-radius: 2.265625vw;
  padding: 0 1.640625vw 0 2.109375vw;
  box-sizing: border-box;
  border: 1px solid #F5F5F4;
  font-size: 2.03125vw;
  letter-spacing: -0.01em;
  line-height: calc(28 / 26);
}
@media screen and (max-width: 720px) {
  .header__navi li.ext-booknow a {
    width: 37.2179487179vw;
    height: 8.1076923077vw;
    border-radius: 4.0538461538vw;
    padding: 0 3.0512820513vw 0 3.4358974359vw;
    font-size: 3.5897435897vw;
    letter-spacing: -0.01em;
    line-height: calc(15 / 14);
  }
}
.header__navi li.ext-booknow a:after {
  content: "";
  width: 1.421875vw;
  height: 1.096875vw;
  background: url(../img/icn-arrow_button.svg) no-repeat center center/contain;
}
@media screen and (max-width: 720px) {
  .header__navi li.ext-booknow a:after {
    width: 2.5128205128vw;
    height: 1.9384615385vw;
  }
}
.header__info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media screen and (max-width: 720px) {
  .header__info {
    flex-direction: column;
    margin-top: 9.2307692308vw;
    width: 57.4358974359vw;
  }
}
.header__address {
  font-size: 1.5625vw;
  letter-spacing: -0.005em;
  line-height: calc(20 / 20);
  order: 1;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.4s, transform 0.4s;
  transform: translate(-1.5625vw, 0) translateZ(0);
  transition-delay: 0;
}
@media screen and (max-width: 720px) {
  .header__address {
    order: 2;
    margin-top: 9.2307692308vw;
    font-size: 3.5897435897vw;
    letter-spacing: -0.005em;
    line-height: calc(15 / 14);
  }
}
.header__sns {
  margin-top: 2.734375vw;
  order: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.40625vw;
  letter-spacing: -0.005em;
  line-height: calc(20 / 18);
}
.header__sns a {
  color: #707070;
  opacity: 0;
  transition: opacity 0.4s, transform 0.4s;
  transform: translate(-1.5625vw, 0) translateZ(0);
  transition-delay: 0;
}
@media screen and (max-width: 720px) {
  .header__sns {
    margin-top: 6.641025641vw;
    order: 3;
    font-size: 3.0769230769vw;
    letter-spacing: -0.005em;
    line-height: calc(17 / 12);
  }
}
.header__image {
  order: 3;
  margin-top: auto;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.4s, transform 0.4s;
  transform: translate(-1.5625vw, 0) translateZ(0);
  transition-delay: 0;
}
@media screen and (max-width: 720px) {
  .header__image {
    order: 1;
  }
}
.header__copy {
  position: absolute;
  bottom: 1.640625vw;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.171875vw;
  letter-spacing: 0.008em;
  line-height: calc(22 / 15);
}
@media screen and (max-width: 720px) {
  .header__copy {
    display: none;
  }
}

.wrapper {
  width: 100%;
  background: #E7E7E0;
}
.wrapper[data-barba-namespace=top], .wrapper[data-barba-namespace=photo] {
  background: #F4F4F2;
}
.wrapper[data-barba-namespace=rooms] {
  background: #0F0F0F;
  color: #F5F5F4;
}
.wrapper[data-barba-namespace=photo] {
  height: 100vh;
  overflow: hidden;
}
.is-sp .wrapper[data-barba-namespace=photo] {
  height: 100dvh;
}
.is-transition .wrapper {
  will-change: transform;
}
.is-transition .wrapper.is-leave {
  position: fixed;
  overflow: hidden;
}
.is-transition .wrapper .js-ripple img {
  visibility: visible;
}

.footerLink {
  padding-top: 9.765625vw;
  background: #0F0F0F;
  color: #F5F5F4;
}
@media screen and (max-width: 720px) {
  .footerLink {
    padding-top: 14.7179487179vw;
    padding-bottom: 15.9230769231vw;
  }
}
.footerLink__booknow {
  text-align: center;
}
.footerLink__booknow img {
  width: 24.0234375vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .footerLink__booknow img {
    width: 44.1538461538vw;
  }
}
.footerLink__list {
  margin-top: 10.1796875vw;
  border-top: 1px solid #F5F5F4;
  border-bottom: 1px solid #F5F5F4;
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 720px) {
  .footerLink__list {
    display: none;
  }
}
.footerLink__item {
  width: 25%;
  box-sizing: border-box;
  border-right: 1px solid #F5F5F4;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.171875vw;
  letter-spacing: -0.01em;
  line-height: calc(15 / 15);
  text-align: center;
}
.footerLink__item:last-child {
  border-right: 0;
}
.footerLink__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 3.203125vw;
  color: #F5F5F4;
}
.footerLink__item a span:not(.js-ripple) {
  transition: opacity 0.4s;
}
.footerLink__item a:hover {
  opacity: 1;
}
.footerLink__item a:hover span:not(.js-ripple) {
  opacity: 0.5;
}
.footerLink__item strong {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: -0.005em;
  line-height: calc(23 / 18);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5.078125vw;
  border-bottom: 1px solid #F5F5F4;
}
.footerLink__item img,
.footerLink__item canvas {
  width: 14.6875vw;
  height: auto;
}
.footerLink__item .js-ripple {
  width: 14.6875vw;
  height: 10.234375vw;
  margin-top: 4.375vw;
  margin-bottom: 3.203125vw;
}
.footerLink__item:last-child {
  margin-right: 0;
}

.footer {
  background: #0F0F0F;
  color: #F5F5F4;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
}
@media screen and (max-width: 720px) {
  .footer {
    border-top: 1px solid #F5F5F4;
  }
}
.footer a {
  color: #F5F5F4;
}
.footer strong {
  color: #707070;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.40625vw;
  letter-spacing: -0.01em;
  line-height: calc(18 / 18);
  display: block;
}
@media screen and (max-width: 720px) {
  .footer strong {
    font-size: 4.358974359vw;
    letter-spacing: -0.01em;
    line-height: calc(17 / 17);
  }
}
.footer__inner {
  padding: 1.328125vw 0 3.125vw 0.625vw;
  position: relative;
}
.footer__inner > div {
  display: flex;
  align-items: flex-start;
  margin-top: 3.203125vw;
}
@media screen and (max-width: 720px) {
  .footer__inner {
    padding: 6.4102564103vw 5.1282051282vw 0;
  }
  .footer__inner > div {
    margin-top: 11.2820512821vw;
  }
}
.footer__logo {
  position: absolute;
  right: 1.34375vw;
  bottom: 1.3203125vw;
}
.footer__logo img {
  width: 16.22578125vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .footer__logo {
    position: relative;
    margin-top: 29.8717948718vw;
    right: 0;
    bottom: 0;
  }
  .footer__logo img {
    width: 35.1615384615vw;
  }
}
.footer__villa {
  position: absolute;
  top: 1.421875vw;
  right: 1.3515625vw;
  width: 7.31796875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .footer__villa {
    display: none;
  }
}
.footer__address {
  font-size: 1.328125vw;
  letter-spacing: -0.01em;
  line-height: calc(17 / 17);
}
.footer__address strong {
  margin-bottom: 0.78125vw;
}
@media screen and (max-width: 720px) {
  .footer__address {
    font-size: 4.1025641026vw;
    letter-spacing: -0.01em;
    line-height: calc(16 / 16);
  }
  .footer__address strong {
    margin-bottom: 2.3076923077vw;
  }
}
.footer__mail {
  margin-top: 11.171875vw;
  font-size: 1.40625vw;
  letter-spacing: -0.01em;
  line-height: calc(18 / 18);
  display: flex;
  align-items: flex-start;
}
.footer__mail strong {
  width: 14.375vw;
}
@media screen and (max-width: 720px) {
  .footer__mail {
    flex-direction: column;
    margin-top: 11.5384615385vw;
    font-size: 4.1025641026vw;
    letter-spacing: -0.01em;
    line-height: calc(16 / 16);
  }
  .footer__mail strong {
    width: 100%;
    margin-bottom: 2.3076923077vw;
  }
}
.footer__navi {
  margin-right: 9.609375vw;
  display: flex;
  align-items: flex-start;
}
.footer__navi strong {
  width: 14.375vw;
}
.footer__navi ul {
  font-size: 1.40625vw;
  letter-spacing: -0.01em;
  line-height: calc(21 / 18);
}
@media screen and (max-width: 720px) {
  .footer__navi {
    display: block;
    margin-right: 0;
    width: 59.2307692308vw;
  }
  .footer__navi strong {
    width: auto;
    margin-bottom: 2.3076923077vw;
  }
  .footer__navi ul {
    font-size: 4.358974359vw;
    letter-spacing: -0.01em;
    line-height: calc(20 / 17);
  }
}
.footer__sns ul {
  margin-top: 1em;
  font-size: 1.40625vw;
  letter-spacing: -0.01em;
  line-height: calc(21 / 18);
}
@media screen and (max-width: 720px) {
  .footer__sns strong {
    margin-bottom: 2.3076923077vw;
  }
  .footer__sns ul {
    margin-top: 0;
    font-size: 4.358974359vw;
    letter-spacing: -0.01em;
    line-height: calc(20 / 17);
  }
}
.footer__copy {
  width: 100%;
  border-top: 1px solid #F5F5F4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.015625vw 0.625vw 1.09375vw;
  font-size: 1.328125vw;
  letter-spacing: 0.008em;
  line-height: calc(22 / 17);
}
.footer__copy p:last-child {
  width: 43.203125vw;
}
@media screen and (max-width: 720px) {
  .footer__copy {
    border-top: none;
    margin-top: 3.3333333333vw;
    padding: 0 5.1282051282vw 5.641025641vw;
    font-size: 3.5897435897vw;
    letter-spacing: 0.008em;
    line-height: calc(22 / 14);
  }
  .footer__copy p:last-child {
    display: none;
  }
}

/* ==========================================================================
	Object
========================================================================== */
/* Component
----------------------------------------------------------------- */
.button {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.328125vw;
  letter-spacing: -0.01em;
  line-height: calc(22 / 17);
  border: 1px solid #F5F5F4;
  color: #F5F5F4;
  display: flex;
  width: 16.71875vw;
  align-items: center;
  justify-content: space-between;
  height: 3.125vw;
  line-height: 3.125vw;
  border-radius: 1.5625vw;
  padding: 0 1.171875vw 0 1.328125vw;
}
@media screen and (max-width: 720px) {
  .button {
    font-size: 3.3333333333vw;
    letter-spacing: -0.01em;
    line-height: calc(16 / 13);
    width: 44.0717948718vw;
    height: 8.2384615385vw;
    line-height: 8.2384615385vw;
    border-radius: 4.1192307692vw;
    padding: 0 3.4102564103vw 0 3.5128205128vw;
  }
}
.button:after {
  content: "";
  display: inline-block;
  width: 1.09375vw;
  height: 1.09375vw;
  background: url(../img/icn-arrow_button.svg) no-repeat center center/contain;
}
@media screen and (max-width: 720px) {
  .button:after {
    width: 2.5128205128vw;
    height: 1.9384615385vw;
  }
}

.tooltip {
  pointer-events: none;
  position: fixed;
  top: -10px;
  left: 10px;
  z-index: 100000;
  mix-blend-mode: difference;
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.4s;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.09375vw;
  letter-spacing: -0.005em;
  line-height: calc(13 / 14);
  color: #F5F5F4;
}
.tooltip.is-active {
  opacity: 1;
}
@media screen and (max-width: 720px) {
  .tooltip {
    font-size: 2.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(8 / 10);
  }
}

/* Project
----------------------------------------------------------------- */
.topKeyvisual {
  min-height: 100vh;
  position: relative;
  background-color: #0F0F0F;
}
.is-sp .topKeyvisual {
  min-height: 100svh;
}
.topKeyvisual:before {
  content: "";
  display: block;
  position: absolute;
  background: rgba(38, 38, 38, 0.15);
  mix-blend-mode: multiply;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.topKeyvisual__background {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.topKeyvisual__background > video {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1s;
}
.topKeyvisual__background > video.is-active {
  opacity: 1;
}
.topKeyvisual__background .swiper {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.topKeyvisual__background .swiper-slide {
  position: relative;
  width: 100%;
  height: 100vh;
}
.topKeyvisual__background .swiper-slide img {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.topKeyvisual__text {
  font-size: 1.171875vw;
  letter-spacing: -0.01em;
  line-height: calc(16 / 15);
  position: absolute;
  left: 2.96875vw;
  top: 50%;
  transform: translate(0, -50%);
  color: #F5F5F4;
  z-index: 3;
}
.topKeyvisual__text span {
  height: 1.2890625vw;
}
@media screen and (max-width: 720px) {
  .topKeyvisual__text {
    left: 5.3846153846vw;
    font-size: 3.0769230769vw;
    letter-spacing: -0.01em;
    line-height: calc(13 / 12);
  }
  .topKeyvisual__text span {
    height: 3.4615384615vw;
  }
}
.topKeyvisual__mark {
  position: absolute;
  right: 2.3203125vw;
  bottom: 2.15625vw;
  z-index: 3;
}
.topKeyvisual__mark img {
  width: 2.64453125vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .topKeyvisual__mark {
    right: 5.6153846154vw;
    bottom: 6.4102564103vw;
  }
  .topKeyvisual__mark img {
    width: 7.0230769231vw;
  }
}
.topKeyvisual__seaside {
  position: absolute;
  left: 3.046875vw;
  bottom: 3.328125vw;
  z-index: 3;
}
.topKeyvisual__seaside img {
  width: 7.31796875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .topKeyvisual__seaside {
    left: 5.8461538462vw;
    bottom: 8.358974359vw;
  }
  .topKeyvisual__seaside img {
    width: 21.3487179487vw;
  }
}
.topKeyvisual__photo {
  position: absolute;
  left: 50%;
  bottom: 2.96875vw;
  transform: translate(-50%, 0);
  text-align: center;
  text-decoration: underline;
  color: #F5F5F4;
  z-index: 3;
  font-size: 0.9375vw;
  letter-spacing: -0.005em;
  line-height: calc(13 / 12);
}
.topKeyvisual__photo.js-inview.ext-float {
  transform: translate(-50%, 1.5625vw) translateZ(0);
}
.topKeyvisual__photo.js-inview.ext-float.is-animated {
  transform: translate(-50%, 0);
}
@media screen and (max-width: 720px) {
  .topKeyvisual__photo {
    display: none;
  }
}

.topConcept {
  padding: 7.5vw 2.96875vw 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 720px) {
  .topConcept {
    padding: 23.0769230769vw 0 0;
  }
}
.topConcept__title {
  font-size: 1.09375vw;
  letter-spacing: -0.005em;
  line-height: calc(13 / 14);
  text-align: center;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
}
@media screen and (max-width: 720px) {
  .topConcept__title {
    font-size: 2.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(8 / 10);
  }
}
.topConcept__text {
  margin-top: 2.484375vw;
  text-align: center;
}
.topConcept__text img {
  width: 37.578125vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .topConcept__text {
    margin-top: 4.641025641vw;
  }
  .topConcept__text img {
    width: 76.5153846154vw;
  }
}
.topConcept__image {
  margin-top: 3.5390625vw;
}
.topConcept__image img {
  width: 27.34375vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .topConcept__image {
    margin-top: 13.2051282051vw;
  }
  .topConcept__image img {
    width: 44.8717948718vw;
  }
}

.topRooms {
  margin: 14.828125vw auto 0;
}
@media screen and (max-width: 720px) {
  .topRooms {
    margin: 34.8205128205vw auto 0;
  }
}
.topRooms__title {
  text-align: center;
}
.topRooms__title img {
  width: 9.20546875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .topRooms__title img {
    width: 19.9128205128vw;
  }
}
.topRooms__text {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: -0.005em;
  line-height: calc(13 / 14);
  text-align: center;
  margin-top: 1.3359375vw;
}
@media screen and (max-width: 720px) {
  .topRooms__text {
    font-size: 2.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(9 / 10);
    margin-top: 3.4358974359vw;
  }
}
.topRooms__list {
  display: flex;
  align-items: stretch;
  margin-top: 3.2421875vw;
}
@media screen and (max-width: 720px) {
  .topRooms__list {
    margin-top: 3.5897435897vw;
    flex-direction: column;
  }
}
.topRooms__item {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  position: relative;
  width: 50%;
}
@media screen and (max-width: 720px) {
  .topRooms__item {
    width: 100%;
  }
}
.topRooms__item a {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  padding: 3.28125vw 0 2.65625vw;
  color: #F5F5F4;
  opacity: 1;
  text-align: center;
}
@media screen and (max-width: 720px) {
  .topRooms__item a {
    padding: 5.1282051282vw 0;
  }
}
.topRooms__item a::before {
  content: "";
  display: block;
  width: calc(100% + 1px);
  height: 100%;
  background-color: rgba(75, 119, 165, 0);
  transition: background-color 0.4s;
  mix-blend-mode: multiply;
  position: absolute;
  left: -1px;
  top: 0;
  z-index: 2;
}
@media screen and (min-width: 721px) {
  .topRooms__item a:hover:before {
    background-color: rgb(75, 119, 165);
  }
}
.topRooms__item img {
  width: 100%;
  height: auto;
}
.topRooms__item strong {
  font-weight: 400;
  font-size: 1.953125vw;
  letter-spacing: -0.028em;
  line-height: calc(25 / 25);
  mix-blend-mode: normal;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 720px) {
  .topRooms__item strong {
    font-size: 4.358974359vw;
    letter-spacing: -0.028em;
    line-height: calc(19 / 17);
  }
}
.topRooms__item span {
  margin-top: 1.25vw;
  position: relative;
  font-size: 1.09375vw;
  letter-spacing: -0.01em;
  line-height: calc(17 / 14);
  z-index: 2;
}
.topRooms__item span:last-child {
  font-size: 1.5625vw;
  letter-spacing: -0.028em;
  line-height: calc(19 / 20);
  margin-top: auto;
  text-decoration: underline;
}
@media screen and (max-width: 720px) {
  .topRooms__item span {
    font-size: 2.8205128205vw;
    letter-spacing: -0.01em;
    line-height: calc(14 / 11);
  }
  .topRooms__item span:last-child {
    font-size: 3.0769230769vw;
    letter-spacing: -0.028em;
    line-height: calc(19 / 12);
  }
}

.topLocality {
  margin: 14.828125vw auto 0;
}
@media screen and (max-width: 720px) {
  .topLocality {
    margin: 27.2051282051vw auto 0;
  }
}
.topLocality__title {
  text-align: center;
  font-size: 1.09375vw;
  letter-spacing: -0.005em;
  line-height: calc(13 / 14);
  text-align: center;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
}
@media screen and (max-width: 720px) {
  .topLocality__title {
    font-size: 2.8205128205vw;
    letter-spacing: 0em;
    line-height: calc(13 / 11);
  }
}
.topLocality__text {
  margin-top: 2vw;
  text-align: center;
}
.topLocality__text img {
  width: 45.259375vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .topLocality__text {
    margin-top: 3.7435897436vw;
  }
  .topLocality__text img {
    width: 65.7846153846vw;
  }
}
.topLocality__image {
  position: relative;
  display: flex;
  margin: 19.078125vw 2.03125vw 0;
}
@media screen and (max-width: 720px) {
  .topLocality__image {
    margin: 31.4358974359vw 5.1282051282vw 0;
  }
}
.topLocality__image > span {
  width: 100%;
  height: 61.5625vw;
}
@media screen and (max-width: 720px) {
  .topLocality__image > span {
    height: 135.641025641vw;
  }
}
.topLocality__image > span img {
  width: 100%;
  height: auto;
}
.topLocality__image a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  position: absolute;
  color: #F5F5F4;
  transition: background-color 0.4s;
  opacity: 1;
}
.topLocality__image a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  transition: background-color 0.4s;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
@media screen and (min-width: 721px) {
  .topLocality__image a:hover::before {
    background-color: rgba(255, 255, 255, 0.2);
  }
}
.topLocality__image a > strong,
.topLocality__image a > span,
.topLocality__image a > img {
  mix-blend-mode: exclusion;
  position: relative;
  z-index: 2;
}
.topLocality__image a > strong img {
  width: 8.6296875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .topLocality__image a > strong img {
    width: 25.0871794872vw;
  }
}
.topLocality__image a > span {
  margin-top: 1.84375vw;
  text-align: center;
  font-size: 1.25vw;
  letter-spacing: -0.01em;
  line-height: calc(16 / 16);
}
@media screen and (max-width: 720px) {
  .topLocality__image a > span {
    font-size: 3.5897435897vw;
    letter-spacing: -0.01em;
    line-height: calc(14 / 14);
  }
}
.topLocality__image a > img {
  width: 2.06171875vw;
  height: auto;
  margin-top: 2.1875vw;
}
@media screen and (max-width: 720px) {
  .topLocality__image a > img {
    width: 6.1846153846vw;
    margin-top: 6.5897435897vw;
  }
}

.topMoreinfo {
  margin: 18.7421875vw 6.71875vw 0;
  padding-bottom: 21.875vw;
}
@media screen and (max-width: 720px) {
  .topMoreinfo {
    margin: 27.9230769231vw 5.3846153846vw 0;
    padding-bottom: 33.8461538462vw;
  }
}
.topMoreinfo__title {
  text-align: center;
}
.topMoreinfo__title img {
  width: 23.90078125vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .topMoreinfo__title img {
    width: 48.4487179487vw;
  }
}
.topMoreinfo__list {
  margin-top: 6.640625vw;
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 720px) {
  .topMoreinfo__list {
    margin-top: 6.2564102564vw;
    flex-direction: column;
  }
}
.topMoreinfo__item {
  position: relative;
  display: grid;
}
@media screen and (min-width: 721px) {
  .topMoreinfo__item:last-child {
    margin-left: 4.375vw;
    padding-left: 4.375vw;
    border-left: 1px solid transparent;
  }
  .topMoreinfo__item:last-child::after {
    content: "";
    width: 1px;
    height: 24.53125vw;
    background-color: #1F1F1C;
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media screen and (max-width: 720px) {
  .topMoreinfo__item:last-child {
    margin-top: 10.7692307692vw;
  }
}
.topMoreinfo__item > span {
  width: 26.875vw;
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 1.171875vw;
  letter-spacing: -0.01em;
  line-height: 1;
}
@media screen and (max-width: 720px) {
  .topMoreinfo__item > span {
    font-size: 3.0769230769vw;
    letter-spacing: -0.01em;
    line-height: calc(16 / 12);
    width: 54.8717948718vw;
  }
}
.topMoreinfo__item > span strong {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.71875vw;
  letter-spacing: -0.005em;
  line-height: 1;
  margin-bottom: 0.703125vw;
}
@media screen and (max-width: 720px) {
  .topMoreinfo__item > span strong {
    font-size: 4.358974359vw;
    letter-spacing: -0.005em;
    line-height: calc(20 / 17);
    margin-bottom: 2.0512820513vw;
  }
}
.topMoreinfo__item > a:first-child {
  grid-column: 1/span 2;
  grid-row: 1;
  margin-bottom: 2.34375vw;
}
@media screen and (max-width: 720px) {
  .topMoreinfo__item > a:first-child {
    margin-bottom: 4.358974359vw;
  }
}
.topMoreinfo__item > a:first-child img {
  width: 100%;
  height: auto;
}
.topMoreinfo__item > a:last-child {
  margin-left: auto;
  grid-column: 2;
  grid-row: 2;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(16 / 15);
  border: 1px solid #0F0F0F;
  width: 12.03125vw;
  height: 3.125vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 720px) {
  .topMoreinfo__item > a:last-child {
    font-size: 3.3333333333vw;
    letter-spacing: 0em;
    line-height: calc(12 / 13);
    width: 34.6153846154vw;
    height: 9.2307692308vw;
  }
}
.topMoreinfo__item > a:last-child:hover {
  opacity: 0.5;
}

.aboutIndex {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.is-sp .aboutIndex {
  height: 100dvh;
}
@media screen and (max-width: 720px) {
  .aboutIndex {
    height: 121.5384615385vw;
    position: relative;
  }
  .is-sp .aboutIndex {
    height: 121.5384615385vw;
  }
}
.aboutIndex__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 50%;
  bottom: 50%;
  transform: translate(-50%, 0);
}
.aboutIndex__title span {
  font-size: 1.640625vw;
  letter-spacing: -0.02em;
  line-height: calc(13 / 21);
}
.aboutIndex__title img {
  margin-top: 1.9921875vw;
  height: auto;
  width: 17.5296875vw;
}
@media screen and (max-width: 720px) {
  .aboutIndex__title span {
    font-size: 3.5897435897vw;
    letter-spacing: -0.02em;
    line-height: calc(9 / 14);
  }
  .aboutIndex__title img {
    margin-top: 4.3076923077vw;
    width: 33.6358974359vw;
  }
}
.aboutIndex__text {
  position: absolute;
  font-size: 1.484375vw;
  letter-spacing: -0.005em;
  line-height: calc(23 / 19);
  left: 2.96875vw;
  bottom: 3.2421875vw;
}
.aboutIndex__text::before {
  content: "";
  display: block;
  width: 0.625vw;
  height: 0.625vw;
  background: #0F0F0F;
  border-radius: 50%;
  position: absolute;
  top: -2.734375vw;
  left: 0;
}
@media screen and (max-width: 720px) {
  .aboutIndex__text {
    font-size: 3.8461538462vw;
    letter-spacing: -0.005em;
    line-height: calc(18 / 15);
    left: 5.3846153846vw;
    bottom: 6.1538461538vw;
  }
  .aboutIndex__text:before {
    width: 1.7948717949vw;
    height: 1.7948717949vw;
    top: -7.1794871795vw;
  }
}
.aboutIndex__navi {
  position: absolute;
  bottom: 2.7734375vw;
  right: 3.90625vw;
}
@media screen and (max-width: 720px) {
  .aboutIndex__navi {
    display: none;
  }
}
.aboutIndex__navi h3 {
  font-size: 1.171875vw;
  letter-spacing: -0.005em;
  line-height: calc(23 / 15);
}
.aboutIndex__navi ul {
  margin-top: 1.640625vw;
  font-size: 1.875vw;
  letter-spacing: -0.026em;
  line-height: calc(30 / 24);
}
.aboutIndex__navi ul a {
  display: flex;
  align-items: flex-end;
}
.aboutIndex__navi ul a:after {
  content: "";
  display: inline-block;
  width: 2.64140625vw;
  height: 0.4078125vw;
  margin-bottom: 0.546875vw;
  background: url(../img/icn-arrow_anchor.svg) no-repeat center center/contain;
  margin-left: 0.640625vw;
}

.aboutConcept__keyvisual {
  width: 100%;
  height: auto;
}
.aboutConcept > div {
  display: flex;
  justify-content: space-between;
  padding: 4.296875vw 2.96875vw 4.609375vw;
  position: relative;
}
@media screen and (max-width: 720px) {
  .aboutConcept > div {
    display: block;
    padding: 8.5128205128vw 5.641025641vw 6.1538461538vw;
  }
}
.aboutConcept > div > div:first-child {
  display: flex;
  flex-direction: column;
}
.aboutConcept__text h3 {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.015625vw;
  letter-spacing: -0.005em;
  line-height: calc(27 / 13);
}
.aboutConcept__text p {
  font-size: 1.640625vw;
  letter-spacing: -0.01em;
  line-height: calc(22 / 21);
  margin-top: 0.78125vw;
}
@media screen and (max-width: 720px) {
  .aboutConcept__text h3 {
    font-size: 2.8205128205vw;
    letter-spacing: -0.005em;
    line-height: calc(23 / 11);
  }
  .aboutConcept__text p {
    font-size: 4.6153846154vw;
    letter-spacing: -0.01em;
    line-height: calc(19 / 18);
    margin-top: 3.8461538462vw;
  }
}
.aboutConcept__list {
  width: 38.515625vw;
}
@media screen and (max-width: 720px) {
  .aboutConcept__list {
    width: 100%;
    margin-top: 16.1538461538vw;
  }
}
.aboutConcept__list li {
  display: flex;
  align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 720px) {
  .aboutConcept__list li {
    display: block;
  }
}
.aboutConcept__list li:after {
  content: "";
  height: 1px;
  width: 4.7640625vw;
  position: absolute;
  top: -6.40625vw;
  left: 10.9375vw;
  background: #0F0F0F;
}
@media screen and (max-width: 720px) {
  .aboutConcept__list li:after {
    left: 0;
    top: -11.2820512821vw;
    width: 8.7179487179vw;
  }
}
.aboutConcept__list li:first-child::after {
  display: none;
}
.aboutConcept__list li + li {
  margin-top: 12.890625vw;
}
@media screen and (max-width: 720px) {
  .aboutConcept__list li + li {
    margin-top: 22.5641025641vw;
  }
}
.aboutConcept__list li strong {
  display: block;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: -0.005em;
  line-height: calc(27 / 14);
  width: 10.9375vw;
  flex-shrink: 0;
}
@media screen and (max-width: 720px) {
  .aboutConcept__list li strong {
    width: auto;
    font-size: 2.8205128205vw;
    letter-spacing: -0.005em;
    line-height: calc(23 / 11);
  }
}
.aboutConcept__list li span {
  display: block;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(25 / 15);
}
@media screen and (max-width: 720px) {
  .aboutConcept__list li span {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(24 / 14);
    margin-top: 1.2820512821vw;
  }
}
.aboutConcept__swiper {
  position: absolute;
  left: 2.96875vw;
  bottom: 4.609375vw;
  width: 26.171875vw;
}
@media screen and (max-width: 720px) {
  .aboutConcept__swiper {
    width: 100%;
    position: relative;
    bottom: auto;
    left: auto;
    margin-top: 17.9487179487vw;
  }
}
.aboutConcept__swiper .swiper {
  padding-top: 1.71875vw;
}
.aboutConcept__swiper .swiper-pagination {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.015625vw;
  letter-spacing: -0.005em;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 0;
  bottom: auto;
  width: auto;
}
@media screen and (max-width: 720px) {
  .aboutConcept__swiper .swiper-pagination {
    display: none;
  }
}
.aboutConcept__swiper .swiper img {
  width: 100%;
  height: auto;
}

.aboutMovie {
  border-top: 1px solid #0F0F0F;
  padding: 3.75vw 2.96875vw;
}
@media screen and (max-width: 720px) {
  .aboutMovie {
    padding: 7.6923076923vw 5.3846153846vw;
  }
}
.aboutMovie__header {
  display: grid;
}
.aboutMovie__title {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.015625vw;
  letter-spacing: -0.005em;
  line-height: calc(27 / 13);
  grid-column: 1/span 2;
  grid-row: 1;
}
@media screen and (max-width: 720px) {
  .aboutMovie__title {
    font-size: 2.8205128205vw;
    letter-spacing: -0.005em;
    line-height: calc(23 / 11);
  }
}
.aboutMovie__text {
  margin-top: 1.328125vw;
  font-size: 1.640625vw;
  letter-spacing: -0.01em;
  line-height: calc(22 / 21);
  grid-column: 1;
  grid-row: 2;
}
@media screen and (max-width: 720px) {
  .aboutMovie__text {
    margin-top: 3.0769230769vw;
    font-size: 4.6153846154vw;
    letter-spacing: -0.01em;
    line-height: calc(19 / 18);
  }
}
.aboutMovie__time {
  font-size: 1.484375vw;
  letter-spacing: -0.01em;
  line-height: calc(22 / 19);
  grid-column: 2;
  grid-row: 2;
  margin-top: auto;
  margin-left: auto;
}
@media screen and (max-width: 720px) {
  .aboutMovie__time {
    display: none;
  }
}
.aboutMovie__movie {
  margin-top: 1.796875vw;
  position: relative;
  width: 100%;
  height: 0;
  line-height: 0;
  padding-top: 56.25%;
}
.aboutMovie__movie video {
  width: 100%;
  height: auto;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 720px) {
  .aboutMovie__movie {
    margin-top: 4.8717948718vw;
  }
}
.aboutMovie__copy {
  margin-top: 1.171875vw;
  font-size: 1.25vw;
  letter-spacing: -0.01em;
  line-height: calc(22 / 16);
}
@media screen and (max-width: 720px) {
  .aboutMovie__copy {
    margin-top: 1.0256410256vw;
    font-size: 3.3333333333vw;
    letter-spacing: -0.01em;
    line-height: calc(22 / 13);
  }
}

.aboutTravel {
  border-top: 1px solid #0F0F0F;
  padding-top: 10.625vw;
}
@media screen and (max-width: 720px) {
  .aboutTravel {
    padding-top: 17.9487179487vw;
  }
}
.aboutTravel__title {
  font-size: 1.328125vw;
  letter-spacing: 0em;
  line-height: calc(23 / 17);
  text-align: center;
}
@media screen and (max-width: 720px) {
  .aboutTravel__title {
    font-size: 2.8205128205vw;
    letter-spacing: 0em;
    line-height: calc(13 / 11);
  }
}
.aboutTravel__text {
  text-align: center;
  margin-top: 2vw;
}
.aboutTravel__text img {
  width: 45.259375vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .aboutTravel__text {
    margin-top: 4.1025641026vw;
  }
  .aboutTravel__text img {
    width: 65.7846153846vw;
  }
}
.aboutTravel__group {
  display: flex;
}
.aboutTravel__group img {
  height: auto;
}
.aboutTravel__group.ext-01 {
  align-items: flex-start;
  justify-content: space-between;
  margin: 15.21875vw 8.75vw 0 7.71875vw;
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-01 {
    margin: 19.2307692308vw 5.3846153846vw 0;
    display: block;
  }
}
.aboutTravel__group.ext-01 > div {
  width: 43.359375vw;
  margin-left: 2.8359375vw;
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-01 > div {
    width: 100%;
    margin-left: 0;
  }
}
.aboutTravel__group.ext-01 h3 {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.015625vw;
  letter-spacing: -0.005em;
  line-height: calc(27 / 13);
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-01 h3 {
    margin-top: 7.6923076923vw;
    font-size: 2.8205128205vw;
    letter-spacing: -0.005em;
    line-height: calc(23 / 11);
  }
}
.aboutTravel__group.ext-01 p:nth-child(2) {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 2.34375vw;
  letter-spacing: -0.01em;
  line-height: calc(30 / 30);
  margin-top: 1.8359375vw;
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-01 p:nth-child(2) {
    font-size: 5.3846153846vw;
    letter-spacing: -0.01em;
    line-height: calc(23 / 21);
    margin-top: 4.5128205128vw;
  }
}
.aboutTravel__group.ext-01 p:nth-child(3) {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(26 / 15);
  margin-top: 2.2109375vw;
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-01 p:nth-child(3) {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(24 / 14);
    margin-top: 6vw;
  }
}
.aboutTravel__group.ext-01 img {
  width: 37.49296875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-01 img {
    width: 100%;
  }
}
.aboutTravel__group.ext-02 {
  justify-content: flex-end;
  margin-right: 13.046875vw;
  margin-top: 1.875vw;
}
.aboutTravel__group.ext-02 img {
  width: 21.40625vw;
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-02 {
    display: none;
  }
}
.aboutTravel__group.ext-03 {
  align-items: center;
  justify-content: space-between;
  margin-left: 13.828125vw;
  margin-right: 13.046875vw;
  margin-top: 4.609375vw;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-03 {
    margin-left: 5.3846153846vw;
    margin-right: 5.3846153846vw;
    margin-top: 11.2820512821vw;
    display: block;
  }
}
.aboutTravel__group.ext-03 > img {
  width: 29.921875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-03 > img {
    width: 100%;
  }
}
.aboutTravel__group.ext-03 p {
  font-size: 1.328125vw;
  letter-spacing: -0.009em;
  line-height: calc(19 / 17);
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-03 p {
    font-size: 3.8461538462vw;
    letter-spacing: -0.01em;
    line-height: calc(17 / 15);
    margin-top: 5.641025641vw;
  }
}
.aboutTravel__group.ext-03 a {
  margin-top: 2.578125vw;
  font-size: 2.03125vw;
  letter-spacing: -0.02em;
  line-height: calc(25 / 26);
  display: flex;
  align-items: center;
}
.aboutTravel__group.ext-03 a > img {
  width: 1.590625vw;
  height: auto;
  margin-left: 0.859375vw;
}
@media screen and (max-width: 720px) {
  .aboutTravel__group.ext-03 a {
    margin-top: 5.641025641vw;
    font-size: 5.3846153846vw;
    letter-spacing: 0.02em;
    line-height: calc(22 / 21);
  }
  .aboutTravel__group.ext-03 a > img {
    width: 4.2179487179vw;
    margin-left: 2.0512820513vw;
  }
}

.aboutOutline {
  border-top: 1px solid #0F0F0F;
  margin-top: 23.359375vw;
  padding: 3.671875vw 2.96875vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row-reverse;
  box-sizing: border-box;
}
@media screen and (max-width: 720px) {
  .aboutOutline {
    margin-top: 16.6666666667vw;
    padding: 7.1794871795vw 5.3846153846vw 7.3333333333vw;
    display: block;
  }
}
.aboutOutline > img {
  width: 28.59375vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .aboutOutline > img {
    display: none;
  }
}
.aboutOutline > div {
  width: 60.703125vw;
}
@media screen and (max-width: 720px) {
  .aboutOutline > div {
    width: 100%;
  }
}
.aboutOutline > div > img {
  width: 100%;
  height: auto;
  margin-top: 7.1794871795vw;
}
.aboutOutline h2 {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 2.421875vw;
  letter-spacing: -0.028em;
  line-height: calc(30 / 31);
}
@media screen and (max-width: 720px) {
  .aboutOutline h2 {
    font-size: 7.1794871795vw;
    letter-spacing: -0.028em;
    line-height: calc(30 / 28);
  }
}
.aboutOutline p {
  margin-top: 1.5625vw;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.328125vw;
  letter-spacing: -0.005em;
  line-height: calc(17 / 17);
}
@media screen and (max-width: 720px) {
  .aboutOutline p {
    margin-top: 5.1282051282vw;
    font-size: 3.8461538462vw;
    letter-spacing: -0.009em;
    line-height: calc(19 / 15);
  }
}
.aboutOutline table {
  width: 100%;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: -0.01em;
  line-height: calc(14 / 14);
  margin-top: 6.640625vw;
  border-bottom: 1px solid #0F0F0F;
}
.aboutOutline table .ext-ja {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 600;
}
@media screen and (max-width: 720px) {
  .aboutOutline table {
    font-size: 3.0769230769vw;
    letter-spacing: -0.01em;
    line-height: calc(13 / 12);
    margin-top: 8.9743589744vw;
  }
}
.aboutOutline table tr {
  border-top: 1px solid #0F0F0F;
}
.aboutOutline table th, .aboutOutline table td {
  padding: 0.78125vw 0.78125vw 0.78125vw 0;
  box-sizing: border-box;
  text-align: left;
}
@media screen and (max-width: 720px) {
  .aboutOutline table th, .aboutOutline table td {
    padding: 2.0512820513vw 1.2820512821vw 2.0512820513vw 0;
  }
}
.aboutOutline table th {
  width: 20vw;
}
@media screen and (max-width: 720px) {
  .aboutOutline table th {
    width: 40.7692307692vw;
  }
}

.roomsIndex {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #F5F5F4;
  position: relative;
}
.is-sp .roomsIndex {
  height: 100dvh;
}
@media screen and (max-width: 720px) {
  .roomsIndex {
    height: 121.5384615385vw;
    position: relative;
  }
  .is-sp .roomsIndex {
    height: 121.5384615385vw;
  }
}
.roomsIndex__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 50%;
  bottom: 50%;
  transform: translate(-50%, 0);
}
.roomsIndex__title span {
  font-size: 1.640625vw;
  letter-spacing: -0.02em;
  line-height: calc(13 / 21);
}
.roomsIndex__title img {
  margin-top: 1.9921875vw;
  height: auto;
  width: 17.5296875vw;
}
@media screen and (max-width: 720px) {
  .roomsIndex__title span {
    font-size: 3.5897435897vw;
    letter-spacing: -0.02em;
    line-height: calc(9 / 14);
  }
  .roomsIndex__title img {
    margin-top: 4.3076923077vw;
    width: 33.6358974359vw;
  }
}
.roomsIndex__text {
  position: absolute;
  font-size: 1.484375vw;
  letter-spacing: -0.005em;
  line-height: calc(23 / 19);
  left: 2.96875vw;
  bottom: 3.2421875vw;
}
.roomsIndex__text::before {
  content: "";
  display: block;
  width: 0.625vw;
  height: 0.625vw;
  background: #F5F5F4;
  border-radius: 50%;
  position: absolute;
  top: -2.734375vw;
  left: 0;
}
@media screen and (max-width: 720px) {
  .roomsIndex__text {
    font-size: 3.8461538462vw;
    letter-spacing: -0.005em;
    line-height: calc(18 / 15);
    left: 5.3846153846vw;
    bottom: 6.1538461538vw;
  }
  .roomsIndex__text:before {
    width: 1.7948717949vw;
    height: 1.7948717949vw;
    top: -7.1794871795vw;
  }
}
.roomsIndex__navi {
  position: absolute;
  bottom: 2.7734375vw;
  right: 3.90625vw;
}
@media screen and (max-width: 720px) {
  .roomsIndex__navi {
    display: none;
  }
}
.roomsIndex__navi h3 {
  font-size: 1.171875vw;
  letter-spacing: -0.005em;
  line-height: calc(23 / 15);
}
.roomsIndex__navi ul {
  margin-top: 1.640625vw;
  font-size: 1.875vw;
  letter-spacing: -0.026em;
  line-height: calc(30 / 24);
}
.roomsIndex__navi ul a {
  display: flex;
  align-items: flex-end;
  color: #F5F5F4;
}
.roomsIndex__navi ul a:after {
  content: "";
  display: inline-block;
  width: 2.64140625vw;
  height: 0.4078125vw;
  margin-bottom: 0.546875vw;
  background: url(../img/icn-arrow_anchor_white.svg) no-repeat center center/contain;
  margin-left: 0.640625vw;
}

.roomsSwiper {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.roomsSwiper img {
  width: 100%;
  height: auto;
}
.roomsSwiper .swiper {
  overflow: visible;
}
.roomsSwiper .swiper-pagination {
  position: absolute;
  top: 100%;
  color: #F5F5F4;
  font-size: 1.640625vw;
  letter-spacing: -0.021em;
  line-height: calc(21 / 21);
  margin-top: 1.96875vw;
}
@media screen and (max-width: 720px) {
  .roomsSwiper .swiper-pagination {
    margin-top: 2.641025641vw;
    font-size: 2.8205128205vw;
    letter-spacing: -0.021em;
    line-height: calc(13 / 11);
  }
}
.roomsSwiper .swiper-button-next, .roomsSwiper .swiper-button-prev {
  background: url(../img/icn-arrow_carousel.svg) no-repeat center center/contain;
  width: 1.034375vw;
  height: 0.83515625vw;
  position: absolute;
  left: 50%;
  top: 100%;
  margin-top: 2.3515625vw;
  cursor: pointer;
}
@media screen and (max-width: 720px) {
  .roomsSwiper .swiper-button-next, .roomsSwiper .swiper-button-prev {
    width: 1.6974358974vw;
    height: 1.3692307692vw;
    margin-top: 3.4102564103vw;
  }
}
.roomsSwiper .swiper-button-next:after, .roomsSwiper .swiper-button-prev:after {
  content: "";
  display: none;
  background: none;
  width: 3.28125vw;
  height: 3.28125vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: all;
}
@media screen and (max-width: 720px) {
  .roomsSwiper .swiper-button-next:after, .roomsSwiper .swiper-button-prev:after {
    width: 10.7692307692vw;
    height: 10.7692307692vw;
  }
}
.roomsSwiper .swiper-button-next {
  margin-left: 16.25vw;
}
@media screen and (max-width: 720px) {
  .roomsSwiper .swiper-button-next {
    margin-left: 26.6666666667vw;
  }
}
.roomsSwiper .swiper-button-prev {
  margin-left: -17.34375vw;
  transform: scale(-1, 1);
}
@media screen and (max-width: 720px) {
  .roomsSwiper .swiper-button-prev {
    margin-left: -28.4615384615vw;
  }
}

.roomsInfo {
  margin: 16.3203125vw 11.375vw 0 11.75vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row-reverse;
}
@media screen and (max-width: 720px) {
  .roomsInfo {
    margin: 13.1282051282vw 5.3846153846vw 0;
    display: block;
  }
}
.roomsInfo > img {
  width: 29.921875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .roomsInfo > img {
    width: 100%;
  }
}
.roomsInfo > div {
  width: 37.421875vw;
  padding-top: 3.203125vw;
}
@media screen and (max-width: 720px) {
  .roomsInfo > div {
    width: 100%;
    padding-top: 0;
  }
}
.roomsInfo__title {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.9375vw;
  letter-spacing: -0.005em;
  line-height: calc(27 / 12);
  color: #707070;
}
@media screen and (max-width: 720px) {
  .roomsInfo__title {
    margin-top: 5.0769230769vw;
    font-size: 2.8205128205vw;
    letter-spacing: -0.005em;
    line-height: 1;
  }
}
.roomsInfo__copy {
  margin-top: 3.28125vw;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.640625vw;
  letter-spacing: 0em;
  line-height: calc(22 / 21);
}
@media screen and (max-width: 720px) {
  .roomsInfo__copy {
    margin-top: 3.8461538462vw;
    font-size: 4.6153846154vw;
    letter-spacing: -0.01em;
    line-height: calc(19 / 18);
  }
}
.roomsInfo__text {
  margin-top: 2.7734375vw;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.171875vw;
  letter-spacing: -0.004em;
  line-height: calc(25 / 15);
}
@media screen and (max-width: 720px) {
  .roomsInfo__text {
    margin-top: 5.8974358974vw;
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(24 / 14);
  }
}
.roomsInfo__link {
  margin-top: 5.2734375vw;
}
@media screen and (max-width: 720px) {
  .roomsInfo__link {
    margin-top: 9.2307692308vw;
  }
}
.roomsInfo__link li + li {
  margin-top: 1.484375vw;
}
@media screen and (max-width: 720px) {
  .roomsInfo__link li + li {
    margin-top: 2.641025641vw;
  }
}

.roomsDetail {
  margin: 17.3515625vw 4.8828125vw 0;
}
@media screen and (max-width: 720px) {
  .roomsDetail {
    margin: 35.1538461538vw 5.3846153846vw 0;
  }
}
.roomsDetail + .roomsDetail {
  margin-top: 12.6484375vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail + .roomsDetail {
    margin-top: 28.4615384615vw;
  }
}
.roomsDetail__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 4.28125vw;
}
.roomsDetail__title span {
  font-family: "balto", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(23 / 16);
  color: #707070;
  margin-bottom: 2.59375vw;
}
.roomsDetail__title img.ext-deepsea {
  width: 14.85546875vw;
  height: auto;
}
.roomsDetail__title img.ext-shallowsea {
  width: 19.109375vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .roomsDetail__title {
    margin-bottom: 10.0256410256vw;
  }
  .roomsDetail__title span {
    font-size: 4.1025641026vw;
    letter-spacing: 0em;
    line-height: calc(23 / 16);
    margin-bottom: 3.9487179487vw;
  }
  .roomsDetail__title img.ext-deepsea {
    width: 34.1307692308vw;
  }
  .roomsDetail__title img.ext-shallowsea {
    width: 43.9025641026vw;
  }
}
.roomsDetail__body {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 720px) {
  .roomsDetail__body {
    display: block;
  }
}
.roomsDetail__slider {
  width: 40.78125vw;
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 3.125vw;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 720px) {
  .roomsDetail__slider {
    width: 100%;
    padding-bottom: 6.4102564103vw;
  }
}
.roomsDetail__slider img {
  width: 100%;
  height: auto;
}
.roomsDetail__slider .swiper {
  overflow: visible;
}
.roomsDetail__slider .swiper-pagination {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 2.34375vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 720px) {
  .roomsDetail__slider .swiper-pagination {
    margin-top: 6.1538461538vw;
  }
}
.roomsDetail__slider .swiper-pagination-bullet {
  height: 1px;
  width: 1.58203125vw;
  background: #F5F5F4;
  opacity: 1;
  position: relative;
  margin-left: 0 !important;
  margin-right: 0.84375vw !important;
  border-radius: 0;
}
@media screen and (max-width: 720px) {
  .roomsDetail__slider .swiper-pagination-bullet {
    width: 3.0282051282vw;
    margin-right: 1.6153846154vw !important;
  }
}
.roomsDetail__slider .swiper-pagination-bullet:after {
  content: "";
  display: block;
  width: 1.58203125vw;
  height: 1.171875vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 720px) {
  .roomsDetail__slider .swiper-pagination-bullet:after {
    width: 3.0282051282vw;
    height: 3.8461538462vw;
  }
}
.roomsDetail__slider .swiper-pagination-bullet-active {
  background: #707070;
}
.roomsDetail__text {
  width: 43.359375vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text {
    width: 100%;
    margin-top: 10.641025641vw;
  }
}
.roomsDetail__text p {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: 0em;
  line-height: calc(23 / 14);
}
@media screen and (max-width: 720px) {
  .roomsDetail__text p {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(24 / 14);
  }
}
.roomsDetail__text dl {
  margin-top: 2.453125vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text dl {
    margin-top: 10.641025641vw;
  }
}
.roomsDetail__text dl dt {
  border-top: 1px solid #F5F5F4;
  font-family: "balto", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.9375vw;
  letter-spacing: -0.01em;
  line-height: calc(12 / 12);
  padding-top: 0.5078125vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text dl dt {
    padding-top: 1.8974358974vw;
    font-size: 2.8205128205vw;
    letter-spacing: -0.01em;
    line-height: calc(13 / 11);
  }
}
.roomsDetail__text dl dd {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 0.78125vw;
  letter-spacing: 0.004em;
  line-height: calc(16 / 10);
  margin-top: 1.7890625vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text dl dd {
    margin-top: 3.2564102564vw;
    font-size: 2.5641025641vw;
    letter-spacing: 0.004em;
    line-height: calc(14 / 10);
  }
}
.roomsDetail__text dl dd strong {
  margin-bottom: 1.578125vw;
  display: flex;
  align-items: center;
  font-family: "balto", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.875vw;
  letter-spacing: -0.01em;
  line-height: calc(24 / 24);
  white-space: nowrap;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text dl dd strong {
    font-size: 6.1538461538vw;
    letter-spacing: -0.012em;
    line-height: calc(25 / 24);
    margin-bottom: 3.2564102564vw;
    align-items: center;
  }
}
.roomsDetail__text dl dd strong > span {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 600;
  font-size: 1.25vw;
  letter-spacing: 0.004em;
  line-height: calc(24 / 16);
  align-self: center;
  margin-left: 0.78125vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text dl dd strong > span {
    font-size: 3.5897435897vw;
    letter-spacing: 0.004em;
    line-height: calc(25 / 14);
    margin-left: 1.7948717949vw;
  }
}
.roomsDetail__text dl dd strong em {
  display: flex;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 600;
  font-size: 1.015625vw;
  letter-spacing: -0.01em;
  line-height: calc(14 / 13);
  align-items: center;
  border: 1px solid #F5F5F4;
  height: 1.47890625vw;
  line-height: 1.47890625vw;
  padding: 0 0.4140625vw;
  margin-left: 0.6640625vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text dl dd strong em {
    font-size: 3.3333333333vw;
    letter-spacing: -0.01em;
    line-height: calc(13 / 13);
    height: 4.8974358974vw;
    line-height: 4.8974358974vw;
    padding: 0 0.9487179487vw;
    margin-left: 2.1794871795vw;
  }
}
.roomsDetail__text dl dd strong em span {
  font-size: 0.5921875vw;
  letter-spacing: 0.004em;
  line-height: 1;
  margin-bottom: 0.078125vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text dl dd strong em span {
    font-size: 1.9435897436vw;
    letter-spacing: 0.004em;
    line-height: 1;
    margin-bottom: 0.2564102564vw;
  }
}
.roomsDetail__text dl dd + dt {
  margin-top: 2.0234375vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text dl dd + dt {
    margin-top: 9.4102564103vw;
  }
}
.roomsDetail__text .button {
  margin-top: 2.96875vw;
}
@media screen and (max-width: 720px) {
  .roomsDetail__text .button {
    margin-top: 7.1538461538vw;
  }
}

.roomsOptions {
  margin: 16.4765625vw 11.015625vw 0 11.71875vw;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
}
@media screen and (max-width: 720px) {
  .roomsOptions {
    display: block;
    margin: 28.4615384615vw 5.3846153846vw 0;
  }
}
.roomsOptions__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 4.28125vw;
  width: 100%;
}
@media screen and (max-width: 720px) {
  .roomsOptions__title {
    margin-bottom: 5.7435897436vw;
  }
}
.roomsOptions__title img {
  width: 12.07265625vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .roomsOptions__title img {
    width: 30.3vw;
  }
}
.roomsOptions__title span {
  font-family: "balto", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(23 / 16);
  color: #707070;
  margin-bottom: 1.734375vw;
}
@media screen and (max-width: 720px) {
  .roomsOptions__title span {
    font-size: 4.1025641026vw;
    letter-spacing: 0em;
    line-height: calc(23 / 16);
  }
}
.roomsOptions > img {
  width: 29.921875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .roomsOptions > img {
    width: 100%;
  }
}
.roomsOptions > div {
  width: 37.421875vw;
}
@media screen and (max-width: 720px) {
  .roomsOptions > div {
    width: 100%;
  }
}
.roomsOptions > div h4 span {
  display: block;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.9375vw;
  letter-spacing: -0.005em;
  line-height: calc(27 / 12);
  margin-bottom: 1vw;
  color: #707070;
}
.roomsOptions > div h4 strong {
  display: block;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.640625vw;
  letter-spacing: 0em;
  line-height: calc(22 / 21);
}
@media screen and (max-width: 720px) {
  .roomsOptions > div h4 {
    margin-top: 8vw;
  }
  .roomsOptions > div h4 span {
    font-size: 2.3076923077vw;
    letter-spacing: -0.005em;
    line-height: 1;
    margin-bottom: 2.6923076923vw;
  }
  .roomsOptions > div h4 strong {
    font-size: 4.1025641026vw;
    letter-spacing: 0em;
    line-height: calc(17 / 16);
  }
}
.roomsOptions > div p.ext-price {
  margin-top: 3.109375vw;
  font-family: "balto", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 2.8125vw;
  letter-spacing: -0.01em;
  line-height: calc(19 / 36);
}
@media screen and (max-width: 720px) {
  .roomsOptions > div p.ext-price {
    font-size: 7.4358974359vw;
    letter-spacing: -0.012em;
    line-height: calc(10 / 29);
    margin-top: 4.358974359vw;
  }
}
.roomsOptions > div p.ext-price span {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 600;
  font-size: 1.875vw;
  letter-spacing: 0.004em;
  line-height: calc(24 / 24);
  align-self: flex-end;
  transform: translate(0, -0.234375vw);
  margin-left: 0.078125vw;
}
@media screen and (max-width: 720px) {
  .roomsOptions > div p.ext-price span {
    font-size: 5.1282051282vw;
    letter-spacing: 0.004em;
    line-height: calc(20 / 20);
    transform: translate(0, -0.7692307692vw);
    margin-left: 0.2564102564vw;
  }
}
.roomsOptions > div p.ext-text {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.171875vw;
  letter-spacing: -0.014em;
  line-height: calc(25 / 15);
  margin-top: 2.71875vw;
}
@media screen and (max-width: 720px) {
  .roomsOptions > div p.ext-text {
    margin-top: 7.0256410256vw;
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(24 / 14);
  }
}
.roomsOptions > div .button {
  margin-top: 3.828125vw;
}
@media screen and (max-width: 720px) {
  .roomsOptions > div .button {
    margin-top: 7.2307692308vw;
  }
}

.roomsFood {
  margin: 16.4765625vw 11.015625vw 0 11.71875vw;
}
@media screen and (max-width: 720px) {
  .roomsFood {
    display: block;
    margin: 36.0512820513vw 5.3846153846vw 0;
  }
}
.roomsFood__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 4.28125vw;
  width: 100%;
}
@media screen and (max-width: 720px) {
  .roomsFood__title {
    margin-bottom: 5.7435897436vw;
  }
}
.roomsFood__title img {
  width: 20.15078125vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .roomsFood__title img {
    width: 47.241025641vw;
  }
}
.roomsFood__title span {
  font-family: "balto", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(23 / 16);
  color: #707070;
  margin-bottom: 1.734375vw;
}
@media screen and (max-width: 720px) {
  .roomsFood__title span {
    font-size: 4.1025641026vw;
    letter-spacing: 0em;
    line-height: calc(23 / 16);
  }
}
.roomsFood__photo {
  margin-top: 1.875vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 720px) {
  .roomsFood__photo {
    margin-top: 4.8717948718vw;
    flex-direction: column;
  }
}
.roomsFood__main {
  width: 60.3640040445%;
  height: 0;
  padding-top: 41.0515672396%;
  opacity: 0;
  transition: opacity 0s;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 720px) {
  .roomsFood__main {
    width: 89.2307692308vw;
    padding-top: 68.1034482759%;
  }
}
.roomsFood__main img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.roomsFood__main.is-active {
  opacity: 1;
  transition: opacity 1s;
}
.roomsFood__swiper {
  width: 37.5126390293%;
  margin: 0;
  overflow-x: hidden;
  position: relative;
  padding-bottom: 3.359375vw;
}
@media screen and (max-width: 720px) {
  .roomsFood__swiper {
    margin-top: 4.5897435897vw;
    width: 89.2307692308vw;
    height: auto;
    padding-bottom: 7.9487179487vw;
  }
}
.roomsFood__swiper .swiper-wrapper {
  z-index: 2;
}
.roomsFood__arrow {
  width: 1.95546875vw;
  height: 0.93359375vw;
  display: block;
  background: url(../img/icn-arrow_carousel_food.svg) no-repeat center center/contain;
  position: absolute;
  bottom: 0;
  z-index: 2;
  cursor: pointer;
  transition: opacity 0.4s;
}
@media screen and (max-width: 720px) {
  .roomsFood__arrow {
    width: 5.7538461538vw;
    height: 2.7461538462vw;
    z-index: 10;
  }
}
.roomsFood__arrow.ext-prev {
  transform: rotate(180deg);
}
.roomsFood__arrow.ext-next {
  right: 0;
}
@media screen and (max-width: 720px) {
  .roomsFood__arrow.ext-next {
    right: 0;
  }
}
.is-pc .roomsFood__arrow:hover {
  opacity: 0.5;
}
.roomsFood__arrow.swiper-button-disabled {
  opacity: 0.2 !important;
  pointer-events: none;
}
.roomsFood__thumb {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.roomsFood__thumb li a {
  position: relative;
  width: 100%;
  height: 0;
  display: block;
  background: #0F0F0F;
}
.roomsFood__thumb li a:hover {
  opacity: 1;
}
.roomsFood__thumb li a:hover img {
  opacity: 0.5;
}
.roomsFood__thumb li a img {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  transition: opacity 0.4s;
}
@media screen and (min-width: 721px) {
  .roomsFood__thumb li {
    width: 47.7088948787%;
  }
  .roomsFood__thumb li a {
    padding-top: 68.3615819209%;
  }
  .roomsFood__thumb li:nth-child(n+3) {
    margin-top: 1.71875vw;
  }
}
@media screen and (max-width: 720px) {
  .roomsFood__thumb li {
    width: 31.3275862069%;
  }
  .roomsFood__thumb li a {
    padding-top: 68.3636030086%;
  }
  .roomsFood__thumb li:nth-child(n+4) {
    margin-top: 3.4871794872vw;
  }
}
.roomsFood__text {
  width: 60.3640040445%;
}
@media screen and (max-width: 720px) {
  .roomsFood__text {
    width: 100%;
  }
}
.roomsFood__text h4 span {
  display: block;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 0.9375vw;
  letter-spacing: -0.005em;
  line-height: calc(27 / 12);
  margin-bottom: 1vw;
  color: #707070;
}
.roomsFood__text h4 strong {
  display: block;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.640625vw;
  letter-spacing: 0em;
  line-height: calc(22 / 21);
}
@media screen and (max-width: 720px) {
  .roomsFood__text h4 {
    margin-top: 8vw;
  }
  .roomsFood__text h4 span {
    font-size: 2.3076923077vw;
    letter-spacing: -0.005em;
    line-height: 1;
    margin-bottom: 2.6923076923vw;
  }
  .roomsFood__text h4 strong {
    font-size: 4.1025641026vw;
    letter-spacing: 0em;
    line-height: calc(17 / 16);
  }
}
.roomsFood__text p.ext-price {
  margin-top: 3.109375vw;
  font-family: "balto", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 2.8125vw;
  letter-spacing: -0.01em;
  line-height: calc(19 / 36);
}
@media screen and (max-width: 720px) {
  .roomsFood__text p.ext-price {
    font-size: 7.4358974359vw;
    letter-spacing: -0.012em;
    line-height: calc(10 / 29);
    margin-top: 6.2051282051vw;
  }
}
.roomsFood__text p.ext-price span {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 600;
  font-size: 2.03125vw;
  letter-spacing: 0.004em;
  line-height: calc(24 / 26);
  align-self: flex-end;
  transform: translate(0, -0.234375vw);
  margin-left: 0.078125vw;
}
@media screen and (max-width: 720px) {
  .roomsFood__text p.ext-price span {
    font-size: 4.6153846154vw;
    letter-spacing: 0.004em;
    line-height: calc(20 / 18);
    transform: translate(0, -0.7692307692vw);
    margin-left: 0.2564102564vw;
  }
}
.roomsFood__text p.ext-text {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.171875vw;
  letter-spacing: -0.014em;
  line-height: calc(25 / 15);
  margin-top: 2.71875vw;
}
@media screen and (max-width: 720px) {
  .roomsFood__text p.ext-text {
    margin-top: 6.3333333333vw;
    font-size: 3.3333333333vw;
    letter-spacing: -0.014em;
    line-height: calc(23 / 13);
  }
}
.roomsFood__text .button {
  margin-top: 3.828125vw;
}
@media screen and (max-width: 720px) {
  .roomsFood__text .button {
    margin-top: 7.2307692308vw;
  }
}

.roomsAmenity {
  margin-top: 15.3125vw;
}
@media screen and (min-width: 721px) {
  .roomsAmenity .swiper-button-prev,
  .roomsAmenity .swiper-button-next {
    display: none;
  }
}
@media screen and (max-width: 720px) {
  .roomsAmenity {
    margin-top: 36.0512820513vw;
  }
}
.roomsAmenity__title {
  text-align: center;
}
.roomsAmenity__title img {
  width: 13.43125vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .roomsAmenity__title img {
    width: 33.7102564103vw;
  }
}
.roomsAmenity__list {
  margin: 6.703125vw 11.09375vw 0;
  display: flex;
}
@media screen and (max-width: 720px) {
  .roomsAmenity__list {
    margin: 12.7692307692vw 0 0;
  }
}
.roomsAmenity__item {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  width: 23.046875vw;
}
@media screen and (max-width: 720px) {
  .roomsAmenity__item {
    width: 100%;
    box-sizing: border-box;
    padding: 0 15.8974358974vw;
  }
}
.roomsAmenity__item + .roomsAmenity__item {
  margin-left: 4.375vw;
}
@media screen and (max-width: 720px) {
  .roomsAmenity__item + .roomsAmenity__item {
    margin-left: 0;
  }
}
.roomsAmenity__item h4 {
  color: #707070;
  font-size: 0.9375vw;
  letter-spacing: -0.01em;
  line-height: calc(14 / 12);
}
@media screen and (max-width: 720px) {
  .roomsAmenity__item h4 {
    font-size: 2.5641025641vw;
    letter-spacing: -0.01em;
    line-height: calc(12 / 10);
  }
}
.roomsAmenity__item img {
  margin-top: 0.546875vw;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 720px) {
  .roomsAmenity__item img {
    margin-top: 1.7948717949vw;
  }
}
.roomsAmenity__item strong {
  margin-top: 1.5625vw;
  display: block;
  font-size: 0.703125vw;
  letter-spacing: -0.005em;
  line-height: calc(11 / 9);
  color: #707070;
}
@media screen and (max-width: 720px) {
  .roomsAmenity__item strong {
    font-size: 2.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(10 / 10);
    margin-top: 4.1025641026vw;
  }
}
.roomsAmenity__item span {
  display: block;
  margin-top: 0.703125vw;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 600;
  font-size: 0.859375vw;
  letter-spacing: -0.03em;
  line-height: calc(16 / 11);
}
@media screen and (max-width: 720px) {
  .roomsAmenity__item span {
    font-size: 2.5641025641vw;
    letter-spacing: -0.03em;
    line-height: calc(14 / 10);
    margin-top: 2.0512820513vw;
  }
}
@media screen and (max-width: 720px) {
  .roomsAmenity .swiper {
    position: relative;
  }
  .roomsAmenity .swiper-button-prev, .roomsAmenity .swiper-button-next {
    display: block;
    position: absolute;
    top: 25.3846153846vw;
    margin-top: 0;
    width: 1.4641025641vw;
    height: 2.9256410256vw;
    background: url(../img/icn-arrow_carousel_amenity.svg) no-repeat center center/contain;
    transition: opacity 0.4s;
    opacity: 1;
  }
  .roomsAmenity .swiper-button-prev::after, .roomsAmenity .swiper-button-prev::before, .roomsAmenity .swiper-button-next::after, .roomsAmenity .swiper-button-next::before {
    display: none;
  }
  .roomsAmenity .swiper-button-prev::after, .roomsAmenity .swiper-button-next::after {
    content: "";
    display: inline-block;
    width: 10.7692307692vw;
    height: 10.7692307692vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .roomsAmenity .swiper-button-prev {
    right: auto;
    left: 7.5128205128vw;
    transform: scale(-1, 1);
  }
  .roomsAmenity .swiper-button-next {
    left: auto;
    right: 7.5128205128vw;
  }
  .roomsAmenity .swiper-button-disabled {
    opacity: 0;
  }
}

.roomsFaq {
  margin-top: 23.2265625vw;
  padding-bottom: 22.34375vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: 1px solid #F5F5F4;
}
@media screen and (max-width: 720px) {
  .roomsFaq {
    margin-top: 34.2820512821vw;
    display: block;
    padding-bottom: 65.1282051282vw;
  }
}
.roomsFaq > img {
  width: 100%;
  height: auto;
  margin-bottom: 3.28125vw;
}
@media screen and (max-width: 720px) {
  .roomsFaq > img {
    margin-bottom: 6.8717948718vw;
  }
}
.roomsFaq__title {
  font-size: 3.515625vw;
  letter-spacing: -0.021em;
  line-height: calc(52 / 45);
  margin-left: 2.734375vw;
}
.roomsFaq__title img {
  width: 6.3734375vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .roomsFaq__title {
    margin-left: 5.3846153846vw;
  }
  .roomsFaq__title img {
    width: 12.5512820513vw;
  }
}
.roomsFaq__list {
  width: 50.9375vw;
  margin-right: 2.578125vw;
}
@media screen and (max-width: 720px) {
  .roomsFaq__list {
    width: auto;
    margin: 10.0256410256vw 5.3846153846vw 0;
  }
}
.roomsFaq__list dt {
  position: relative;
  border-top: 1px solid #F5F5F4;
  padding-top: 1.2421875vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-right: 2.34375vw;
  cursor: pointer;
  padding-bottom: 1.1875vw;
}
.roomsFaq__list dt:nth-child(11):not(.is-active) {
  border-bottom: 1px solid #F5F5F4;
}
.roomsFaq__list dt:nth-child(11).is-active {
  border-bottom: none;
}
.roomsFaq__list dt:nth-child(11).is-active + dd {
  border-bottom: 1px solid #F5F5F4;
}
@media screen and (max-width: 720px) {
  .roomsFaq__list dt {
    padding-right: 6.4102564103vw;
    padding-top: 2.5128205128vw;
    padding-bottom: 2.5128205128vw;
  }
}
.roomsFaq__list dt::before {
  content: "";
  display: inline-block;
  width: 0.778125vw;
  height: 0.778125vw;
  background: url(../img/icn-plus.svg) no-repeat center center/contain;
  position: absolute;
  right: 0.625vw;
  transition: opacity 0.4s, transform 0.4s;
  transform: none;
  flex-shrink: 0;
}
@media screen and (max-width: 720px) {
  .roomsFaq__list dt::before {
    width: 1.7vw;
    height: 1.7vw;
    right: 1.0256410256vw;
  }
}
.roomsFaq__list dt:after {
  content: "More";
  margin-left: auto;
  transition: opacity 0.4s;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.40625vw;
  letter-spacing: -0.02em;
  line-height: calc(24 / 18);
}
@media screen and (max-width: 720px) {
  .roomsFaq__list dt:after {
    display: none;
  }
}
.roomsFaq__list dt.is-active::before {
  background: #F5F5F4;
  width: 0.778125vw;
  height: 0.078125vw;
}
@media screen and (max-width: 720px) {
  .roomsFaq__list dt.is-active::before {
    width: 1.7vw;
    height: 0.2564102564vw;
  }
}
.roomsFaq__list dt.is-active::after {
  opacity: 0 !important;
}
.roomsFaq__list dt span {
  transition: opacity 0.4s;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
}
.roomsFaq__list dt span.ext-num {
  font-size: 1.09375vw;
  letter-spacing: -0.02em;
  line-height: calc(25 / 14);
}
@media screen and (max-width: 720px) {
  .roomsFaq__list dt span.ext-num {
    font-size: 2.5641025641vw;
    letter-spacing: -0.02em;
    line-height: calc(18 / 10);
  }
}
.roomsFaq__list dt span.ext-en {
  font-size: 1.484375vw;
  letter-spacing: -0.02em;
  line-height: calc(24 / 19);
  margin-left: 1.328125vw;
}
@media screen and (max-width: 720px) {
  .roomsFaq__list dt span.ext-en {
    font-size: 3.5897435897vw;
    letter-spacing: -0.02em;
    line-height: calc(18 / 14);
    margin-left: 3.4871794872vw;
  }
}
.roomsFaq__list dt span.ext-ja {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: -0.02em;
  line-height: calc(21 / 14);
  margin-left: 1.328125vw;
}
@media screen and (max-width: 720px) {
  .roomsFaq__list dt span.ext-ja {
    font-size: 2.5641025641vw;
    letter-spacing: 0.02em;
    line-height: calc(15 / 10);
    margin-left: 3.4871794872vw;
  }
}
@media screen and (min-width: 721px) {
  .roomsFaq__list dt:hover span {
    opacity: 0.4;
  }
  .roomsFaq__list dt:hover:before, .roomsFaq__list dt:hover:after {
    opacity: 0.4;
  }
}
.roomsFaq__list dd {
  display: none;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: 0em;
  line-height: calc(23 / 14);
  padding-top: 1.953125vw;
  padding-bottom: 3.28125vw;
}
.roomsFaq__list dd span {
  display: block;
}
@media screen and (max-width: 720px) {
  .roomsFaq__list dd {
    font-size: 3.0769230769vw;
    letter-spacing: 0em;
    line-height: calc(23 / 12);
    padding-top: 3.0769230769vw;
    padding-bottom: 5.3846153846vw;
  }
}

.contactForm {
  padding-top: 23.4375vw;
  margin: 0 2.96875vw;
  padding-bottom: 22.34375vw;
}
@media screen and (max-width: 720px) {
  .contactForm {
    padding-top: 40vw;
    margin: 0 5.8974358974vw;
    padding-bottom: 68.9743589744vw;
  }
}
.contactForm__title {
  font-size: 1.640625vw;
  letter-spacing: -0.02em;
  line-height: calc(13 / 21);
  text-align: center;
}
@media screen and (max-width: 720px) {
  .contactForm__title {
    font-size: 3.5897435897vw;
    letter-spacing: -0.02em;
    line-height: calc(9 / 14);
  }
}
.contactForm__title img {
  width: 23.01953125vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .contactForm__title img {
    width: 44.1666666667vw;
  }
}
.contactForm__title span {
  display: block;
  margin-bottom: 1.9921875vw;
}
@media screen and (max-width: 720px) {
  .contactForm__title span {
    margin-bottom: 4.2820512821vw;
  }
}
.contactForm > div {
  margin-top: 10.8203125vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 720px) {
  .contactForm > div {
    display: block;
  }
}
.contactForm__info {
  width: 23.359375vw;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.171875vw;
  letter-spacing: -0.005em;
  line-height: calc(18 / 15);
}
.contactForm__info .ext-ja {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
}
@media screen and (max-width: 720px) {
  .contactForm__info {
    width: 100%;
    font-size: 3.5897435897vw;
    letter-spacing: -0.005em;
    line-height: calc(17 / 14);
    margin-top: 29.5128205128vw;
  }
}
@media screen and (max-width: 720px) {
  .contactForm__info p.ext-address {
    margin-top: 8.4615384615vw;
  }
}
@media screen and (max-width: 720px) {
  .contactForm__info p.ext-tel {
    margin-left: 8.4615384615vw;
  }
}
.contactForm__info p.ext-text {
  margin-top: 5.9375vw;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.015625vw;
  letter-spacing: 0em;
  line-height: calc(21 / 13);
}
@media screen and (max-width: 720px) {
  .contactForm__info p.ext-text {
    margin-top: 8.4615384615vw;
    font-size: 3.0769230769vw;
    letter-spacing: 0em;
    line-height: calc(19 / 12);
  }
}
.contactForm__info > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 2.1875vw;
}
@media screen and (max-width: 720px) {
  .contactForm__info > div {
    margin-top: 6.4102564103vw;
    justify-content: flex-start;
  }
}
.contactForm__form {
  width: 61.78046875vw;
}
@media screen and (max-width: 720px) {
  .contactForm__form {
    width: 100%;
    margin-top: 17.5641025641vw;
  }
}
.contactForm__form li {
  position: relative;
  border: 1px solid #5D5D5D;
  border-top: 0;
  border-right: 0;
}
.contactForm__form li.ext-button {
  border: none;
  margin-top: 4.59375vw;
  text-align: center;
  width: 30.34296875vw;
}
@media screen and (max-width: 720px) {
  .contactForm__form li.ext-button {
    margin-top: 9.1794871795vw;
    width: 100%;
  }
}
.contactForm__form li.ext-button button,
.contactForm__form li.ext-button input[type=submit] {
  display: block;
  width: 30.34296875vw;
  height: 4.609375vw;
  background-color: #1F1F1C;
  color: #F5F5F4;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.5625vw;
  letter-spacing: 0em;
  line-height: calc(31 / 20);
}
@media screen and (max-width: 720px) {
  .contactForm__form li.ext-button button,
  .contactForm__form li.ext-button input[type=submit] {
    width: 100%;
    height: 15.1282051282vw;
    font-size: 4.6153846154vw;
    letter-spacing: 0em;
    line-height: calc(31 / 18);
  }
}
.contactForm__form li.ext-button a {
  text-decoration: underline;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.09375vw;
  letter-spacing: 0em;
  line-height: 1;
  margin-top: 1.40625vw;
  display: inline-block;
}
@media screen and (max-width: 720px) {
  .contactForm__form li.ext-button a {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: 1;
    margin-top: 4.6153846154vw;
  }
}
.contactForm__form li + li {
  margin-top: 1.59375vw;
}
@media screen and (max-width: 720px) {
  .contactForm__form li + li {
    margin-top: 4.3846153846vw;
  }
}
.contactForm__form li label {
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: #AAAAAA;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0.78125vw;
  box-sizing: border-box;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.328125vw;
  letter-spacing: -0.01em;
  line-height: 1;
}
@media screen and (max-width: 720px) {
  .contactForm__form li label {
    font-size: 3.3333333333vw;
    letter-spacing: -0.01em;
    line-height: calc(16 / 13);
    padding: 2.5384615385vw 2.7692307692vw;
  }
}
.contactForm__form li label span {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.015625vw;
  letter-spacing: 0em;
  line-height: 1;
  margin-left: 0.75vw;
}
@media screen and (max-width: 720px) {
  .contactForm__form li label span {
    font-size: 2.5641025641vw;
    letter-spacing: 0em;
    line-height: calc(23 / 10);
    margin-left: 1.9487179487vw;
  }
}
.contactForm__form li label.ext-textarea {
  align-items: flex-start;
}
@media screen and (max-width: 720px) {
  .contactForm__form li label.ext-textarea {
    padding-top: 0;
  }
}
.contactForm__form li label.is-focus {
  display: none;
}
.contactForm__form li label.is-not_empty {
  display: none;
}
.contactForm__form li label.ext-select:after {
  content: "";
  display: inline-block;
  width: 0.859375vw;
  height: 0.546875vw;
  margin-left: 1.015625vw;
  background: url(../img/icn-select.svg) no-repeat center center/contain;
}
@media screen and (max-width: 720px) {
  .contactForm__form li label.ext-select:after {
    width: 2.8205128205vw;
    height: 1.7948717949vw;
    margin-left: 2.8205128205vw;
  }
}
.contactForm__form input[type=text],
.contactForm__form input[type=tel],
.contactForm__form input[type=email],
.contactForm__form textarea,
.contactForm__form select {
  width: 100%;
  box-sizing: border-box;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: -0.01em;
  line-height: calc(16 / 16);
  padding: 0.15625vw 0.78125vw;
}
@media screen and (max-width: 720px) {
  .contactForm__form input[type=text],
  .contactForm__form input[type=tel],
  .contactForm__form input[type=email],
  .contactForm__form textarea,
  .contactForm__form select {
    font-size: 3.5897435897vw;
    letter-spacing: -0.01em;
    line-height: calc(16 / 14);
    padding: 1.5128205128vw 2.7692307692vw;
  }
}
.contactForm__form input:-moz-placeholder-shown, .contactForm__form textarea:-moz-placeholder-shown {
  color: #AAAAAA;
}
.contactForm__form input:placeholder-shown,
.contactForm__form textarea:placeholder-shown {
  color: #AAAAAA;
}
.contactForm__form select {
  cursor: pointer;
  min-height: 3.01328125vw;
  opacity: 0;
}
.contactForm__form select.is-not_empty {
  opacity: 1;
}
@media screen and (max-width: 720px) {
  .contactForm__form select {
    min-height: 7.1487179487vw;
  }
}
.contactForm__form textarea {
  height: 22.7796875vw;
}
.contactForm .screen-reader-response,
.contactForm .wpcf7-response-output {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: 0.01em;
  line-height: calc(25 / 14);
  margin-bottom: 4.6875vw;
  color: #cc0000;
}
.contactForm .screen-reader-response ul,
.contactForm .wpcf7-response-output ul {
  display: none;
}
@media screen and (max-width: 720px) {
  .contactForm .screen-reader-response,
  .contactForm .wpcf7-response-output {
    margin-top: 7.6923076923vw;
    font-size: 3.3333333333vw;
    letter-spacing: 0.01em;
    line-height: calc(25 / 13);
  }
}
.contactForm .wpcf7-response-output {
  display: none;
}
.contactForm .wpcf7-not-valid-tip {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 0.9375vw;
  letter-spacing: 0.01em;
  line-height: calc(14 / 12);
  color: #cc0000;
  position: absolute;
  top: 100%;
  left: 0;
  transform: translate(0, 0.234375vw);
}
@media screen and (max-width: 720px) {
  .contactForm .wpcf7-not-valid-tip {
    font-size: 2.8205128205vw;
    letter-spacing: 0.01em;
    line-height: calc(13 / 11);
    transform: translate(0, 0.7692307692vw);
  }
}
.contactForm .wpcf7-response-output {
  text-align: center;
}

.photoGallery {
  background: #F4F4F2;
  position: fixed;
  z-index: 200;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}
@media screen and (max-width: 720px) {
  .photoGallery {
    align-items: center;
    justify-content: center;
    height: 100vh;
  }
  .is-sp .photoGallery {
    height: 100dvh;
  }
}
@media screen and (min-width: 721px) {
  .photoGallery img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 720px) {
  .photoGallery img {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 100%;
  }
}
.photoGallery .swiper-wrapper {
  transition-timing-function: cubic-bezier(0.75, 0.01, 0.31, 1);
}
.photoGallery__title {
  position: absolute;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.9375vw;
  letter-spacing: 0.008em;
  line-height: calc(22 / 12);
  color: #F5F5F4;
  mix-blend-mode: difference;
  left: 2.5vw;
  top: 2.34375vw;
  z-index: 100;
}
@media screen and (max-width: 720px) {
  .photoGallery__title {
    left: 6.1538461538vw;
    top: 5.3846153846vw;
    font-size: 3.0769230769vw;
    letter-spacing: -0.02em;
    line-height: calc(22 / 12);
  }
}
.photoGallery__main {
  width: 50%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 720px) {
  .photoGallery__main {
    width: 100%;
    margin-top: -11.2153846154vw;
  }
}
.photoGallery__main .swiper-button {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.328125vw;
  letter-spacing: -0.005em;
  line-height: calc(13 / 17);
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 720px) {
  .photoGallery__main .swiper-button {
    font-size: 3.0769230769vw;
    letter-spacing: -0.02em;
    line-height: calc(12 / 12);
  }
}
.photoGallery__main .swiper-button-next, .photoGallery__main .swiper-button-prev {
  transition: opacity 0.4s;
  color: #0F0F0F;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  width: 0.6359375vw;
  height: 1.27265625vw;
  background: url(../img/icn-arrow_gallery.svg) no-repeat center center/contain;
  outline: none;
  border: none;
}
.photoGallery__main .swiper-button-next:after, .photoGallery__main .swiper-button-prev:after {
  display: none;
}
@media screen and (max-width: 720px) {
  .photoGallery__main .swiper-button-next, .photoGallery__main .swiper-button-prev {
    width: 1.8564102564vw;
    height: 3.7128205128vw;
    font-size: 3.0769230769vw;
    letter-spacing: -0.02em;
    line-height: calc(12 / 12);
  }
}
.photoGallery__main .swiper-button-disabled {
  opacity: 0;
}
.photoGallery__main .swiper-button-next {
  right: -47.2734375vw;
  transform: scale(-1, 1);
}
@media screen and (max-width: 720px) {
  .photoGallery__main .swiper-button-next {
    right: 11.7948717949vw;
    margin-top: 65.7692307692vw;
  }
}
.photoGallery__main .swiper-button-prev {
  left: 52.5vw;
}
@media screen and (max-width: 720px) {
  .photoGallery__main .swiper-button-prev {
    left: 11.7948717949vw;
    margin-top: 65.7692307692vw;
  }
}
.photoGallery__main .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 720px) {
  .photoGallery__main .swiper-slide {
    padding: 0 11.7948717949vw;
  }
}
.photoGallery__main .swiper-pagination {
  width: auto;
  position: absolute;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.9375vw;
  letter-spacing: 0.008em;
  line-height: calc(22 / 12);
  color: #F5F5F4;
  mix-blend-mode: difference;
  left: 2.5vw;
  bottom: 2.03125vw;
  z-index: 100;
}
@media screen and (max-width: 720px) {
  .photoGallery__main .swiper-pagination {
    display: none;
  }
}
.photoGallery__thumb {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  pointer-events: none;
}
.photoGallery__thumb .swiper {
  width: 21.25vw;
}
@media screen and (max-width: 720px) {
  .photoGallery__thumb {
    display: none;
  }
}
.photoGallery__close {
  position: absolute;
  top: 1.875vw;
  right: 2.34375vw;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.9375vw;
  letter-spacing: -0.005em;
  line-height: calc(13 / 12);
  align-self: flex-start;
}
@media screen and (max-width: 720px) {
  .photoGallery__close {
    position: absolute;
    top: 6.1538461538vw;
    right: 5.3846153846vw;
    font-size: 3.0769230769vw;
    letter-spacing: -0.02em;
    line-height: calc(13 / 12);
  }
}

.accessIndex {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.is-sp .accessIndex {
  height: 100dvh;
}
@media screen and (max-width: 720px) {
  .accessIndex {
    height: 121.5384615385vw;
    position: relative;
  }
  .is-sp .accessIndex {
    height: 121.5384615385vw;
  }
}
.accessIndex__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 50%;
  bottom: 50%;
  transform: translate(-50%, 0);
}
.accessIndex__title span {
  font-size: 1.640625vw;
  letter-spacing: -0.02em;
  line-height: calc(13 / 21);
}
.accessIndex__title img {
  margin-top: 1.9921875vw;
  height: auto;
  width: 18.3828125vw;
}
@media screen and (max-width: 720px) {
  .accessIndex__title span {
    font-size: 3.5897435897vw;
    letter-spacing: -0.02em;
    line-height: calc(9 / 14);
  }
  .accessIndex__title img {
    margin-top: 4.3076923077vw;
    width: 37.3794871795vw;
  }
}
.accessIndex__text {
  position: absolute;
  font-size: 1.484375vw;
  letter-spacing: -0.005em;
  line-height: calc(23 / 19);
  left: 2.96875vw;
  bottom: 3.2421875vw;
}
.accessIndex__text::before {
  content: "";
  display: block;
  width: 0.625vw;
  height: 0.625vw;
  background: #0F0F0F;
  border-radius: 50%;
  position: absolute;
  top: -2.734375vw;
  left: 0;
}
@media screen and (max-width: 720px) {
  .accessIndex__text {
    font-size: 3.8461538462vw;
    letter-spacing: -0.005em;
    line-height: calc(18 / 15);
    left: 5.3846153846vw;
    bottom: 6.1538461538vw;
  }
  .accessIndex__text:before {
    width: 1.7948717949vw;
    height: 1.7948717949vw;
    top: -7.1794871795vw;
  }
}
.accessIndex__navi {
  position: absolute;
  bottom: 2.7734375vw;
  right: 3.90625vw;
}
@media screen and (max-width: 720px) {
  .accessIndex__navi {
    display: none;
  }
}
.accessIndex__navi h3 {
  font-size: 1.171875vw;
  letter-spacing: -0.005em;
  line-height: 1;
  text-align: right;
}
.accessIndex__navi ul {
  margin-top: 0.9375vw;
  font-size: 1.875vw;
  letter-spacing: -0.026em;
  line-height: 1;
}
.accessIndex__navi ul a {
  display: flex;
  align-items: flex-end;
}
.accessIndex__navi ul a:after {
  content: "";
  display: inline-block;
  width: 2.64140625vw;
  height: 0.4078125vw;
  margin-bottom: 0.546875vw;
  background: url(../img/icn-arrow_anchor.svg) no-repeat center center/contain;
  margin-left: 0.640625vw;
}

.accessConcept__keyvisual {
  width: 100%;
  height: auto;
}
.accessConcept > div {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  padding: 3.28125vw 2.96875vw 0;
  position: relative;
}
@media screen and (max-width: 720px) {
  .accessConcept > div {
    display: block;
    padding: 7.4358974359vw 5.641025641vw 0;
  }
}
.accessConcept__text {
  display: flex;
  flex-direction: column;
}
.accessConcept__text.ext-en {
  font-size: 1.640625vw;
  letter-spacing: -0.01em;
  line-height: calc(22 / 21);
}
@media screen and (max-width: 720px) {
  .accessConcept__text.ext-en {
    font-size: 4.6153846154vw;
    letter-spacing: -0.01em;
    line-height: calc(19 / 18);
  }
}
.accessConcept__text.ext-en p:last-child {
  margin-top: 22.1875vw;
  font-size: 1.484375vw;
  letter-spacing: -0.005em;
  line-height: calc(23 / 19);
}
@media screen and (max-width: 720px) {
  .accessConcept__text.ext-en p:last-child {
    display: none;
  }
}
.accessConcept__text.ext-en img {
  margin-top: 13.046875vw;
  width: 26.171875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .accessConcept__text.ext-en img {
    display: none;
  }
}
.accessConcept__text.ext-ja {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(25 / 15);
  justify-content: space-between;
}
@media screen and (max-width: 720px) {
  .accessConcept__text.ext-ja {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(24 / 14);
    margin-top: 9.7435897436vw;
  }
}
.accessConcept__text.ext-ja p {
  width: 27.734375vw;
}
@media screen and (max-width: 720px) {
  .accessConcept__text.ext-ja p {
    width: 100%;
  }
}
.accessConcept__text.ext-ja img {
  margin-top: auto;
  width: 27.734375vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .accessConcept__text.ext-ja img {
    display: none;
  }
}

.accessInfo {
  margin-top: 22.1875vw;
  padding: 0 2.96875vw 23.4375vw;
}
@media screen and (max-width: 720px) {
  .accessInfo {
    margin-top: 21.0256410256vw;
    display: block;
    padding: 0 5.641025641vw 38.4615384615vw;
  }
}
.accessInfo__title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.accessInfo__title span {
  font-size: 1.640625vw;
  letter-spacing: -0.02em;
  line-height: calc(13 / 21);
}
.accessInfo__title img {
  margin-top: 1.9921875vw;
  height: auto;
  width: 32.14453125vw;
}
@media screen and (max-width: 720px) {
  .accessInfo__title span {
    font-size: 3.5897435897vw;
    letter-spacing: -0.02em;
    line-height: calc(9 / 14);
  }
  .accessInfo__title img {
    margin-top: 4.3076923077vw;
    width: 60.0538461538vw;
  }
}
.accessInfo h3 {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: 0.008em;
  line-height: 1;
  border-bottom: 1px solid #0F0F0F;
  padding-bottom: 0.3515625vw;
  margin-bottom: 0.8203125vw;
}
@media screen and (max-width: 720px) {
  .accessInfo h3 {
    font-size: 3.5897435897vw;
    letter-spacing: 0.008em;
    line-height: calc(19 / 14);
  }
}
.accessInfo p {
  font-size: 1.40625vw;
  letter-spacing: -0.005em;
  line-height: calc(22 / 18);
}
@media screen and (max-width: 720px) {
  .accessInfo p {
    font-size: 4.1025641026vw;
    letter-spacing: -0.005em;
    line-height: calc(20 / 16);
  }
}
.accessInfo p.ext-ja,
.accessInfo p .ext-ja {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(24 / 16);
}
@media screen and (max-width: 720px) {
  .accessInfo p.ext-ja,
  .accessInfo p .ext-ja {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(21 / 14);
  }
}
.accessInfo__detail {
  margin-top: 10.6640625vw;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
@media screen and (max-width: 720px) {
  .accessInfo__detail {
    margin-top: 10.2564102564vw;
    display: block;
  }
}
.accessInfo__detail > div {
  width: 29.7515625vw;
}
@media screen and (max-width: 720px) {
  .accessInfo__detail > div {
    width: 100%;
  }
}
.accessInfo__detail > div > div:first-child .ext-ja {
  margin-top: 2.1875vw;
  display: inline-block;
  text-align: left;
}
.accessInfo__detail > div > div:first-child a {
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: -0.01em;
  line-height: calc(15 / 14);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.9765625vw;
  height: 1.953125vw;
  padding: 0 0.78125vw;
  border: 1px solid #0F0F0F;
  margin-top: 1.5625vw;
}
@media screen and (max-width: 720px) {
  .accessInfo__detail > div > div:first-child a {
    font-size: 3.3333333333vw;
    letter-spacing: -0.01em;
    line-height: 1;
    border-radius: 2.8205128205vw;
    height: 5.641025641vw;
    padding: 0 2.3076923077vw;
    margin-top: 4.8717948718vw;
  }
}
.accessInfo__detail > div > div:first-child h3 + div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.accessInfo__detail > div > div + div {
  margin-top: 3.671875vw;
}
@media screen and (max-width: 720px) {
  .accessInfo__detail > div > div + div {
    margin-top: 10.5128205128vw;
  }
}
.accessInfo__image {
  width: 55.46875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .accessInfo__image {
    width: 100%;
  }
  .accessInfo__image + div {
    margin-top: 10.5128205128vw;
  }
}
.accessInfo__route {
  margin-top: 9.140625vw;
  display: grid;
  gap: 0;
}
@media screen and (max-width: 720px) {
  .accessInfo__route {
    margin-top: 10.5128205128vw;
    display: block;
  }
}
.accessInfo__route img {
  display: block;
  width: 86.41875vw;
  height: auto;
  margin: 5.546875vw auto 0;
}
@media screen and (max-width: 720px) {
  .accessInfo__route img {
    width: 48.7179487179vw;
    margin-left: 0;
    margin-top: 11.7948717949vw;
  }
}
.accessInfo__route p {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: 0em;
  line-height: calc(25 / 14);
}
@media screen and (max-width: 720px) {
  .accessInfo__route p {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(21 / 14);
  }
}
.accessInfo__route > div:nth-child(1) {
  grid-row: 1;
  grid-column: 1/span 2;
}
.accessInfo__route > div:nth-child(2) {
  width: 38.515625vw;
  margin-top: 6.953125vw;
  grid-row: 2;
  grid-column: 1;
}
@media screen and (max-width: 720px) {
  .accessInfo__route > div:nth-child(2) {
    width: 100%;
  }
}
.accessInfo__route > div:nth-child(2) h3 {
  width: 29.7515625vw;
}
@media screen and (max-width: 720px) {
  .accessInfo__route > div:nth-child(2) h3 {
    width: 100%;
  }
}
.accessInfo__route > div:nth-child(3) {
  width: 55.46875vw;
  margin-top: 6.953125vw;
  grid-row: 2;
  grid-column: 2;
}
@media screen and (max-width: 720px) {
  .accessInfo__route > div:nth-child(3) {
    width: 100%;
  }
}
.accessInfo__route > div:nth-child(3) h3 {
  width: 25.965625vw;
}
@media screen and (max-width: 720px) {
  .accessInfo__route > div:nth-child(3) h3 {
    width: 100%;
  }
}

.underConstruction {
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: nimbus-sans-dv, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 2.34375vw;
  letter-spacing: -0.01em;
  line-height: calc(30 / 30);
}
@media screen and (max-width: 720px) {
  .underConstruction {
    font-size: 5.3846153846vw;
    letter-spacing: -0.01em;
    line-height: calc(23 / 21);
  }
}

.reserveModal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 20000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  cursor: pointer;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.7s;
}
.reserveModal.is-active {
  pointer-events: all;
  opacity: 1;
}
.reserveModal.is-active a {
  pointer-events: all;
  cursor: pointer;
}
.reserveModal__inner {
  background: rgba(15, 15, 15, 0.92);
  border: 1px solid #F5F5F4;
  width: 76.328125vw;
  height: 37.109375vw;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #F5F5F4;
  cursor: default;
}
@media screen and (max-width: 720px) {
  .reserveModal__inner {
    width: 86.9230769231vw;
    height: 56.4102564103vw;
  }
}
.reserveModal__text {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.484375vw;
  letter-spacing: 0.02em;
  line-height: calc(32 / 19);
  text-align: center;
}
@media screen and (max-width: 720px) {
  .reserveModal__text {
    font-size: 3.0769230769vw;
    letter-spacing: 0.02em;
    line-height: calc(20 / 12);
  }
}
.reserveModal__list {
  margin-top: 3.5546875vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 720px) {
  .reserveModal__list {
    margin-top: 5vw;
  }
}
.reserveModal__list li {
  height: 6.99765625vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 720px) {
  .reserveModal__list li {
    height: 11.3128205128vw;
  }
}
.reserveModal__list li:first-child {
  border-right: 1px solid #707070;
  padding-right: 4.2578125vw;
}
@media screen and (max-width: 720px) {
  .reserveModal__list li:first-child {
    padding-right: 5.6153846154vw;
  }
}
.reserveModal__list li:last-child {
  padding-left: 4.2578125vw;
}
@media screen and (max-width: 720px) {
  .reserveModal__list li:last-child {
    padding-left: 5.6153846154vw;
  }
}
.reserveModal__list img {
  height: auto;
}
.reserveModal__list .ext-deepsea img {
  width: 14.85546875vw;
}
@media screen and (max-width: 720px) {
  .reserveModal__list .ext-deepsea img {
    width: 24.0179487179vw;
  }
}
.reserveModal__list .ext-shallowsea img {
  width: 19.109375vw;
}
@media screen and (max-width: 720px) {
  .reserveModal__list .ext-shallowsea img {
    width: 30.8948717949vw;
  }
}
.reserveModal__link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-top: 3.984375vw;
}
.reserveModal__link a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.90625vw;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #F5F5F4;
  border: 1px solid #F5F5F4;
  border-radius: 1.953125vw;
  padding: 0 1.71875vw;
}
@media screen and (max-width: 720px) {
  .reserveModal__link {
    margin-top: 5.641025641vw;
  }
  .reserveModal__link a {
    height: 7.6923076923vw;
    border-radius: 3.8461538462vw;
    font-size: 2.8205128205vw;
    letter-spacing: 0.02em;
    line-height: 1;
    padding: 0 3.0769230769vw;
  }
}

/* Utility
----------------------------------------------------------------- */
@media screen and (min-width: 721px) {
  .u-sp_only {
    display: none;
  }
}
@media screen and (max-width: 720px) {
  .u-pc_only {
    display: none;
  }
}
.is-disable {
  opacity: 0.3 !important;
  pointer-events: none !important;
}
.is-disable a {
  pointer-events: none !important;
}

.u-breakctrl {
  display: inline-block;
}

.js-lazy {
  opacity: 1;
  transition: opacity 0.4s;
}

.js-hoverimg {
  display: block;
}
.js-hoverimg img:not(.js-inview), .js-hoverimg img.js-inview.is-animated {
  transition: opacity 0.6s, transform 0.8s, filter 0.8s, -webkit-clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1);
  transition: clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1), opacity 0.6s, transform 0.8s, filter 0.8s;
  transition: clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1), opacity 0.6s, transform 0.8s, filter 0.8s, -webkit-clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1);
}
.js-hoverimg img.js-invew.ext-image {
  transition: opacity 0.6s, transform 0.8s, filter 0.8s, -webkit-clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1);
  transition: clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1), opacity 0.6s, transform 0.8s, filter 0.8s;
  transition: clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1), opacity 0.6s, transform 0.8s, filter 0.8s, -webkit-clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1);
}
.js-hoverimg:hover {
  opacity: 1 !important;
}
.js-hoverimg:hover img:not(.js-inview), .js-hoverimg:hover img.js-inview.is-animated {
  transform: scale(1.1);
}
.js-hoverimg.is-active img {
  transform: scale(1.2);
  filter: blur(10px);
  opacity: 0;
}

.js-inview.ext-fade {
  opacity: 0;
  transition: opacity 1s linear;
}
.js-inview.ext-fade.is-animated {
  opacity: 1;
}
.js-inview.ext-float {
  opacity: 0;
  transform: translateY(1.5625vw) translateZ(0);
  transition: transform 1s linear, opacity 1s cubic-bezier(0.2, 0.5, 0.4, 1);
}
.js-inview.ext-float.is-animated {
  opacity: 1;
  transform: none;
}
.js-inview.ext-rise {
  display: block;
  overflow: hidden;
}
.js-inview.ext-rise img, .js-inview.ext-rise span {
  transform: translateY(101%) translateZ(0);
  transition: transform 1s cubic-bezier(0.2, 0.5, 0.4, 1);
}
.js-inview.ext-rise.is-animated img, .js-inview.ext-rise.is-animated span {
  transform: none;
}
.js-inview.ext-textline span {
  display: block;
  overflow: hidden;
}
.js-inview.ext-textline span span {
  display: block;
  transform: translateY(101%) translateZ(0);
  transition: transform 1s;
}
.js-inview.ext-textline span:nth-child(1) span {
  transition-delay: 0.1s;
}
.js-inview.ext-textline span:nth-child(2) span {
  transition-delay: 0.2s;
}
.js-inview.ext-textline span:nth-child(3) span {
  transition-delay: 0.3s;
}
.js-inview.ext-textline span:nth-child(4) span {
  transition-delay: 0.4s;
}
.js-inview.ext-textline span:nth-child(5) span {
  transition-delay: 0.5s;
}
.js-inview.ext-textline span:nth-child(6) span {
  transition-delay: 0.6s;
}
.js-inview.ext-textline span:nth-child(7) span {
  transition-delay: 0.7s;
}
.js-inview.ext-textline span:nth-child(8) span {
  transition-delay: 0.8s;
}
.js-inview.ext-textline span:nth-child(9) span {
  transition-delay: 0.9s;
}
.js-inview.ext-textline span:nth-child(10) span {
  transition-delay: 1s;
}
.js-inview.ext-textline.is-animated span span {
  transform: none;
}

.is-pc .js-ripple {
  cursor: pointer;
}
.is-pc .js-ripple img {
  transition: opacity 0s 0.5s;
}
.is-pc .js-ripple.is-anime_end img {
  opacity: 0;
}
.is-pc .is-resize .js-ripple img,
.is-pc .is-transition .js-ripple img {
  opacity: 1;
  transition: opacity 0s 0s;
}

#canvas {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: 1;
}
.is-resize #canvas {
  visibility: hidden;
}

/* Animations
https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css */
@keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@keyframes pulse {
  0% {
    transform: scaleX(1);
    opacity: 0;
  }
  50% {
    transform: scale3d(1.04, 1.04, 1.04);
    opacity: 1;
  }
  to {
    transform: scaleX(1);
    opacity: 1;
  }
}
@keyframes arrowziggle {
  0% {
    transform: none;
  }
  40% {
    transform: none;
  }
  50% {
    transform: translate(30px, 0);
  }
  60% {
    transform: none;
  }
}