@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
/* リセットCSS */
html, body {
  width: 100%;
  height: 100%;
}

body, h1, h2, h3, h4, h5, h6, p, ol, ul, li, blockquote, pre, a, div {
  margin: 0;
  padding: 0;
  font-size: 100%;
  line-height: inherit;
  box-sizing: border-box;
}

body {
  -webkit-text-size-adjust: 100%;
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

th, td {
  vertical-align: top;
  text-align: left;
  font-weight: normal;
}

img {
  border: 0;
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

/* ---------- setting ---------- ---------- */
.u-fw-normal {
  font-weight: normal !important;
}

.u-fw-bold {
  font-weight: bold !important;
}

.u-td-u {
  text-decoration: underline !important;
}

.u-td-n {
  text-decoration: none !important;
}

.u-ta-l {
  text-align: left !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-ta-r {
  text-align: right !important;
}

@media print, screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
  .u-gap-10 {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-20 {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-30 {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-40 {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
  .u-gap-50 {
    display: flex;
    gap: 50px;
    flex-direction: column;
  }
  .u-gap-60 {
    display: flex;
    gap: 60px;
    flex-direction: column;
  }
  .u-gap-70 {
    display: flex;
    gap: 70px;
    flex-direction: column;
  }
  .u-gap-80 {
    display: flex;
    gap: 80px;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
  .u-gap-10 {
    display: flex;
    gap: 5px;
    flex-direction: column;
  }
  .u-gap-20 {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-30 {
    display: flex;
    gap: 15px;
    flex-direction: column;
  }
  .u-gap-40 {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-50 {
    display: flex;
    gap: 25px;
    flex-direction: column;
  }
  .u-gap-60 {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-70 {
    display: flex;
    gap: 35px;
    flex-direction: column;
  }
  .u-gap-80 {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
}
html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

body {
  background-color: #fff;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #000;
  -webkit-font-smoothing: antialiased;
}

.area-wrapper {
  overflow: clip;
}
.area-wrapper img {
  width: 100%;
}

.mod-scene-swiper-wrap .swiper-wrapper {
  transition-timing-function: linear !important;
}

.mod-anim {
  transition-delay: 0.2s;
  transition-duration: 0.7s;
  /* Delay Utils */
}
.mod-anim.is-fade {
  opacity: 0;
}
.mod-anim.is-fade.js-active {
  opacity: 1;
}
.mod-anim.is-bottom {
  opacity: 0;
  transform: translate(0, 5vw);
}
.mod-anim.is-bottom.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-blur-in {
  transition-duration: 1.2s;
  opacity: 0;
  filter: blur(20px);
  transform: scale(1.1);
}
.mod-anim.is-blur-in.js-active {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}
.mod-anim.is-delay-00 {
  transition-delay: 0s;
}
.mod-anim.is-delay-01 {
  transition-delay: 0.1s;
}
.mod-anim.is-delay-02 {
  transition-delay: 0.2s;
}
.mod-anim.is-delay-03 {
  transition-delay: 0.3s;
}
.mod-anim.is-delay-04 {
  transition-delay: 0.4s;
}
.mod-anim.is-delay-05 {
  transition-delay: 0.5s;
}
.mod-anim.is-delay-06 {
  transition-delay: 0.6s;
}
.mod-anim.is-delay-07 {
  transition-delay: 0.7s;
}
.mod-anim.is-delay-08 {
  transition-delay: 0.8s;
}
.mod-anim.is-delay-09 {
  transition-delay: 0.9s;
}
.mod-anim.is-delay-10 {
  transition-delay: 1s;
}
.mod-anim.is-delay-16 {
  transition-delay: 1.6s;
}

.u-en {
  font-family: "Lora", sans-serif;
}

.u-min {
  font-family: "Noto Serif JP";
}

@media print, screen and (min-width: 768px) {
  :root {
    --w:1400 ;
  }
  .block-inner {
    margin: 0 auto;
    width: calc(1100 / var(--w) * 100vw);
  }
  .area-header-wraper {
    position: relative;
    height: calc(1 / var(--w) * 100vw);
    z-index: 100;
  }
  .area-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: calc(250 / var(--w) * 100vw);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  }
  .area-header ._header-logo {
    position: absolute;
    top: calc(64 / var(--w) * 100vw);
    left: calc(72 / var(--w) * 100vw);
    width: calc(156 / var(--w) * 100vw);
  }
  .area-header ._header-infos {
    position: absolute;
    top: calc(63 / var(--w) * 100vw);
    left: calc(772 / var(--w) * 100vw);
  }
  .area-header ._header-menu {
    position: absolute;
    top: calc(137 / var(--w) * 100vw);
    left: calc(772 / var(--w) * 100vw);
  }
  .area-header ._header-modal-btn {
    display: none;
  }
  .area-header {
    transition-duration: 0.2s;
  }
  .area-header ._header-logo {
    transition-duration: 0.2s;
  }
  .area-header ._header-infos {
    transition-duration: 0.2s;
  }
  .area-header ._header-menu {
    transition-duration: 0.2s;
  }
  body.is-scrolled .area-header {
    height: calc(72 / var(--w) * 100vw);
    background: linear-gradient(180deg, black 0%, black 100%);
  }
  body.is-scrolled .area-header ._header-logo {
    top: calc(20 / var(--w) * 100vw);
  }
  body.is-scrolled .area-header ._header-infos {
    top: calc(-30 / var(--w) * 100vw);
    opacity: 0;
  }
  body.is-scrolled .area-header ._header-menu {
    top: calc(27 / var(--w) * 100vw);
  }
  body.is-scrolled .area-header ._header-modal-btn {
    display: none;
  }
  .mod-header-menu {
    display: flex;
    gap: calc(31 / var(--w) * 100vw);
  }
  .mod-header-menu a {
    color: #fff;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-header-menu a:hover {
    opacity: 0.8;
  }
  .mod-header-menu li {
    font-size: calc(18 / var(--w) * 100vw);
    line-height: 1.11;
    letter-spacing: 0.1em;
    color: #fafbfb;
  }
  .mod-header-infos {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mod-header-infos ._infos-tel {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .mod-header-infos ._infos-reserve {
    display: flex;
    gap: calc(15 / var(--w) * 100vw);
    align-items: center;
    margin-left: calc(35 / var(--w) * 100vw);
    padding-bottom: calc(5 / var(--w) * 100vw);
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-header-infos ._infos-reserve:hover {
    opacity: 0.8;
  }
  .mod-header-infos ._infos-insta {
    display: flex;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    margin-left: calc(20 / var(--w) * 100vw);
    padding-bottom: calc(5 / var(--w) * 100vw);
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-header-infos ._infos-insta:hover {
    opacity: 0.8;
  }
  .mod-header-infos ._label {
    font-size: calc(13 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.07em;
    color: #f6f6f5;
  }
  .mod-header-infos ._num {
    font-size: calc(25 / var(--w) * 100vw);
    line-height: 1.2;
    color: #f6f6f5;
  }
  .mod-header-infos ._web {
    font-size: calc(18 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.1em;
    color: #f6f6f5;
  }
  .mod-header-infos ._web span {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.1em;
    color: #f6f6f5;
  }
  .area-modal-menu {
    display: none;
  }
  .area-footer {
    position: relative;
    color: #030506;
    background: #F6F6F5;
    padding: calc(125 / var(--w) * 100vw) 0 calc(130 / var(--w) * 100vw) 0;
  }
  .area-footer .block-inner {
    position: relative;
    padding: 0 0 calc(10 / var(--w) * 100vw) 0;
  }
  .area-footer ._footer-logo {
    width: calc(167 / var(--w) * 100vw);
  }
  .area-footer ._add {
    margin-top: calc(50 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2.14;
  }
  .area-footer ._map {
    margin-top: calc(30 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  .area-footer ._tel {
    margin-top: calc(15 / var(--w) * 100vw);
    font-size: calc(26 / var(--w) * 100vw);
    line-height: 1.15;
  }
  .area-footer ._copy {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1.88;
    color: #030506;
  }
  .mod-hover {
    cursor: pointer;
    transition: filter 0.2s;
  }
  .mod-hover:hover {
    filter: brightness(1.2);
  }
  .mod-btn-reserve {
    display: block;
    width: calc(330 / var(--w) * 100vw);
    height: calc(60 / var(--w) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #D7AB67;
    font-size: calc(17 / var(--w) * 100vw);
    line-height: 1.29;
    letter-spacing: 0.05em;
    color: #fff4e5;
  }
  .mod-table-a th {
    padding: calc(10 / var(--w) * 100vw) 0;
    width: calc(145 / var(--w) * 100vw);
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1.88;
    color: #000;
  }
  .mod-table-a td {
    padding: calc(10 / var(--w) * 100vw) 0;
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1.88;
    color: #000;
  }
  .mod-btn-map {
    display: block;
    position: relative;
    padding-left: calc(35 / var(--w) * 100vw);
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-btn-map::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("../images/common/icon-map.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(30 / var(--w) * 100vw);
    height: calc(30 / var(--w) * 100vw);
  }
  .mod-btn-map:hover {
    opacity: 0.8;
  }
  .mod-btn-map-s {
    display: block;
    position: relative;
    padding-left: calc(25 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
    color: #030506;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-btn-map-s::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(5 / var(--w) * 100vw);
    left: 0;
    background-image: url("../images/common/icon-map.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(20 / var(--w) * 100vw);
    height: calc(20 / var(--w) * 100vw);
  }
  .mod-btn-map-s:hover {
    opacity: 0.8;
  }
  .mod-btn-tel {
    display: block;
    position: relative;
    padding-left: calc(35 / var(--w) * 100vw);
    font-size: calc(26 / var(--w) * 100vw);
    line-height: 1.15;
    color: #030506;
  }
  .mod-btn-tel::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("../images/common/icon-tel.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(20 / var(--w) * 100vw);
    height: calc(30 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-main {
    position: relative;
    background: #000;
    height: 100vh;
    max-height: calc(1500 / var(--w) * 100vw);
  }
  .block-main ._main {
    height: 100%;
  }
  .block-main ._main img, .block-main ._main video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .block-main ._texts {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .block-main ._texts ._logo {
    padding-top: calc(30 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-about {
    position: relative;
    background: #000;
    height: 100vh;
    max-height: calc(1500 / var(--w) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/about/p1.jpg?");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .block-about h2 {
    font-size: calc(40 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #fff;
  }
  .block-about ._copy {
    margin-top: calc(80 / var(--w) * 100vw);
    font-size: calc(24 / var(--w) * 100vw);
    line-height: 1.88;
    letter-spacing: 0.1em;
    color: #fcf5df;
  }
  .block-about ._copy small {
    font-size: calc(18 / var(--w) * 100vw);
  }
  .block-about ._doc {
    margin-top: calc(40 / var(--w) * 100vw);
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2.19;
    letter-spacing: 0.05em;
    color: #fcf5df;
  }
  /* -------------------------------------------------- */
  .block-movie {
    background: #000;
    height: 100vh;
    max-height: calc(1500 / var(--w) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .block-movie img {
    width: 100%;
  }
  /* -------------------------------------------------- */
  .block-feature {
    padding: calc(130 / var(--w) * 100vw) 0 calc(104 / var(--w) * 100vw) 0;
  }
  .block-feature ._feature-set1 {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    gap: calc(100 / var(--w) * 100vw);
    padding: 0 calc(42 / var(--w) * 100vw) 0 calc(150 / var(--w) * 100vw);
  }
  .block-feature ._feature-set1 ._image {
    width: calc(731 / var(--w) * 100vw);
  }
  .block-feature ._feature-set1 ._texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .block-feature ._feature-set2 {
    position: relative;
    display: flex;
    gap: calc(100 / var(--w) * 100vw);
    padding: calc(110 / var(--w) * 100vw) calc(150 / var(--w) * 100vw) 0 calc(42 / var(--w) * 100vw);
  }
  .block-feature ._feature-set2 ._image {
    width: calc(484 / var(--w) * 100vw);
  }
  .block-feature ._feature-set2 ._texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .block-feature ._midash1 {
    font-size: calc(24 / var(--w) * 100vw);
    line-height: 1.46;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-right: calc(-40 / var(--w) * 100vw);
  }
  .block-feature ._midash2 {
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 1.75;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
  .block-feature ._doc {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2.19;
    letter-spacing: 0.05em;
  }
  .block-feature ._p3 {
    margin-top: calc(150 / var(--w) * 100vw);
  }
  .block-feature ._p4 {
    margin-top: calc(90 / var(--w) * 100vw);
    width: calc(250 / var(--w) * 100vw);
    margin-left: auto;
  }
  /* -------------------------------------------------- */
  .block-feature-bg {
    position: relative;
  }
  .mod-bg-auto-scroll {
    height: calc(517 / var(--w) * 100vw);
  }
  .mod-bg-auto-scroll ._inner {
    background: url(../images/feature/bg.jpg) left top;
    background-size: calc(2405 / var(--w) * 100vw) auto;
    width: calc(2405 / var(--w) * 100vw * 4);
    height: 100%;
    animation: keyf_loc1 30s linear 0s infinite;
  }
  .mod-scene-swiper-wrap .swiper {
    height: calc(500 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-party {
    position: relative;
    padding: calc(132 / var(--w) * 100vw) 0 calc(100 / var(--w) * 100vw) 0;
  }
  .block-party ._party-texts h2 {
    font-size: calc(40 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
  .block-party ._party-texts ._copy {
    margin-top: calc(65 / var(--w) * 100vw);
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 1.75;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #2d1807;
  }
  .block-party ._party-texts ._doc {
    margin-top: calc(40 / var(--w) * 100vw);
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1.75;
    letter-spacing: 0.05em;
    color: #2d1807;
  }
  .block-party ._party-slider {
    margin-top: calc(110 / var(--w) * 100vw);
    text-align: center;
  }
  .block-party ._party-slider h3 {
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
  .mod-swiper-wrap {
    margin-top: calc(50 / var(--w) * 100vw);
    position: relative;
  }
  .mod-swiper-wrap .swiper {
    width: calc(800 / var(--w) * 100vw);
  }
  .mod-swiper-wrap .mod-slider-button-next, .mod-swiper-wrap .mod-slider-button-prev {
    border-top: calc(3 / var(--w) * 100vw) solid #707070;
    border-left: calc(3 / var(--w) * 100vw) solid #707070;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-swiper-wrap .mod-slider-button-next:hover, .mod-swiper-wrap .mod-slider-button-prev:hover {
    opacity: 0.8;
  }
  .mod-swiper-wrap .mod-slider-button-prev {
    position: absolute;
    top: 47%;
    left: calc(-20 / var(--w) * 100vw);
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
    transform: rotate(-45deg);
  }
  .mod-swiper-wrap .mod-slider-button-next {
    position: absolute;
    top: 47%;
    right: calc(-20 / var(--w) * 100vw);
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
    transform: rotate(135deg);
  }
  .mod-swiper-wrap .swiper-slide ._slide-image {
    height: calc(600 / var(--w) * 100vw);
  }
  .mod-swiper-wrap .swiper-slide ._slide-note {
    width: calc(760 / var(--w) * 100vw);
    margin: 0 auto;
    margin-top: calc(5 / var(--w) * 100vw);
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2.19;
    letter-spacing: 0.05em;
    color: #2d1807;
    text-align: left;
  }
  /* -------------------------------------------------- */
  .block-menu {
    position: relative;
    color: #fff;
  }
  .block-menu ._menu-main ._texts {
    position: absolute;
    top: calc(140 / var(--w) * 100vw);
    right: 0;
    left: 0;
    text-align: center;
  }
  .block-menu ._menu-main h2 {
    font-size: calc(40 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #fff;
  }
  .block-menu ._menu-body {
    padding: calc(120 / var(--w) * 100vw) 0 calc(120 / var(--w) * 100vw) 0;
    background-image: url("../images/menu/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .block-menu ._menu-set1 {
    position: relative;
    display: flex;
    gap: calc(70 / var(--w) * 100vw);
  }
  .block-menu ._menu-set1 ._image {
    width: calc(495 / var(--w) * 100vw);
  }
  .block-menu ._menu-set1 ._texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(25 / var(--w) * 100vw);
  }
  .block-menu ._menu-set2 {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    gap: calc(70 / var(--w) * 100vw);
    margin-top: calc(90 / var(--w) * 100vw);
  }
  .block-menu ._menu-set2 ._image {
    width: calc(536 / var(--w) * 100vw);
  }
  .block-menu ._menu-set2 ._texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(25 / var(--w) * 100vw);
  }
  .block-menu ._menu-set3 {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    gap: calc(70 / var(--w) * 100vw);
    margin-top: calc(140 / var(--w) * 100vw);
  }
  .block-menu ._menu-set3 ._image {
    margin: 0 calc(-108 / var(--w) * 100vw);
  }
  .block-menu ._menu-set3 ._texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(25 / var(--w) * 100vw);
  }
  .block-menu ._menu-btns {
    margin-top: calc(90 / var(--w) * 100vw);
    display: flex;
    gap: calc(20 / var(--w) * 100vw);
    justify-content: center;
  }
  .block-menu ._midash1 {
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 1.75;
    letter-spacing: 0.05em;
    color: #fff;
  }
  .block-menu ._doc {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1.88;
    letter-spacing: 0.05em;
    color: #fff;
  }
  /* -------------------------------------------------- */
  .block-info {
    position: relative;
    padding: calc(50 / var(--w) * 100vw) 0 calc(95 / var(--w) * 100vw) 0;
  }
  .block-info ._info-title h2 {
    font-size: calc(40 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #191919;
    margin-top: calc(70 / var(--w) * 100vw);
  }
  .block-info ._info-cols {
    position: relative;
    display: flex;
    gap: calc(77 / var(--w) * 100vw);
    margin-top: calc(65 / var(--w) * 100vw);
  }
  .block-info ._info-cols ._col1 {
    width: calc(528 / var(--w) * 100vw);
  }
  .block-info ._info-cols ._col2 {
    width: calc(495 / var(--w) * 100vw);
  }
  .block-info ._info-photos {
    margin-top: calc(100 / var(--w) * 100vw);
  }
  .mod-info-items {
    display: flex;
    gap: calc(70 / var(--w) * 100vw);
    flex-wrap: wrap;
  }
  .mod-info-items > * {
    width: calc((100% - 70 / var(--w) * 100vw * 2) / 3);
    flex-shrink: 0;
  }
  .mod-info-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
    color: #000;
    background: #fff;
    border-radius: calc(10 / var(--w) * 100vw);
  }
  .mod-info-item ._item-texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .mod-info-item ._name {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1.56;
    color: #000;
  }
  .mod-info-item ._doc {
    font-size: calc(15 / var(--w) * 100vw);
    line-height: 1.67;
    color: #000;
  }
  .block-extra {
    padding: calc(40 / var(--w) * 100vw) 0 calc(100 / var(--w) * 100vw) 0;
  }
  .block-extra ._inner {
    width: calc(700 / var(--w) * 100vw);
    margin: 0 auto;
  }
  /* -------------------------------------------------- */
  .block-news {
    position: relative;
    padding: calc(80 / var(--w) * 100vw) 0 calc(155 / var(--w) * 100vw) 0;
    color: #fff;
    background-image: url("../images/news/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .block-news ._news-title {
    text-align: center;
  }
  .block-news ._news-title h2 {
    font-size: calc(32 / var(--w) * 100vw);
    line-height: 1.66;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
  .block-news ._news-body {
    margin-top: calc(70 / var(--w) * 100vw);
  }
  .block-news ._news-btns {
    margin-top: calc(70 / var(--w) * 100vw);
    display: flex;
    gap: 0;
    justify-content: center;
  }
  .block-news ._news-cols {
    position: relative;
    display: flex;
    gap: calc(90 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-news ._news-cols ._news-image {
    width: calc(460 / var(--w) * 100vw);
    padding-top: calc(15 / var(--w) * 100vw);
  }
  .block-news ._news-cols ._news-image img {
    aspect-ratio: 4/3;
    overflow: hidden;
    object-fit: cover;
  }
  .block-news ._news-cols ._news-texts {
    flex: 1;
  }
  .block-news ._news-cols ._doc {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2.19;
    color: #fff;
  }
  /* -------------------------------------------------- */
  .area-modal-movie {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
  }
  .area-modal-movie.is-open {
    visibility: visible;
    opacity: 1;
  }
  .area-modal-movie ._modal-close {
    position: absolute;
    top: calc(-60 / var(--w) * 100vw);
    right: 0;
  }
  .area-modal-movie ._modal-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
  }
  .area-modal-movie ._modal-box {
    position: relative;
    width: calc(1000 / var(--w) * 100vw);
    aspect-ratio: 16/9;
    background: #fff;
  }
  .area-modal-movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .area-modal-movie .mod-modal-btn-close {
    position: relative;
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
    background-color: #000;
    border-radius: calc(100 / var(--w) * 100vw);
    cursor: pointer;
    transition: opacity 0.2s;
    z-index: 10;
  }
  .area-modal-movie .mod-modal-btn-close:hover {
    opacity: 0.8;
  }
  .area-modal-movie .mod-modal-btn-close span {
    position: absolute;
    background: #fff;
    top: calc((50 / var(--w) * 100vw - 2 / var(--w) * 100vw) / 2);
    left: calc((50 / var(--w) * 100vw - 24 / var(--w) * 100vw) / 2);
    width: calc(24 / var(--w) * 100vw);
    height: calc(2 / var(--w) * 100vw);
    transform: rotate(-45deg);
  }
  .area-modal-movie .mod-modal-btn-close span:nth-child(2) {
    transform: rotate(45deg);
  }
}
@media screen and (max-width: 767px) {
  :root {
    --w:400 ;
  }
  .area-header-wraper {
    position: relative;
    height: calc(1 / var(--w) * 100vw);
    z-index: 110;
  }
  .area-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: calc(90 / var(--w) * 100vw);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  }
  .area-header ._header-logo {
    position: absolute;
    top: calc(40 / var(--w) * 100vw);
    left: calc(40 / var(--w) * 100vw);
    width: calc(96 / var(--w) * 100vw);
  }
  .area-header ._header-infos {
    display: none;
  }
  .area-header ._header-menu {
    display: none;
  }
  .area-header ._header-modal-btn {
    position: absolute;
    top: calc(20 / var(--w) * 100vw);
    right: calc(10 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .area-modal-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(31, 8, 1, 0.9);
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
    z-index: -1;
  }
  .area-modal-menu ._modal-inner {
    margin: 0 auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: calc(40 / var(--w) * 100vw);
  }
  .area-modal-menu ._infos-insta {
    margin-top: calc(50 / var(--w) * 100vw);
    width: calc(30 / var(--w) * 100vw);
  }
  .area-modal-menu ._modal-bottom {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    background: #2F1106;
  }
  body.js-gmenu-active .area-modal-menu {
    visibility: visible;
    opacity: 1;
    z-index: 100;
  }
  .mod-modal-menu-btn {
    position: relative;
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
  }
  .mod-modal-menu-btn span {
    position: absolute;
    background: #ffffff;
    left: calc((50 / var(--w) * 100vw - 25 / var(--w) * 100vw) / 2);
    width: calc(25 / var(--w) * 100vw);
    height: calc(1 / var(--w) * 100vw);
    transition: all 0.3s;
    top: calc((50 / var(--w) * 100vw - 1 / var(--w) * 100vw) / 2);
  }
  .mod-modal-menu-btn span:nth-child(1) {
    transform: translateY(calc(-4 / var(--w) * 100vw));
  }
  .mod-modal-menu-btn span:nth-child(2) {
    transform: translateY(calc(4 / var(--w) * 100vw));
  }
  body.js-gmenu-active .mod-modal-menu-btn span:nth-child(1) {
    transform: translateY(0) rotate(-45deg);
  }
  body.js-gmenu-active .mod-modal-menu-btn span:nth-child(2) {
    transform: translateY(0) rotate(45deg);
  }
  .mod-header-menu {
    display: flex;
    gap: calc(31 / var(--w) * 100vw);
  }
  .mod-header-menu a {
    color: #fff;
  }
  .mod-header-menu li {
    font-size: calc(18 / var(--w) * 100vw);
    line-height: 1.11;
    letter-spacing: 0.1em;
    color: #fafbfb;
  }
  .mod-sitelinks-menu {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .mod-sitelinks-menu a {
    position: relative;
    font-size: calc(18 / var(--w) * 100vw);
    line-height: 1.6;
    color: #fff;
  }
  .mod-modal-infos {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(10 / var(--w) * 100vw) 0;
  }
  .mod-modal-infos ._infos-tel {
    flex: 1;
    display: flex;
    gap: calc(12 / var(--w) * 100vw);
    padding: calc(10 / var(--w) * 100vw) 0 calc(10 / var(--w) * 100vw) calc(25 / var(--w) * 100vw);
  }
  .mod-modal-infos ._infos-tel ._icon {
    width: calc(24 / var(--w) * 100vw);
  }
  .mod-modal-infos ._infos-tel ._texts {
    display: flex;
    flex-direction: column;
    gap: calc(5 / var(--w) * 100vw);
  }
  .mod-modal-infos ._infos-tel ._label {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.07em;
    color: #f6f6f5;
  }
  .mod-modal-infos ._infos-tel ._num {
    font-size: calc(18 / var(--w) * 100vw);
    line-height: 1.2;
    color: #f6f6f5;
  }
  .mod-modal-infos ._infos-reserve {
    flex: 1;
    display: flex;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    border-left: calc(1 / var(--w) * 100vw) solid #622712;
    padding: calc(10 / var(--w) * 100vw) 0 calc(10 / var(--w) * 100vw) calc(22 / var(--w) * 100vw);
  }
  .mod-modal-infos ._infos-reserve ._icon {
    width: calc(30 / var(--w) * 100vw);
  }
  .mod-modal-infos ._infos-reserve ._texts {
    display: flex;
    flex-direction: column;
    gap: calc(8 / var(--w) * 100vw);
  }
  .mod-modal-infos ._infos-reserve ._web {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.1em;
    color: #f6f6f5;
    padding-left: calc(10 / var(--w) * 100vw);
  }
  .mod-modal-infos ._infos-reserve ._web2 {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.1em;
    color: #f6f6f5;
  }
  /* -------------------------------------------------- */
  .area-footer {
    position: relative;
    color: #030506;
    background: #F6F6F5;
    padding: calc(50 / var(--w) * 100vw) calc(30 / var(--w) * 100vw) calc(40 / var(--w) * 100vw) calc(30 / var(--w) * 100vw);
  }
  .area-footer ._footer-logo {
    width: calc(123 / var(--w) * 100vw);
  }
  .area-footer ._add {
    margin-top: calc(35 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2.14;
  }
  .area-footer ._map {
    margin-top: calc(5 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  .area-footer ._tel {
    margin-top: calc(10 / var(--w) * 100vw);
    font-size: calc(18 / var(--w) * 100vw);
    line-height: 1.15;
  }
  .area-footer ._copy {
    margin-top: calc(50 / var(--w) * 100vw);
    font-size: calc(12 / var(--w) * 100vw);
    line-height: 1.88;
    color: #030506;
    padding-left: calc(5 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .area-modal-main {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
  }
  .area-modal-main.is-open {
    visibility: visible;
    opacity: 1;
  }
  .area-modal-main ._modal-close {
    position: absolute;
    top: calc(-60 / var(--w) * 100vw);
    right: 0;
  }
  .area-modal-main ._modal-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
  }
  .area-modal-main ._modal-box {
    position: relative;
    width: calc(1000 / var(--w) * 100vw);
    aspect-ratio: 16/9;
    background: #fff;
  }
  .area-modal-main iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .area-modal-main .mod-modal-btn-close {
    position: relative;
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
    background-color: #fff;
    border-radius: calc(100 / var(--w) * 100vw);
    cursor: pointer;
    transition: opacity 0.2s;
    z-index: 10;
  }
  .area-modal-main .mod-modal-btn-close:hover {
    opacity: 0.8;
  }
  .area-modal-main .mod-modal-btn-close span {
    position: absolute;
    background: #000;
    top: calc((50 / var(--w) * 100vw - 2 / var(--w) * 100vw) / 2);
    left: calc((50 / var(--w) * 100vw - 24 / var(--w) * 100vw) / 2);
    width: calc(24 / var(--w) * 100vw);
    height: calc(2 / var(--w) * 100vw);
    transform: rotate(-45deg);
  }
  .area-modal-main .mod-modal-btn-close span:nth-child(2) {
    transform: rotate(45deg);
  }
  .mod-btn-reserve {
    display: block;
    width: calc(232 / var(--w) * 100vw);
    height: calc(40 / var(--w) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #D7AB67;
    font-size: calc(12 / var(--w) * 100vw);
    line-height: 1.29;
    letter-spacing: 0.05em;
    color: #fff4e5;
  }
  .mod-table-a th {
    padding: calc(10 / var(--w) * 100vw) 0;
    width: calc(75 / var(--w) * 100vw);
    font-size: calc(12 / var(--w) * 100vw);
    line-height: 2.08;
    color: #000;
  }
  .mod-table-a td {
    padding: calc(10 / var(--w) * 100vw) 0;
    font-size: calc(12 / var(--w) * 100vw);
    line-height: 2.08;
    color: #000;
  }
  .mod-btn-map {
    display: block;
    position: relative;
    padding-left: calc(25 / var(--w) * 100vw);
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-btn-map::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("../images/common/icon-map.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(20 / var(--w) * 100vw);
    height: calc(20 / var(--w) * 100vw);
  }
  .mod-btn-map:hover {
    opacity: 0.8;
  }
  .mod-btn-map-s {
    display: block;
    position: relative;
    padding-left: calc(25 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
    color: #030506;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-btn-map-s::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(5 / var(--w) * 100vw);
    left: 0;
    background-image: url("../images/common/icon-map.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(20 / var(--w) * 100vw);
    height: calc(20 / var(--w) * 100vw);
  }
  .mod-btn-map-s:hover {
    opacity: 0.8;
  }
  .mod-btn-tel {
    display: block;
    position: relative;
    padding-left: calc(25 / var(--w) * 100vw);
    font-size: calc(18 / var(--w) * 100vw);
    line-height: 1.15;
    color: #030506;
  }
  .mod-btn-tel::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: calc(2 / var(--w) * 100vw);
    background-image: url("../images/common/icon-tel.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(15 / var(--w) * 100vw);
    height: calc(20 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-main {
    position: relative;
    background: #000;
    height: calc(826 / var(--w) * 100vw);
  }
  .block-main ._main {
    height: 100%;
  }
  .block-main ._main img, .block-main ._main video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .block-main ._texts {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .block-main ._texts ._logo {
    width: calc(212 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-about {
    position: relative;
    background: #000;
    height: calc(700 / var(--w) * 100vw);
    background-image: url("../images/about/sp/p1.jpg?2");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .block-about ._about-texts {
    position: absolute;
    bottom: calc(30 / var(--w) * 100vw);
    left: calc(30 / var(--w) * 100vw);
  }
  .block-about h2 {
    font-size: calc(17 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #fff;
  }
  .block-about ._copy {
    margin-top: calc(40 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.88;
    letter-spacing: 0.1em;
    color: #fcf5df;
  }
  .block-about ._copy small {
    font-size: calc(10 / var(--w) * 100vw);
  }
  .block-about ._doc {
    margin-top: calc(14 / var(--w) * 100vw);
    font-size: calc(10 / var(--w) * 100vw);
    line-height: 1.67;
    letter-spacing: 0.05em;
    color: #fcf5df;
  }
  /* -------------------------------------------------- */
  .block-movie {
    background: #000;
  }
  .block-movie img {
    width: 100%;
  }
  /* -------------------------------------------------- */
  .block-feature {
    padding: calc(45 / var(--w) * 100vw) calc(30 / var(--w) * 100vw) calc(53 / var(--w) * 100vw) calc(30 / var(--w) * 100vw);
  }
  .block-feature ._feature-set1 {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(25 / var(--w) * 100vw);
  }
  .block-feature ._feature-set1 ._texts {
    display: flex;
    flex-direction: column;
    gap: calc(15 / var(--w) * 100vw);
  }
  .block-feature ._feature-set2 {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(25 / var(--w) * 100vw);
  }
  .block-feature ._feature-set2 ._texts {
    display: flex;
    flex-direction: column;
    gap: calc(15 / var(--w) * 100vw);
  }
  .block-feature ._midash1 {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2.19;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-right: calc(-40 / var(--w) * 100vw);
  }
  .block-feature ._midash2 {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2.19;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-top: calc(35 / var(--w) * 100vw);
  }
  .block-feature ._doc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.79;
    letter-spacing: 0.05em;
  }
  .block-feature ._p2 {
    margin-top: calc(25 / var(--w) * 100vw);
    margin-left: auto;
    width: calc(247 / var(--w) * 100vw);
  }
  .block-feature ._p3 {
    margin-top: calc(15 / var(--w) * 100vw);
  }
  .block-feature ._p4 {
    margin-top: calc(30 / var(--w) * 100vw);
    margin-right: auto;
    width: calc(161 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .mod-scene-swiper-wrap .swiper {
    height: calc(210 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-party {
    position: relative;
    padding: calc(50 / var(--w) * 100vw) calc(30 / var(--w) * 100vw) calc(80 / var(--w) * 100vw) calc(30 / var(--w) * 100vw);
  }
  .block-party ._party-texts {
    padding: 0 calc(5 / var(--w) * 100vw);
  }
  .block-party ._party-texts h2 {
    font-size: calc(17 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
  .block-party ._party-texts ._copy {
    margin-top: calc(40 / var(--w) * 100vw);
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1.56;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #2d1807;
  }
  .block-party ._party-texts ._doc {
    margin-top: calc(15 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.79;
    letter-spacing: 0.05em;
    color: #2d1807;
  }
  .block-party ._party-slider {
    margin-top: calc(65 / var(--w) * 100vw);
    text-align: center;
  }
  .block-party ._party-slider h3 {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 400;
  }
  .mod-swiper-wrap {
    margin-top: calc(50 / var(--w) * 100vw);
    position: relative;
  }
  .mod-swiper-wrap .swiper {
    width: calc(320 / var(--w) * 100vw);
  }
  .mod-swiper-wrap .mod-slider-button-next, .mod-swiper-wrap .mod-slider-button-prev {
    border-top: calc(1 / var(--w) * 100vw) solid #707070;
    border-left: calc(1 / var(--w) * 100vw) solid #707070;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-swiper-wrap .mod-slider-button-next:hover, .mod-swiper-wrap .mod-slider-button-prev:hover {
    opacity: 0.8;
  }
  .mod-swiper-wrap .mod-slider-button-prev {
    position: absolute;
    top: calc(80 / var(--w) * 100vw);
    left: calc(-10 / var(--w) * 100vw);
    width: calc(15 / var(--w) * 100vw);
    height: calc(15 / var(--w) * 100vw);
    transform: rotate(-45deg);
  }
  .mod-swiper-wrap .mod-slider-button-next {
    position: absolute;
    top: calc(80 / var(--w) * 100vw);
    right: calc(-10 / var(--w) * 100vw);
    width: calc(15 / var(--w) * 100vw);
    height: calc(15 / var(--w) * 100vw);
    transform: rotate(135deg);
  }
  .mod-swiper-wrap .swiper-slide ._slide-note {
    margin: 0 auto;
    margin-top: calc(5 / var(--w) * 100vw);
    font-size: calc(12 / var(--w) * 100vw);
    line-height: 2;
    letter-spacing: 0.05em;
    color: #2d1807;
    text-align: left;
  }
  /* -------------------------------------------------- */
  .block-menu {
    position: relative;
    color: #fff;
  }
  .block-menu ._menu-main ._texts {
    position: absolute;
    top: calc(60 / var(--w) * 100vw);
    right: 0;
    left: 0;
    text-align: center;
  }
  .block-menu ._menu-main h2 {
    font-size: calc(28 / var(--w) * 100vw);
    line-height: 0.05;
    font-weight: 500;
  }
  .block-menu ._menu-body {
    padding: calc(60 / var(--w) * 100vw) calc(30 / var(--w) * 100vw) calc(60 / var(--w) * 100vw) calc(30 / var(--w) * 100vw);
    background-image: url("../images/menu/sp/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .block-menu ._menu-set1 {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    gap: calc(20 / var(--w) * 100vw);
  }
  .block-menu ._menu-set1 ._texts {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
  }
  .block-menu ._menu-set2 {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    gap: calc(20 / var(--w) * 100vw);
    margin-top: calc(60 / var(--w) * 100vw);
  }
  .block-menu ._menu-set2 ._image {
    margin-left: calc(-30 / var(--w) * 100vw);
  }
  .block-menu ._menu-set2 ._texts {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
  }
  .block-menu ._menu-set3 {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    gap: calc(20 / var(--w) * 100vw);
    margin-top: calc(60 / var(--w) * 100vw);
  }
  .block-menu ._menu-set3 ._image {
    margin-left: calc(-30 / var(--w) * 100vw);
    margin-right: calc(-30 / var(--w) * 100vw);
  }
  .block-menu ._menu-btns {
    margin-top: calc(60 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .block-menu ._midash1 {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 2.19;
    letter-spacing: 0.05em;
    color: #fff;
  }
  .block-menu ._doc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.79;
    letter-spacing: 0.05em;
    color: #fff;
  }
  /* -------------------------------------------------- */
  .block-info {
    position: relative;
    padding: calc(70 / var(--w) * 100vw) calc(30 / var(--w) * 100vw) calc(40 / var(--w) * 100vw) calc(30 / var(--w) * 100vw);
  }
  .block-info ._info-title h2 {
    font-size: calc(17 / var(--w) * 100vw);
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #191919;
  }
  .block-info ._info-body {
    margin-top: calc(30 / var(--w) * 100vw);
  }
  .block-info ._info-cols {
    position: relative;
  }
  .block-info ._info-photos {
    margin-top: calc(100 / var(--w) * 100vw);
  }
  .mod-info-items {
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
    flex-wrap: wrap;
  }
  .mod-info-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(15 / var(--w) * 100vw);
    color: #000;
    background: #fff;
    border-radius: calc(10 / var(--w) * 100vw);
  }
  .mod-info-item ._item-texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
  }
  .mod-info-item ._name {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1.56;
    color: #000;
  }
  .mod-info-item ._doc {
    font-size: calc(12 / var(--w) * 100vw);
    line-height: 1.67;
    color: #000;
  }
  .block-extra {
    padding: calc(40 / var(--w) * 100vw) calc(20 / var(--w) * 100vw) calc(100 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .block-news {
    position: relative;
    padding: calc(60 / var(--w) * 100vw) calc(30 / var(--w) * 100vw) calc(80 / var(--w) * 100vw) calc(30 / var(--w) * 100vw);
    color: #fff;
    background-image: url("../images/news/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .block-news ._news-title {
    text-align: center;
  }
  .block-news ._news-title h2 {
    font-size: calc(24 / var(--w) * 100vw);
    line-height: 1.33;
    letter-spacing: 0.05em;
    color: #e4e4e4;
  }
  .block-news ._news-body {
    margin-top: calc(30 / var(--w) * 100vw);
  }
  .block-news ._news-btns {
    margin-top: calc(30 / var(--w) * 100vw);
    display: flex;
    gap: 0;
    justify-content: center;
  }
  .block-news ._news-cols {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(25 / var(--w) * 100vw);
  }
  .block-news ._news-cols ._news-image {
    padding-top: calc(15 / var(--w) * 100vw);
  }
  .block-news ._news-cols ._news-image img {
    aspect-ratio: 4/3;
    overflow: hidden;
    object-fit: cover;
  }
  .block-news ._news-cols ._doc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.79;
    color: #fff;
  }
  /* -------------------------------------------------- */
  .area-modal-movie {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
  }
  .area-modal-movie.is-open {
    visibility: visible;
    opacity: 1;
  }
  .area-modal-movie ._modal-close {
    position: absolute;
    top: calc(-60 / var(--w) * 100vw);
    right: 0;
  }
  .area-modal-movie ._modal-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
  }
  .area-modal-movie ._modal-box {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    background: #fff;
  }
  .area-modal-movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .area-modal-movie .mod-modal-btn-close {
    position: relative;
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
    background-color: #000;
    border-radius: calc(100 / var(--w) * 100vw);
    cursor: pointer;
    transition: opacity 0.2s;
    z-index: 10;
  }
  .area-modal-movie .mod-modal-btn-close:hover {
    opacity: 0.8;
  }
  .area-modal-movie .mod-modal-btn-close span {
    position: absolute;
    background: #fff;
    top: calc((50 / var(--w) * 100vw - 2 / var(--w) * 100vw) / 2);
    left: calc((50 / var(--w) * 100vw - 24 / var(--w) * 100vw) / 2);
    width: calc(24 / var(--w) * 100vw);
    height: calc(2 / var(--w) * 100vw);
    transform: rotate(-45deg);
  }
  .area-modal-movie .mod-modal-btn-close span:nth-child(2) {
    transform: rotate(45deg);
  }
}
@keyframes keyf_loc1 {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-25%, 0, 0);
  }
}