html {
  height: 100%;
}

body {
  font-family: "Libre Baskerville", "Noto Serif TC", serif;
  font-weight: 400;
  color: #7d7d7d;
}
body.-loading {
  overflow: hidden;
  height: 100%;
}
body.-menuOpened {
  overflow: hidden;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  body.-disableSmooth #body {
    transition: all 0s cubic-bezier(0.22, 1, 0.36, 1);
  }
}

.-link {
  cursor: pointer;
}

*, *::before, *::after {
  box-sizing: border-box;
}

a {
  color: inherit;
  text-decoration: none;
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .-mb {
    display: none !important;
  }
  .-mbs {
    display: none !important;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .-pc {
    display: none !important;
  }
  .-mbs {
    display: none !important;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait) and (min-aspect-ratio: 320/499) {
  .-pc {
    display: none !important;
  }
  .-mbs {
    display: initial !important;
  }
}
@keyframes preloadingTextAni {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}
#mainmenu {
  position: fixed;
  z-index: 1000;
  left: -100vw;
  top: 0;
  width: 100%;
  transition: left 0s linear 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu {
    height: 100vh;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu {
    height: 100%;
  }
}
#mainmenu .bg {
  position: absolute;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background-attachment: scroll;
  background-position: center center;
  background-attachment: fixed;
  background-size: cover;
  transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
#mainmenu .bg::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  -webkit-backdrop-filter: blur(0.624vw);
          backdrop-filter: blur(0.624vw);
}
#mainmenu .bgItem {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-attachment: scroll;
  background-position: center center;
  background-attachment: fixed;
  background-size: cover;
  opacity: 0;
  z-index: 1001;
  transition: opacity 0s linear 2.5s;
}
#mainmenu .bgItem::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1002;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  -webkit-backdrop-filter: blur(0.624vw);
          backdrop-filter: blur(0.624vw);
}
#mainmenu .bgItem.-active {
  z-index: 1002;
  left: 0;
  opacity: 1;
  transition: opacity 2s linear 0.5s;
}
#mainmenu .bgItem img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
}
#mainmenu .content {
  position: absolute;
  overflow: hidden;
  z-index: 1000;
  color: #fff;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .content {
    display: flex;
    flex-direction: column;
    left: 10.4166666667vw;
    top: 3.3333333333vw;
    right: 10.4166666667vw;
    bottom: 0vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .content {
    display: flex;
    flex-direction: column;
    left: 0vw;
    top: 13.3333333333vw;
    right: 0vw;
    bottom: 0;
  }
}
#mainmenu .menuLinks {
  -webkit-mask-image: linear-gradient(180deg, transparent, rgb(0, 0, 0) 15%, rgb(0, 0, 0) 85%, transparent);
          mask-image: linear-gradient(180deg, transparent, rgb(0, 0, 0) 15%, rgb(0, 0, 0) 85%, transparent);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .menuLinks {
    flex: 1 1 auto;
    padding: 2.5vw 0;
    width: 29.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .menuLinks {
    flex: 1 1 auto;
    margin-left: 8.8888888889vw;
    width: 53.3333333333vw;
  }
}
#mainmenu .menuLinks .menuGroup {
  opacity: 0;
  transform: translateY(1.6666666667vw);
  transition: opacity 0.5s linear 0s, transform 0.5s cubic-bezier(0.64, 0, 0.78, 0) 0s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .menuLinks .menuGroup {
    padding: 0.8333333333vw 0;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .menuLinks .menuGroup {
    padding: 4.4444444444vw 0;
  }
}
#mainmenu .menuLinks .menuGroup.-active .menuTitle::after {
  transform: translateY(17.5%) rotate(225deg);
}
#mainmenu .menuLinks .menuGroup + .menuGroup {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
#mainmenu .menuLinks .menuTitle {
  letter-spacing: 0.25em;
  cursor: pointer;
  transition: color 0.25s linear 0s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .menuLinks .menuTitle {
    font-size: 2.0833333333vw;
    line-height: 7.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .menuLinks .menuTitle {
    font-size: 6.6666666667vw;
    line-height: 11.1111111111vw;
  }
}
#mainmenu .menuLinks .menuTitle::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  border: 2px solid #fff;
  border-left: 0;
  border-top: 0;
  transform-origin: center center;
  transform: translateY(-47.5%) rotate(45deg);
  transition: transform 0.25s cubic-bezier(0.5, 1, 0.89, 1) 0s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .menuLinks .menuTitle::after {
    margin-left: 2.5vw;
    width: 1.25vw;
    height: 1.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .menuLinks .menuTitle::after {
    margin-left: 7.7777777778vw;
    width: 3.8888888889vw;
    height: 3.8888888889vw;
  }
}
#mainmenu .menuLinks .menuTitle:hover {
  color: #fff;
}
#mainmenu .menuLinks .menuItems {
  overflow: hidden;
  height: 0;
  letter-spacing: 0.25em;
  transition: height 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .menuLinks .menuItems {
    padding-left: 1.25vw;
    font-size: 1.25vw;
    line-height: 2.9166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .menuLinks .menuItems {
    padding-top: 2.2222222222vw;
    padding-left: 4.4444444444vw;
    font-size: 3.8888888889vw;
    line-height: 8.8888888889vw;
  }
}
#mainmenu .menuLinks .menuItem {
  opacity: 0.8;
  cursor: pointer;
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
#mainmenu .menuLinks .menuItem:hover {
  opacity: 1;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .menuLinks .menuGroup.-active .menuItems.-numItem-2 {
    height: 7.2916666667vw;
  }
  #mainmenu .menuLinks .menuGroup.-active .menuItems.-numItem-3 {
    height: 10.2083333333vw;
  }
  #mainmenu .menuLinks .menuGroup.-active .menuItems.-numItem-4 {
    height: 13.125vw;
  }
  #mainmenu .menuLinks .menuGroup.-active .menuItems.-numItem-5 {
    height: 16.0416666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .menuLinks .menuGroup.-active .menuItems.-numItem-2 {
    height: 22.2222222222vw;
  }
  #mainmenu .menuLinks .menuGroup.-active .menuItems.-numItem-3 {
    height: 31.1111111111vw;
  }
  #mainmenu .menuLinks .menuGroup.-active .menuItems.-numItem-4 {
    height: 40vw;
  }
  #mainmenu .menuLinks .menuGroup.-active .menuItems.-numItem-5 {
    height: 48.8888888889vw;
  }
}
#mainmenu .socialLinks {
  display: flex;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.5);
  opacity: 0;
  transform: translateY(1.6666666667vw);
  transition: opacity 0.5s linear 0s, transform 0.5s cubic-bezier(0.64, 0, 0.78, 0) 0s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .socialLinks {
    position: absolute;
    right: 0vw;
    bottom: 3.3333333333vw;
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .socialLinks {
    flex: 0 0 13.3333333333vw;
    justify-content: center;
    font-size: 3.8888888889vw;
    line-height: 8.8888888889vw;
  }
}
#mainmenu .socialLinks span {
  margin: -0.1em 1em 0 0.75em;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .socialLinks span {
    display: none;
  }
}
#mainmenu .socialLinks a {
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .socialLinks a {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.25em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .socialLinks a {
    margin: 0 2.2222222222vw;
    width: 11.1111111111vw;
    height: 11.1111111111vw;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
  }
  #mainmenu .socialLinks a.fb {
    background-image: url(../img/icon-fb-white.svg);
  }
  #mainmenu .socialLinks a.ig {
    background-image: url(../img/icon-ig-white.svg);
  }
  #mainmenu .socialLinks a.line {
    background-image: url(../img/icon-line-white.svg);
  }
}
#mainmenu .socialLinks a:hover {
  color: #fff;
}
#mainmenu .addrLinks {
  z-index: 1000;
  font-weight: 300;
  text-align: right;
  color: rgba(255, 255, 255, 0.5);
  opacity: 0;
  transform: translateY(1.6666666667vw);
  transition: opacity 0.5s linear 0s, transform 0.5s cubic-bezier(0.64, 0, 0.78, 0) 0s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .addrLinks {
    position: absolute;
    right: 0vw;
    width: 29.1666666667vw;
    bottom: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .addrLinks {
    flex: 0 0 26.6666666667vw;
  }
}
#mainmenu .addrLinks .t1 {
  flex: 0 0 26.6666666667vw;
  letter-spacing: 0.2em;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .addrLinks .t1 {
    margin-bottom: 1.6666666667vw;
    font-size: 1.25vw;
    line-height: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .addrLinks .t1 {
    text-align: center;
    margin-bottom: 0vw;
    font-size: 3.3333333333vw;
    line-height: 8.8888888889vw;
  }
}
#mainmenu .addrLinks .t2 {
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .addrLinks .t2 {
    padding: 0.4166666667vw 0;
    font-size: 0.9375vw;
    line-height: 1.875vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .addrLinks .t2 {
    text-align: center;
    font-size: 2.5vw;
    line-height: 4.4444444444vw;
  }
}
#mainmenu .bookingIcon {
  position: absolute;
  z-index: 1010;
  opacity: 0.7;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.5s linear 0s, transform 0.5s cubic-bezier(0.64, 0, 0.78, 0) 0s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .bookingIcon {
    right: 10vw;
    top: 6.6666666667vw;
    width: 11.25vw;
    height: 13.75vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .bookingIcon {
    right: 2.2222222222vw;
    top: 13.3333333333vw;
    width: 60vw;
    height: 73.3333333333vw;
    transform-origin: 100% 0;
    transform: scale(0.5);
  }
}
#mainmenu .bookingIcon > * {
  position: absolute;
  display: block;
}
#mainmenu .bookingIcon .g1 {
  background: #C9A063;
  transform: scaleX(1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .bookingIcon .g1 {
    left: 0.4166666667vw;
    top: 5vw;
    right: 0.4166666667vw;
    height: 0.4166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .bookingIcon .g1 {
    left: 2.2222222222vw;
    top: 26.6666666667vw;
    right: 2.2222222222vw;
    height: 2.2222222222vw;
  }
}
#mainmenu .bookingIcon .g2 {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10000px;
  color: #fff;
  background: #C9A063;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .bookingIcon .g2 {
    left: 2.0833333333vw;
    top: 1.6666666667vw;
    width: 7.0833333333vw;
    height: 7.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .bookingIcon .g2 {
    left: 11.1111111111vw;
    top: 8.8888888889vw;
    width: 37.7777777778vw;
    height: 37.7777777778vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .bookingIcon .g2 span {
    font-size: 1.875vw;
    line-height: 2.34375vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .bookingIcon .g2 span {
    font-size: 10vw;
    line-height: 12.5vw;
  }
}
#mainmenu .bookingIcon .g3 {
  border-radius: 10000px;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu .bookingIcon .g3 {
    left: 2.0833333333vw;
    top: 4.8958333333vw;
    width: 7.0833333333vw;
    height: 7.0833333333vw;
    border: 0.4166666667vw solid #C9A063;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu .bookingIcon .g3 {
    left: 11.1111111111vw;
    top: 26.1111111111vw;
    width: 37.7777777778vw;
    height: 37.7777777778vw;
    border: 2.2222222222vw solid #C9A063;
  }
}
#mainmenu.-active {
  left: 0;
  transition: left 0s linear 0s;
}
#mainmenu.-active .bg {
  width: 100%;
  transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
#mainmenu.-active .menuGroup {
  opacity: 0.8;
}
#mainmenu.-active .menuGroup:nth-child(1) {
  transform: translateY(0);
  transition: opacity 1s linear 0.5s, transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
#mainmenu.-active .menuGroup:nth-child(2) {
  transform: translateY(0);
  transition: opacity 1s linear 0.6s, transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.6s;
}
#mainmenu.-active .menuGroup:nth-child(3) {
  transform: translateY(0);
  transition: opacity 1s linear 0.7s, transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.7s;
}
#mainmenu.-active .socialLinks {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s linear 0.5s, transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
#mainmenu.-active .addrLinks {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s linear 0.6s, transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.6s;
}
#mainmenu.-active .bookingIcon {
  opacity: 0.7;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu.-active .bookingIcon {
    transform: translateY(0);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu.-active .bookingIcon {
    transform: scale(0.5) translateY(0);
  }
}
#mainmenu.-active .bookingIcon:hover {
  opacity: 1 !important;
  transition: opacity 0.2s linear !important;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #mainmenu.-active .bookingIcon:hover .g1 {
    transform: scaleX(1.05);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  #mainmenu.-active .bookingIcon:hover .g2 {
    transform: translateY(-0.1041666667vw);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  #mainmenu.-active .bookingIcon:hover .g3 {
    transform: translateY(0.2083333333vw);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #mainmenu.-active .bookingIcon:hover .g1 {
    transform: scaleX(1.05);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  #mainmenu.-active .bookingIcon:hover .g2 {
    transform: translateY(-0.5555555556vw);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  #mainmenu.-active .bookingIcon:hover .g3 {
    transform: translateY(1.1111111111vw);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
#mainmenu.-active #closeMenuTrig {
  left: 3.3333333333vw;
  transition: left 0.5s cubic-bezier(0.22, 1, 0.36, 1) 2.5s;
}
#mainmenu.-active #closeMenuTrig .line {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) 3s;
}
#mainmenu.-active #closeMenuTrig .l1 {
  transform: rotate(45deg);
}
#mainmenu.-active #closeMenuTrig .l2 {
  transform: rotate(-45deg);
}

#closeMenuTrig {
  position: absolute;
  z-index: 1010;
  cursor: pointer;
  transition: left 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #closeMenuTrig {
    left: -3.75vw;
    top: 3.3333333333vw;
    width: 3.75vw;
    height: 3.75vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #closeMenuTrig {
    left: -13.3333333333vw;
    top: 2.2222222222vw;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
}
#closeMenuTrig .line {
  content: "";
  display: block;
  position: absolute;
  border-top: 2px solid #fff;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #closeMenuTrig .line {
    left: 0.4166666667vw;
    width: 2.9166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #closeMenuTrig .line {
    left: 2.2222222222vw;
    width: 8.8888888889vw;
  }
}
#closeMenuTrig .l1 {
  top: calc(50% - 1px);
}
#closeMenuTrig .l2 {
  top: calc(50% - 1px);
}

#bookingFloat {
  position: fixed;
  z-index: 100;
  opacity: 0;
  cursor: pointer;
  opacity: 0;
  transform: translateY(1.6666666667vw);
  transition: left 0s linear 0.2s, opacity 0.5s linear 0s, transform 0.5s cubic-bezier(0.64, 0, 0.78, 0) 0s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingFloat {
    left: -11.25vw;
    bottom: 0.4166666667vw;
    width: 11.25vw;
    height: 13.75vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingFloat {
    left: -73.3333333333vw;
    bottom: 2.2222222222vw;
    width: 60vw;
    height: 73.3333333333vw;
    transform-origin: 0 100%;
    transform: scale(0.3) translateY(8.8888888889vw);
  }
}
#bookingFloat > * {
  position: absolute;
  display: block;
}
#bookingFloat .g1 {
  background: #C9A063;
  transform: scaleX(1);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingFloat .g1 {
    left: 0.4166666667vw;
    top: 5vw;
    right: 0.4166666667vw;
    height: 0.4166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingFloat .g1 {
    left: 2.2222222222vw;
    top: 26.6666666667vw;
    right: 2.2222222222vw;
    height: 2.2222222222vw;
  }
}
#bookingFloat .g2 {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10000px;
  color: #fff;
  background: #C9A063;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingFloat .g2 {
    left: 2.0833333333vw;
    top: 1.6666666667vw;
    width: 7.0833333333vw;
    height: 7.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingFloat .g2 {
    left: 11.1111111111vw;
    top: 8.8888888889vw;
    width: 37.7777777778vw;
    height: 37.7777777778vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingFloat .g2 span {
    font-size: 1.875vw;
    line-height: 2.34375vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingFloat .g2 span {
    font-size: 10vw;
    line-height: 12.5vw;
  }
}
#bookingFloat .g3 {
  border-radius: 10000px;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingFloat .g3 {
    left: 2.0833333333vw;
    top: 4.8958333333vw;
    width: 7.0833333333vw;
    height: 7.0833333333vw;
    border: 0.4166666667vw solid #C9A063;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingFloat .g3 {
    left: 11.1111111111vw;
    top: 26.1111111111vw;
    width: 37.7777777778vw;
    height: 37.7777777778vw;
    border: 2.2222222222vw solid #C9A063;
  }
}
#bookingFloat:hover {
  opacity: 1 !important;
  transition: opacity 0.2s linear !important;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingFloat:hover .g1 {
    transform: scaleX(1.05);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  #bookingFloat:hover .g2 {
    transform: translateY(-0.1041666667vw);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  #bookingFloat:hover .g3 {
    transform: translateY(0.2083333333vw);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingFloat:hover .g1 {
    transform: scaleX(1.05);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  #bookingFloat:hover .g2 {
    transform: translateY(-0.5555555556vw);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  #bookingFloat:hover .g3 {
    transform: translateY(1.1111111111vw);
    transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
#bookingFloat.-active {
  opacity: 0.7;
  transition: left 0s linear, left 0s linear 0.2s, opacity 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingFloat.-active {
    left: 0.4166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingFloat.-active {
    left: 0vw;
  }
}

#gotopFloat {
  position: fixed;
  z-index: 100;
  right: 100vw;
  cursor: pointer;
  opacity: 0;
  transition: right 0s linear 1s, opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gotopFloat {
    bottom: 8.75vw;
    width: 4.1666666667vw;
    height: 22.5vw;
    transform: translateY(1.25vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gotopFloat {
    bottom: 26.6666666667vw;
    width: 8.8888888889vw;
    height: 71.1111111111vw;
    transform: translateY(6.6666666667vw);
  }
}
#gotopFloat .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
}
#gotopFloat .l1 {
  position: absolute;
  left: calc(50% - 0.5px);
  border-left: 1px solid #C9A063;
  transform-origin: 0 100%;
  transform: scaleY(1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gotopFloat .l1 {
    top: 0.15625vw;
    height: 10.2083333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gotopFloat .l1 {
    top: 2.2222222222vw;
    height: 28.8888888889vw;
  }
}
#gotopFloat .l2 {
  position: absolute;
  left: calc(50% - 0.5px);
  transform-origin: 0 0;
  transform: rotate(30deg);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gotopFloat .l2 {
    top: 0.15625vw;
    height: 1.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gotopFloat .l2 {
    top: 2.2222222222vw;
    height: 4.4444444444vw;
  }
}
#gotopFloat .l2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  border-left: 1px solid #C9A063;
  transform-origin: 0 0;
  transform: scaleY(1);
}
#gotopFloat.-active {
  opacity: 1;
  transform: translateY(0);
  transition: right 0s linear, opacity 0.2s cubic-bezier(0.22, 1, 0.36, 1), transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gotopFloat.-active {
    right: 1.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gotopFloat.-active {
    right: 2.2222222222vw;
  }
}
#gotopFloat:hover {
  transform: translateY(-0.2083333333vw);
}
#gotopFloat:hover .l1 {
  animation: gotopFloatBar1Ani 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}
#gotopFloat:hover .l2::before {
  animation: gotopFloatBar2Ani 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}

@keyframes gotopFloatBar1Ani {
  0% {
    transform: scaleY(1);
    transform-origin: 0 0;
  }
  30% {
    transform: scaleY(0);
    transform-origin: 0 0;
  }
  40% {
    transform: scaleY(0);
    transform-origin: 0 100%;
  }
  60% {
    transform: scaleY(1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 0 100%;
  }
}
@keyframes gotopFloatBar2Ani {
  0% {
    transform: scaleY(1);
    transform-origin: 0 100%;
  }
  30% {
    transform: scaleY(1);
    transform-origin: 0 100%;
  }
  40% {
    transform: scaleY(0);
    transform-origin: 0 100%;
  }
  59% {
    transform: scaleY(0);
    transform-origin: 0 0;
  }
  60% {
    transform: scaleY(0);
    transform-origin: 0 0;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 0 0;
  }
}
#menuTrigFloat {
  position: fixed;
  z-index: 100;
  opacity: 0;
  cursor: pointer;
  transition: opacity 0.2s linear;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #menuTrigFloat {
    left: -3.75vw;
    top: 3.3333333333vw;
    width: 3.75vw;
    height: 3.75vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #menuTrigFloat {
    left: -13.3333333333vw;
    top: 2.2222222222vw;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
}
#menuTrigFloat .white,
#menuTrigFloat .black {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.2s linear;
}
#menuTrigFloat .line {
  content: "";
  display: block;
  position: absolute;
  border-top: 2px solid #fff;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #menuTrigFloat .line {
    left: 0.4166666667vw;
    width: 2.9166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #menuTrigFloat .line {
    left: 2.2222222222vw;
    width: 8.8888888889vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #menuTrigFloat .l1 {
    top: calc(0.832vw - 1px);
  }
  #menuTrigFloat .l2 {
    top: calc(50% - 1px);
  }
  #menuTrigFloat .l3 {
    bottom: calc(0.832vw - 1px);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #menuTrigFloat .l1 {
    top: calc(4.4448vw - 1px);
  }
  #menuTrigFloat .l2 {
    top: calc(50% - 1px);
  }
  #menuTrigFloat .l3 {
    bottom: calc(4.4448vw - 1px);
  }
}
#menuTrigFloat .white .line {
  border-color: #fff;
}
#menuTrigFloat .black .line {
  border-color: #000;
}
#menuTrigFloat .white {
  opacity: 0;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #menuTrigFloat.-darkBg .white {
    opacity: 0;
  }
  #menuTrigFloat.-darkBg .black {
    opacity: 1;
  }
}
#menuTrigFloat.-active {
  opacity: 1;
  transition: opacity 0.2s linear 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #menuTrigFloat.-active {
    left: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #menuTrigFloat.-active {
    left: 2.2222222222vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #menuTrigFloat:hover .l1 {
    animation: menuTrigBarsAni 1s cubic-bezier(0.22, 1, 0.36, 1) 0s;
  }
  #menuTrigFloat:hover .l2 {
    animation: menuTrigBarsAni 1s cubic-bezier(0.22, 1, 0.36, 1) 0.15s;
  }
  #menuTrigFloat:hover .l3 {
    animation: menuTrigBarsAni 1s cubic-bezier(0.22, 1, 0.36, 1) 0.3s;
  }
}

@keyframes menuTrigBarsAni {
  0% {
    left: auto;
    right: 0.416vw;
  }
  40% {
    left: auto;
    right: 0.416vw;
    width: 0;
  }
  41% {
    left: 0.416vw;
    right: auto;
    width: 0;
  }
  100% {
    left: 0.416vw;
    right: auto;
    width: 2.912vw;
  }
}
#body {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  transform-origin: 0 0;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  perspective: 1000;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #body {
    transition: all 1.25s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
#body .dummy {
  height: 400px;
}
#body .dummy:nth-child(even) {
  background: #fcc;
}
#body .dummy:nth-child(odd) {
  background: #ffc;
}

@keyframes goMoreBar1Ani {
  0% {
    transform: scaleX(1);
    transform-origin: 0 0;
  }
  30% {
    transform: scaleX(0);
    transform-origin: 0 0;
  }
  40% {
    transform: scaleX(0);
    transform-origin: 0 100%;
  }
  60% {
    transform: scaleX(1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 0 100%;
  }
}
@keyframes goMoreBar2Ani {
  0% {
    transform: scaleX(1);
    transform-origin: 0 100%;
  }
  30% {
    transform: scaleX(1);
    transform-origin: 0 100%;
  }
  40% {
    transform: scaleX(0);
    transform-origin: 0 100%;
  }
  59% {
    transform: scaleX(0);
    transform-origin: 0 0;
  }
  60% {
    transform: scaleX(0);
    transform-origin: 0 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 0 0;
  }
}
#mainPage {
  opacity: 0;
  transition: opacity 0.5s;
}
#mainPage.-active {
  opacity: 1;
}

#kvSec {
  position: relative;
  background-position: center center;
  background-size: cover;
}
#kvSec .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  overflow: hidden;
}
#kvSec .bg .bgItem {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
}
#kvSec .b1 {
  position: relative;
  z-index: 200;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #kvSec .b1 {
    height: 100vh;
    min-height: 40vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #kvSec .b1 {
    height: 100%;
  }
}
#kvSec .b1 .mainScene {
  opacity: 0;
}
#kvSec .b1 .mainScene .sprite1 {
  position: absolute;
  background-position: center center;
  background-image: url(../img/iconlogo-bld-white.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #kvSec .b1 .mainScene .sprite1 {
    left: 50%;
    top: 9.25%;
    margin-left: -3.125vw;
    width: 6.25vw;
    height: 6.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #kvSec .b1 .mainScene .sprite1 {
    left: 50%;
    top: 11.1111111111vw;
    margin-left: -13.3333333333vw;
    width: 26.6666666667vw;
    height: 26.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait) and (min-aspect-ratio: 320/499) {
  #kvSec .b1 .mainScene .sprite1 {
    top: 8.8888888889vw;
    margin-left: -11.1111111111vw;
    width: 22.2222222222vw;
    height: 22.2222222222vw;
  }
}
#kvSec .b1 .mainScene .sprite2 {
  left: 50%;
  position: absolute;
  background-position: center center;
  background-image: url(../img/logo-v-bld-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #kvSec .b1 .mainScene .sprite2 {
    top: calc(9.25% + 7.5vw);
    margin-left: -3.125vw;
    width: 6.25vw;
    height: 11.8229166667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #kvSec .b1 .mainScene .sprite2 {
    top: 40vw;
    margin-left: -13.3333333333vw;
    width: 26.6666666667vw;
    height: 50.5555555556vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait) and (min-aspect-ratio: 320/499) {
  #kvSec .b1 .mainScene .sprite2 {
    top: 33.3333333333vw;
    margin-left: -11.1111111111vw;
    width: 22.2222222222vw;
    height: 42.2222222222vw;
  }
}
#kvSec .b1 .mainScene .sprite3 {
  position: absolute;
  left: 0;
  right: 0;
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.1em;
  color: #fff;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #kvSec .b1 .mainScene .sprite3 {
    padding-left: 1.1em;
    font-size: 3.5416666667vw;
    line-height: 5.3125vw;
    bottom: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #kvSec .b1 .mainScene .sprite3 {
    font-size: 7.7777777778vw;
    line-height: 12.2222222222vw;
    bottom: 35.5555555556vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait) and (min-aspect-ratio: 320/499) {
  #kvSec .b1 .mainScene .sprite3 {
    font-size: 7.2222222222vw;
    line-height: 11.1111111111vw;
    bottom: 31.1111111111vw;
  }
}
#kvSec .t1 {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  bottom: 0;
  width: 100%;
  color: #fff;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #kvSec .t1 {
    height: 8.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #kvSec .t1 {
    height: 35.5555555556vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait) and (min-aspect-ratio: 320/499) {
  #kvSec .t1 {
    height: 31.1111111111vw;
  }
}
#kvSec .t1 .t1c {
  display: block;
  text-align: center;
  letter-spacing: 0.2em;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #kvSec .t1 .t1c {
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #kvSec .t1 .t1c {
    font-size: 3.8888888889vw;
    line-height: 6.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait) and (min-aspect-ratio: 320/499) {
  #kvSec .t1 .t1c {
    font-size: 3.6111111111vw;
    line-height: 6.1111111111vw;
  }
}
#kvSec .t1 .t1c > * {
  opacity: 1;
  transition: all 0s linear 0.5s;
}

#menuSec {
  position: relative;
  display: flex;
  justify-content: center;
  height: 5vw;
  margin-bottom: 3.3333333333vw;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #d2d2d2;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #menuSec {
    display: none;
  }
}
#menuSec .menuItemGroup {
  position: relative;
  display: flex;
  padding: 0 1.6666666667vw;
}
#menuSec .menuItem {
  width: 16em;
  font-size: 1.6666666667vw;
  line-height: 5vw;
  text-align: center;
  cursor: pointer;
  border-left: 1px solid #d2d2d2;
}
#menuSec .menuItem:hover {
  color: #BB6956;
}
#menuSec .menuItem:last-child {
  border-right: 1px solid #d2d2d2;
}
#menuSec.-active > * {
  opacity: 1;
  transform: translateY(0);
}
#menuSec.-active > *:nth-child(1) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
#menuSec.-active > *:nth-child(2) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.55s;
}
#menuSec.-active > *:nth-child(3) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.6s;
}
#menuSec.-active > *:nth-child(4) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.65s;
}
#menuSec.-active > *:nth-child(5) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.7s;
}
#menuSec.-active > *:nth-child(6) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.75s;
}
#menuSec.-active > *:nth-child(7) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.8s;
}
#menuSec.-active > *:nth-child(8) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.85s;
}
#menuSec.-active > *:nth-child(9) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.9s;
}

.footer {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .footer {
    height: 4.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .footer {
    height: 13.3333333333vw;
  }
}
.footer div {
  display: block;
  text-align: center;
  opacity: 0;
  transform: translateY(1.25vw);
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .footer div {
    font-size: 0.9375vw;
    line-height: 2.5vw;
    letter-spacing: 0.2em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .footer div {
    font-size: 3.0555555556vw;
    line-height: 5.5555555556vw;
    letter-spacing: 0.1em;
  }
}
.footer.-active div {
  opacity: 1;
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}

.mainPageSec {
  position: relative;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .mainPageSec {
    padding-bottom: 13.3333333333vw;
  }
}
.mainPageSec h2 {
  text-align: center;
  text-transform: uppercase;
  color: transparent;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .mainPageSec h2 {
    font-size: 7.8125vw;
    line-height: 8.3333333333vw;
    height: 10vw;
    transform: translateY(5vw) scaleY(1.25);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .mainPageSec h2 {
    height: 24.4444444444vw;
    transform: translateY(10vw) scaleY(1.25);
  }
}
.mainPageSec h2 .img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: 100% 100%;
}
.mainPageSec .subtitle {
  text-align: center;
  color: #626262;
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .mainPageSec .subtitle {
    font-size: 1.25vw;
    line-height: 2.5vw;
    letter-spacing: 0.5em;
    transform: translateY(2.5vw) scaleY(1.1);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .mainPageSec .subtitle {
    font-size: 3.3333333333vw;
    line-height: 4.4444444444vw;
    margin-bottom: 11.1111111111vw;
    letter-spacing: 0.3em;
    transform: translateY(6.6666666667vw) scaleY(1.1);
  }
}
.mainPageSec .subtitle.-left {
  text-align: left;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .mainPageSec .subtitle.-left {
    padding-left: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .mainPageSec .subtitle.-left {
    padding-left: 8.8888888889vw;
  }
}
.mainPageSec .subtitle.-right {
  text-align: right;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .mainPageSec .subtitle.-right {
    padding-right: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .mainPageSec .subtitle.-right {
    padding-right: 8.8888888889vw;
  }
}
.mainPageSec .ft1 {
  letter-spacing: 0.3em;
  text-align: center;
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .mainPageSec .ft1 {
    position: absolute;
    left: 10vw;
    top: 16.25vw;
    right: 10vw;
    font-size: 2.0833333333vw;
    line-height: 4.1666666667vw;
    transform: translateY(1.25vw) scaleY(1.1);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .mainPageSec .ft1 {
    left: 8.8888888889vw;
    top: 35.5555555556vw;
    right: 8.8888888889vw;
    margin-bottom: 6.6666666667vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
    transform: translateY(3.3333333333vw) scaleY(1.1);
  }
}
.mainPageSec .ft1.-left {
  left: calc(9.984vw - 0.45em);
  text-align: left;
}
.mainPageSec .ft1.-right {
  right: calc(9.984vw - 0.75em);
  text-align: right;
}
.mainPageSec .ft2 {
  text-align: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .mainPageSec .ft2 {
    position: absolute;
    left: 10vw;
    top: 21.6666666667vw;
    right: 10vw;
    font-size: 1.25vw;
    line-height: 2.5vw;
    letter-spacing: 0.2em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .mainPageSec .ft2 {
    left: 0vw;
    top: 53.3333333333vw;
    right: 0vw;
    margin-bottom: 13.3333333333vw;
    font-size: 3.6111111111vw;
    line-height: 6.6666666667vw;
  }
}
.mainPageSec .ft2.-left {
  text-align: left;
}
.mainPageSec .ft2.-right {
  text-align: right;
}
.mainPageSec .ft2 > * {
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .mainPageSec .ft2 > * {
    transform: translateY(1.25vw) scaleY(1.1);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .mainPageSec .ft2 > * {
    transform: translateY(3.3333333333vw) scaleY(1.1);
  }
}
.mainPageSec.-active h2 {
  opacity: 1;
  transform: translateY(0) scaleY(1);
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
}
.mainPageSec.-active .subtitle {
  opacity: 1;
  transform: translateY(0) scaleY(1);
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 0.75s;
}
.mainPageSec.-active .ft1 {
  opacity: 1;
  transform: translateY(0) scaleY(1);
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 0.75s;
}
.mainPageSec.-active .ft2 > * {
  opacity: 1;
  transform: translateY(0) scaleY(1);
}
.mainPageSec.-active .ft2 > *:nth-child(1) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
.mainPageSec.-active .ft2 > *:nth-child(2) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.1s;
}
.mainPageSec.-active .ft2 > *:nth-child(3) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.2s;
}
.mainPageSec.-active .ft2 > *:nth-child(4) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.3s;
}
.mainPageSec.-active .ft2 > *:nth-child(5) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.4s;
}
.mainPageSec.-active .ft2 > *:nth-child(6) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.5s;
}
.mainPageSec.-active .ft2 > *:nth-child(7) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.55s;
}
.mainPageSec.-active .ft2 > *:nth-child(8) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.6s;
}
.mainPageSec.-active .ft2 > *:nth-child(9) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.65s;
}
.mainPageSec.-active .ft2 > *:nth-child(10) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.7s;
}
.mainPageSec.-active .ft2 > *:nth-child(11) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.75s;
}
.mainPageSec.-active .ft2 > *:nth-child(12) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.8s;
}
.mainPageSec.-active .ft2 > *:nth-child(13) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.85s;
}
.mainPageSec.-active .ft2 > *:nth-child(14) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.9s;
}
.mainPageSec.-active .ft2 > *:nth-child(15) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 1.95s;
}
.mainPageSec.-active .ft2 > *:nth-child(16) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2s;
}
.mainPageSec.-active .ft2 > *:nth-child(17) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2.05s;
}
.mainPageSec.-active .ft2 > *:nth-child(18) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2s;
}
.mainPageSec.-active .ft2 > *:nth-child(19) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2.05s;
}
.mainPageSec.-active .ft2 > *:nth-child(20) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2s;
}
.mainPageSec.-active .ft2 > *:nth-child(21) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2.05s;
}
.mainPageSec.-active .ft2 > *:nth-child(22) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2s;
}
.mainPageSec.-active .ft2 > *:nth-child(23) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2.05s;
}
.mainPageSec.-active .ft2 > *:nth-child(24) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2s;
}
.mainPageSec.-active .ft2 > *:nth-child(25) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2.05s;
}
.mainPageSec.-active .ft2 > *:nth-child(26) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2s;
}
.mainPageSec.-active .ft2 > *:nth-child(27) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2.05s;
}
.mainPageSec.-active .ft2 > *:nth-child(28) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2s;
}
.mainPageSec.-active .ft2 > *:nth-child(29) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2.05s;
}
.mainPageSec.-active .ft2 > *:nth-child(30) {
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 2s;
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #sweetSec {
    height: 100vw;
  }
}
#sweetSec .t1 {
  text-align: center;
  letter-spacing: 0.3em;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #sweetSec .t1 {
    position: absolute;
    top: 14.1666666667vw;
    left: 0;
    width: 100%;
    font-size: 2.0833333333vw;
    line-height: 3.125vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #sweetSec .t1 {
    font-size: 4.4444444444vw;
    line-height: 8.8888888889vw;
    margin-bottom: 6.6666666667vw;
  }
}
#sweetSec .t1 > * {
  opacity: 0;
  transform: translateY(1.25vw) scaleY(1.1);
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
#sweetSec .t1.-active > * {
  opacity: 1;
}
#sweetSec .t1.-active > *:nth-child(1) {
  transform: translateY(0) scaleY(1);
  transition: all 2.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
#sweetSec .t1.-active > *:nth-child(2) {
  transform: translateY(0) scaleY(1);
  transition: all 2.75s cubic-bezier(0.22, 1, 0.36, 1) 0.75s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #sweetSec .ft1 {
    top: 25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #sweetSec .ft1 {
    padding-right: 13.3333333333vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #sweetSec .ft2 {
    top: 30vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #sweetSec .ft2 {
    padding-right: 13.3333333333vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #sweetSec .i1 {
    position: absolute;
    left: 0;
    top: 31.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #sweetSec .i1 {
    margin-right: auto;
    margin-bottom: 8.8888888889vw;
    width: 91.1111111111vw;
    height: 71.1111111111vw;
  }
}
#sweetSec .i1iWrapper {
  position: relative;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #sweetSec .i1iWrapper {
    width: 54.1666666667vw;
    height: 34.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #sweetSec .i1iWrapper {
    width: 91.1111111111vw;
    height: 62.2222222222vw;
  }
}
#sweetSec .i1i {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}
#sweetSec .i1d {
  background: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #sweetSec .i1d {
    width: 50vw;
    height: 4.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #sweetSec .i1d {
    width: 86.6666666667vw;
    height: 8.8888888889vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #sweetSec .i2 {
    position: absolute;
    right: 7.0833333333vw;
    top: 75vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #sweetSec .i2 {
    margin-top: 11.1111111111vw;
    margin-right: 11.1111111111vw;
  }
}
#sweetSec .i2iWrapper {
  position: relative;
  border-radius: 50%;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #sweetSec .i2iWrapper {
    width: 22.0833333333vw;
    height: 22.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #sweetSec .i2iWrapper {
    margin-left: auto;
    width: 35.5555555556vw;
    height: 35.5555555556vw;
  }
}
#sweetSec .i2i {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gallerySec {
    height: 69.5833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec {
    height: 248.8888888889vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec .subtitle {
    text-align: center !important;
    padding: 0 !important;
  }
}
#gallerySec .b1::before {
  background: rgba(84, 95, 61, 0.6);
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gallerySec .b1 {
    left: 3.3333333333vw;
    top: 23.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec .b1 {
    left: 4.4444444444vw;
    top: 35.5555555556vw;
  }
}
#gallerySec .b2::before {
  background: rgba(133, 88, 55, 0.6);
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gallerySec .b2 {
    left: 51.6666666667vw;
    top: 23.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec .b2 {
    left: 4.4444444444vw;
    top: 135.5555555556vw;
  }
}
#gallerySec .b1a {
  position: absolute;
  background-size: cover;
  background-position: center center;
  text-align: center;
  color: #fff;
}
#gallerySec .b1a::before {
  content: "";
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gallerySec .b1a {
    width: 45vw;
    height: 40vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec .b1a {
    width: 91.1111111111vw;
    height: 95.5555555556vw;
  }
}
#gallerySec .b1a .t1 {
  position: absolute;
  letter-spacing: 0.1em;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gallerySec .b1a .t1 {
    left: 0;
    top: 1.6666666667vw;
    width: 100%;
    font-size: 3.75vw;
    line-height: 6.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec .b1a .t1 {
    left: 0;
    width: 100%;
    top: 8.8888888889vw;
    font-size: 10vw;
    line-height: 13.3333333333vw;
  }
}
#gallerySec .b1a .t2 {
  position: absolute;
  letter-spacing: 0.2em;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gallerySec .b1a .t2 {
    left: 0;
    width: 100%;
    top: 10vw;
    font-size: 1.6666666667vw;
    line-height: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec .b1a .t2 {
    left: 0;
    width: 100%;
    top: 22.2222222222vw;
    font-size: 3.8888888889vw;
    line-height: 8.8888888889vw;
  }
}
#gallerySec .b1a .t3 {
  position: absolute;
  letter-spacing: 0.2em;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gallerySec .b1a .t3 {
    left: 0;
    width: 100%;
    top: 16.6666666667vw;
    font-size: 1.25vw;
    line-height: 2.5vw;
    font-weight: 300;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec .b1a .t3 {
    letter-spacing: 0.1em;
    left: 0;
    width: 100%;
    top: 40vw;
    font-size: 3.8888888889vw;
    line-height: 7.7777777778vw;
    font-weight: 300;
  }
}
#gallerySec .b1a .buttonWrapper {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  width: 100%;
  bottom: 5vw;
}
#gallerySec .b1a .buttonWrapper .button {
  border-radius: 10000px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #7d7d7d;
  background: #fff;
  cursor: pointer;
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gallerySec .b1a .buttonWrapper .button {
    width: 15vw;
    font-size: 1.875vw;
    line-height: 4.1666666667vw;
    transform: translateY(2.5vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec .b1a .buttonWrapper .button {
    width: 42.2222222222vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
    transform: translateY(6.6666666667vw);
  }
}
#gallerySec .b1a .buttonWrapper .button.-active {
  opacity: 1;
  transform: translateY(0);
  transition: margin-top 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0s, opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #gallerySec .b1a .buttonWrapper .button:hover {
    margin-top: -0.2083333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #gallerySec .b1a .buttonWrapper .button:hover {
    margin-top: -1.1111111111vw;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .faciSec,
  #faciSec {
    height: 90vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .faciSec .subtitle,
  #faciSec .subtitle {
    text-align: center !important;
    padding: 0 !important;
  }
}
.faciSec .c1,
#faciSec .c1 {
  position: absolute;
  left: 0;
  background: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .faciSec .c1,
  #faciSec .c1 {
    top: -18.3333333333vw;
    width: 6.6666666667vw;
    height: 27.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .faciSec .c1,
  #faciSec .c1 {
    top: -40vw;
    width: 6.6666666667vw;
    height: 62.2222222222vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .faciSec .vistaCarouselWgWrapper,
  #faciSec .vistaCarouselWgWrapper {
    position: absolute;
    top: 29.1666666667vw;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsSec,
  #roomsSec {
    height: 100vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .roomsSec .subtitle,
  #roomsSec .subtitle {
    text-align: center !important;
    padding: 0 !important;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsSec .vistaCarouselWgWrapper,
  #roomsSec .vistaCarouselWgWrapper {
    position: absolute;
    top: 29.1666666667vw;
  }
}
.roomsSec .t11,
#roomsSec .t11 {
  color: #BB6956;
  text-align: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsSec .t11,
  #roomsSec .t11 {
    position: absolute;
    left: 0;
    right: 0;
    top: 69.5833333333vw;
    font-size: 2.0833333333vw;
    line-height: 3.125vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .roomsSec .t11,
  #roomsSec .t11 {
    margin-bottom: 2.2222222222vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
  }
}
.roomsSec .t12,
#roomsSec .t12 {
  text-align: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsSec .t12,
  #roomsSec .t12 {
    position: absolute;
    left: 0;
    right: 0;
    top: 75vw;
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .roomsSec .t12,
  #roomsSec .t12 {
    padding-left: 6.6666666667vw;
    padding-right: 6.6666666667vw;
    font-size: 3.3333333333vw;
    line-height: 6.6666666667vw;
  }
}
.roomsSec .more,
#roomsSec .more {
  cursor: pointer;
  background-image: url(../img/more.svg);
  background-size: cover;
  background-position: center center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsSec .more,
  #roomsSec .more {
    position: absolute;
    left: 50%;
    top: 86.6666666667vw;
    bottom: 13.3333333333vw;
    width: 11.6666666667vw;
    height: 5vw;
    margin-left: -5.8333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .roomsSec .more,
  #roomsSec .more {
    margin: 0 auto;
    margin-top: 8.8888888889vw;
    width: 31.1111111111vw;
    height: 13.3333333333vw;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningSec,
  #diningSec {
    height: 81.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningSec .ft1,
  #diningSec .ft1 {
    padding-left: 13.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningSec .ft2,
  #diningSec .ft2 {
    padding-left: 13.3333333333vw;
  }
}
.diningSec .i1,
#diningSec .i1 {
  text-align: right;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningSec .i1,
  #diningSec .i1 {
    position: absolute;
    right: 0;
    top: 22.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningSec .i1,
  #diningSec .i1 {
    margin-left: auto;
    margin-bottom: 8.8888888889vw;
    width: 91.1111111111vw;
    height: 71.1111111111vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningSec .i1iWrapper,
  #diningSec .i1iWrapper {
    position: relative;
    width: 54.1666666667vw;
    height: 34.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningSec .i1iWrapper,
  #diningSec .i1iWrapper {
    width: 91.1111111111vw;
    height: 62.2222222222vw;
  }
}
.diningSec .i1i,
#diningSec .i1i {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}
.diningSec .i1d,
#diningSec .i1d {
  margin-left: auto;
  background: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningSec .i1d,
  #diningSec .i1d {
    width: 50vw;
    height: 4.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningSec .i1d,
  #diningSec .i1d {
    width: 86.6666666667vw;
    height: 8.8888888889vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningSec .i2,
  #diningSec .i2 {
    position: absolute;
    left: 7.0833333333vw;
    top: 56.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningSec .i2,
  #diningSec .i2 {
    margin-top: 11.1111111111vw;
    margin-left: 11.1111111111vw;
  }
}
.diningSec .i2iWrapper,
#diningSec .i2iWrapper {
  position: relative;
  border-radius: 50%;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningSec .i2iWrapper,
  #diningSec .i2iWrapper {
    width: 22.0833333333vw;
    height: 22.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningSec .i2iWrapper,
  #diningSec .i2iWrapper {
    width: 35.5555555556vw;
    height: 35.5555555556vw;
  }
}
.diningSec .i2i,
#diningSec .i2i {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}
.diningSec .more,
#diningSec .more {
  cursor: pointer;
  background-image: url(../img/more2.svg);
  background-size: cover;
  background-position: center center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningSec .more,
  #diningSec .more {
    position: absolute;
    left: 9.5833333333vw;
    top: 50vw;
    width: 22.0833333333vw;
    height: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningSec .more,
  #diningSec .more {
    margin: 0 auto;
    margin-top: 8.8888888889vw;
    width: 58.8888888889vw;
    height: 8.8888888889vw;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamSec,
  #teamSec {
    height: 101.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamSec .subtitle,
  #teamSec .subtitle {
    text-align: center !important;
    padding: 0 !important;
  }
}
.teamSec .ft1,
#teamSec .ft1 {
  text-align: center !important;
}
.teamSec .ft2,
#teamSec .ft2 {
  text-align: center !important;
}
.teamSec .bannerWrapper,
#teamSec .bannerWrapper {
  width: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamSec .bannerWrapper,
  #teamSec .bannerWrapper {
    position: absolute;
    left: 0;
    top: 9.1666666667vw;
    height: 33.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamSec .bannerWrapper,
  #teamSec .bannerWrapper {
    height: 44.4444444444vw;
    margin-bottom: 11.1111111111vw;
  }
}
.teamSec .bannerWrapper .banner,
#teamSec .bannerWrapper .banner {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamSec .b1,
  #teamSec .b1 {
    position: absolute;
    left: 10vw;
    right: 0;
    top: 63.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamSec .b1,
  #teamSec .b1 {
    margin: 0 13.3333333333vw;
    left: 13.3333333333vw;
    right: 13.3333333333vw;
  }
}
.teamSec .b1 .b1c,
#teamSec .b1 .b1c {
  transition: color 0.5s linear;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamSec .b1 .b1c,
  #teamSec .b1 .b1c {
    display: flex;
    justify-content: left;
    align-items: center;
    height: 8.5416666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamSec .b1 .b1c,
  #teamSec .b1 .b1c {
    padding: 2.2222222222vw 0 6.6666666667vw;
  }
}
.teamSec .b1 .b1c:hover,
#teamSec .b1 .b1c:hover {
  color: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamSec .b1 .title,
  #teamSec .b1 .title {
    flex: 0 0 30.8333333333vw;
    margin-right: 9.1666666667vw;
    font-size: 2.0833333333vw;
    line-height: 8.5416666667vw;
    letter-spacing: 0.3em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamSec .b1 .title,
  #teamSec .b1 .title {
    font-size: 5vw;
    line-height: 11.1111111111vw;
    letter-spacing: 0.05em;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamSec .b1 p,
  #teamSec .b1 p {
    width: 27.5vw;
    font-size: 1.25vw;
    line-height: 1.875vw;
    letter-spacing: 0.2em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamSec .b1 p,
  #teamSec .b1 p {
    font-size: 3.3333333333vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.05em;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamSec .b1 .b11 .title,
  #teamSec .b1 .b11 .title {
    border-bottom: 1px solid #ccc;
  }
  .teamSec .b1 .b12 .title,
  #teamSec .b1 .b12 .title {
    border-bottom: 1px solid #ccc;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamSec .b1 .b11,
  #teamSec .b1 .b11 {
    border-bottom: 1px solid #ccc;
  }
  .teamSec .b1 .b12,
  #teamSec .b1 .b12 {
    border-bottom: 1px solid #ccc;
  }
}
.teamSec .more,
#teamSec .more {
  cursor: pointer;
  background-image: url(../img/more2.svg);
  background-size: cover;
  background-position: center center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamSec .more,
  #teamSec .more {
    position: absolute;
    left: 9.5833333333vw;
    top: 90vw;
    width: 22.0833333333vw;
    height: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamSec .more,
  #teamSec .more {
    margin: 0 auto;
    margin-top: 8.8888888889vw;
    width: 58.8888888889vw;
    height: 8.8888888889vw;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec,
  #actSec {
    height: 106.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .subtitle,
  #actSec .subtitle {
    padding: 0 !important;
    text-align: center !important;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .ft1,
  #actSec .ft1 {
    text-align: center !important;
  }
  .actSec .ft2,
  #actSec .ft2 {
    text-align: center !important;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .i1,
  #actSec .i1 {
    position: absolute;
    left: 0;
    top: 22.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .i1,
  #actSec .i1 {
    margin-right: auto;
    margin-bottom: 8.8888888889vw;
    width: 91.1111111111vw;
    height: 71.1111111111vw;
  }
}
.actSec .i1iWrapper,
#actSec .i1iWrapper {
  position: relative;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .i1iWrapper,
  #actSec .i1iWrapper {
    width: 54.1666666667vw;
    height: 34.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .i1iWrapper,
  #actSec .i1iWrapper {
    width: 91.1111111111vw;
    height: 62.2222222222vw;
  }
}
.actSec .i1i,
#actSec .i1i {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}
.actSec .i1d,
#actSec .i1d {
  background: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .i1d,
  #actSec .i1d {
    width: 50vw;
    height: 4.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .i1d,
  #actSec .i1d {
    width: 86.6666666667vw;
    height: 8.8888888889vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .i2,
  #actSec .i2 {
    position: absolute;
    right: 7.0833333333vw;
    top: 45vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .i2,
  #actSec .i2 {
    margin-top: 11.1111111111vw;
    margin-right: 11.1111111111vw;
  }
}
.actSec .i2iWrapper,
#actSec .i2iWrapper {
  position: relative;
  border-radius: 50%;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .i2iWrapper,
  #actSec .i2iWrapper {
    width: 22.0833333333vw;
    height: 22.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .i2iWrapper,
  #actSec .i2iWrapper {
    margin-left: auto;
    width: 35.5555555556vw;
    height: 35.5555555556vw;
  }
}
.actSec .i2i,
#actSec .i2i {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .b1,
  #actSec .b1 {
    position: absolute;
    left: 10vw;
    right: 0;
    top: 67.2916666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .b1,
  #actSec .b1 {
    padding-left: 13.3333333333vw;
    padding-right: 13.3333333333vw;
  }
}
.actSec .b1 .b1c,
#actSec .b1 .b1c {
  transition: color 0.5s linear;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .b1 .b1c,
  #actSec .b1 .b1c {
    display: flex;
    justify-content: left;
    align-items: center;
    height: 8.5416666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .b1 .b1c,
  #actSec .b1 .b1c {
    padding: 2.2222222222vw 0 6.6666666667vw;
  }
}
.actSec .b1 .b1c:hover,
#actSec .b1 .b1c:hover {
  color: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .b1 .title,
  #actSec .b1 .title {
    flex: 0 0 30.8333333333vw;
    margin-right: 9.1666666667vw;
    font-size: 2.0833333333vw;
    line-height: 8.5416666667vw;
    letter-spacing: 0.3em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .b1 .title,
  #actSec .b1 .title {
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
    letter-spacing: 0.05em;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .b1 p,
  #actSec .b1 p {
    width: 27.5vw;
    font-size: 1.25vw;
    line-height: 1.875vw;
    letter-spacing: 0.2em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .b1 p,
  #actSec .b1 p {
    font-size: 3.3333333333vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.05em;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .b1 .b11 .title,
  #actSec .b1 .b11 .title {
    border-bottom: 1px solid #ccc;
  }
  .actSec .b1 .b12 .title,
  #actSec .b1 .b12 .title {
    border-bottom: 1px solid #ccc;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .b1 .b11,
  #actSec .b1 .b11 {
    border-bottom: 1px solid #ccc;
  }
  .actSec .b1 .b12,
  #actSec .b1 .b12 {
    border-bottom: 1px solid #ccc;
  }
}
.actSec .more,
#actSec .more {
  cursor: pointer;
  background-image: url(../img/more2.svg);
  background-size: cover;
  background-position: center center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actSec .more,
  #actSec .more {
    position: absolute;
    left: 9.5833333333vw;
    top: 94.1666666667vw;
    width: 22.0833333333vw;
    height: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actSec .more,
  #actSec .more {
    margin: 0 auto;
    margin-top: 8.8888888889vw;
    width: 58.8888888889vw;
    height: 8.8888888889vw;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #newsSec {
    height: 73.3333333333vw;
  }
}
#newsSec .c1 {
  position: absolute;
  right: 0;
  background: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #newsSec .c1 {
    top: -18.3333333333vw;
    width: 6.6666666667vw;
    height: 27.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #newsSec .c1 {
    top: -40vw;
    width: 6.6666666667vw;
    height: 62.2222222222vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #newsSec .vistaCarouselWgWrapper {
    position: absolute;
    width: 100%;
    top: 29.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #newsSec .vistaCarouselWgWrapper {
    top: 80vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactSec {
    height: 60vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactSec .b1 {
    position: absolute;
    left: 0;
    top: 33.75vw;
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactSec .b1 {
    margin: 0 13.3333333333vw;
    left: 13.3333333333vw;
    right: 13.3333333333vw;
    text-align: right;
  }
}
.contactSec .b1 .title {
  opacity: 0;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0s cubic-bezier(0.22, 1, 0.36, 1) 1s, transform 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactSec .b1 .title {
    font-size: 2.0833333333vw;
    line-height: 2.5vw;
    letter-spacing: 0.3em;
    transform: translateY(1.25vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactSec .b1 .title {
    position: absolute;
    left: 0vw;
    top: 2.2222222222vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
    letter-spacing: 0.1em;
    transform: translateY(3.3333333333vw);
  }
}
.contactSec .b1 .titleEn {
  letter-spacing: 0.3em;
  text-transform: uppercase;
  opacity: 0;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0s cubic-bezier(0.22, 1, 0.36, 1) 1s, transform 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactSec .b1 .titleEn {
    margin-bottom: 2.9166666667vw;
    font-size: 1.25vw;
    line-height: 2.5vw;
    transform: translateY(1.25vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactSec .b1 .titleEn {
    position: absolute;
    left: 0vw;
    top: 13.3333333333vw;
    font-size: 2.7777777778vw;
    line-height: 4.4444444444vw;
    transform: translateY(3.3333333333vw);
  }
}
.contactSec .b1 .menuItem {
  cursor: pointer;
  margin-left: auto;
  opacity: 0;
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0s cubic-bezier(0.22, 1, 0.36, 1) 1s, transform 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactSec .b1 .menuItem {
    font-size: 1.25vw;
    line-height: 2.5vw;
    letter-spacing: 0.3em;
    transform: translateY(1.25vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactSec .b1 .menuItem {
    width: 10em;
    font-size: 3.8888888889vw;
    line-height: 8.8888888889vw;
    letter-spacing: 0.2em;
    transform: translateY(3.3333333333vw);
  }
}
.contactSec .b1 .menuItem:hover {
  color: #BB6956;
}
.contactSec .b1 > * {
  opacity: 0;
  transition: opacity 0s cubic-bezier(0.22, 1, 0.36, 1) 1s, transform 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactSec .b1 > * {
    height: 20.8333333333vw;
    transform: translateY(1.25vw) scaleY(1.25);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactSec .b1 > * {
    transform: translateY(3.3333333333vw) scaleY(1.25);
  }
}
.contactSec .b1 > *:hover .title {
  color: #BB6956;
}
.contactSec .b1 > *:hover .titleEn {
  color: #BB6956;
}
.contactSec .b1.-active > * {
  opacity: 1;
  transform: translateY(0) scaleY(1);
  transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
.contactSec .b1.-active .title {
  opacity: 1;
  transform: translateY(0);
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
.contactSec .b1.-active .titleEn {
  opacity: 1;
  transform: translateY(0);
  transition: color 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.25s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.25s;
}
.contactSec .b1.-active .menuItem {
  opacity: 1;
  transform: translateY(0);
}
.contactSec .b1.-active .menuItem:nth-child(1) {
  transition: opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
.contactSec .b1.-active .menuItem:nth-child(2) {
  transition: opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.1s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.1s;
}
.contactSec .b1.-active .menuItem:nth-child(3) {
  transition: opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.2s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.2s;
}
.contactSec .b1.-active .menuItem:nth-child(4) {
  transition: opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.3s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.3s;
}
.contactSec .b1.-active .menuItem:nth-child(5) {
  transition: opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.4s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.4s;
}
.contactSec .b1.-active .menuItem:nth-child(6) {
  transition: opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.5s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.5s;
}
.contactSec .b1.-active .menuItem:nth-child(7) {
  transition: opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.6s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.6s;
}
.contactSec .b1.-active .menuItem:nth-child(8) {
  transition: opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.7s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1.7s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactSec .b1c {
    flex: 0 0 20%;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactSec .b1c {
    padding: 3.3333333333vw 0 3.0555555556vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactSec .b11 {
    border-right: 1px solid rgba(125, 125, 125, 0.25);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactSec .b11 {
    border-bottom: 1px solid rgba(125, 125, 125, 0.25);
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactSec .b12 {
    border-right: 1px solid rgba(125, 125, 125, 0.25);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactSec .b12 {
    border-bottom: 1px solid rgba(125, 125, 125, 0.25);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactSec .b13 {
    padding-top: 6.6666666667vw;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec {
    height: calc(100vh - 4.16vw);
    min-height: 43.84vw;
    max-height: 65.84vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec {
    min-height: 142.2222222222vw;
    height: calc(100vh - 13.343vw);
    padding-bottom: 0;
  }
}
.bookingSec .content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec h2 {
    height: 11.6666666667vw;
  }
}
.bookingSec .b1Wrapper {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .b1Wrapper {
    left: 0;
    right: 0;
    top: 11.6666666667vw;
    bottom: 22.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .b1Wrapper {
    left: 0;
    right: 0;
    bottom: 88.8888888889vw;
  }
}
.bookingSec .b1 {
  border-radius: 10000px;
  letter-spacing: 0.3em;
  text-align: center;
  color: #fff;
  background: #BB6956;
  cursor: pointer;
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .b1 {
    top: 18.5416666667vw;
    width: 20.8333333333vw;
    font-size: 2.0833333333vw;
    line-height: 4.6875vw;
    transform: translateY(2.5vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .b1 {
    width: 64.4444444444vw;
    font-size: 5.5555555556vw;
    line-height: 13.3333333333vw;
    transform: translateY(6.6666666667vw);
  }
}
.bookingSec .b1.-active {
  opacity: 1;
  transform: translateY(0);
  transition: margin-top 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0s, opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .b1:hover {
    margin-top: -0.2083333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .b1:hover {
    margin-top: -1.1111111111vw;
  }
}
.bookingSec .sprite1 {
  position: absolute;
  left: 50%;
  background-position: center center;
  background-size: cover;
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .sprite1 {
    bottom: 15.4166666667vw;
    width: 13.3333333333vw;
    height: 5.4166666667vw;
    margin-left: -6.6666666667vw;
    transform: translateY(2.5vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .sprite1 {
    bottom: 44.4444444444vw;
    width: 53.3333333333vw;
    height: 21.6666666667vw;
    margin-left: -26.6666666667vw;
    transform: translateY(6.6666666667vw);
  }
}
.bookingSec .sprite1.-active {
  opacity: 1;
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}
.bookingSec .b2 {
  position: absolute;
  left: 0;
  width: 100%;
  text-transform: uppercase;
  font-weight: 300;
  text-align: center;
  color: rgba(255, 255, 255, 0.7);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .b2 {
    letter-spacing: 0.3em;
    bottom: 2.5vw;
    font-size: 1.25vw;
    line-height: 1.875vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .b2 {
    letter-spacing: 0.2em;
    bottom: 6.6666666667vw;
    font-size: 3.8888888889vw;
    line-height: 8.8888888889vw;
  }
}
.bookingSec .b2.-active .t1 {
  opacity: 1;
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
}
.bookingSec .b2.-active .t2 {
  opacity: 1;
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.35s;
}
.bookingSec .b2.-active .t3 {
  opacity: 1;
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.45s;
}
.bookingSec .b3 {
  position: absolute;
  text-align: center;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.2em;
  font-weight: 300;
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
.bookingSec .b3.-active {
  opacity: 1;
  transform: translateY(0);
  transition: margin-top 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0s, opacity 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s, transform 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .b3 {
    display: flex;
    left: 50%;
    bottom: 10.8333333333vw;
    width: 60vw;
    margin-left: -30vw;
    font-size: 1.25vw;
    line-height: 2.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .b3 {
    bottom: 26.6666666667vw;
    left: 0;
    width: 100%;
    font-size: 3.3333333333vw;
    line-height: 5vw;
  }
}
.bookingSec .b3 .b31, .bookingSec .b3 .b32 {
  flex: 0 0 50%;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .b3 .b31 {
    margin-bottom: 6.6666666667vw;
  }
}
.bookingSec .b3 .l1 {
  font-weight: 600;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .b3 .l1 {
    font-size: 1.4583333333vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .b3 .l1 {
    font-size: 4.4444444444vw;
    line-height: 8.8888888889vw;
  }
}
.bookingSec .t1 {
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .t1 {
    margin-bottom: 0.4166666667vw;
    transform: translateY(2.5vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .t1 {
    display: none;
    font-size: 3.6111111111vw;
    line-height: 6.6666666667vw;
    transform: translateY(6.6666666667vw);
  }
}
.bookingSec .t2 {
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .t2 {
    display: flex;
    justify-content: center;
    margin-bottom: 1.875vw;
    transform: translateY(2.5vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .t2 {
    height: 11.1111111111vw;
    margin-bottom: 2.2222222222vw;
    font-size: 3.3333333333vw;
    line-height: 6.6666666667vw;
    transform: translateY(6.6666666667vw);
  }
  .bookingSec .t2 > div {
    display: flex;
    justify-content: center;
  }
}
.bookingSec .t2 b {
  color: #fff;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .t2 b {
    display: block;
  }
}
.bookingSec .t2 a {
  transition: color 0.5s linear;
}
.bookingSec .t2 a:hover {
  color: #fff;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .t2 a {
    margin: 0 1.6666666667vw;
    height: 11.1111111111vw;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
  }
}
.bookingSec .t2 span {
  margin: 0em 1em 0 1em;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .t2 span {
    margin: 0;
  }
}
.bookingSec .t3 {
  opacity: 0;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .bookingSec .t3 {
    transform: translateY(2.5vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .bookingSec .t3 {
    font-size: 3.3333333333vw;
    line-height: 5.5555555556vw;
    transform: translateY(6.6666666667vw);
  }
}
.bookingSec .parxbgWrap {
  width: 100%;
  height: 100%;
}

#policyPopup {
  position: fixed;
  z-index: 15000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: translateY(-200vh);
  background: rgba(0, 0, 0, 0.4);
  text-align: justify;
  transition: transform 0s cubic-bezier(0.22, 1, 0.36, 1) 1s, opacity 1s cubic-bezier(0.22, 1, 0.36, 1);
}
#policyPopup.-active {
  opacity: 1;
  transform: translateY(0);
  transition: transform 0s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
#policyPopup.-active .content {
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.25s, opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #policyPopup {
    -webkit-backdrop-filter: blur(32px);
            backdrop-filter: blur(32px);
    font-size: 0.9375vw;
    line-height: 1.875vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #policyPopup {
    -webkit-backdrop-filter: blur(32px);
            backdrop-filter: blur(32px);
    font-size: 3.8888888889vw;
    line-height: 7.7777777778vw;
  }
}
#policyPopup .content {
  position: absolute;
  transform: translateY(10%);
  background-color: #fff;
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #policyPopup .content {
    left: 50%;
    top: 5.8333333333vw;
    margin-left: -33.3333333333vw;
    -webkit-backdrop-filter: blur(32px);
            backdrop-filter: blur(32px);
    width: 66.6666666667vw;
    height: calc(100% - 11.6666666667vw);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #policyPopup .content {
    left: 0;
    top: 13.3333333333vw;
    right: 0;
    bottom: 0;
  }
}
#policyPopup .textContent {
  position: absolute;
  overflow-y: auto;
  left: 0;
  top: 0;
  width: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #policyPopup .textContent {
    bottom: 2.9166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #policyPopup .textContent {
    bottom: 15.5555555556vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #policyPopup .textWrapper {
    padding: 3.3333333333vw 0;
    margin: 0 auto;
    width: 40vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #policyPopup .textWrapper {
    padding: 6.6666666667vw;
    margin: 0 auto;
  }
}
#policyPopup .buttonContainer {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #policyPopup .buttonContainer {
    height: 2.9166666667vw;
    border-top: solid 1px #ccc;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #policyPopup .buttonContainer {
    height: 15.5555555556vw;
    border-top: solid 1px #ccc;
  }
}
#policyPopup .buttonContainer .closeButton {
  border-radius: 10000px;
  letter-spacing: 0.3em;
  text-align: center;
  color: #fff;
  background: #BB6956;
  cursor: pointer;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #policyPopup .buttonContainer .closeButton {
    width: 8.3333333333vw;
    font-size: 1.0416666667vw;
    line-height: 2.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #policyPopup .buttonContainer .closeButton {
    width: 64.4444444444vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
  }
}
#policyPopup h2 {
  text-align: center;
  color: #000;
  margin-bottom: 0.5em;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #policyPopup h2 {
    font-size: 1.6666666667vw;
    line-height: 2.5vw;
    letter-spacing: 0.1em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #policyPopup h2 {
    font-size: 6.6666666667vw;
    line-height: 8.8888888889vw;
    letter-spacing: 0.1em;
  }
}
#policyPopup p, #policyPopup ul {
  margin: 1em 0;
}
#policyPopup li {
  margin: 0.5em 0;
}
#policyPopup li b {
  display: block;
  font-weight: bold;
}
#policyPopup ul {
  list-style: disc;
  list-style-position: outside;
  padding-left: 1.5em;
}
#policyPopup ul ul {
  list-style: circle;
}
#policyPopup .close {
  position: absolute;
  right: 0;
  top: 0;
}

.subPage {
  min-height: 100vh;
  opacity: 0;
  transition: opacity 0.5s;
}
.subPage.-active {
  opacity: 1;
}
.subPage .subPageMenu {
  position: relative;
  display: flex;
  justify-content: flex-start;
  height: 7.5vw;
  padding-top: 2.8125vw;
  padding-left: 8.3333333333vw;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .subPage .subPageMenu {
    display: none;
  }
}
.subPage .subPageMenu .menuItemGroup {
  position: relative;
  display: flex;
  padding: 0 0vw;
}
.subPage .subPageMenu .menuItemGroup + .menuItemGroup::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -0.8333333333vw;
  display: block;
  width: 1px;
  height: 1.6666666667vw;
  border-left: 1px solid #7d7d7d;
  opacity: 0.5;
}
.subPage .subPageMenu .menuItemArrow {
  margin: 0 0.4166666667vw;
  font-size: 1.25vw;
  line-height: 5vw;
  text-align: center;
  cursor: pointer;
}
.subPage .subPageMenu .menuItem {
  position: relative;
  margin: 0 1.6666666667vw;
  font-size: 1.25vw;
  line-height: 5vw;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all 0s cubic-bezier(0.22, 1, 0.36, 1) 1s;
}
.subPage .subPageMenu .menuItem:hover {
  color: #BB6956;
}
.subPage .subPageMenu .menuItem.-active {
  color: #BB6956;
}
.subPage .subPageMenu .menuItem.-active::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  bottom: 0.8333333333vw;
  width: 100%;
  border-bottom: 0.2083333333vw solid #BB6956;
}
.subPage .subPageMenu.-active > * {
  opacity: 1;
  transform: translateY(0);
}
.subPage .subPageMenu.-active > *:nth-child(1) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}
.subPage .subPageMenu.-active > *:nth-child(2) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.55s;
}
.subPage .subPageMenu.-active > *:nth-child(3) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.6s;
}
.subPage .subPageMenu.-active > *:nth-child(4) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.65s;
}
.subPage .subPageMenu.-active > *:nth-child(5) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.7s;
}
.subPage .subPageMenu.-active > *:nth-child(6) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.75s;
}
.subPage .subPageMenu.-active > *:nth-child(7) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.8s;
}
.subPage .subPageMenu.-active > *:nth-child(8) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.85s;
}
.subPage .subPageMenu.-active > *:nth-child(9) {
  transform: translateY(0);
  transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.9s;
}
.subPage .mbSubPageMenu {
  position: relative;
  font-size: 3.8888888889vw;
  line-height: 8.8888888889vw;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .subPage .mbSubPageMenu {
    display: none;
  }
}
.subPage .mbSubPageMenu .menuItem {
  margin: 0 2.2222222222vw;
}
.subPage .mbSubPageMenu .title {
  display: flex;
  justify-content: center;
  line-height: 8.8888888889vw;
  padding: 4.4444444444vw 0;
}
.subPage .mbSubPageMenu .submenu {
  padding: 2.2222222222vw 0;
  margin: 0 4.4444444444vw;
  border-top: 0.2777777778vw solid #d2d2d2;
  border-bottom: 0.2777777778vw solid #d2d2d2;
}
.subPage .mbSubPageMenu .submenu > div {
  display: flex;
  justify-content: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .subPage .goHome {
    display: none;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .subPage .goHome {
    font-size: 3.8888888889vw;
    line-height: 11.1111111111vw;
    height: 11.1111111111vw;
    margin-top: 1.1111111111vw;
    margin-bottom: 0vw;
    text-align: center;
    transform: translateY(-11.1111111111vw);
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
.subPage .goHome.-active {
  transform: translateY(0);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s;
}
.subPage h1 {
  position: relative;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;
  color: transparent;
  background-position: center center;
  background-size: contain;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .subPage h1 {
    padding-top: 1.6666666667vw;
    font-size: 7.8125vw;
    line-height: 8.3333333333vw;
    height: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .subPage h1 {
    height: 24.4444444444vw;
  }
}
.subPage h1 .img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: 100% 100%;
}
.subPage .subtitle {
  text-align: center;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: #626262;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .subPage .subtitle {
    font-size: 1.25vw;
    line-height: 2.5vw;
    letter-spacing: 0.5em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .subPage .subtitle {
    font-size: 3.3333333333vw;
    line-height: 4.4444444444vw;
    margin-bottom: 11.1111111111vw;
    letter-spacing: 0.3em;
  }
}
.subPage .bannerWrapper {
  position: relative;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .subPage .bannerWrapper {
    margin-top: 7.5vw;
    height: 33.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .subPage .bannerWrapper {
    height: 53.3333333333vw;
  }
}
.subPage .bannerWrapper .banner {
  position: absolute;
  left: 0;
  right: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsPage .roomSec {
    margin-top: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .roomsPage .roomSec {
    margin-top: 8.8888888889vw;
  }
}
.roomsPage .room {
  position: relative;
  text-align: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsPage .room {
    height: 66.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .roomsPage .room {
    margin-top: 8.8888888889vw;
  }
}
.roomsPage .room .title {
  margin: 0 auto;
  color: #BB6956;
  border-bottom: 1px solid #ccc;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsPage .room .title {
    margin-bottom: 2.5vw;
    width: 80vw;
    font-size: 2.0833333333vw;
    line-height: 6.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .roomsPage .room .title {
    margin-bottom: 6.6666666667vw;
    width: 82.2222222222vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsPage .room .text {
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .roomsPage .room .text {
    margin-bottom: 11.1111111111vw;
    padding-left: 6.6666666667vw;
    padding-right: 6.6666666667vw;
    font-size: 3.3333333333vw;
    line-height: 6.6666666667vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .roomsPage .vistaCarouselWgWrapper {
    position: absolute;
    top: 20.8333333333vw;
    left: 0;
    width: 100%;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningPage .diningSec {
    margin-top: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningPage .diningSec {
    margin-top: 8.8888888889vw;
  }
}
.diningPage .dining {
  position: relative;
  text-align: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningPage .dining {
    height: 66.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningPage .dining {
    margin-top: 8.8888888889vw;
  }
}
.diningPage .dining .title {
  margin: 0 auto;
  color: #BB6956;
  border-bottom: 1px solid #ccc;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningPage .dining .title {
    margin-bottom: 2.5vw;
    width: 80vw;
    font-size: 2.0833333333vw;
    line-height: 6.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningPage .dining .title {
    margin-bottom: 6.6666666667vw;
    width: 82.2222222222vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningPage .dining .text {
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .diningPage .dining .text {
    font-size: 3.3333333333vw;
    line-height: 6.6666666667vw;
    margin: 0 13.3333333333vw;
    margin-bottom: 11.1111111111vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .diningPage .vistaCarouselWgWrapper {
    position: absolute;
    top: 20.8333333333vw;
    left: 0;
    width: 100%;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamPage .teamGroupSec {
    margin-top: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamPage .teamGroupSec {
    margin-top: 8.8888888889vw;
  }
}
.teamPage .teamGroup {
  text-align: center;
}
.teamPage .teamGroup h2 {
  margin: 0 auto;
  color: #BB6956;
  border-bottom: 1px solid #ccc;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamPage .teamGroup h2 {
    margin-bottom: 5.4166666667vw;
    width: 80vw;
    font-size: 2.0833333333vw;
    line-height: 6.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamPage .teamGroup h2 {
    margin-bottom: 6.6666666667vw;
    width: 82.2222222222vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
  }
}
.teamPage .member {
  position: relative;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamPage .member {
    margin: 4.1666666667vw 10vw;
    min-height: 40vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamPage .member {
    margin: 13.3333333333vw 0;
    text-align: left;
  }
}
.teamPage .member .thumbWrapper {
  position: relative;
  background-position: center;
  background-size: cover;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamPage .member .thumbWrapper {
    position: absolute;
    top: 3.3333333333vw;
    width: 31.4583333333vw;
    height: 31.4583333333vw;
    border-radius: 10000px;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamPage .member .thumbWrapper {
    height: 64.4444444444vw;
    width: 64.4444444444vw;
    margin: 0 auto;
    margin-bottom: 4.4444444444vw;
    text-align: left;
    border-radius: 10000px;
  }
}
.teamPage .member .thumbWrapper .thumb {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: center;
  background-size: cover;
  background-color: #ccc;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamPage .member .b1 {
    margin-left: 8.8888888889vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamPage .member .b1 .title {
    margin-bottom: 2.0833333333vw;
    font-size: 2.0833333333vw;
    line-height: 3.125vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamPage .member .b1 .title {
    font-size: 4.4444444444vw;
    line-height: 13.3333333333vw;
    margin-bottom: 2.2222222222vw;
    margin-left: -2.2222222222vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamPage .member .b1 .text {
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .teamPage .member .b1 .text {
    font-size: 3.3333333333vw;
    line-height: 6.6666666667vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamPage .teamGroup .member:nth-child(even) {
    text-align: left;
  }
  .teamPage .teamGroup .member:nth-child(even) .thumbWrapper {
    left: auto;
    right: 0;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .teamPage .teamGroup .member:nth-child(odd) {
    text-align: right;
  }
  .teamPage .teamGroup .member:nth-child(odd) .thumbWrapper {
    right: auto;
    left: 0;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actPage .actSec {
    margin-top: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actPage .actSec {
    margin-top: 8.8888888889vw;
  }
}
.actPage .act {
  position: relative;
  text-align: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actPage .act {
    height: 66.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actPage .act {
    margin-top: 8.8888888889vw;
  }
}
.actPage .act .title {
  margin: 0 auto;
  color: #BB6956;
  border-bottom: 1px solid #ccc;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actPage .act .title {
    margin-bottom: 2.5vw;
    width: 80vw;
    font-size: 2.0833333333vw;
    line-height: 6.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actPage .act .title {
    margin-bottom: 6.6666666667vw;
    width: 82.2222222222vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actPage .act .text {
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .actPage .act .text {
    margin-bottom: 11.1111111111vw;
    padding-left: 6.6666666667vw;
    padding-right: 6.6666666667vw;
    font-size: 3.3333333333vw;
    line-height: 6.6666666667vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .actPage .vistaCarouselWgWrapper {
    position: absolute;
    top: 23.3333333333vw;
    left: 0;
    width: 100%;
  }
}
#bookingPage .bannerWrapper {
  position: relative;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bannerWrapper {
    margin-top: 3.3333333333vw;
    padding-top: 1.25vw;
    height: 16.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bannerWrapper {
    margin-top: 6.6666666667vw;
    height: 26.6666666667vw;
  }
}
#bookingPage .bannerWrapper .banner {
  position: absolute;
  left: 0;
  right: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}
#bookingPage h1 {
  position: relative;
  z-index: 100;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage h1 {
    padding-top: 0vw;
    font-size: 7.8125vw;
    line-height: 8.3333333333vw;
    height: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage h1 {
    margin-top: -6.6666666667vw;
    height: 24.4444444444vw;
  }
}
#bookingPage .subtitle {
  position: relative;
  z-index: 100;
  color: #fff;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .subtitle {
    font-size: 1.25vw;
    line-height: 2.5vw;
    letter-spacing: 0.5em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .subtitle {
    font-size: 3.3333333333vw;
    line-height: 4.4444444444vw;
    margin-bottom: 11.1111111111vw;
    letter-spacing: 0.3em;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec {
    margin: 1.6666666667vw 0 4.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec {
    margin-top: 8.8888888889vw 0 2.5vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .b1 {
    width: 79.1666666667vw;
    margin: 0 auto 3.3333333333vw;
    padding: 1.6666666667vw 0;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .b1 {
    margin: 8.8888888889vw 8.8888888889vw;
  }
}
#bookingPage .bookingFormSec .b1 h3 {
  letter-spacing: 0.3em;
  text-align: center;
  color: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .b1 h3 {
    margin-bottom: 1.6666666667vw;
    font-size: 2.0833333333vw;
    line-height: 3.125vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .b1 h3 {
    margin-bottom: 0vw;
    width: 82.2222222222vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
  }
}
#bookingPage .bookingFormSec .b1 .t1 {
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.2em;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .b1 .t1 {
    padding: 0vw 0;
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .b1 .t1 {
    padding: 3.3333333333vw 0;
    font-size: 3.0555555556vw;
    line-height: 6.6666666667vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form {
    position: relative;
    width: 79.1666666667vw;
    margin: 0 auto;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form {
    position: relative;
    margin: 0 8.8888888889vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .field {
    flex: 0 0 29.1666666667vw;
    margin: 2.5vw 0;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .field {
    margin: 6.6666666667vw 0;
  }
}
#bookingPage .bookingFormSec .form .field .label {
  color: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .field .label {
    margin: 0.4166666667vw 0;
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .field .label {
    margin: 0vw 0;
    font-size: 3.8888888889vw;
    line-height: 8.8888888889vw;
  }
}
#bookingPage .bookingFormSec .form .field .input input, #bookingPage .bookingFormSec .form .field .input select {
  width: 100%;
  color: #666;
  font-family: "Libre Baskerville", "Noto Serif TC", serif;
  font-weight: 300;
  letter-spacing: 0.2em;
  border: 0;
  border-top: 1px solid #BB6956;
  border-bottom: 1px solid #BB6956;
  outline: 0;
  border-radius: 0;
  -webkit-appearance: none;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .field .input input, #bookingPage .bookingFormSec .form .field .input select {
    height: 2.9166666667vw;
    font-size: 1.25vw;
    line-height: 1.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .field .input input, #bookingPage .bookingFormSec .form .field .input select {
    height: 8.8888888889vw;
    font-size: 3.8888888889vw;
    line-height: 3.8888888889vw;
  }
}
#bookingPage .bookingFormSec .form .field .input input::-moz-placeholder {
  color: #ccc;
}
#bookingPage .bookingFormSec .form .field .input input::placeholder {
  color: #ccc;
}
#bookingPage .bookingFormSec .form .field .textarea textarea {
  width: 100%;
  color: #666;
  font-family: "Libre Baskerville", "Noto Serif TC", serif;
  font-weight: 300;
  letter-spacing: 0.2em;
  border: 0;
  border-top: 1px solid #BB6956;
  border-bottom: 1px solid #BB6956;
  outline: 0;
  border-radius: 0;
  -webkit-appearance: none;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .field .textarea textarea {
    padding: 0.3645833333vw;
    font-size: 1.25vw;
    line-height: 1.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .field .textarea textarea {
    padding: 1.9444444444vw;
    font-size: 3.8888888889vw;
    line-height: 6.6666666667vw;
  }
}
#bookingPage .bookingFormSec .form .field .radioGroup {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #BB6956;
  border-bottom: 1px solid #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .field .radioGroup {
    height: 2.9166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .field .radioGroup {
    height: 8.8888888889vw;
  }
}
#bookingPage .bookingFormSec .form .field .radioGroup .radio {
  position: relative;
  display: flex;
  align-items: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .field .radioGroup .radio {
    letter-spacing: 0.2em;
    margin: 0 0.4166666667vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .field .radioGroup .radio {
    letter-spacing: 0em;
    margin: 0 1.1111111111vw;
    line-height: 6.6666666667vw;
  }
}
#bookingPage .bookingFormSec .form .field .radioGroup .radio input {
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#bookingPage .bookingFormSec .form .field .radioGroup .radio input ~ span {
  display: inline-block;
  border: 1px solid #BB6956;
  border-radius: 100vw;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .field .radioGroup .radio input ~ span {
    width: 0.9895833333vw;
    height: 0.9895833333vw;
    margin-left: 0.2083333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .field .radioGroup .radio input ~ span {
    width: 3.0555555556vw;
    height: 3.0555555556vw;
    margin-left: 0.5555555556vw;
  }
}
#bookingPage .bookingFormSec .form .field .radioGroup .radio input:checked ~ span {
  background: #BB6956;
}
#bookingPage .bookingFormSec .form .field .note {
  color: #666;
  font-weight: 300;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .field .note {
    margin: 1.6666666667vw 0 0.8333333333vw;
    font-size: 0.8333333333vw;
    line-height: 1.25vw;
    letter-spacing: 0.2em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .field .note {
    margin: 2.2222222222vw 0 4.4444444444vw;
    font-size: 2.7777777778vw;
    line-height: 5.5555555556vw;
    letter-spacing: 0.1em;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .f8 textarea {
    height: 6.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .f8 textarea {
    height: 26.6666666667vw;
  }
}
#bookingPage .bookingFormSec .form .f9 {
  flex: 0 0 100%;
}
#bookingPage .bookingFormSec .form .inputSec {
  position: relative;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .inputSec {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
#bookingPage .bookingFormSec .form .swButton {
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.2em;
  border-top: 1px solid #BB6956;
  border-bottom: 1px solid #BB6956;
  cursor: pointer;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .swButton {
    font-size: 1.25vw;
    line-height: 4.0625vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .swButton {
    font-size: 3.8888888889vw;
    line-height: 13.3333333333vw;
  }
}
#bookingPage .bookingFormSec .form .swButton:hover {
  color: #BB6956;
}
#bookingPage .bookingFormSec .form .swMessage {
  font-weight: 300;
  text-align: center;
  color: #fff;
  background: #BB6956;
  letter-spacing: 0.2em;
  border-top: 1px solid #BB6956;
  border-bottom: 1px solid #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .bookingFormSec .form .swMessage {
    font-size: 1.25vw;
    line-height: 4.0625vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .bookingFormSec .form .swMessage {
    font-size: 3.8888888889vw;
    line-height: 13.3333333333vw;
  }
}
#bookingPage .bookingFormSec .form .-overlay-loading {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.75);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #bookingPage .contactCard {
    margin-bottom: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  #bookingPage .contactCard {
    margin-bottom: 6.6666666667vw;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  #locTpShilinPage .contactCard,
  #locTpArenaPage .contactCard {
    margin-bottom: 6.6666666667vw;
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactCard {
    display: flex;
    flex-direction: row-reverse;
    height: 32.5vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactCard .text {
    flex: 0 0 50%;
    padding-left: 10.4166666667vw;
    letter-spacing: 0.15em;
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactCard .text {
    padding: 6.6666666667vw 6.6666666667vw;
    letter-spacing: 0.05em;
    font-size: 3.3333333333vw;
    line-height: 5.5555555556vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactCard .text h3 {
    letter-spacing: 0.3em;
    margin-bottom: 2.2916666667vw;
    font-size: 2.0833333333vw;
    line-height: 2.0833333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactCard .text h3 {
    letter-spacing: 0.1em;
    margin-bottom: 5.5555555556vw;
    font-size: 5.5555555556vw;
    line-height: 5.5555555556vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactCard .mapWrapper {
    flex: 0 0 50%;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactCard .mapWrapper .map {
    position: relative;
    margin-left: -4.1666666667vw;
    height: 29.1666666667vw;
  }
}
.contactCard .mapWrapper .map.-active {
  display: block;
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactCard .mapWrapper .map {
    height: 66.6666666667vw;
  }
}
.contactCard .mapWrapper .map.-image {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactCard .mapWrapper .map.-image {
    border: 0.4166666667vw solid #d2d2d2;
    borderright: 0;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactCard .mapWrapper .map.-image {
    border-top: 0.2777777778vw solid #d2d2d2;
    border-bottom: 0.2777777778vw solid #d2d2d2;
  }
}
.contactCard .mapWrapper .colorbar {
  background: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactCard .mapWrapper .colorbar {
    height: 3.125vw;
  }
}
.contactCard .gallerySwitch {
  display: flex;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactCard .gallerySwitch {
    width: 33.3333333333vw;
    margin-bottom: 3.3333333333vw;
    font-size: 1.6666666667vw;
    line-height: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactCard .gallerySwitch {
    font-size: 4.4444444444vw;
    line-height: 11.1111111111vw;
  }
}
.contactCard .gallerySwitch .switchItem {
  flex: 0 0 50%;
  text-align: center;
  cursor: pointer;
  border: 1px solid #d2d2d2;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .contactCard .gallerySwitch .switchItem {
    font-size: 1.6666666667vw;
    line-height: 3.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .contactCard .gallerySwitch .switchItem {
    font-size: 4.4444444444vw;
    line-height: 11.1111111111vw;
    margin-bottom: 4.4444444444vw;
  }
}
.contactCard .gallerySwitch .switchItem:first-child {
  border-right: 0;
}
.contactCard .gallerySwitch .switchItem + .switchItem {
  border-left: 0;
}
.contactCard .gallerySwitch .switchItem.-active {
  color: #fff;
  background-color: #DB6E5A;
  border-color: #DB6E5A;
}
.contactCard .map {
  display: none;
}
.contactCard .map.-active {
  display: block;
}
.contactCard .galleryInfo .infoItem {
  display: none;
}
.contactCard .galleryInfo .infoItem.-active {
  display: block;
}

#locTpShilinPage .banner::before {
  background: rgba(84, 95, 61, 0.6);
}

#locTpArenaPage .banner::before {
  background: rgba(133, 88, 55, 0.6);
}

.locBannerWrapper {
  position: relative;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .locBannerWrapper {
    margin-top: 3.3333333333vw;
    margin-bottom: 3.3333333333vw;
    padding-top: 1.25vw;
    height: 16.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .locBannerWrapper {
    margin-top: 4.4444444444vw;
    height: 26.6666666667vw;
  }
}
.locBannerWrapper h1 {
  position: absolute;
  z-index: 100;
  top: 0;
  width: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .locBannerWrapper h1 {
    top: 1.6666666667vw;
    padding-top: 0vw;
    font-size: 7.8125vw;
    line-height: 8.3333333333vw;
    height: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .locBannerWrapper h1 {
    margin-top: -6.6666666667vw;
    height: 24.4444444444vw;
  }
}
.locBannerWrapper .subtitle {
  position: absolute;
  z-index: 100;
  color: #fff;
  width: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .locBannerWrapper .subtitle {
    top: 12.5vw;
    font-size: 1.25vw;
    line-height: 2.5vw;
    letter-spacing: 0.5em;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .locBannerWrapper .subtitle {
    bottom: 4.4444444444vw;
    font-size: 3.3333333333vw;
    line-height: 4.4444444444vw;
    margin-bottom: 0vw;
    letter-spacing: 0.3em;
  }
}
.locBannerWrapper .banner {
  position: absolute;
  left: 0;
  right: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}
.locBannerWrapper .banner::before {
  content: "";
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}

.parxbgWrap {
  position: relative;
  overflow: hidden;
}

.parxbg {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
}

.-parx {
  transform: center center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .-parx {
    transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .-parx {
    transition: transform 0 cubic-bezier(0.22, 1, 0.36, 1);
  }
}

@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWgWrapper {
    position: absolute;
    left: 0;
    width: 100%;
  }
}

.vistaCarouselWg {
  overflow: hidden;
  width: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg {
    min-height: 40vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg {
    min-height: 53.3333333333vw;
  }
}
.vistaCarouselWg .photoBlock {
  display: flex;
  backface-visibility: visible;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .photoBlock {
    height: 33.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .photoBlock {
    height: 53.3333333333vw;
  }
}
.vistaCarouselWg .photoBlock .photoItem {
  position: relative;
  flex: 0 0 auto;
  position: relative;
  height: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .photoBlock .photoItem {
    width: 54.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .photoBlock .photoItem {
    width: 66.6666666667vw;
  }
}
.vistaCarouselWg .photoBlock .photoItem a {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.vistaCarouselWg .photoBlock .photoWrapper {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  height: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .photoBlock .photoWrapper {
    width: 50vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .photoBlock .photoWrapper {
    width: 60vw;
  }
}
.vistaCarouselWg .photoBlock .photoWrapper:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .photoBlock .photoWrapper:after {
    box-shadow: 0 0 0.4166666667vw rgba(0, 0, 0, 0.1) inset;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .photoBlock .photoWrapper:after {
    box-shadow: 0 0 2.2222222222vw rgba(0, 0, 0, 0.1) inset;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .photoItem.-active .photoWrapper .vistaCarouselWg .photoBlock:after {
    box-shadow: 0 0 3.3333333333vw rgba(0, 0, 0, 0.3) inset;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .photoItem.-active .photoWrapper .vistaCarouselWg .photoBlock:after {
    box-shadow: 0 0 8.8888888889vw rgba(0, 0, 0, 0.3) inset;
  }
}
.vistaCarouselWg .photoBlock .photo {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin-left: -5%;
  margin-right: -5%;
  background-color: #e7e7e7;
  background-position: center center;
  background-size: cover;
}
.vistaCarouselWg .naviBlock {
  position: relative;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .naviBlock {
    height: 33.3333333333vw;
    margin-top: -33.3333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .naviBlock {
    height: 53.3333333333vw;
    margin-top: -53.3333333333vw;
  }
}
.vistaCarouselWg .naviBlock .goPrev, .vistaCarouselWg .naviBlock .goNext {
  position: absolute;
  top: 50%;
  background-position: center center;
  background-size: contain;
  cursor: pointer;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .naviBlock .goPrev, .vistaCarouselWg .naviBlock .goNext {
    width: 5vw;
    height: 5.8333333333vw;
    margin-top: -2.9166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .naviBlock .goPrev, .vistaCarouselWg .naviBlock .goNext {
    width: 8.8888888889vw;
    height: 10.5555555556vw;
    margin-top: -5.2777777778vw;
  }
}
.vistaCarouselWg .naviBlock .goPrev {
  background-image: url(../img/goBack.svg);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .naviBlock .goPrev {
    right: 50%;
    margin-right: 30.2083333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .naviBlock .goPrev {
    left: 11.1111111111vw;
  }
}
.vistaCarouselWg .naviBlock .goNext {
  background-image: url(../img/goNext.svg);
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .naviBlock .goNext {
    left: 50%;
    margin-left: 30.2083333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .naviBlock .goNext {
    right: 11.1111111111vw;
  }
}
.vistaCarouselWg .pagerBlock {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .pagerBlock {
    height: 5.8333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .pagerBlock {
    height: 17.7777777778vw;
  }
}
.vistaCarouselWg .pagerBlock .pageItem {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .pagerBlock .pageItem {
    margin: 0 0.8333333333vw;
    width: 0.8333333333vw;
    height: 0.8333333333vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .pagerBlock .pageItem {
    margin: 0 2.2222222222vw;
    width: 8.8888888889vw;
    height: 8.8888888889vw;
  }
}
.vistaCarouselWg .pagerBlock .pageItem::before {
  content: "";
  display: block;
  border-radius: 10000px;
  background: #ccc;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .pagerBlock .pageItem::before {
    width: 0.4166666667vw;
    height: 0.4166666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .pagerBlock .pageItem::before {
    width: 4.4444444444vw;
    height: 4.4444444444vw;
  }
}
.vistaCarouselWg .pagerBlock .pageItem.-active::before {
  background: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .pagerBlock .pageItem.-active::before {
    transform: scale(1.5);
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .pagerBlock .pageItem.-active::before {
    transform: scale(1);
  }
}
.vistaCarouselWg .textBlock {
  position: relative;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .textBlock {
    height: 20vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .textBlock {
    height: 33.3333333333vw;
  }
}
.vistaCarouselWg .textBlock .textItem {
  position: absolute;
  left: -100vw;
  top: 0;
  width: 100%;
  opacity: 0;
  padding-top: 0.8333333333vw;
  text-align: center;
  transition: opacity 0.5s linear;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .textBlock .textItem {
    padding-top: 1.25vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .textBlock .textItem {
    padding-top: 0vw;
  }
}
.vistaCarouselWg .textBlock .textItem .title {
  color: #BB6956;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .textBlock .textItem .title {
    margin-bottom: 2.0833333333vw;
    font-size: 2.0833333333vw;
    line-height: 3.125vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .textBlock .textItem .title {
    margin-bottom: 2.2222222222vw;
    font-size: 5.5555555556vw;
    line-height: 11.1111111111vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .vistaCarouselWg .textBlock .textItem .text {
    font-size: 1.25vw;
    line-height: 2.5vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .vistaCarouselWg .textBlock .textItem .text {
    font-size: 3.3333333333vw;
    line-height: 6.6666666667vw;
  }
}
.vistaCarouselWg .textBlock .textItem.-active {
  left: 0;
  opacity: 1;
}

.simpleSlidelWg .photoItem {
  height: 100%;
  transition: height 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.simpleSlidelWg .photoItem + .photoItem {
  display: none;
}

.errPage {
  position: relative;
  height: 100%;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .errPage {
    padding-bottom: 4.1666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .errPage {
    padding-bottom: 13.3333333333vw;
  }
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .errPage .pageHeader {
    padding-top: 3.3333333333vw;
    height: 10vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .errPage .pageHeader {
    padding-top: 4.4444444444vw;
    height: 22.2222222222vw;
  }
}
.errPage .pageHeader .logo {
  background-image: url(../img/logo-h-gold.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .errPage .pageHeader .logo {
    height: 6.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .errPage .pageHeader .logo {
    height: 13.3333333333vw;
  }
}
.errPage h1 {
  text-align: center;
  text-transform: uppercase;
  color: #626262;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .errPage h1 {
    font-size: 7.8125vw;
    line-height: 8.3333333333vw;
    height: 8.3333333333vw;
    margin-top: 6.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .errPage h1 {
    height: 17.7777777778vw;
    font-size: 11.1111111111vw;
    line-height: 17.7777777778vw;
    margin-top: 17.7777777778vw;
  }
}
.errPage .subtitle {
  text-align: center;
  color: #626262;
}
@media all and (min-width: 520px) and (orientation: landscape), all and (min-width: 640px) {
  .errPage .subtitle {
    letter-spacing: 0.5em;
    font-size: 1.25vw;
    line-height: 2.5vw;
    margin-bottom: 6.6666666667vw;
  }
}
@media all and (max-width: 519.9px) and (orientation: portrait), all and (max-width: 639.9px) {
  .errPage .subtitle {
    letter-spacing: 0.3em;
    font-size: 3.3333333333vw;
    line-height: 4.4444444444vw;
    margin-bottom: 17.7777777778vw;
  }
}
.errPage .footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}