/*-------------------------------
---.page-hero
-------------------------------*/

.page-hero .section_inner {
  min-height: 100vw;
}

.page-hero .video_container {
  position: absolute;
  height: 100%
}

.page-hero .page-title {
  top: 46%;
}

.page-hero .intro {
  top: 47%;
}

.page-hero .intro p {
  font-size: 80%;
}

.page-hero .intro .txt_body {
  font-size: var(--font-size-s);
  text-align: inherit;
}

.page-hero .intro span {
  display: inline-block;
  max-width: 13em;
}

/*-------------------------------
---.main
-------------------------------*/

.main {
  grid-auto-rows: max-content;
}

.main .section:not(:last-child) .section_inner {
  grid-template-columns: 100%;
}

.main .section:not(:last-child) .section_inner {
  grid-gap: 3rem;
}

.main .section:not(:last-child) .section_contents {
  padding: 6rem 5% 0;
}

.main .section:not(:last-child) .contents_inner {
  width: 100%;
}

.main .section .catch_copy {
  width: min(21.5rem, 63.5%) !important;
}

.main .section.realization .catch_copy {
  width: min(13.5rem, 63.5%) !important;
}

.main .section:not(:last-child) .catch_copy {
  margin-bottom: 3rem;
}

.main .section:last-child .catch_copy {
  margin-bottom: 6rem;
}

.main .section:not(:last-child):nth-child(odd) .image {
  order: unset;
}

.relax .image,
.real .image {
  margin: 0 1vw 1vw;
}

.future {
  background-image: url(../image/house-gallery/bg_future_mb.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.future .section_inner {
  min-height: unset;
}

.future .section_contents {
  position: relative;
  padding-top: 9rem;
  padding-bottom: 9rem;
}

.future .link-all {
  width: min(48rem, 84%);
}

.future .link-all a {
  padding: 5% 3.5%;
}