:root {
  --1: #e5e5e5;
  --_text---h1: clamp(5 * 1rem, ((5 - ((6 - 5) / (var(--_text---viewport-max)  - var(--_text---viewport-min)) * var(--_text---viewport-min))) * 1rem + ((6 - 5) / (var(--_text---viewport-max)  - var(--_text---viewport-min))) * 100vw), 6 * 1rem);
  --_text---h2: clamp(3 * 1rem, ((3 - ((5 - 3) / (var(--_text---viewport-max)  - var(--_text---viewport-min)) * var(--_text---viewport-min))) * 1rem + ((5 - 3) / (var(--_text---viewport-max)  - var(--_text---viewport-min))) * 100vw), 5 * 1rem);
  --_text---h3: clamp(2.5 * 1rem, ((2.5 - ((3 - 2.5) / (var(--_text---viewport-max)  - var(--_text---viewport-min)) * var(--_text---viewport-min))) * 1rem + ((3 - 2.5) / (var(--_text---viewport-max)  - var(--_text---viewport-min))) * 100vw), 3 * 1rem);
  --_text---p: clamp(.88 * 1rem, ((1 - ((.88 - 1) / (var(--_text---viewport-max)  - var(--_text---viewport-min)) * var(--_text---viewport-min))) * 1rem + ((.88 - 1) / (var(--_text---viewport-max)  - var(--_text---viewport-min))) * 100vw), 1 * 1rem);
  --3: #060606;
  --_text---txt-l: clamp(1.5 * 1rem, ((1.5 - ((2.25 - 1.5) / (var(--_text---viewport-max)  - var(--_text---viewport-min)) * var(--_text---viewport-min))) * 1rem + ((2.25 - 1.5) / (var(--_text---viewport-max)  - var(--_text---viewport-min))) * 100vw), 2.25 * 1rem);
  --2: red;
  --_text---viewport-max: 90;
  --_text---viewport-min: 20;
}

body {
  color: var(--1);
  font-family: helvetica-neue-lt-pro, sans-serif;
  font-size: 14px;
  font-weight: 300;
}

h1 {
  color: #e5e5e5;
  font-family: nimbus-roman, sans-serif;
  font-size: var(--_text---h1);
  text-align: center;
  letter-spacing: -.2rem;
  margin-top: 0;
  margin-bottom: 0;
  font-style: italic;
  font-weight: 400;
  line-height: 105%;
}

h2 {
  color: #e5e5e5;
  font-family: nimbus-roman, sans-serif;
  font-size: var(--_text---h2);
  letter-spacing: -.4px;
  margin-top: 0;
  margin-bottom: 0;
  font-style: italic;
  font-weight: 400;
  line-height: 100%;
}

h3 {
  filter: none;
  color: #e5e5e5;
  font-family: nimbus-roman, sans-serif;
  font-size: var(--_text---h3);
  margin-top: 0;
  margin-bottom: 0;
  font-style: italic;
  font-weight: 400;
  line-height: 100%;
}

p {
  color: #e5e5e5;
  font-family: helvetica-neue-lt-pro, sans-serif;
  font-size: var(--_text---p);
  letter-spacing: .03em;
  margin-bottom: 0;
  font-weight: 200;
  line-height: 1.5em;
}

blockquote {
  color: #e5e5e5;
  border-left: 0 #e2e2e2;
  margin-bottom: 0;
  padding: 0;
  font-family: helvetica-neue-lt-pro, sans-serif;
  font-size: 2em;
  font-weight: 400;
  line-height: 1.38em;
}

.txt-button {
  color: var(--1);
  letter-spacing: .06em;
  flex: 1;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: .8rem;
  font-weight: 200;
  line-height: .75rem;
  text-decoration: none;
  display: flex;
}

.txt-button.txt-nav {
  opacity: 1;
}

.button-primary {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--1);
  background-color: #6666661a;
  background-image: linear-gradient(#00000080, #00000080);
  border: .1em solid #fff3;
  border-radius: 125em;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  padding: 1rem 2rem;
  display: flex;
}

.stylguide-wrap {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100vw;
  padding: 65px 43px;
  display: flex;
}

.body {
  background-color: #000;
}

.button-icon {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: #6666661a;
  background-image: linear-gradient(#00000080, #00000080);
  border: .1em solid #fff3;
  border-radius: 125em;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  width: 3.75rem;
  height: 2.5rem;
  padding-top: .3rem;
  padding-bottom: .3rem;
  display: flex;
}

.body-2 {
  background-color: var(--3);
  overflow-x: clip;
}

.header_wrap {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100vw;
  height: 100vh;
  display: flex;
  position: relative;
}

.button-special {
  background-color: var(--1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--3);
  border-radius: .75rem;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  text-decoration: none;
  transition: background-color .3s;
  display: flex;
}

.button-special:active {
  background-color: #e5e5e5b3;
}

.navbar-web {
  z-index: 99;
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  justify-content: center;
  align-items: center;
  height: 3rem;
  display: flex;
  position: fixed;
  inset: 3rem 0% auto;
}

.nav-litems_wrap-web {
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  -webkit-backdrop-filter: blur(60px);
  backdrop-filter: blur(60px);
  background-color: #ffffff03;
  border-radius: .75rem;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 20rem;
  height: 100%;
  display: flex;
}

.payoff_wrap {
  z-index: 1;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  padding-left: 10%;
  padding-right: 10%;
  display: flex;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.payoff-bg {
  z-index: -2;
  object-fit: cover;
  width: 100vw;
  height: 100vh;
  position: absolute;
  inset: 0%;
}

.payoff-bg.is_overlay {
  z-index: -1;
  mix-blend-mode: multiply;
  background-color: #05050599;
}

.about_wrap {
  z-index: 2;
  background-color: var(--3);
  border-radius: 3rem 3rem 0 0;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100vw;
  min-height: 120vh;
  padding-top: 10%;
  padding-left: 10%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.about-text {
  width: 100%;
  max-width: 50rem;
}

.about-image {
  object-fit: cover;
  height: 38%;
  position: absolute;
  top: -2%;
  right: -2%;
}

.function_wrap {
  grid-column-gap: 5rem;
  grid-row-gap: 5rem;
  justify-content: flex-start;
  align-items: center;
  width: 100vw;
  height: 140vh;
  min-height: 140vh;
  padding-left: 4%;
  padding-right: 4%;
  display: flex;
  position: relative;
}

.function-image {
  z-index: -2;
  opacity: 0;
  object-fit: cover;
  width: 100vw;
  max-width: none;
  height: 100%;
  transition: none;
  position: absolute;
  inset: 0% auto auto 0%;
}

.function-image.is_first {
  z-index: -1;
  opacity: 100;
  width: 100%;
  inset: 0%;
}

.function-image.is_second {
  z-index: -2;
}

.function-image.is_third {
  z-index: -3;
}

.function-image.is_revealed {
  z-index: -1;
  opacity: 100;
  transition-duration: .4s;
}

.function-image.reveal {
  opacity: 100;
}

.function-image.is_overlay {
  z-index: -1;
  opacity: 100;
  mix-blend-mode: multiply;
  background-color: #5e5e5e;
}

.function-list_wrap {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 50%;
  display: flex;
}

.function-desc_wrap {
  z-index: 2;
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  height: 50%;
  min-height: 50%;
  display: flex;
  position: relative;
}

.txt-l {
  font-size: var(--_text---txt-l);
  letter-spacing: .05rem;
  font-weight: 200;
  line-height: 110%;
}

.function-desc {
  opacity: 0;
  position: absolute;
  inset: auto 0% 0%;
}

.function-desc.txt-m {
  transition: opacity .5s;
}

.function-desc.txt-m.reveal {
  opacity: 100;
}

.function-desc.txt-l {
  transition: transform .3s;
  transform: translate(0, 50%);
}

.function-desc.txt-l.reveal {
  opacity: 100;
  transform: translate(0);
}

.function-title {
  filter: blur(5px);
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  transition: filter .5s;
  display: flex;
}

.function-title.is_clean {
  filter: none;
  flex: 1;
  font-weight: 400;
  transition: filter 1.2s;
}

.solution_warp {
  z-index: 3;
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  height: 100vh;
  padding-top: 30vh;
  padding-left: 10vw;
  padding-right: 10vw;
  display: flex;
  position: sticky;
  top: 0;
}

.solution-image {
  z-index: 0;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.how_wrap {
  background-color: #000;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 250vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.how-text {
  text-align: center;
  max-width: 50rem;
}

.how-text.txt-m {
  margin-top: 4%;
}

.solution-text {
  text-align: center;
  width: 50rem;
  max-width: 50rem;
  position: relative;
}

.how-img-1 {
  width: 40%;
  position: absolute;
  bottom: 0%;
  right: 55%;
}

.how-img-3 {
  width: 30%;
  position: absolute;
  bottom: 0%;
  left: 90%;
}

.how-img-2 {
  width: 30%;
  position: absolute;
  bottom: 0%;
  right: 16%;
}

.how-img-4 {
  width: 25%;
  position: absolute;
  bottom: 0%;
  left: -2%;
}

.how-img-5 {
  width: 20%;
  position: absolute;
  bottom: 0%;
  right: 20%;
}

.how-img-6 {
  width: 30%;
  position: absolute;
  bottom: 0%;
  right: 5%;
}

.how-img-7 {
  width: 30%;
  position: absolute;
  bottom: 0%;
  left: -5%;
}

.how-img-8 {
  width: 6%;
  position: absolute;
  bottom: 0%;
}

.how-img-9 {
  width: 24%;
  position: absolute;
  bottom: 0%;
  right: -10%;
}

.contact_wrap {
  z-index: 3;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  margin-top: 250vh;
  padding: 3rem;
  display: flex;
  position: sticky;
  top: 0;
}

.contact-text {
  text-align: left;
  width: 100%;
  max-width: 70rem;
}

.buttons-contact_wrap {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-flow: row;
  width: 100%;
  max-width: 70rem;
  display: flex;
}

.buttons-social_wrap {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-flow: row;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  max-width: 70rem;
  display: flex;
}

.modal-items_bg {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  -webkit-backdrop-filter: blur(80px);
  backdrop-filter: blur(80px);
  background-color: #ffffff0a;
  border-radius: 3rem;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 100rem;
  height: 100%;
  padding: 10%;
  display: flex;
  overflow: hidden;
}

.modal-item-top_wrap {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 70rem;
  display: flex;
}

.payoff-text {
  filter: blur(10px);
  transition: filter 1.2s;
}

.payoff-text.is_clean {
  filter: none;
}

.payoff-wrap_scroll {
  z-index: 1;
  height: 300vh;
  position: sticky;
  top: 0;
}

.sticky-a_scroll {
  z-index: 2;
  position: relative;
}

.all-section_scroll {
  position: relative;
}

.about-video_wrap {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.function-image_wrap {
  z-index: -1;
  position: absolute;
  inset: 0%;
}

.solution-image_wrap {
  width: 100vw;
  height: 100vh;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.sticky-b_scroll {
  position: relative;
}

.txt-m {
  font-size: 1.5rem;
  line-height: 110%;
}

.solution-image_blur {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: #06060680;
  width: 100%;
  height: 100%;
}

.modal_wrap {
  z-index: 999;
  flex-flow: column;
  width: 100vw;
  height: 100vh;
  padding: 5%;
  position: fixed;
  inset: 0%;
  transform: translate(0, 101vh);
}

.modal_bg {
  z-index: -1;
  opacity: 1;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background-color: #06060680;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  padding: 3rem;
  display: block;
  position: absolute;
  inset: 0%;
}

.button-close_wrap {
  padding: .5rem;
}

.logo_mobile {
  height: 100%;
}

.swiper-wrapper {
  height: 110vh;
  display: flex;
  position: relative;
}

.swiper-slide {
  height: 100%;
  overflow: hidden;
}

.slide-bg {
  z-index: 1;
  width: 100%;
}

.swiper-navigation {
  z-index: 99;
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-left: 10vw;
  padding-right: 10vw;
  display: flex;
  position: absolute;
  bottom: 10%;
}

.swiper-pagination-bullet {
  background-color: #fff;
  border-radius: 6rem;
  flex: 1;
  justify-content: center;
  align-items: center;
  height: .08rem;
  display: flex;
}

.swiper-pagination {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.navbar_mobile {
  z-index: 99;
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  justify-content: center;
  align-items: center;
  display: none;
}

.nav-items_wrap-mobile {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  -webkit-backdrop-filter: blur(60px);
  backdrop-filter: blur(60px);
  background-color: #ffffff03;
  border-radius: .75rem;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  display: flex;
}

.button-contact_wrap-web {
  text-decoration: none;
}

.logo_web {
  width: 3rem;
  height: auto;
}

.navbar_tablet {
  z-index: 99;
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  justify-content: center;
  align-items: center;
  height: 3rem;
  display: none;
  position: fixed;
  inset: 3rem 0% auto;
}

.logo_tablet {
  height: 100%;
}

.nav-items_wrap-tablet {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  -webkit-backdrop-filter: blur(60px);
  backdrop-filter: blur(60px);
  background-color: #ffffff03;
  border-radius: .75rem;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  display: flex;
}

.div-block {
  height: 100vh;
}

.function-title_wrap {
  filter: blur(5px);
  transition: opacity .4s;
}

.function-title_wrap.is_clean {
  filter: none;
}

.txt-button-special {
  letter-spacing: .06rem;
  font-size: .8rem;
  font-weight: 200;
  line-height: .75rem;
}

.text-block {
  letter-spacing: .06rem;
  font-size: .75rem;
}

.function-showing-logic {
  display: none;
}

.link-block-2, .link-contact {
  text-decoration: none;
}

.logo-l {
  width: 35rem;
  position: fixed;
  top: 50%;
  transform: translate(0, -50%);
}

.solution-title {
  font-weight: 400;
}

.image {
  height: 100%;
}

.function-image_overlay {
  z-index: 99;
  opacity: 1;
  mix-blend-mode: multiply;
  object-fit: cover;
  background-color: #5e5e5e;
  width: 100vw;
  max-width: none;
  height: 100%;
  position: absolute;
  inset: 0% auto auto 0%;
}

.function-image_overlay.is_first {
  z-index: -1;
  opacity: 100;
  width: 100%;
  inset: 0%;
}

.function-image_overlay.is_second {
  z-index: -2;
}

.function-image_overlay.is_third {
  z-index: -3;
}

.function-image_overlay.is_revealed {
  z-index: -1;
  opacity: 100;
  transition-duration: .4s;
}

.function-image_overlay.reveal {
  opacity: 100;
}

.function-image_overlay.is_overlay {
  z-index: -1;
  opacity: 100;
  mix-blend-mode: multiply;
  background-color: #5e5e5e;
}

.swiper_mobile {
  display: none !important;
}

.scroll-icon_wrap {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  bottom: 20vh;
}

.txt-xs {
  color: var(--1);
  text-align: center;
  letter-spacing: .1rem;
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 300;
  line-height: .75rem;
  text-decoration: none;
}

.about-video {
  z-index: -2;
  aspect-ratio: 4 / 5;
  mix-blend-mode: screen;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.about-video.is_overlay {
  z-index: -1;
  mix-blend-mode: multiply;
  background-color: #05050599;
}

.scroll-lottie {
  height: 3rem;
}

.background-video {
  mix-blend-mode: screen;
  width: 35rem;
}

.head-video {
  mix-blend-mode: screen;
  width: 100vw;
}

.background-video-2 {
  width: 100%;
  position: relative;
}

.background-video-3 {
  width: 50%;
  height: 50%;
}

.header-video {
  mix-blend-mode: screen;
  width: 100%;
  height: 100%;
  position: relative;
}

.how_scroll-target, .about_scroll-target {
  opacity: 0;
  background-color: red;
  width: 1px;
  height: 1px;
  margin-top: -85vh;
  position: absolute;
  top: auto;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.button-try {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background-image: linear-gradient(166deg, #fff0, #ffffff0d);
  border: .08rem solid #ffffff1a;
  border-radius: 1rem;
  justify-content: center;
  align-items: center;
  min-width: 24rem;
  padding: 1.2rem 1rem;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.try-wrap {
  z-index: 99;
  justify-content: center;
  align-items: flex-end;
  display: flex;
  position: fixed;
  inset: auto 0% 8%;
}

.button-try_mobile {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background-image: linear-gradient(166deg, #fff0, #ffffff0d);
  border-radius: 1rem;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-width: 3rem;
  height: 3rem;
  padding: 1.2rem 1rem;
  text-decoration: none;
  display: flex;
}

@media screen and (max-width: 991px) {
  .txt-button {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    font-size: 1rem;
  }

  .txt-button.menu_mobile {
    flex: 1;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 1rem;
    display: flex;
  }

  .txt-button.menu_tab {
    flex: 1;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    display: flex;
  }

  .txt-button.txt-nav {
    flex: 1;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 1rem;
    display: flex;
  }

  .button-primary {
    transition: opacity .3s;
  }

  .button-primary:active {
    opacity: .4;
  }

  .button-icon {
    transition: opacity .3s;
  }

  .button-icon:active {
    opacity: .5;
  }

  .navbar-web {
    display: none;
  }

  .about_wrap {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    padding-top: 32%;
    padding-left: 4%;
    padding-right: 4%;
  }

  .about-text {
    text-align: center;
  }

  .about-image {
    height: 50%;
    top: auto;
    right: auto;
  }

  .function_wrap {
    display: none;
  }

  .function-desc {
    opacity: 100;
    width: 100%;
    position: static;
  }

  .function-desc.txt-m {
    width: auto;
  }

  .function-title {
    filter: none;
    flex: none;
    width: auto;
    display: block;
  }

  .function-title.is_clean {
    flex: none;
    display: block;
  }

  .solution_warp {
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .how_wrap {
    height: 200vh;
    padding-left: 10%;
    padding-right: 10%;
  }

  .solution-text {
    width: 100%;
  }

  .contact_wrap {
    padding: 10vh 4vw;
  }

  .about-video_wrap {
    justify-content: center;
    align-items: center;
    height: 60%;
    display: flex;
  }

  .modal_wrap {
    display: none;
  }

  .button-contact-mobile_wrap {
    width: 100%;
    text-decoration: none;
  }

  .logo_mobile {
    width: 3rem;
    height: auto;
    position: absolute;
    inset: 0% auto auto -20vw;
  }

  .swiper-wrapper {
    z-index: 1;
    height: 100%;
  }

  .swiper-slide {
    flex-flow: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: .5rem;
    height: 100%;
    padding-bottom: 40vh;
    padding-left: 10vw;
    padding-right: 10vw;
    position: relative;
    display: flex !important;
  }

  .slide-bg {
    z-index: -99;
    object-fit: cover;
    max-width: none;
    height: 100%;
    position: absolute;
    inset: 0%;
  }

  .swiper-navigation {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-flow: column;
    bottom: 15vh;
  }

  .navbar_mobile {
    justify-content: flex-end;
    align-items: flex-start;
    width: 100vw;
    padding-left: 4vw;
    padding-right: 4vw;
    display: flex;
    position: fixed;
    inset: 3rem 0% auto;
  }

  .button-nav-mobile {
    z-index: 1;
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    padding: .5rem;
    transition: opacity .3s;
    display: flex;
    position: absolute;
    inset: 0% 0% auto auto;
  }

  .button-nav-mobile:active {
    opacity: .4;
  }

  .button-nav-line {
    background-color: var(--1);
    width: 100%;
    height: 1%;
    position: static;
  }

  .nav-mobile_bg {
    z-index: -1;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background-color: #060606cc;
    width: 120vw;
    height: 120vh;
    position: absolute;
    inset: -10vh -10vw;
  }

  .nav-items_wrap-mobile {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
    width: 100%;
    height: 25rem;
    padding: 1rem 1.5rem 1.5rem;
  }

  .navbar_tablet {
    justify-content: flex-end;
    align-items: flex-start;
    padding-left: 5vw;
    padding-right: 5vw;
    display: flex;
  }

  .logo_tablet {
    position: absolute;
    inset: 0% auto auto 5vw;
  }

  .nav-items_wrap-tablet {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    flex-flow: column;
    width: 100%;
    height: 40vh;
    padding: .5rem 1.5rem 1.5rem;
  }

  .nav_bg-tablet {
    background-color: #06060666;
    width: 150vw;
    height: 150vh;
    position: absolute;
    inset: -20vh;
  }

  .button-nav_tablet {
    z-index: 10;
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    padding: .5rem;
    transition: opacity .3s;
    display: flex;
    position: absolute;
    inset: 0% 0% auto auto;
  }

  .button-nav_tablet:active {
    opacity: .4;
  }

  .button-contact_wrap-tab {
    width: 100%;
  }

  .txt-button-special {
    text-align: center;
    justify-content: flex-start;
    align-items: center;
    padding: .25rem;
    font-size: 1rem;
  }

  .txt-button-special.menu_mobile {
    flex: 1;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 1rem;
    display: flex;
  }

  .txt-button-special.menu_tab {
    flex: 1;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    display: flex;
  }

  .link-block {
    width: 100%;
    height: 100%;
  }

  .buttons-swiper_wrap {
    justify-content: space-between;
    align-items: center;
    width: 100%;
    display: flex;
  }

  .slide-bg_overlay {
    z-index: -1;
    mix-blend-mode: multiply;
    background-color: #5e5e5e;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
  }

  .swiper_mobile {
    width: 100vw;
    height: 120vh;
    position: relative;
    overflow: hidden;
    display: flex !important;
  }

  .scroll-icon_wrap {
    bottom: 7vh;
  }

  .txt-xs {
    text-align: center;
    justify-content: flex-start;
    align-items: center;
    padding: .25rem;
  }

  .txt-xs.menu_mobile {
    flex: 1;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 1rem;
    display: flex;
  }

  .txt-xs.menu_tab {
    flex: 1;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    display: flex;
  }

  .header-video {
    position: relative;
  }

  .about_scroll-target {
    margin-top: 0;
  }

  .button-try_mobile {
    max-width: 16rem;
    position: absolute;
    inset: 0% auto auto -34vw;
  }
}

@media screen and (max-width: 767px) {
  .contact-text {
    letter-spacing: 0;
    font-size: 3.5rem;
    line-height: 4rem;
  }

  .buttons-contact_wrap {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    flex-flow: column;
  }

  .buttons-social_wrap {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    justify-content: center;
    align-items: center;
    padding: 4% 10%;
  }

  .modal-items_bg {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    justify-content: center;
    align-items: center;
    height: auto;
    padding-left: 4%;
    padding-right: 4%;
  }

  .modal-item-top_wrap {
    justify-content: center;
    align-items: center;
    padding-left: 10%;
    padding-right: 10%;
  }
}

@media screen and (max-width: 479px) {
  h1 {
    letter-spacing: 0;
    font-size: 3.75rem;
    line-height: 95%;
  }

  p {
    font-size: 1rem;
  }

  .txt-button {
    text-align: center;
    width: 100%;
  }

  .txt-button.menu_mobile, .txt-button.menu_tab {
    text-align: left;
    flex: 1;
    justify-content: space-between;
    align-items: center;
    min-height: 2.5rem;
    display: flex;
  }

  .header_wrap {
    grid-column-gap: .63rem;
    grid-row-gap: .63rem;
  }

  .navbar-web {
    justify-content: space-between;
    align-items: flex-start;
    padding-left: 4%;
    padding-right: 4%;
    display: none;
  }

  .nav-litems_wrap-web {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
    width: 100%;
    height: auto;
    padding: 1.5rem;
  }

  .about_wrap {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    padding: 40% 4% 8%;
  }

  .about-text {
    text-align: center;
    font-size: 2.5rem;
    line-height: 2.75rem;
  }

  .about-image {
    width: 100%;
    max-width: 80%;
    height: auto;
    max-height: 100%;
    position: relative;
    top: 0%;
    right: 0%;
    overflow: visible;
  }

  .function_wrap {
    display: none;
  }

  .txt-l {
    font-size: 1.25rem;
  }

  .function-desc {
    opacity: 100;
  }

  .function-desc.txt-m {
    font-size: 1rem;
    line-height: 1em;
    position: static;
  }

  .function-title {
    filter: none;
    justify-content: flex-start;
    align-items: flex-end;
    padding-top: 0;
    padding-bottom: 0;
  }

  .solution_warp {
    padding-top: 40%;
    padding-left: 4%;
    padding-right: 4%;
  }

  .how_wrap {
    height: 300vh;
  }

  .how-text.txt-m {
    font-size: 1.2rem;
  }

  .how-text.txt-l {
    justify-content: center;
    align-items: center;
    height: 100%;
    display: flex;
  }

  .solution-text {
    width: 100%;
  }

  .how-img-1 {
    width: 50%;
    margin-top: 319%;
  }

  .how-img-3 {
    width: 50%;
    margin-top: 269%;
    margin-left: 99%;
  }

  .how-img-2 {
    width: 50%;
  }

  .how-img-4 {
    width: 40%;
  }

  .how-img-5 {
    width: 30%;
    margin-top: 420%;
  }

  .how-img-6 {
    width: 70%;
    margin-top: 225%;
  }

  .how-img-7 {
    width: 40%;
    margin-top: 103%;
    margin-right: 57%;
  }

  .how-img-8 {
    width: 20%;
    margin-top: 160%;
  }

  .how-img-9 {
    width: 30%;
    margin-left: 97%;
  }

  .contact_wrap {
    justify-content: center;
    align-items: center;
    margin-top: 500vh;
    padding: 4%;
    display: flex;
  }

  .contact-text {
    text-align: center;
    font-size: 2.5rem;
    line-height: 2.75rem;
  }

  .buttons-contact_wrap {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    flex-flow: column;
  }

  .buttons-social_wrap {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    justify-content: center;
    align-items: center;
    padding: 4% 10%;
  }

  .modal-items_bg {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    justify-content: center;
    align-items: center;
    height: auto;
    padding: 20% 4% 21%;
  }

  .modal-item-top_wrap {
    justify-content: center;
    align-items: center;
    padding-left: 10%;
    padding-right: 10%;
  }

  .payoff-text {
    font-size: 2.5rem;
    line-height: 2.75rem;
  }

  .payoff-text.is_clean {
    filter: none;
  }

  .about-video_wrap {
    justify-content: center;
    align-items: center;
    height: auto;
    display: flex;
    overflow: visible;
  }

  .modal_wrap {
    justify-content: center;
    align-items: center;
  }

  .button-contact-mobile_wrap {
    width: 100%;
  }

  .modal_bg {
    background-color: #0003;
  }

  .button-close_wrap {
    padding-left: 0;
    padding-right: 0;
  }

  .logo_mobile {
    transition: none;
    transform: none;
  }

  .swiper-slide {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 2rem;
    width: 100%;
    padding-left: 5vw;
    padding-right: 5vw;
    position: relative;
    display: flex !important;
  }

  .slide-bg {
    z-index: -10;
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
  }

  .swiper-navigation {
    flex-flow: column;
  }

  .swiper-pagination {
    grid-column-gap: .13rem;
    grid-row-gap: .13rem;
  }

  .menu-link_wrap {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
  }

  .button-nav-mobile {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    padding: .5rem;
    display: flex;
    position: absolute;
    inset: 0% 0% auto auto;
  }

  .button-nav-line {
    background-color: var(--1);
    width: 100%;
    height: 1%;
    transition: transform 1.2s;
  }

  .nav-mobile_bg {
    z-index: -1;
    background-color: #06060699;
    width: 200vw;
    height: 200vh;
    position: absolute;
    inset: -10vh;
  }

  .nav-items_wrap-mobile {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
    width: 100%;
    height: auto;
    padding: 1.5rem;
  }

  .button-contact_wrap-web {
    width: 100%;
  }

  .logo_web {
    transition: none;
    position: absolute;
    inset: 0% auto auto 4%;
    transform: none;
  }

  .navbar_tablet {
    justify-content: flex-end;
    align-items: flex-start;
    padding-left: 4%;
    padding-right: 4%;
    display: none;
  }

  .logo_tablet {
    transition: none;
    position: absolute;
    inset: 0% auto auto 4%;
    transform: none;
  }

  .nav-items_wrap-tablet {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
    width: 100%;
    height: auto;
    padding: 1.5rem;
  }

  .nav_bg-tablet {
    z-index: -1;
    background-color: #06060699;
    width: 200vw;
    height: 200vh;
    position: absolute;
    inset: -10vh;
  }

  .button-nav_tablet {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    padding-left: .5rem;
    padding-right: .5rem;
    display: flex;
    position: absolute;
    inset: 0% 0% auto auto;
  }

  .button-contact_wrap-tab {
    width: 100%;
  }

  .div-block {
    background-color: #eb1a1a;
  }

  .txt-button-special {
    text-align: center;
    width: 100%;
  }

  .txt-button-special.menu_mobile, .txt-button-special.menu_tab {
    text-align: left;
    flex: 1;
    justify-content: space-between;
    align-items: center;
    min-height: 2.5rem;
    display: flex;
  }

  .logo-l {
    width: 18rem;
  }

  .buttons-swiper_wrap {
    justify-content: space-between;
    align-items: center;
    width: 100%;
    display: flex;
  }

  .slide-bg_overlay {
    z-index: -1;
    position: absolute;
  }

  .swiper_mobile {
    display: block;
    overflow: hidden;
  }

  .scroll-icon_wrap {
    bottom: 10dvh;
  }

  .txt-xs {
    text-align: center;
    width: 100%;
  }

  .txt-xs.menu_mobile, .txt-xs.menu_tab {
    text-align: left;
    flex: 1;
    justify-content: space-between;
    align-items: center;
    min-height: 2.5rem;
    display: flex;
  }

  .heading-2 {
    line-height: 100%;
  }
}


