body.js_loading_active {
  overflow: hidden;
}

.js_page {
  opacity: 0;
}
.js_page.is_active {
  opacity: 1;
  transition: 0.5s;
  transition-delay: 0.3s;
}

.p-mainv {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 37vh 0 3.2rem;
}
@media screen and (min-width: 641px) {
  .p-mainv {
    padding: 53.4vh 0 3.2rem;
  }
}
@media screen and (min-width: 992px) and (orientation: landscape) {
  .p-mainv {
    padding-bottom: 6.4rem;
  }
}
@media screen and (min-width: 1701px) {
  .p-mainv {
    padding: 68vh 0 6.4rem;
  }
}

@media screen and (min-width: 769px) and (orientation: landscape) {
  .p-mainv__inner {
    display: flex;
    justify-content: flex-end;
  }
}

.p-mainv_title {
  font-size: 2rem;
  line-height: 1.351;
}
@media screen and (min-width: 769px) and (orientation: landscape) {
  .p-mainv_title {
    font-size: 2.4rem;
  }
}