@charset "UTF-8";
/* =========================
変数 
============================*/
body {
  --s-val: 10px;
  --max-w-menu: 1635px;
  --w-menu: 87vw;
  --base-color: #000;
  --base-color-2: #555;
  --color-dark-blue: #052850;
  --border-color: #555;
  --color-bg-main: #E7E4DD;
  --color-bg-gray: #F7F7F7;
}

/* レスポンシブ */
@media screen and (max-width: 767px) {
  body {
    --s-val: 9px;
  }
}
@media screen and (max-width: 540px) {
  body {
    --w-menu: 100%;
  }
}
/* =========================
ページ内共通 
============================*/
body {
  --page-pdg-inline: calc(var(--s-val) * 2);
  --max-w-out: calc(1200px + calc(var(--page-pdg-inline) * 2));
  --max-w-in: calc(1100px + calc(var(--page-pdg-inline) * 2));
  --max-w-offset: calc(1320 / 1440 * 100%);
  --color-bg-main-txt: #C7C7C7;
  --color-bg-main: #E7E4DD;
  --border-position: 8.3vw;
}

.page-main img {
  display: block;
}

.cta-banner {
  position: fixed;
  right: 0;
  top: calc(var(--s-val) * 20);
  z-index: 990;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  white-space: nowrap;
  letter-spacing: 0.15em;
  color: #fff;
  background-color: var(--color-dark-blue);
  padding: calc(var(--s-val) * 1) calc(var(--s-val) * 0.5);
  aspect-ratio: 60/170;
  height: calc(var(--s-val) * 17);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top-left-radius: calc(var(--s-val) * 1);
  border-bottom-left-radius: calc(var(--s-val) * 1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.cta-banner.is-hidden {
  opacity: 0;
  pointer-events: none;
}

/* レスポンシブ ============= */
@media screen and (min-width: 1100px) {
  body {
    --border-position: 6vw;
  }
}
@media screen and (max-width: 540px) {
  .cta-banner {
    border-radius: 0;
    top: auto;
    bottom: 0;
    -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
            writing-mode: initial;
    width: 100%;
    aspect-ratio: initial;
    height: auto;
    padding: calc(var(--s-val) * 1.5) calc(var(--s-val) * 0.5);
  }
}
/* =========================
page-top 
============================*/
.page-top {
  border-bottom: 1px solid var(--border-color);
  padding: 0 0 calc(var(--s-val) * 6.3) var(--page-pdg-inline);
  position: relative;
}
.page-top::before {
  content: "";
  display: block;
  width: 100%;
  height: 190%;
  background-color: var(--color-bg-main);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
.page-top__lead {
  -webkit-padding-start: calc(var(--s-val) * 5);
          padding-inline-start: calc(var(--s-val) * 5);
  width: 92.7%;
  margin-inline: auto 0;
  position: relative;
}
.page-top__lead::after {
  content: "";
  display: block;
  width: 1px;
  height: 335%;
  background-color: var(--border-color);
  position: absolute;
  top: calc(var(--s-val) * 1.2);
  left: 0;
  z-index: -1;
}
.page-top__heading {
  font-size: calc(var(--s-val) * 4);
  color: var(--color-dark-blue);
}
.page-top__content {
  -webkit-margin-before: calc(var(--s-val) * 1);
          margin-block-start: calc(var(--s-val) * 1);
}

/* レスポンシブ ============= */
@media screen and (max-width: 767px) {
  .page-top {
    padding: 0 var(--page-pdg-inline) calc(var(--s-val) * 6.3);
  }
  .page-top::before {
    height: 100%;
  }
  .page-top__lead {
    width: 88.5%;
    padding: 0;
  }
  .page-top__lead::after {
    left: -6vw;
  }
  .page-top__heading {
    font-size: calc(var(--s-val) * 3.5);
    line-height: 1.4em;
  }
}
/* =========================
fv 
============================*/
.fv {
  position: relative;
}
.fv__main {
  position: relative;
}
.fv__lead-wrap {
  max-width: 534px;
  width: 100%;
  position: absolute;
  bottom: calc(var(--s-val) * -33.3);
  right: var(--border-position);
  z-index: 1;
  background-color: #fff;
  padding: calc(var(--s-val) * 5) calc(var(--s-val) * 3) calc(var(--s-val) * 7);
}
.fv__lead {
  max-width: 334px;
  margin-inline: auto;
}
.fv__heading {
  font-size: calc(var(--s-val) * 4);
  line-height: 1.2em;
}
.fv__content p {
  -webkit-margin-before: calc(var(--s-val) * 2);
          margin-block-start: calc(var(--s-val) * 2);
}
.fv__content p:first-of-type {
  -webkit-margin-before: calc(var(--s-val) * 2.5);
          margin-block-start: calc(var(--s-val) * 2.5);
}
.fv__slider {
  width: 100%;
  margin-inline: auto 0;
}
.fv__slider-img {
  aspect-ratio: 1439/587;
  width: 100%;
}
.fv__slider-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.fv .slick-dotted.slick-slider {
  margin-bottom: calc(var(--s-val) * 13);
}
.fv .slick-dots {
  bottom: -65px;
  width: 38%;
}
.fv__sub-img {
  max-width: 580px;
  width: 100%;
  position: absolute;
  right: 4%;
  bottom: calc(var(--s-val) * 7);
}
.fv__bg-txt {
  font-size: calc(var(--s-val) * 7.3);
  font-weight: 500;
  line-height: 1.15em;
  color: var(--color-bg-main-txt);
  opacity: 0.5;
  width: 86%;
  margin-inline: auto;
  padding-inline: var(--page-pdg-inline);
}

/* レスポンシブ ============= */
@media screen and (max-width: 1100px) {
  .fv__lead-wrap {
    max-width: 420px;
    bottom: calc(var(--s-val) * -32);
    right: 7%;
    padding: calc(var(--s-val) * 4) calc(var(--s-val) * 3) calc(var(--s-val) * 3);
  }
  .fv__heading {
    font-size: calc(var(--s-val) * 3.5);
  }
  .fv__content p:first-of-type {
    -webkit-margin-before: calc(var(--s-val) * 2);
            margin-block-start: calc(var(--s-val) * 2);
  }
}
@media screen and (max-width: 767px) {
  .fv__lead-wrap {
    max-width: 100%;
    position: initial;
    background: none;
    padding: calc(var(--s-val) * 6) var(--page-pdg-inline) calc(var(--s-val) * 3) 15%;
  }
  .fv__lead {
    max-width: 100%;
  }
  .fv__slider-img {
    aspect-ratio: 3/2;
  }
  .fv .slick-dots {
    bottom: -21px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 4%;
  }
  .fv .slick-dotted.slick-slider {
    margin-bottom: calc(var(--s-val) * 5);
  }
  .fv__bg-txt {
    text-align: right;
    font-size: calc(var(--s-val) * 5);
    width: 100%;
  }
}
@media screen and (max-width: 540px) {
  .fv__content br {
    display: none;
  }
  .fv .slick-dotted.slick-slider {
    margin-bottom: calc(var(--s-val) * 4);
  }
  .fv__bg-txt {
    font-size: calc(var(--s-val) * 4);
  }
}
/* =========================
top-video 
============================*/
.top-video {
  padding: 0 var(--page-pdg-inline);
  -webkit-margin-before: calc(var(--s-val) * 10);
          margin-block-start: calc(var(--s-val) * 10);
  position: relative;
}
.top-video::after {
  content: "";
  display: block;
  width: 1px;
  height: 180%;
  background-color: var(--border-color);
  position: absolute;
  top: 0;
  right: var(--border-position);
  z-index: -1;
}
.top-video__item {
  max-width: 1100px;
  width: 80%;
  aspect-ratio: 560/315;
  margin-inline: auto;
  position: relative;
  overflow: hidden;
}
.top-video__thumb {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  -o-object-position: center;
     object-position: center;
  cursor: pointer;
}
.top-video__movie {
  width: 100%;
  aspect-ratio: 560/315;
  border: none;
  pointer-events: none;
}

/* レスポンシブ ============= */
@media screen and (max-width: 767px) {
  .top-video {
    -webkit-margin-before: calc(var(--s-val) * 6);
            margin-block-start: calc(var(--s-val) * 6);
  }
  .top-video__item {
    width: 100%;
  }
}
@media screen and (max-width: 540px) {
  .top-video {
    padding: 0;
  }
  .top-video__item {
    width: 100%;
  }
}
/* =========================
design 
============================*/
.design {
  -webkit-margin-before: calc(var(--s-val) * 10);
          margin-block-start: calc(var(--s-val) * 10);
  -webkit-padding-before: calc(var(--s-val) * 15);
          padding-block-start: calc(var(--s-val) * 15);
  border-top: 1px solid var(--border-color);
  position: relative;
}
.design::before {
  content: "";
  display: block;
  width: 100%;
  height: 86%;
  background-color: var(--color-bg-gray);
  position: absolute;
  bottom: 40.2vw;
  left: 0;
  z-index: -10;
}
.design__bg-txt {
  font-size: calc(var(--s-val) * 9.8);
  line-height: 1em;
  color: var(--color-bg-main-txt);
  position: absolute;
  top: calc(var(--s-val) * 8.5);
  right: 11.46vw;
  z-index: 1;
}
.design__bg-txt.fadeInUp.active {
  opacity: 0.5 !important;
}
.design__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.5%;
}
.design__item--txt-img {
  width: 45.05%;
}
.design__item--img-only {
  width: 53.45%;
  -webkit-margin-before: calc(var(--s-val) * 11.7);
          margin-block-start: calc(var(--s-val) * 11.7);
}
.design__item--img-only img:not(:first-of-type) {
  -webkit-margin-before: calc(var(--s-val) * 3);
          margin-block-start: calc(var(--s-val) * 3);
}
.design__txt-wrap {
  background-color: #fff;
  padding: calc(var(--s-val) * 9) calc(var(--s-val) * 2) calc(var(--s-val) * 9) calc(var(--s-val) * 3);
}
.design__txt {
  max-width: 428px;
  margin-inline: auto;
}
.design__heading {
  font-size: calc(var(--s-val) * 4);
  line-height: 1.5em;
  white-space: nowrap;
}
.design__content {
  -webkit-margin-before: calc(var(--s-val) * 2.8);
          margin-block-start: calc(var(--s-val) * 2.8);
}

/* レスポンシブ ============= */
@media screen and (max-width: 1100px) {
  .design {
    -webkit-padding-before: calc(var(--s-val) * 11);
            padding-block-start: calc(var(--s-val) * 11);
  }
  .design__bg-txt {
    font-size: calc(var(--s-val) * 8);
    top: calc(var(--s-val) * 6);
  }
  .design__heading {
    max-width: 380px;
    font-size: calc(var(--s-val) * 3.5);
    white-space: initial;
  }
  .design__heading br {
    display: none;
  }
  .design__txt-wrap {
    padding: calc(var(--s-val) * 5) calc(var(--s-val) * 2) calc(var(--s-val) * 4) calc(var(--s-val) * 3);
  }
}
@media screen and (max-width: 540px) {
  .design {
    -webkit-padding-before: calc(var(--s-val) * 12);
            padding-block-start: calc(var(--s-val) * 12);
  }
  .design::before {
    width: calc(100% - var(--border-position));
    height: 58.3%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .design__bg-txt {
    font-size: calc(var(--s-val) * 7);
    top: calc(var(--s-val) * 7.5);
  }
  .design__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .design__item--txt-img {
    width: 100%;
  }
  .design__item--txt-img .design__img {
    aspect-ratio: 257/150;
    overflow: hidden;
  }
  .design__item--txt-img .design__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
  .design__item--img-only {
    width: 100%;
    -webkit-margin-before: calc(var(--s-val) * 1);
            margin-block-start: calc(var(--s-val) * 1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: calc(var(--s-val) * 1);
  }
  .design__item--img-only .design__img {
    width: calc(50% - var(--s-val) * 0.5);
    aspect-ratio: 257/183;
    overflow: hidden;
  }
  .design__item--img-only .design__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
}
/* =========================
pool 
============================*/
.pool {
  -webkit-margin-before: calc(var(--s-val) * 10);
          margin-block-start: calc(var(--s-val) * 10);
  -webkit-padding-before: calc(var(--s-val) * 18);
          padding-block-start: calc(var(--s-val) * 18);
  border-top: 1px solid var(--border-color);
  position: relative;
}
.pool::before {
  content: "";
  display: block;
  width: calc(100% - var(--border-position));
  height: 58.3%;
  background-color: var(--color-bg-gray);
  position: absolute;
  top: 0;
  right: 0;
  z-index: -10;
}
.pool::after {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  background-color: var(--border-color);
  position: absolute;
  top: -8%;
  left: var(--border-position);
  z-index: -1;
}
.pool__bg-txt {
  font-size: calc(var(--s-val) * 9.8);
  line-height: 1em;
  color: var(--color-bg-main-txt);
  position: absolute;
  top: calc(var(--s-val) * 3.5);
  left: 11.46vw;
  z-index: 1;
}
.pool__bg-txt.fadeInUp.active {
  opacity: 0.5 !important;
}
.pool__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 1.5%;
}
.pool__item--txt-img {
  width: 45.05%;
}
.pool__item--img-only {
  width: 53.45%;
  -webkit-margin-before: calc(var(--s-val) * 11.7);
          margin-block-start: calc(var(--s-val) * 11.7);
}
.pool__item--img-only img:not(:first-of-type) {
  -webkit-margin-before: calc(var(--s-val) * 3);
          margin-block-start: calc(var(--s-val) * 3);
}
.pool__txt-wrap {
  background-color: #fff;
  padding: calc(var(--s-val) * 9) calc(var(--s-val) * 2) calc(var(--s-val) * 9) calc(var(--s-val) * 3);
}
.pool__txt {
  max-width: 428px;
  margin-inline: auto;
}
.pool__heading {
  font-size: calc(var(--s-val) * 4);
  line-height: 1.5em;
  white-space: nowrap;
}
.pool__content {
  -webkit-margin-before: calc(var(--s-val) * 2.8);
          margin-block-start: calc(var(--s-val) * 2.8);
}

/* レスポンシブ ============= */
@media screen and (max-width: 1100px) {
  .pool {
    -webkit-padding-before: calc(var(--s-val) * 15);
            padding-block-start: calc(var(--s-val) * 15);
  }
  .pool__bg-txt {
    font-size: calc(var(--s-val) * 8);
  }
  .pool__heading {
    max-width: 380px;
    font-size: calc(var(--s-val) * 3.5);
    white-space: initial;
  }
  .pool__heading br {
    display: none;
  }
  .pool__txt-wrap {
    padding: calc(var(--s-val) * 5) calc(var(--s-val) * 2) calc(var(--s-val) * 4) calc(var(--s-val) * 3);
  }
}
@media screen and (max-width: 540px) {
  .pool {
    -webkit-padding-before: calc(var(--s-val) * 17);
            padding-block-start: calc(var(--s-val) * 17);
  }
  .pool__bg-txt {
    font-size: calc(var(--s-val) * 7);
    top: calc(var(--s-val) * 6);
  }
  .pool__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .pool__item--txt-img {
    width: 100%;
  }
  .pool__item--txt-img .pool__img {
    aspect-ratio: 257/150;
    overflow: hidden;
  }
  .pool__item--txt-img .pool__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
  .pool__item--img-only {
    width: 100%;
    -webkit-margin-before: calc(var(--s-val) * 1);
            margin-block-start: calc(var(--s-val) * 1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: calc(var(--s-val) * 1);
  }
  .pool__item--img-only .pool__img {
    width: calc(50% - var(--s-val) * 0.5);
    aspect-ratio: 257/183;
    overflow: hidden;
  }
  .pool__item--img-only .pool__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
}
/* =========================
terrace 
============================*/
.terrace {
  -webkit-margin-before: calc(var(--s-val) * 10);
          margin-block-start: calc(var(--s-val) * 10);
  -webkit-padding-before: calc(var(--s-val) * 18);
          padding-block-start: calc(var(--s-val) * 18);
  border-top: 1px solid var(--border-color);
  position: relative;
}
.terrace::before {
  content: "";
  display: block;
  width: calc(100% - var(--border-position));
  height: 58.3%;
  background-color: var(--color-bg-gray);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
.terrace::after {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  background-color: var(--border-color);
  position: absolute;
  top: -8%;
  right: var(--border-position);
  z-index: -1;
}
.terrace__bg-txt {
  font-size: calc(var(--s-val) * 9.8);
  text-align: right;
  line-height: 1em;
  color: var(--color-bg-main-txt);
  position: absolute;
  top: calc(var(--s-val) * 3.5);
  right: 11.46vw;
  z-index: 1;
}
.terrace__bg-txt.fadeInUp.active {
  opacity: 0.5 !important;
}
.terrace__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.5%;
}
.terrace__item--txt-img {
  width: 45.05%;
}
.terrace__item--img-only {
  width: 53.45%;
  -webkit-margin-before: calc(var(--s-val) * 11.7);
          margin-block-start: calc(var(--s-val) * 11.7);
}
.terrace__item--img-only img:not(:first-of-type) {
  -webkit-margin-before: calc(var(--s-val) * 3);
          margin-block-start: calc(var(--s-val) * 3);
}
.terrace__txt-wrap {
  background-color: #fff;
  padding: calc(var(--s-val) * 9) calc(var(--s-val) * 2) calc(var(--s-val) * 9) calc(var(--s-val) * 3);
}
.terrace__txt {
  max-width: 428px;
  margin-inline: auto;
}
.terrace__heading {
  font-size: calc(var(--s-val) * 4);
  line-height: 1.5em;
  white-space: nowrap;
}
.terrace__content {
  -webkit-margin-before: calc(var(--s-val) * 2.8);
          margin-block-start: calc(var(--s-val) * 2.8);
}

/* レスポンシブ ============= */
@media screen and (max-width: 1100px) {
  .terrace {
    -webkit-padding-before: calc(var(--s-val) * 16);
            padding-block-start: calc(var(--s-val) * 16);
  }
  .terrace__bg-txt {
    font-size: calc(var(--s-val) * 8);
  }
  .terrace__heading {
    max-width: 380px;
    font-size: calc(var(--s-val) * 3.5);
    white-space: initial;
  }
  .terrace__heading br {
    display: none;
  }
  .terrace__txt-wrap {
    padding: calc(var(--s-val) * 5) calc(var(--s-val) * 2) calc(var(--s-val) * 4) calc(var(--s-val) * 3);
  }
}
@media screen and (max-width: 540px) {
  .terrace {
    -webkit-padding-before: calc(var(--s-val) * 17);
            padding-block-start: calc(var(--s-val) * 17);
  }
  .terrace__bg-txt {
    font-size: clamp(var(--s-val) * 1.6, 14vw, var(--s-val) * 7);
    top: calc(var(--s-val) * 7);
  }
  .terrace__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .terrace__item--txt-img {
    width: 100%;
  }
  .terrace__item--txt-img .terrace__img {
    aspect-ratio: 257/150;
    overflow: hidden;
  }
  .terrace__item--txt-img .terrace__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
  .terrace__item--img-only {
    width: 100%;
    -webkit-margin-before: calc(var(--s-val) * 1);
            margin-block-start: calc(var(--s-val) * 1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: calc(var(--s-val) * 1);
  }
  .terrace__item--img-only .terrace__img {
    width: calc(50% - var(--s-val) * 0.5);
    aspect-ratio: 257/183;
    overflow: hidden;
  }
  .terrace__item--img-only .terrace__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
}
/* =========================
spa 
============================*/
.spa {
  -webkit-margin-before: calc(var(--s-val) * 10);
          margin-block-start: calc(var(--s-val) * 10);
  -webkit-padding-before: calc(var(--s-val) * 18);
          padding-block-start: calc(var(--s-val) * 18);
  border-top: 1px solid var(--border-color);
  position: relative;
}
.spa::before {
  content: "";
  display: block;
  width: calc(100% - var(--border-position));
  height: 58.3%;
  background-color: var(--color-bg-gray);
  position: absolute;
  top: 0;
  right: 0;
  z-index: -10;
}
.spa::after {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  background-color: var(--border-color);
  position: absolute;
  top: -8%;
  left: var(--border-position);
  z-index: -1;
}
.spa__bg-txt {
  font-size: calc(var(--s-val) * 9.8);
  line-height: 1em;
  color: var(--color-bg-main-txt);
  position: absolute;
  top: calc(var(--s-val) * 3.5);
  left: 11.46vw;
  z-index: 1;
}
.spa__bg-txt.fadeInUp.active {
  opacity: 0.5 !important;
}
.spa__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 1.5%;
}
.spa__item--txt-img {
  width: 45.05%;
}
.spa__item--img-only {
  width: 53.45%;
  -webkit-margin-before: calc(var(--s-val) * 11.7);
          margin-block-start: calc(var(--s-val) * 11.7);
}
.spa__item--img-only img:not(:first-of-type) {
  -webkit-margin-before: calc(var(--s-val) * 3);
          margin-block-start: calc(var(--s-val) * 3);
}
.spa__txt-wrap {
  background-color: #fff;
  padding: calc(var(--s-val) * 9) calc(var(--s-val) * 2) calc(var(--s-val) * 9) calc(var(--s-val) * 3);
}
.spa__txt {
  max-width: 428px;
  margin-inline: auto;
}
.spa__heading {
  font-size: calc(var(--s-val) * 4);
  line-height: 1.5em;
  white-space: nowrap;
}
.spa__content {
  -webkit-margin-before: calc(var(--s-val) * 2.8);
          margin-block-start: calc(var(--s-val) * 2.8);
}

/* レスポンシブ ============= */
@media screen and (max-width: 1100px) {
  .spa {
    -webkit-padding-before: calc(var(--s-val) * 16);
            padding-block-start: calc(var(--s-val) * 16);
  }
  .spa__bg-txt {
    font-size: calc(var(--s-val) * 8);
  }
  .spa__heading {
    max-width: 380px;
    font-size: calc(var(--s-val) * 3.5);
    white-space: initial;
  }
  .spa__txt-wrap {
    padding: calc(var(--s-val) * 5) calc(var(--s-val) * 2) calc(var(--s-val) * 4) calc(var(--s-val) * 3);
  }
}
@media screen and (max-width: 540px) {
  .spa {
    -webkit-padding-before: calc(var(--s-val) * 17);
            padding-block-start: calc(var(--s-val) * 17);
  }
  .spa__bg-txt {
    font-size: calc(var(--s-val) * 7);
    top: calc(var(--s-val) * 6);
  }
  .spa__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .spa__item--txt-img {
    width: 100%;
  }
  .spa__item--txt-img .spa__img {
    aspect-ratio: 257/150;
    overflow: hidden;
  }
  .spa__item--txt-img .spa__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
  .spa__item--img-only {
    width: 100%;
    -webkit-margin-before: calc(var(--s-val) * 1);
            margin-block-start: calc(var(--s-val) * 1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: calc(var(--s-val) * 1);
  }
  .spa__item--img-only .spa__img {
    width: calc(50% - var(--s-val) * 0.5);
    aspect-ratio: 257/183;
    overflow: hidden;
  }
  .spa__item--img-only .spa__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
}
/* =========================
performance 
============================*/
.performance {
  -webkit-margin-before: calc(var(--s-val) * 10);
          margin-block-start: calc(var(--s-val) * 10);
  -webkit-padding-before: calc(var(--s-val) * 18);
          padding-block-start: calc(var(--s-val) * 18);
  border-top: 1px solid var(--border-color);
  position: relative;
}
.performance::before {
  content: "";
  display: block;
  width: calc(100% - var(--border-position));
  height: 58.3%;
  background-color: var(--color-bg-gray);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
.performance::after {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  background-color: var(--border-color);
  position: absolute;
  top: -8%;
  right: var(--border-position);
  z-index: -1;
}
.performance__bg-txt {
  font-size: calc(var(--s-val) * 9.8);
  text-align: right;
  line-height: 1em;
  color: var(--color-bg-main-txt);
  position: absolute;
  top: calc(var(--s-val) * 3.5);
  right: 11.46vw;
  z-index: 1;
}
.performance__bg-txt.fadeInUp.active {
  opacity: 0.5 !important;
}
.performance__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.5%;
}
.performance__item--txt-img {
  width: 45.05%;
}
.performance__item--img-only {
  width: 53.45%;
  -webkit-margin-before: calc(var(--s-val) * 11.7);
          margin-block-start: calc(var(--s-val) * 11.7);
}
.performance__item--img-only img:not(:first-of-type) {
  -webkit-margin-before: calc(var(--s-val) * 3);
          margin-block-start: calc(var(--s-val) * 3);
}
.performance__txt-wrap {
  background-color: #fff;
  padding: calc(var(--s-val) * 9) calc(var(--s-val) * 2) calc(var(--s-val) * 9) calc(var(--s-val) * 3);
}
.performance__txt {
  max-width: 428px;
  margin-inline: auto;
}
.performance__heading {
  font-size: calc(var(--s-val) * 4);
  line-height: 1.5em;
  white-space: nowrap;
}
.performance__content {
  -webkit-margin-before: calc(var(--s-val) * 2.8);
          margin-block-start: calc(var(--s-val) * 2.8);
}

/* レスポンシブ ============= */
@media screen and (max-width: 1100px) {
  .performance {
    -webkit-padding-before: calc(var(--s-val) * 16);
            padding-block-start: calc(var(--s-val) * 16);
  }
  .performance__bg-txt {
    font-size: calc(var(--s-val) * 8);
  }
  .performance__heading {
    max-width: 380px;
    font-size: calc(var(--s-val) * 3.5);
    white-space: initial;
  }
  .performance__heading br {
    display: none;
  }
  .performance__txt-wrap {
    padding: calc(var(--s-val) * 5) calc(var(--s-val) * 2) calc(var(--s-val) * 4) calc(var(--s-val) * 3);
  }
}
@media screen and (max-width: 540px) {
  .performance {
    -webkit-padding-before: calc(var(--s-val) * 17);
            padding-block-start: calc(var(--s-val) * 17);
  }
  .performance__bg-txt {
    font-size: clamp(var(--s-val) * 7, 10.5vw, var(--s-val) * 7);
    top: calc(var(--s-val) * 6);
  }
  .performance__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .performance__item--txt-img {
    width: 100%;
  }
  .performance__item--txt-img .performance__img {
    aspect-ratio: 257/150;
    overflow: hidden;
  }
  .performance__item--txt-img .performance__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
  .performance__item--img-only {
    width: 100%;
    -webkit-margin-before: calc(var(--s-val) * 1);
            margin-block-start: calc(var(--s-val) * 1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: calc(var(--s-val) * 1);
  }
  .performance__item--img-only .performance__img {
    width: calc(50% - var(--s-val) * 0.5);
    aspect-ratio: 257/183;
    overflow: hidden;
  }
  .performance__item--img-only .performance__img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: 100%;
    height: 100%;
  }
}
/* =========================
gallery 
============================*/
.gallery {
  border-top: 1px solid var(--border-color);
  padding: calc(var(--s-val) * 10) var(--page-pdg-inline) 0;
  -webkit-margin-before: 10%;
          margin-block-start: 10%;
  position: relative;
}
.gallery::before {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  background-color: var(--color-bg-main);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
.gallery::after {
  content: "";
  display: block;
  width: 1px;
  height: 108%;
  background-color: var(--border-color);
  position: absolute;
  top: -8%;
  left: var(--border-position);
  z-index: -1;
}
.gallery__lead {
  text-align: center;
}
.gallery__heading {
  color: var(--color-dark-blue);
  font-size: calc(var(--s-val) * 4);
  font-weight: bold;
}
.gallery__sub-heading {
  font-size: calc(var(--s-val) * 2.8);
  -webkit-margin-before: calc(var(--s-val) * 1);
          margin-block-start: calc(var(--s-val) * 1);
}
.gallery__content {
  -webkit-margin-before: calc(var(--s-val) * 1.5);
          margin-block-start: calc(var(--s-val) * 1.5);
}
.gallery__block {
  max-width: var(--max-w-in);
  margin-inline: auto;
  padding-inline: var(--page-pdg-inline);
  -webkit-margin-before: calc(var(--s-val) * 7);
          margin-block-start: calc(var(--s-val) * 7);
}
.gallery__item {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(265px, 265px));
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(var(--s-val) * 1.3);
}

/* レスポンシブ ============= */
@media screen and (max-width: 1100px) {
  .gallery__lead {
    padding-inline: 10%;
  }
  .gallery__content {
    max-width: 560px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .gallery::before {
    height: 36%;
  }
  .gallery::after {
    height: 37%;
  }
  .gallery__heading {
    font-size: calc(var(--s-val) * 3.5);
  }
  .gallery__sub-heading {
    font-size: calc(var(--s-val) * 2.5);
  }
  .gallery__block {
    padding: 0;
  }
  .gallery__item {
    grid-template-columns: repeat(auto-fit, minmax(150px, 150px));
  }
}
/* =========================
showroom 
============================*/
.showroom {
  border-top: 1px solid var(--border-color);
  padding: calc(var(--s-val) * 10) var(--page-pdg-inline) 0;
  -webkit-margin-before: 20%;
          margin-block-start: 20%;
  position: relative;
}
.showroom::before {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  background-color: var(--color-bg-main);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
.showroom::after {
  content: "";
  display: block;
  width: 1px;
  height: 108%;
  background-color: var(--border-color);
  position: absolute;
  top: -8%;
  right: var(--border-position);
  z-index: -1;
}
.showroom__lead {
  text-align: center;
}
.showroom__heading {
  color: var(--color-dark-blue);
  font-size: calc(var(--s-val) * 4);
  font-weight: bold;
}
.showroom__sub-heading {
  font-size: calc(var(--s-val) * 2.8);
  -webkit-margin-before: calc(var(--s-val) * 1);
          margin-block-start: calc(var(--s-val) * 1);
  line-height: 1.5em;
}
.showroom__block {
  max-width: var(--max-w-in);
  margin-inline: auto;
  padding-inline: var(--page-pdg-inline);
  -webkit-margin-before: calc(var(--s-val) * 7);
          margin-block-start: calc(var(--s-val) * 7);
}
.showroom__item {
  max-width: 789px;
  width: 100%;
  margin-inline: auto;
}
.showroom__info {
  -webkit-margin-before: calc(var(--s-val) * 8);
          margin-block-start: calc(var(--s-val) * 8);
}
.showroom table, .showroom tbody {
  width: 100%;
}
.showroom table, .showroom td, .showroom th {
  border-collapse: collapse;
}
.showroom th, .showroom td {
  border-top: 1px solid #C7C7C7;
  padding: calc(var(--s-val) * 1.5) calc(var(--s-val) * 2);
}
.showroom tr:last-of-type th, .showroom tr:last-of-type td {
  border-bottom: 1px solid #C7C7C7;
}
.showroom th {
  background: var(--color-bg-gray);
  width: 31.6%;
  text-align: left;
}
.showroom th p {
  max-width: 4em;
  margin-inline: auto;
}
.showroom td {
  background-color: #fff;
  width: 68.4%;
}
.showroom td p {
  max-width: 350px;
  margin-inline: auto;
}
.showroom__access {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: calc(var(--s-val) * 2);
  -webkit-margin-before: calc(var(--s-val) * 6);
          margin-block-start: calc(var(--s-val) * 6);
}
.showroom__access-item {
  width: 100%;
  max-width: 375px;
}
.showroom__access-ttl {
  background-color: var(--color-bg-gray);
  padding: calc(var(--s-val) * 1) calc(var(--s-val) * 2);
  font-size: calc(var(--s-val) * 1.8);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(var(--s-val) * 1.5);
}
.showroom__access-item--train .showroom__access-ttl::before {
  content: "";
  display: block;
  width: calc(var(--s-val) * 2);
  aspect-ratio: 80/112;
  background: url(../images/common/icon-train.webp) no-repeat;
  background-size: contain;
}
.showroom__access-item--car .showroom__access-ttl::before {
  content: "";
  display: block;
  width: calc(var(--s-val) * 3);
  aspect-ratio: 120/92;
  background: url(../images/common/icon-car.webp) no-repeat;
  background-size: contain;
}
.showroom__access-content {
  -webkit-margin-before: calc(var(--s-val) * 2);
          margin-block-start: calc(var(--s-val) * 2);
}
.showroom__access-content p {
  line-height: 1.8em;
}
.showroom__access-note {
  font-size: calc(var(--s-val) * 1.2);
}

/* レスポンシブ ============= */
@media screen and (max-width: 1100px) {
  .showroom__lead {
    padding-inline: 10%;
  }
}
@media screen and (max-width: 767px) {
  .showroom {
    padding: 17% var(--page-pdg-inline) 0;
  }
  .showroom::before {
    height: 43%;
  }
  .showroom::after {
    height: 34%;
  }
  .showroom__heading {
    font-size: calc(var(--s-val) * 3.5);
  }
  .showroom__sub-heading {
    font-size: calc(var(--s-val) * 2.5);
  }
  .showroom__block {
    -webkit-margin-before: calc(var(--s-val) * 5.5);
            margin-block-start: calc(var(--s-val) * 5.5);
  }
  .showroom__info {
    -webkit-margin-before: 9%;
            margin-block-start: 9%;
  }
  .showroom__access {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-margin-before: 9%;
            margin-block-start: 9%;
  }
  .showroom__access-item {
    max-width: 100%;
  }
}
/* =========================
map 
============================*/
.map {
  -webkit-margin-before: calc(var(--s-val) * 16);
          margin-block-start: calc(var(--s-val) * 16);
}
.map iframe {
  display: block;
  width: 100%;
  aspect-ratio: 1440/654;
}

/* レスポンシブ ============= */
@media screen and (max-width: 767px) {
  .map {
    -webkit-margin-before: calc(var(--s-val) * 12);
            margin-block-start: calc(var(--s-val) * 12);
  }
}