@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@200..900&display=swap");
body, div, dl, dt, dd, ul, ol, li,
h1, h2, h4, h5, h6, pre, code,
form, fieldset, legend, input, button,
textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

fieldset, img {
  border: 0;
}

:focus {
  outline: 0;
}

address, caption, cite, code, dfn,
em, th, var, optgroup {
  font-style: normal;
  font-weight: normal;
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

input, button, textarea,
select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}

code, kbd, samp, tt {
  font-size: 100%;
}

input, button, textarea, select {
  *font-size: 100%;
}

body {
  line-height: 1.5;
}

ol, ul {
  list-style: none;
}

sup, sub {
  font-size: 100%;
  vertical-align: baseline;
}

:link, :visited, ins {
  text-decoration: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

.justwrap {
  position: relative;
  display: block;
}

.justselect {
  opacity: 0;
  width: 100%;
  display: block !important;
  position: absolute;
  background: transparent;
  height: 100%;
  z-index: 5;
  border: none;
}

.selectbox {
  width: 100%;
  position: relative;
  z-index: 6;
  pointer-events: none;
}

.selectbox__label {
  cursor: pointer;
  padding: 5px 10px;
  background: #fff;
  color: #202020;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 5px;
  -webkit-transition: 150ms linear all;
  transition: 150ms linear all;
}
.selectbox__label:after {
  content: "";
  display: inline;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 20px solid #6963B7;
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 150ms linear all;
  transition: 150ms linear all;
}

.noto-sans-light {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
}

.noto-sans-regular {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
}

.noto-sans-medium, body {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
}

.noto-sans-semiBold {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 600;
}

.noto-sans-bold {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 700;
}

.noto-serif-regular {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 300;
}

.noto-serif-medium, .feature .text-source {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 500;
}

.noto-serif-semibold, .reserve .block-title, .boutique .layer-text {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 600;
}

.noto-serif-bold, .location .remark, .main-word .slogan-2 {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 700;
}

.noto-serif-extraBold, .main-word .slogan-3, .main-word .slogan-1 {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 800;
}

.noto-serif-black {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 900;
}

.imgCover img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.fade, .header .menu-item, .header .navbar_logo {
  -webkit-transition: all linear 0.2s;
  transition: all linear 0.2s;
}
.fade:hover, .header .menu-item:hover, .header .navbar_logo:hover {
  -webkit-transition: all linear 0.2s;
  transition: all linear 0.2s;
}

@-webkit-keyframes fadeOutAnimation {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeOutAnimation {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes blinker {
  50% {
    opacity: 0.5;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@keyframes blinker {
  50% {
    opacity: 0.5;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.row {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  margin-bottom: 2rem;
}

.col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  -webkit-box-flex: 1;
  flex-grow: 1;
  max-width: 100%;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col-custom,
.col-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col-custom {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  -webkit-box-flex: 1;
          flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  -ms-flex: 0 0 auto;
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-1 {
  -ms-flex: 0 0 8.333333%;
  -webkit-box-flex: 0;
          flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-2 {
  -ms-flex: 0 0 16.666667%;
  -webkit-box-flex: 0;
          flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-3 {
  -ms-flex: 0 0 25%;
  -webkit-box-flex: 0;
          flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  -ms-flex: 0 0 33.333333%;
  -webkit-box-flex: 0;
          flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-5 {
  -ms-flex: 0 0 41.666667%;
  -webkit-box-flex: 0;
          flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-6 {
  -ms-flex: 0 0 50%;
  -webkit-box-flex: 0;
          flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  -ms-flex: 0 0 58.333333%;
  -webkit-box-flex: 0;
          flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-8 {
  -ms-flex: 0 0 66.666667%;
  -webkit-box-flex: 0;
          flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.col-9 {
  -ms-flex: 0 0 75%;
  -webkit-box-flex: 0;
          flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  -ms-flex: 0 0 83.333333%;
  -webkit-box-flex: 0;
          flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-11 {
  -ms-flex: 0 0 91.666667%;
  -webkit-box-flex: 0;
          flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.col-12 {
  -ms-flex: 0 0 100%;
  -webkit-box-flex: 0;
          flex: 0 0 100%;
  max-width: 100%;
}

.pic-inner {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.pic-inner::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  background-image: url(../images/index/btn-zoom.svg);
  background-size: 35px;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  cursor: pointer;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.not-touchable .pic-inner:hover::after {
  opacity: 1;
}

.lg-container .lg-backdrop {
  background-color: rgba(0, 0, 0, 0.95);
}
.lg-container .lg-toolbar .lg-icon {
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 50%;
}
.lg-container .lg-toolbar .lg-icon::after {
  display: none;
}
.lg-container .lg-toolbar .lg-download {
  display: none;
}
.lg-container .lg-toolbar .lg-close {
  background-image: url(../images/index/icon-cross.svg);
}
.lg-container .lg-toolbar .lg-autoplay-button {
  background-image: url(../images/index/icon-play.svg);
}
.lg-container .lg-toolbar .lg-zoom-in {
  background-image: url(../images/index/icon-zoom-in.svg);
}
.lg-container .lg-toolbar .lg-zoom-out {
  background-image: url(../images/index/icon-zoom-out.svg);
}
.lg-container .lg-show-autoplay .lg-autoplay-button {
  background-image: url(../images/index/icon-pause.svg);
}
.lg-container .lg-prev, .lg-container .lg-next {
  padding: 0;
  width: 45px;
  height: 45px;
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
  background-size: 100% 100%;
}
.lg-container .lg-next {
  background-image: url(../images/index/btn-arrow.svg);
}
.lg-container .lg-next::before {
  display: none;
}
.lg-container .lg-prev {
  background-image: url(../images/index/btn-arrow.svg);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.lg-container .lg-prev::after {
  display: none;
}
.lg-container .lg-backdrop.in {
  opacity: 0.9;
}
.lg-container .lg-outer .lg-thumb-item {
  border: none;
  opacity: 0.4;
}
.lg-container .lg-outer .lg-thumb-item:hover, .lg-container .lg-outer .lg-thumb-item.active {
  opacity: 1;
}
.lg-container .lg-sub-html {
  letter-spacing: 1px;
  font-size: 15px;
}

@media screen and (max-width: 480px) {
  .lg-container .lg-toolbar {
    padding: 0;
  }
}
.noto-sans-light {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
}

.noto-sans-regular {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
}

.noto-sans-medium, body {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
}

.noto-sans-semiBold {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 600;
}

.noto-sans-bold {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 700;
}

.noto-serif-regular {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 300;
}

.noto-serif-medium, .feature .text-source {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 500;
}

.noto-serif-semibold, .reserve .block-title, .boutique .layer-text {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 600;
}

.noto-serif-bold, .location .remark, .main-word .slogan-2 {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 700;
}

.noto-serif-extraBold, .main-word .slogan-3, .main-word .slogan-1 {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 800;
}

.noto-serif-black {
  font-family: "Noto Serif TC", sans-serif;
  font-weight: 900;
}

.imgCover img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.fade, .header .menu-item, .header .navbar_logo {
  -webkit-transition: all linear 0.2s;
  transition: all linear 0.2s;
}
.fade:hover, .header .menu-item:hover, .header .navbar_logo:hover {
  -webkit-transition: all linear 0.2s;
  transition: all linear 0.2s;
}

@keyframes fadeOutAnimation {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes blinker {
  50% {
    opacity: 0.5;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.header {
  position: fixed;
  top: 0;
  width: 100%;
  height: var(--header-h);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  z-index: 9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #E5E5E5;
}
.header .container {
  padding: 0 5.5%;
  margin: 0 auto;
  position: relative;
  width: 100%;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header .navbar_logo {
  height: var(--header-logo-h);
}
.header .navbar_logo img {
  height: 100%;
}
.header.scroll-to-fixed {
  background-color: rgba(229, 229, 229, 0.8);
  height: var(--header-fixed-h);
}
.header.scroll-to-fixed .navbar_logo {
  height: var(--header-fixed-logo-h);
}
.header .menu {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.header .menu-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: var(--menu-space);
}
.header .menu-item:not(:last-of-type)::after {
  content: "";
  width: 1px;
  height: 20px;
  background-color: #7A3608;
  margin-left: var(--menu-space);
}
.header .menu-item_icon {
  width: auto;
  height: 3vmin;
}

.show-fixed-bottom .header .container {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.show-fixed-bottom .menu {
  display: none;
}

@media screen and (max-height: 550px) {
  .header .menu-item_icon {
    height: 20px;
  }
}
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:root {
  --header-h: 16.6vmin;
  --header-fixed-h: 70px;
  --header-logo-h: 90px;
  --header-fixed-logo-h: 55px;
  --menu-space: 3.5vw;
  --main-logo-w: 50.9vmin;
  --main-number-size: 19vmin;
  --main-pt: 21vmin;
  --main-pb: 17vmin;
  --slogan-1-mt: 7.4vmin;
  --slogan-1-mb: 4vmin;
  --slogan-1-border-h: 14.2vmin;
  --slogan-2-mb: 4.5vmin;
  --slogan-3-text-p: .2vmin 3.1vmin .8vmin 3.1vmin;
  --main-square-w: 9.8vmin;
  --main-text-square: 4.1vmin;
  --main-text-xl: 14.4vmin;
  --main-text-lg: 5.2vmin;
  --main-text-lg-en: 8vmin;
  --main-text-lg-en-m: 0;
  --main-text-md: 6.3vmin;
  --main-text-md-letter-spacing: 1vmin;
  --remark-font-size: 3.7vmin;
  --glow-1-w: 44.8vw;
  --glow-1-ratio: 345 / 860;
  --glow-1-top: -6.2vw;
  --glow-2-w: 26.8vw;
  --glow-2-ratio: 270 / 515;
  --glow-2-top: 0;
  --glow-3-w: 17.2vw;
  --glow-3-ratio: 997 / 328;
  --glow-3-top: -6vw;
  --glow-3-right: calc(100% - 9vw);
  --glow-4-w: 45.6vw;
  --glow-4-ratio: 240 / 876;
  --glow-4-top: 0;
  --glow-4-left: 0;
  --glow-5-w: 46.5vw;
  --glow-5-ratio: 275 / 892;
  --glow-5-top: 0;
  --glow-6-w: 37.3vw;
  --glow-6-ratio: 334 / 716;
  --glow-6-bottom: 0;
  --glow-6-left: initial;
  --glow-6-right: 0;
  --vision-pic-w: 89.4vw;
  --vision-pic-feature-top: 4.6vw;
  --vision-pt: 14vmin;
  --vision-pb: 12vmin;
  --font-146: 7.7vw;
  --font-116: 6.1vw;
  --font-102: 5.3vw;
  --font-91: 4.8vw;
  --font-84: 4.4vw;
  --font-60: 3.1vw;
  --font-60-spacing: 1.5vmin;
  --font-41: 2.1vw;
  --font-35: 1.8vw;
  --font-24: 2.6vmin;
  --feature-number-size: 5.4vw;
  --feature-en-size: 4vw;
  --font-block-title: 5.4vw;
  --title-pic-mb: 1.8vw;
  --title-pic-h: 2.7vw;
  --title-pic-md-h: 1.6vw;
  --title-pic-sm-h: 1.4vw;
  --slider-w: 58.4vw;
  --slider-ratio: 826 / 1121;
  --swiper-bullet-gap: 8px;
  --swiper-bullet-w: 6.5vw;
  --swiper-bullet-h: 9px;
  --scene-swiper-slide-w: 1120px;
  --scene-swiper-slide-ratio: 732 / 1120;
  --company-info-radius: 1.5vmin;
  --company-info-p: 3.5vmin 0;
  --company-info-font: 3.6vmin;
  --company-info-icon: 5vmin;
  --map-ratio: 772 / 1920;
  --information-pt: 8vh;
  --information-pb: 6vh;
  --info-label-size: 1.8vw;
  --info-text-size: 1.8vw;
  --info-label-weight: 400;
  --info-text-weight: 400;
  --info-row-gap: 7vw;
  --info-item-mb: 2.5vmin;
  --boutique-layer-text2-mt: 4vmin;
  --boutique-layer-text2-pl: 7vw;
  --checkbox-font-size: 2.1vw;
  --checkbox-mark-size: 2.4vw;
  --feature-slash-my: 50px;
  --feature-slash-w: 70px;
}

img {
  display: block;
}

html,
body {
  position: relative;
  height: 100%;
}

html {
  font-size: 10px;
}

body {
  line-height: 1;
  width: 100%;
  overflow-x: hidden;
  font-size: 1.4rem;
  color: #333333;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.objectfit img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.fullpage-loading {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 200;
  background-color: #2D635C;
  -webkit-transition: all 500ms ease-in;
  transition: all 500ms ease-in;
}
.fullpage-loading.hide {
  visibility: hidden;
  opacity: 0;
  -webkit-animation: fadeOutAnimation ease 1s;
          animation: fadeOutAnimation ease 1s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.fixed-height {
  position: relative;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  -webkit-transition: height 0.25s linear;
  transition: height 0.25s linear;
}

.flex-container {
  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;
}

.gold {
  color: #997734;
}

.gray, .block .feature .feature__title {
  color: #4B4C4C;
}

.show-mobile {
  display: none;
}

.main-word-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
.main-word-wrap > div {
  width: 80%;
  max-width: 1458px;
}

.main-word {
  margin: 0 auto;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  white-space: nowrap;
}
.main-word .slogan-1 {
  margin-top: var(--slogan-1-mt);
  margin-bottom: var(--slogan-1-mb);
  color: #2D635C;
}
.main-word .slogan-2 {
  color: #343436;
  margin-bottom: var(--slogan-2-mb);
}
.main-word .slogan-3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #2D635C;
  line-height: 1;
}
.main-word .slogan-3 .text {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1vmin;
  padding: var(--slogan-3-text-p);
}
.main-word .slogan-3 .line {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #2D635C;
}
.main-word .slogan-3 .letters-left,
.main-word .slogan-3 .letters-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.main-word .slogan-3 .letters-left span:not(.en),
.main-word .slogan-3 .letters-right span:not(.en) {
  padding-top: 1.4vmin;
}
.main-word .text-xl {
  font-size: var(--main-text-xl);
}
.main-word .text-lg {
  font-size: var(--main-text-lg);
}
.main-word .text-lg .en {
  display: inline-block;
  margin: var(--main-text-lg-en-m);
  letter-spacing: 0;
  font-weight: 500;
  font-size: var(--main-text-lg-en);
}
.main-word .text-md {
  font-size: var(--main-text-md);
  letter-spacing: var(--main-text-md-letter-spacing);
}
.main-word .title {
  position: relative;
}

.main {
  position: relative;
  padding-top: calc(var(--header-h) + var(--main-pt));
  padding-bottom: var(--main-pb);
  width: 100%;
  overflow: hidden;
}
.main .layer-bg {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}
.main .layer-bg .show-pc,
.main .layer-bg .show-mobile {
  width: 100%;
  height: 100%;
}
.main .layer-bg img {
  position: absolute;
  -o-object-position: top;
     object-position: top;
  width: 100%;
  height: 100%;
}
.main .logo {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: var(--main-logo-w);
  height: calc(var(--main-logo-w) * 170 / 549);
}
.main .logo img {
  width: 100%;
  height: auto;
}

.layer-glow {
  position: absolute;
  background-size: 100% 100%;
}
.layer-glow + div {
  position: relative;
  z-index: 1;
}
.layer-glow.glow-1 {
  top: var(--glow-1-top);
  left: 0;
  background-image: url(../images/index/bg-glow-01.webp);
  width: var(--glow-1-w);
  height: calc(var(--glow-1-w) * var(--glow-1-ratio));
}
.layer-glow.glow-2 {
  top: var(--glow-2-top);
  right: 0;
  background-image: url(../images/index/bg-glow-02.webp);
  width: var(--glow-2-w);
  height: calc(var(--glow-2-w) * var(--glow-2-ratio));
}
.layer-glow.glow-3 {
  top: var(--glow-3-top);
  right: var(--glow-3-right);
  background-image: url(../images/index/bg-glow-03.webp);
  width: var(--glow-3-w);
  height: calc(var(--glow-3-w) * var(--glow-3-ratio));
}
.layer-glow.glow-4 {
  top: var(--glow-4-top);
  left: var(--glow-4-left);
  background-image: url(../images/index/bg-glow-04.webp);
  width: var(--glow-4-w);
  height: calc(var(--glow-4-w) * var(--glow-4-ratio));
}
.layer-glow.glow-5 {
  top: var(--glow-5-top);
  right: 0;
  background-image: url(../images/index/bg-glow-05.webp);
  width: var(--glow-5-w);
  height: calc(var(--glow-5-w) * var(--glow-5-ratio));
}
.layer-glow.glow-6 {
  bottom: var(--glow-6-bottom);
  left: var(--glow-6-left);
  right: var(--glow-6-right);
  background-image: url(../images/index/bg-glow-06.webp);
  width: var(--glow-6-w);
  height: calc(var(--glow-6-w) * var(--glow-6-ratio));
}

.layer-line {
  position: absolute;
  background-color: #8E2081;
  height: 1px;
  width: calc(100% - var(--slider-w) - 4%);
}
.layer-line.line-1 {
  right: 0;
  bottom: 0;
}
.layer-line.line-2 {
  left: 0;
  bottom: 0;
}
.layer-line.line-3 {
  width: calc(100% - var(--slider-w) - 6%);
  left: 0;
  top: 8vmin;
}

.video {
  width: 100%;
  height: calc(100vh - var(--header-fixed-h));
}
.video iframe {
  width: 100%;
  height: 100%;
}

.vision {
  background-image: url(../images/index/bg-01.webp);
  background-size: cover;
  background-position: right top;
  background-repeat: no-repeat;
  padding-top: var(--vision-pt);
  padding-bottom: var(--vision-pb);
}
.vision .feature {
  width: 100%;
  text-align: center;
}
.vision .feature__title {
  gap: 4vmin;
}
.vision .font-60 {
  padding-right: 7vmin;
}
.vision .vision-pic {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: var(--vision-pic-w);
}
.vision .vision-pic img {
  width: 100%;
}
.vision .vision-pic .feature {
  position: absolute;
  top: var(--vision-pic-feature-top);
  width: 100%;
  color: #fff;
}
.vision .vision-pic + .feature {
  padding-top: 12vmin;
}

.location {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.location:not(.fixed-height) {
  height: 56.3vw;
}
.location:not(.fixed-height) .layer-bg {
  height: 56.3vw;
}
.location:not(.fixed-height) .location-swiper .swiper-slide > div.show-pc {
  width: 100vw;
}
.location .container {
  padding-top: 6vmin;
  z-index: 1;
}
.location .main-word {
  max-width: 83.4vmin;
}
.location .main-word .title {
  padding: 0;
}
.location .layer-bg {
  position: absolute;
  width: 100%;
  height: 100%;
}
.location .location-swiper.swiper {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.location .location-swiper .swiper-slide {
  width: auto;
}
.location .location-swiper .swiper-slide > div {
  height: 100%;
}
.location .location-swiper .swiper-slide > div.show-pc {
  width: 177.7777777778vh;
}
.location .location-swiper .swiper-slide > div.show-mobile {
  width: 110.1949025487vh;
}
.location .location-swiper .swiper-slide img {
  height: 100%;
}
.location .feature {
  position: absolute;
  z-index: 2;
  top: var(--vision-pic-feature-top);
  width: 100%;
  text-align: center;
  color: #fff;
}
.location .feature__title {
  margin-bottom: 3vmin;
  gap: 6vmin;
}
.location .feature__title > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.location .swiper-mask {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 3;
  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;
  pointer-events: none;
  opacity: 1;
  -webkit-transition: all 1s;
  transition: all 1s;
  background-color: rgba(0, 0, 0, 0.5);
}
.location .swiper-mask.hide {
  display: none;
}
.location .left-border {
  margin-left: 1.5vmin;
  padding-left: 1.5vmin;
  border-left: 1px solid #fff;
}
.location .remark {
  font-size: 13px;
  right: 1.5vw;
  bottom: 1.5vw;
  text-shadow: none;
  letter-spacing: 0;
}

.bg-wrap-2 {
  position: relative;
  background-image: url(../images/index/bg-02.webp);
  background-size: cover;
  background-position: right top;
  background-repeat: no-repeat;
  overflow: hidden;
}

.bg-wrap-3 {
  background-image: url(../images/index/bg-03.webp);
  background-size: cover;
  background-position: right top;
  background-repeat: no-repeat;
}

.tech {
  padding-top: 14vmin;
}
.tech .feature {
  text-align: center;
}
.tech .feature__title {
  margin-bottom: 4vmin;
  gap: 3vmin;
}

.feature {
  position: relative;
}
.feature .title-pic,
.feature .title-pic-md,
.feature .title-pic-sm {
  display: inline-block;
  margin-bottom: var(--title-pic-mb);
}
.feature .title-pic {
  height: var(--title-pic-h);
}
.feature .title-pic-md {
  height: var(--title-pic-md-h);
}
.feature .title-pic-sm {
  height: var(--title-pic-sm-h);
}
.feature .feature__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.feature .feature__slash {
  margin: var(--feature-slash-my) auto;
  width: var(--feature-slash-w);
  height: 1px;
  background-color: #6D541D;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.feature .text-source {
  margin-top: 2vmin;
  font-size: 13px;
  letter-spacing: 0.2vmin;
  color: #585B5E;
}
.feature .en {
  display: inline-block;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.font-146 {
  font-size: var(--font-146);
}

.font-116 {
  font-size: var(--font-116);
}

.font-102 {
  font-size: var(--font-102);
}

.font-91 {
  font-size: var(--font-91);
}

.font-84 {
  letter-spacing: 0.6vmin;
  font-size: var(--font-84);
}

.font-60 {
  letter-spacing: var(--font-60-spacing);
  font-size: var(--font-60);
}

.font-41 {
  padding-left: 1vmin;
  letter-spacing: 0.5vmin;
  line-height: 1.6;
  font-size: var(--font-41);
}

.font-35 {
  letter-spacing: 0.5vmin;
  line-height: 1.6;
  font-size: var(--font-35);
}

.font-24 {
  font-size: var(--font-24);
  letter-spacing: 0.1vmin;
  line-height: 1.2;
}

.container {
  position: relative;
  padding-top: 6vh;
  width: 96%;
  max-width: 1570px;
  margin: 0 auto;
}

.block {
  position: relative;
  padding-top: 12vmin;
}
.block .title-pic {
  margin-bottom: 6vh;
  display: inline-block;
  text-align: center;
}
.block .title-pic img {
  width: 100%;
}
.block .feature .feature__title {
  gap: 3vmin;
}
.block .feature .feature__title > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1vmin;
}
.block .feature .feature__title .text-number {
  height: var(--feature-number-size);
}
.block .feature .feature__title .text-number img {
  width: auto;
  height: 100%;
}
.block .feature .feature__title .text-en {
  height: var(--feature-en-size);
}
.block .feature .feature__title .text-en img {
  width: auto;
  height: 100%;
}

.notes-block {
  padding-top: 10vmin;
}
.notes-block .feature .feature__title {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-bottom: 5vw;
}
.notes-block.traffic {
  margin-bottom: 4vw;
}
.notes-block.elite {
  padding-top: 9vw;
}
.notes-block.world {
  padding-top: 10.6vw;
}

.scene-block .feature {
  padding-bottom: 8vmin;
  text-align: center;
}
.scene-block .feature .feature__title {
  margin-bottom: 3vmin;
}
.scene-block .scene-swiper .swiper-slide {
  margin: 0 1.2vw;
  width: var(--scene-swiper-slide-w);
  height: calc(var(--scene-swiper-slide-w) * var(--scene-swiper-slide-ratio));
  background-color: #9B9797;
}

.remark {
  position: absolute;
  right: 16px;
  bottom: 8px;
  z-index: 1;
  font-weight: 300;
  font-size: var(--remark-font-size);
  color: #fff;
  text-shadow: 0 0 10px rgb(0, 0, 0);
}

.pic-wrap {
  position: relative;
  width: var(--slider-w);
}
.pic-wrap .notes-swiper {
  height: calc(var(--slider-w) * var(--slider-ratio));
  background-color: rgba(0, 0, 0, 0.5);
}
.pic-wrap.left {
  float: left;
}
.pic-wrap.right {
  float: right;
}
.pic-wrap .slide-content {
  display: none;
}

.swiper-button.swiper-pagination {
  position: relative;
  margin-top: 4vmin;
  text-align: center;
  bottom: 0;
}
.swiper-button.swiper-pagination .swiper-pagination-bullet {
  margin: 0 var(--swiper-bullet-gap);
  width: var(--swiper-bullet-w);
  height: var(--swiper-bullet-h);
  background-color: #BCBCBC;
  border-radius: 0;
}
.swiper-button.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #9B9797;
}
.swiper-button.swiper-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  opacity: 1;
}

.info-wrap {
  position: relative;
  padding: 3% 3% 0 4%;
  width: calc(100% - var(--slider-w));
}
.info-wrap.left {
  float: left;
}
.info-wrap.right {
  float: right;
}

.block-inner {
  position: relative;
  margin-bottom: 2vmin;
}

.notes-swiper {
  height: 100%;
}

.boutique {
  position: relative;
}
.boutique .layer-pic {
  height: 67vw;
}
.boutique .layer-pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 90%;
     object-position: center 90%;
}
.boutique .layer-text {
  position: absolute;
  left: 5vw;
  top: 6.5vw;
  color: #fff;
}
.boutique .layer-text P:nth-of-type(2) {
  margin-top: var(--boutique-layer-text2-mt);
  padding-left: var(--boutique-layer-text2-pl);
}

.company {
  padding-bottom: 9vmin;
  width: 100%;
}
.company .info-item {
  display: block;
  padding: var(--company-info-p);
  border: 1px solid #606060;
  border-radius: var(--company-info-radius);
  color: #606060;
  font-size: var(--company-info-font);
  font-weight: 400;
  text-align: center;
}
.company .info-item span {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 0.2rem;
}
.company .info-item span::before {
  background-repeat: no-repeat;
}
.company .info-item .icon {
  display: inline-block;
  vertical-align: middle;
  width: var(--company-info-icon);
  height: var(--company-info-icon);
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
.company .info-item.phone .icon {
  background-image: url(../images/index/icon-phone.svg);
}
.company .info-item.messenger .icon {
  background-image: url(../images/index/icon-messenger.svg);
}
.company .info-item.fb .icon {
  background-image: url(../images/index/icon-fb.svg);
}
.company .info-item.address .icon {
  background-image: url(../images/index/icon-map.svg);
}
.company .info-item.center .icon {
  background-image: url(../images/index/icon-logo.svg);
}
.company .address .col-4 {
  padding-right: 0;
}
.company .address .col-4 .info-item {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: none;
}
.company .address .col-8 {
  padding-left: 0;
}
.company .address .col-8 .info-item {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.map {
  padding-bottom: 5vw;
  width: 100%;
  height: calc(100vw * var(--map-ratio) + 5vw);
  overflow: hidden;
}
.map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.reserve {
  position: relative;
  padding-bottom: 1.4vw;
  padding-top: 6vmin;
}
.reserve .block-title {
  position: relative;
  margin-bottom: 4vw;
  padding-bottom: 4vmin;
  text-align: center;
  border-bottom: 1px solid #fff;
}
.reserve .block-title span {
  color: #4B4C4C;
  font-size: var(--font-block-title);
}
.reserve .reserve-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.reserve .reserve-row > div {
  width: calc(50% - 2.5vmin);
}
.reserve .reserve-row > div.row-p-xs {
  width: calc(50% - 1vmin);
}
.reserve .form-footer {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: 1.6vw;
  text-align: center;
}
.reserve .btn-row {
  margin-top: 1.6vw;
}

.information {
  color: #fff;
  background: linear-gradient(135deg, rgb(23, 74, 158) 0%, rgb(118, 59, 147) 100%);
}
.information .container {
  padding-top: var(--information-pt);
  padding-bottom: var(--information-pb);
}
.information .info-row {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  white-space: nowrap;
}
.information .info-row .info-col:first-of-type {
  padding-right: var(--info-row-gap);
  margin-right: var(--info-row-gap);
  border-right: 1px solid #fff;
}
.information .info-row .info-col > div {
  margin-bottom: var(--info-item-mb);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.2vmin;
}
.information .info-row .label {
  font-size: var(--info-label-size);
  font-weight: var(--info-label-weight);
}
.information .info-row .label::after {
  content: ":";
}
.information .info-row .info-text {
  font-size: var(--info-text-size);
  font-weight: var(--info-text-weight);
}

.show-xs {
  display: none !important;
}

.link {
  color: #84394F;
}

.btn {
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border: none;
  cursor: pointer;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.btn-primary {
  --btn-h: 7.2vw;
  --btn-font-size: 3.3vw;
  background-color: #6963B7;
  color: #fff;
  width: 100%;
  height: var(--btn-h);
  line-height: var(--btn-h);
  font-size: var(--btn-font-size);
  letter-spacing: 0.2vw;
  font-weight: 500;
}
.btn-primary:hover {
  background-color: #84394F;
}

.w-full {
  width: 100%;
}

input::-webkit-input-placeholder {
  color: rgb(0, 0, 0);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

input::-moz-placeholder {
  color: rgb(0, 0, 0);
  -moz-transition: 0.2s;
  transition: 0.2s;
}

input:-ms-input-placeholder {
  color: rgb(0, 0, 0);
  -ms-transition: 0.2s;
  transition: 0.2s;
}

input::-ms-input-placeholder {
  color: rgb(0, 0, 0);
  -ms-transition: 0.2s;
  transition: 0.2s;
}

input::placeholder {
  color: rgb(0, 0, 0);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
input:focus::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.5);
}
input:focus::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5);
}
input:focus:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.5);
}
input:focus::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.5);
}
input:focus::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.form-group {
  margin-bottom: 3vmin;
}
.form-group:last-of-type {
  margin-bottom: 0;
}

.form-control {
  width: 100%;
  border: none;
}

select.form-control {
  -webkit-appearance: none;
  background-color: transparent;
}

.selectbox {
  --select-arrow-w: 2.1vw;
  --select-arrow-h: 1.5vw;
}
.selectbox .selectbox__label:after {
  right: 1vw;
  border-left-width: calc(var(--select-arrow-w) / 2);
  border-right-width: calc(var(--select-arrow-w) / 2);
  border-top-width: var(--select-arrow-h);
}

.form-control,
.selectbox .selectbox__label {
  --input-h: 5.9vw;
  --input-font-size: 2.5vw;
  font-weight: 500;
  border-radius: 4px;
  letter-spacing: 2px;
  font-size: var(--input-font-size);
  height: var(--input-h);
  line-height: var(--input-h);
  padding: 0 1.2vw;
}

.checkbox-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6vw;
  margin: 2.6vw 0;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #565656;
  padding-left: calc(var(--checkbox-mark-size) + 1.5rem);
  letter-spacing: 0.3vw;
  font-weight: 500;
  font-size: var(--checkbox-font-size);
  white-space: nowrap;
}
.checkbox-group input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
.checkbox-group:hover input ~ .checkmark {
  background-color: #969696;
}
.checkbox-group input:checked ~ .checkmark {
  background-color: #969696;
}
.checkbox-group input:checked ~ .checkmark:after {
  display: block;
}
.checkbox-group .checkmark {
  position: absolute;
  left: 0;
  top: calc((100% - var(--checkbox-mark-size)) / 2);
  height: var(--checkbox-mark-size);
  width: var(--checkbox-mark-size);
  background-color: #969696;
}
.checkbox-group .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: calc(var(--checkbox-mark-size) / 3);
  top: calc(var(--checkbox-mark-size) / 8);
  width: calc(var(--checkbox-mark-size) / 4);
  height: calc(var(--checkbox-mark-size) / 2);
  border: solid #fff;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.toTop {
  display: none;
  position: fixed;
  z-index: 9;
  right: 3vw;
  bottom: 3vw;
  width: 4.5vw;
  height: 4.5vw;
  border-radius: 50%;
  background-color: #ce7f26;
  background-image: url(../images/index/icon-top.webp);
  background-size: 100%;
  cursor: pointer;
}
.toTop:hover {
  -webkit-animation: blinker 1s;
          animation: blinker 1s;
}

.fixed-bottom {
  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;
  padding: 0 3vw;
  position: fixed;
  z-index: 99;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 10vh;
  background-color: #E5E5E5;
}
.fixed-bottom.hide {
  visibility: hidden;
  opacity: 0;
  -webkit-animation: fadeOutAnimation ease 1s;
          animation: fadeOutAnimation ease 1s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.fixed-bottom .bottom-item {
  position: relative;
  padding: 0 6.5%;
}
.fixed-bottom .bottom-item .bottom-item_icon {
  width: auto;
  height: 24px;
}
.fixed-bottom .bottom-item:not(:last-child):after {
  content: "";
  position: absolute;
  top: calc((100% - 13px) / 2);
  right: 0;
  width: 1px;
  height: 13px;
  background-color: #6963B7;
}

.modal-wrap {
  display: none;
}

.modal-btn {
  cursor: pointer;
}

.contact-modal {
  letter-spacing: 0.3rem;
}
.contact-modal .icon {
  display: inline-block;
  margin-bottom: 1rem;
  width: 8rem;
}
.contact-modal .icon img {
  width: 100%;
}
.contact-modal label, .contact-modal p {
  display: block;
  font-size: 2.2rem;
  font-weight: 700;
}
.contact-modal label, .contact-modal p, .contact-modal a {
  color: #000;
}
.contact-modal p {
  margin-bottom: 2rem;
}
.contact-modal .btn {
  padding: 0.6rem 3rem 0.8rem 3rem;
  background-color: #6963B7;
  color: #fff;
  font-size: 2rem;
  border-radius: 5rem;
  letter-spacing: 0.5rem;
}

.contact-swal .swal2-popup {
  padding: 0;
  width: 512px;
  height: 340px;
  border-radius: 15px;
}
.contact-swal .swal2-close {
  margin-right: 2%;
  margin-top: 2%;
  text-indent: -9999px;
  width: 30px;
  height: 30px;
  background-image: url(../images/index/btn-close.webp);
  background-size: 100%;
}
.contact-swal .swal2-close:hover, .contact-swal .swal2-close:focus {
  background-image: url(../images/index/btn-close.webp);
}
.contact-swal .swal2-close:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.copyright {
  padding-bottom: 15px;
  text-align: center;
  color: rgba(87, 43, 14, 0.5);
  font-size: 12px;
}

@media screen and (max-width: 1366px) {
  :root {
    --slider-w: 50vw;
  }
}
@media screen and (max-width: 1024px) {
  :root {
    --checkbox-font-size: 20px;
    --checkbox-mark-size: 20px;
  }
  .feature {
    padding-left: 7vw;
    padding-right: 7vw;
  }
  .community .feature__title_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .reserve .block-title {
    font-size: 43px;
    letter-spacing: 4px;
  }
  .selectbox .selectbox__label:after {
    border-left-width: 12.5px;
    border-right-width: 12.5px;
    border-top-width: 17px;
    right: 20px;
  }
  .form-control,
  .selectbox .selectbox__label {
    font-size: 30px;
    height: 70px;
    line-height: 70px;
    padding: 0 20px;
  }
  .checkbox-group {
    padding-left: calc(var(--checkbox-mark-size) + 8px);
  }
  .btn-primary {
    font-size: 34px;
    height: 60px;
    line-height: 60px;
  }
  .row > div {
    width: 100%;
  }
  .reserve .container {
    max-width: 600px;
  }
  .reserve .block-title {
    margin-bottom: 6vw;
  }
  .reserve .form-footer {
    margin-top: 6vw;
  }
  .reserve .btn-row {
    margin-top: 4vw;
  }
  .reserve .reserve-row {
    max-width: 480px;
    margin: 0 auto;
  }
  .reserve .reserve-row > div {
    width: 100%;
  }
  .form-group {
    margin-bottom: 3vw;
  }
  .contact-modal .icon {
    margin-bottom: 2vmin;
    width: 11vmin;
  }
  .contact-modal p {
    margin-bottom: 3vmin;
  }
  .contact-modal label, .contact-modal p {
    font-size: 4vw;
  }
  .contact-modal .btn {
    padding: 1px 15px 3px 15px;
    font-size: 3vw;
  }
  .contact-swal .swal2-popup {
    width: 80vw;
    height: 56vw;
  }
}
@media screen and (orientation: portrait) {
  :root {
    --main-logo-w: 39.2vmin;
    --main-number-size: 12.3vmin;
    --main-pt: 17.5vmin;
    --main-pb: 36.5vmin;
    --slogan-1-mt: 7vmin;
    --slogan-1-border-h: 9.1vmin;
    --main-square-w: 6.3vmin;
    --main-text-square: 2.6vmin;
    --main-text-xl: 13.5vmin;
    --main-text-lg: 4.4vmin;
    --main-text-lg-en: 6.6vmin;
    --main-text-md: 5.8vmin;
    --main-text-md-letter-spacing: 1.2vmin;
    --glow-1-w: 39.8vw;
    --glow-1-ratio: 166 / 305;
    --glow-1-top: -8vw;
    --glow-2-w: 40.4vw;
    --glow-2-ratio: 164 / 310;
    --glow-2-top: -2vw;
    --glow-3-w: 47.7vw;
    --glow-3-ratio: 163 / 366;
    --glow-3-top: calc(100% - 3vw);
    --glow-3-right: 0;
    --slogan-3-text-p: 0 2.5vmin .5vmin 2.5vmin;
    --glow-4-w: 19.6vw;
    --glow-4-ratio: 465 / 150;
    --glow-4-top: 79vw;
    --glow-5-w: 49.6vw;
    --glow-5-ratio: 166 / 380;
    --glow-5-top: 100%;
    --glow-6-w: 20.6vw;
    --glow-6-ratio: 465 / 158;
    --glow-6-bottom: 6vw;
    --glow-6-left: 0;
    --glow-6-right: initial;
    --vision-pic-w: 86vw;
    --vision-pic-feature-top: 11vw;
    --vision-pt: 8vmin;
    --title-pic-mb: 30px;
    --title-pic-h: 3.8vw;
    --title-pic-md-h: 3.2vw;
    --title-pic-sm-h: 2.3vw;
    --slider-w: 86vw;
    --swiper-bullet-gap: 5px;
    --swiper-bullet-w: 74px;
    --swiper-bullet-h: 5px;
    --slider-ratio: 650 / 660;
    --scene-swiper-slide-w: 100vw;
    --scene-swiper-slide-ratio: 598 / 767;
    --map-ratio: 485 / 768;
    --remark-font-size: 19px;
    --font-146: 9.2vw;
    --font-116: 8.5vw;
    --font-102: 6.2vw;
    --font-91: 6.2vw;
    --font-84: 5.7vw;
    --font-60: 4.3vw;
    --font-60-spacing: 1vmin;
    --font-41: 21.5px;
    --font-35: 21.5px;
    --font-24: 14px;
    --feature-number-size: 7.1vmin;
    --feature-en-size: 5vmin;
    --font-block-title: 7.6vw;
    --company-info-p: 3.5vw 4vw;
    --company-info-font: 33px;
    --company-info-icon: 45px;
    --company-info-radius: 16px;
    --information-pt: 4vh;
    --information-pb: 14vh;
    --info-label-size: 15px;
    --info-text-size: 18px;
    --info-text-weight: 500;
    --info-row-gap: 0;
    --info-item-mb: 12px;
    --boutique-layer-text2-mt: 2vmin;
    --boutique-layer-text2-pl: 8vw;
  }
  .main-word-wrap {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .company {
    padding-top: 0;
  }
  .company .container {
    max-width: 420px;
  }
  .company .col {
    padding: 0;
    margin-bottom: 2vh;
  }
  .company .col-4,
  .company .col-8 {
    max-width: 100%;
  }
  .company .address .col-4 .info-item {
    border-radius: var(--company-info-radius);
    border-right: 1px solid #606060;
  }
  .company .address .col-8 .info-item {
    border-radius: var(--company-info-radius);
  }
  .company .info-item {
    text-align: left;
    line-height: 1.2;
  }
  .company .info-item .address-center__icon,
  .company .info-item .address-center__label {
    display: inline-block;
  }
  .company .info-item .address-center__text {
    display: block;
    margin-top: 12px;
  }
  .company .row {
    display: block;
    margin: 0;
  }
  .information .container {
    max-width: 500px;
  }
  .information .info-row {
    padding: 0 10vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .information .info-row::before, .information .info-row::after {
    content: "";
    position: absolute;
    top: 10%;
    height: 80%;
    width: 1px;
    background-color: #fff;
  }
  .information .info-row::before {
    left: 0;
  }
  .information .info-row::after {
    right: 0;
  }
  .information .info-row .label::after {
    content: "／";
    margin: 0 4px;
    font-size: 12px;
  }
  .information .info-row .info-col:first-of-type {
    border-right: none;
  }
  .show-pc {
    display: none;
  }
  .show-mobile {
    display: block;
  }
  .video {
    height: 67.5324675325vw;
  }
  .layer-glow.glow-1 {
    background-image: url(../images/index/bg-glow-m-01.webp);
  }
  .layer-glow.glow-2 {
    background-image: url(../images/index/bg-glow-m-02.webp);
  }
  .layer-glow.glow-3 {
    background-image: url(../images/index/bg-glow-m-03.webp);
  }
  .layer-glow.glow-4 {
    background-image: url(../images/index/bg-glow-m-04.webp);
  }
  .layer-glow.glow-5 {
    background-image: url(../images/index/bg-glow-m-05.webp);
  }
  .layer-glow.glow-6 {
    background-image: url(../images/index/bg-glow-m-06.webp);
  }
  .vision {
    background-image: url(../images/index/bg-m-01.webp);
  }
  .vision .font-60 {
    padding-right: 0;
  }
  .bg-wrap-2 {
    background-image: url(../images/index/bg-m-02.webp);
  }
  .location .container {
    padding-top: 15vh;
  }
  .notes-block {
    padding-top: 7vh;
  }
  .notes-block .feature .feature__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .pic-wrap.left, .pic-wrap.right, .info-wrap.left, .info-wrap.right {
    float: none;
  }
  .pic-wrap {
    margin: 0 auto 8vmin auto;
  }
  .info-wrap {
    padding: 0;
    width: 100%;
    text-align: center;
  }
  .font-41 {
    padding-left: 0;
  }
}
@media screen and (max-width: 550px) {
  :root {
    --font-41: 16px;
    --font-35: 16px;
    --company-info-font: 18px;
    --company-info-icon: 24px;
    --company-info-radius: 10px;
    --font-block-title: 30px;
    --info-text-size: 16px;
    --checkbox-font-size: 16px;
    --checkbox-mark-size: 18px;
    --feature-slash-my: 35px;
    --feature-slash-w: 45px;
    --remark-font-size: 14px;
  }
  .fixed-bottom .bottom-item {
    padding: 0 4%;
  }
  .fixed-bottom .bottom-item .bottom-item_icon {
    height: 20px;
  }
  .information .info-row {
    padding: 0 4vw;
  }
  .information .info-row::before, .information .info-row::after {
    display: none;
  }
  .selectbox .selectbox__label:after {
    border-left-width: 9px;
    border-right-width: 9px;
    border-top-width: 12px;
    right: 12px;
  }
  .form-control, .selectbox .selectbox__label {
    font-size: 20px;
    height: 50px;
    line-height: 50px;
    padding: 0 16px;
  }
  .btn-primary {
    font-size: 24px;
    height: 42px;
    line-height: 42px;
  }
  .checkbox-group {
    letter-spacing: 1px;
  }
  .font-35 br,
  .font-41 br {
    display: none;
  }
}
@media screen and (max-width: 390px) {
  :root {
    --checkbox-font-size: 14px;
    --checkbox-mark-size: 16px;
    --font-41: 14px;
    --font-35: 14px;
  }
  .reserve .block-title {
    font-size: 20px;
  }
  .selectbox .selectbox__label:after {
    border-left-width: 6px;
    border-right-width: 6px;
    border-top-width: 8px;
    right: 8px;
  }
  .form-control, .selectbox .selectbox__label {
    font-size: 14px;
    height: 30px;
    line-height: 30px;
    padding: 0 10px;
  }
  .btn-primary {
    font-size: 18px;
    height: 40px;
    line-height: 40px;
  }
  .reserve .form-footer {
    margin-top: 32px;
  }
  .reserve .btn-row {
    margin-top: 20px;
  }
  .fixed-bottom .bottom-item {
    padding: 0 4%;
  }
  .fixed-bottom .bottom-item .bottom-item_icon {
    height: 16px;
  }
}
@media screen and (max-height: 550px) {
  :root {
    --font-41: 16px;
    --font-35: 16px;
    --company-info-font: 18px;
    --company-info-icon: 24px;
    --company-info-radius: 10px;
    --font-block-title: 30px;
    --checkbox-font-size: 16px;
    --checkbox-mark-size: 18px;
    --feature-slash-my: 35px;
    --feature-slash-w: 45px;
    --remark-font-size: 14px;
  }
  .fixed-height,
  .location:not(.fixed-height),
  .location:not(.fixed-height) .layer-bg {
    height: 600px;
  }
  .contact-swal .swal2-popup {
    width: 112.9411764706vh;
    height: 80vh;
  }
  .contact-modal label, .contact-modal p,
  .contact-modal .btn {
    font-size: 1.8rem;
  }
  .feature {
    padding-left: 0;
    padding-right: 0;
  }
}
.show-fixed-bottom {
  --header-h: 100px;
  --header-logo-h: 65px;
  --header-fixed-h: 50px;
  --header-fixed-logo-h: 35px;
}
.show-fixed-bottom .toTop {
  bottom: calc(14vmin + 3vw);
}

.not-touchable .company a.info-item {
  -webkit-transition: all linear 0.2s;
  transition: all linear 0.2s;
}
.not-touchable .company a.info-item .icon {
  -webkit-transition: all linear 0.2s;
  transition: all linear 0.2s;
}
.not-touchable .company a.info-item:hover {
  border-color: #6963B7;
  background-color: #6963B7;
  color: #fff;
}
.not-touchable .company a.info-item:hover.phone .icon {
  background-image: url(../images/index/icon-phone-w.svg);
}
.not-touchable .company a.info-item:hover.messenger .icon {
  background-image: url(../images/index/icon-messenger-w.svg);
}
.not-touchable .company a.info-item:hover.fb .icon {
  background-image: url(../images/index/icon-fb-w.svg);
}
.not-touchable .company a.info-item:hover.address .icon {
  background-image: url(../images/index/icon-map-w.svg);
}
.not-touchable .pic-wrap .swiper-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  -webkit-transition: all linear 0.2s;
  transition: all linear 0.2s;
}
.not-touchable .pic-wrap .swiper-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
  opacity: 0.8;
}

@media screen and (max-height: 550px) {
  :root {
    --header-logo-h: calc(var(--header-h) * .7);
    --information-pb: 12vh;
  }
  [data-aos] {
    pointer-events: auto !important;
    opacity: 1 !important;
    -webkit-transform: scale(1) !important;
            transform: scale(1) !important;
  }
  .layer-glow.glow-4,
  .layer-line {
    display: none;
  }
}