@charset "UTF-8";

/* ===================================================================

  LEX TOKYO SP Styles

=================================================================== */

/*
  Main Visual
=================================================================== */
.mv-container video {
  width: 100%;
  height: 100%;
  min-width: initial;
  min-height: initial;
}
.mv-container .contents-area h2 { font-size: calc(56 / 640 * 100vw); }

/*
  Section
=================================================================== */

/* Section01
------------------------------------------------------------------- */
.sec01 { padding: 12.5% 0; }

/* Article */
.article-unit {
  /* display: block; */
  margin: 5% auto 12.5%;
}
.article-unit article { width: 100%; }
.article-unit article p {
  font-size: calc(18 / 640 * 100vw);
  text-align: center;
  padding: 0 .5em;
}
.article-unit article p span { margin: 0 1em 0 0; }

/*
  Swiper Styles
------------------------------------------------------------------- */
.swiper-button-prev {
  width: calc(35 / 640 * 100vw) !important;
  height: calc(35 / 640 * 100vw) !important;
}
.swiper-button-next {
  width: calc(35 / 640 * 100vw) !important;
  height: calc(35 / 640 * 100vw) !important;
}

.sec01 .lead {
  font-size: calc(22 / 640 * 100vw);
  line-height: 1.8;
  margin: 5% 0 6.25%;
}

/* Section02
------------------------------------------------------------------- */
.sec02 > figure img { aspect-ratio: 2790 / 4096; }
.sec02 .contents-area { padding: 12.5% 0; }
.sec02 .contents-area .bg-blk {
  padding: 8.75% 5% 0;
  margin: 5% auto 0;
}

/* Party Slider */
.ws-container {
  max-width: 100vw;
  width: 100vw;
  margin: 5% auto 10%;
}

.price-unit {
  display: block;
  margin: 0 0 7.5%;
}
.price { margin: 0 0 6.25%; }
.price h3 {
  font-size: calc(28 / 640 * 100vw);
  margin: 0 0 .25em;
}
.price ul li { font-size: calc(25 / 640 * 100vw); }
.attention { font-size: calc(18 / 640 * 100vw); }

.vip-reservation h3 {
  font-size: calc(28 / 640 * 100vw);
  margin: 3.75% 0;
}
.reservation-unit {
  display: block;
  margin: 0 0 10%;
}
.reservation-unit dl {
  color: var(--gold);
  text-align: center;
  letter-spacing: .05em;
}
.reservation-unit dl dt {
  font-size: calc(28 / 640 * 100vw);
  margin: 0 0 .5em;
}
.reservation-unit dl dd {
  font-size: calc(25 / 640 * 100vw);
  padding: .75em 0;
}
.floor-map { margin: 12.5% 0 0; }
.floor-map figure {
  width: 100%;
  height: auto;
  margin: 5% auto 0;
}

/* Section03
------------------------------------------------------------------- */
.sec03 { padding: 12.5% 0; }
.sec03 p {
  font-size: calc(27 / 640 * 100vw);
  margin: 5% 0 7.5%;
}
.sec03 h3 { font-size: calc(33 / 640 * 100vw); }

/* Section04
------------------------------------------------------------------- */
.sec04 { padding: 12.5% 0; }
.sec04 p {
  font-size: calc(27 / 640 * 100vw);
  margin: 5% 0 7.5%;
}
.contact-form ul li { margin: 5% 0 0; }
.default-btn {
  width: auto;
  height: auto;
  border-radius: 10px !important;
  padding: .75em 1.25em;
}
.button-unit { margin: 7.5% auto 0; }
.button-unit .default-btn {
  width: auto;
  min-width: 49%;
  max-width: initial;
}

@media screen and (max-width:480px) {
  .sec04 p { font-size: calc(18 / 480 * 100vw); }
  .default-btn, .button-unit .default-btn { font-size: calc(18 / 480 * 100vw) !important; }
}

/* Section05
------------------------------------------------------------------- */
.sec05 { padding: 12.5% 0; }
.gmap { margin: 5% 0 0; }
.location { padding: 5%; }
.location h3 {
  font-size: calc(30 / 640 * 100vw);
  margin: 0;
}
.location dl { display: block; }
.location dl { font-size: calc(20 / 640 * 100vw); }
.location dl dt { line-height: 2.5; }
.location dl dt span {
  font-size: calc(22 / 16 * 1em);
  line-height: 1.5;
  display: block;
  color: #adaeae;
}
.location dl dd { line-height: 2.5; }

.location ul { font-size: calc(20 / 640 * 100vw); }
.location ul li { line-height: 2.5; }
.location ul li:last-of-type { margin: 0; }