:root {
  --spacing: 20px;
  --spacing-0: 0px;
  --spacing-0-5: calc(var(--spacing) * 0.5);
  --spacing-1: var(--spacing);
  --spacing-1-5: calc(var(--spacing) * 1.5);
  --spacing-2: calc(var(--spacing) * 2);
  --spacing-2-5: calc(var(--spacing) * 2.5);
  --spacing-3: calc(var(--spacing) * 3);
  --spacing-3-5: calc(var(--spacing) * 3.5);
  --spacing-4: calc(var(--spacing) * 4);
  --spacing-4-5: calc(var(--spacing) * 4.5);
  --spacing-5: calc(var(--spacing) * 5);
  --spacing-6: calc(var(--spacing) * 6);
  --spacing-6-5: calc(var(--spacing) * 6.5);
  --spacing-7: calc(var(--spacing) * 7);
  --spacing-8: calc(var(--spacing) * 8);
  --col: calc(100vw / 8);
  --col-1: var(--col);
  --col-2: calc(var(--col) * 2);
  --col-2-2: calc(var(--col) * 2.2);
  --col-2-5: calc(var(--col) * 2.5);
  --col-3: calc(var(--col) * 3);
  --col-3-5: calc(var(--col) * 3.5);
  --col-4: calc(var(--col) * 4);
  --col-4-5: calc(var(--col) * 4.5);
  --col-5: calc(var(--col) * 5);
  --col-6: calc(var(--col) * 6);
  --col-7: calc(var(--col) * 7);
  --col-7-5: calc(var(--col) * 7.5);
  --col-8: calc(var(--col) * 8);
  --col-9: calc(var(--col) * 9);
  --col-10: calc(var(--col) * 10);
  --col-11: calc(var(--col) * 11);
  --col-12: calc(var(--col) * 12)
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  :root {
    --spacing: 40px;
    --col: calc(100vw / 12)
  }
}
@media screen and (min-width:980px) and (max-width:1200px) {
  :root {
    --spacing: calc(40px + 10 * ((100vw - 980px) / 220))
  }
}
@media screen and (min-width:1200px) and (max-width:1440px) {
  :root {
    --spacing: calc(50px + 10 * ((100vw - 1200px) / 240))
  }
}
@media screen and (min-width:1440px) and (max-width:1920px) {
  :root {
    --spacing: calc(60px + 20 * ((100vw - 1440px) / 480))
  }
}
@media only screen and (min-width:1920px) {
  :root {
    --spacing: 80px
  }
}
.about-formats-item__image, .advantages-item__button, .advantages-item__hover, .advantages-item__hover__description, .plan__svg__hoverable {
  transition-duration: .4s;
  transition-timing-function: cubic-bezier(.25, .74, .22, .99)
}
.advantages-item--project .advantages-item__image {
  transition-duration: .6s;
  transition-timing-function: cubic-bezier(.25, .74, .22, .99)
}
.advantages-item__title {
  font-family: Axiforma, HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  text-rendering: optimizeLegibility;
  font-feature-settings: "salt"on;
  -webkit-font-kerning: normal;
  font-kerning: normal
}
.advantages-item--full .advantages-item__title {
  font-family: Axiforma, HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, sans-serif
}
.advantages-item__title, .plan-text h1 {
  font-size: 1.1rem;
  line-height: 1.45455em;
  letter-spacing: .04em
}
.advantages-item--full .advantages-item__title {
  font-size: 1.5rem;
  line-height: 1.33333em;
  letter-spacing: .02em;
  font-weight: 300
}
.compass__text, .plan-text p, .tooltip {
  font-size: .9rem;
  line-height: 1.55556em;
  letter-spacing: .06em
}
.planning-popover__text {
  font-size: 1.1rem;
  line-height: 1.45455em;
  letter-spacing: .04em
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .advantages-item--full .advantages-item__title {
    font-size: calc(1.5rem + 5 * ((100vw - 360px) / 308));
    line-height: calc(1.33333em + -.83333 * ((100vw - 360px) / 308));
    letter-spacing: .02em
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .advantages-item--full .advantages-item__title {
    font-size: calc(1.5rem + 5 * ((100vw - 568px) / 412));
    line-height: calc(1.33333em + -.83333 * ((100vw - 568px) / 412));
    letter-spacing: .02em
  }
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .planning-popover__text {
    font-size: calc(1.1rem + 1 * ((100vw - 360px) / 308));
    line-height: calc(1.45455em + -1.21212 * ((100vw - 360px) / 308));
    letter-spacing: .04em
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .planning-popover__text {
    font-size: calc(1.1rem + 1 * ((100vw - 568px) / 412));
    line-height: calc(1.45455em + -1.21212 * ((100vw - 568px) / 412));
    letter-spacing: .04em
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .advantages-item--full .advantages-item__title {
    font-size: 2rem;
    line-height: 1.25em;
    letter-spacing: .02em;
    font-weight: 300
  }
  .planning-popover__text {
    font-size: 1.2rem;
    line-height: 1.33333em;
    letter-spacing: .04em
  }
}
@media only screen and (min-width:1200px) {
  .advantages-item__title, .plan-text h1 {
    font-size: 1.3rem;
    line-height: 1.53846em;
    letter-spacing: .04em
  }
  .compass__text, .plan-text p, .tooltip {
    font-size: 1.1rem;
    line-height: 1.45455em;
    letter-spacing: .04em
  }
  .advantages-item--full .advantages-item__title {
    font-size: 2.7rem;
    line-height: 1.2963em;
    letter-spacing: .02em
  }
}
@media only screen and (min-width:1920px) {
  .advantages-item__title, .plan-text h1 {
    font-size: 1.5rem;
    line-height: 1.6em;
    letter-spacing: .04em
  }
}
.tabs-contents {
  position: relative;
  overflow: visible !important
}
.tabs-contents__content[aria-hidden=true] {
  display: none
}
.tabs-contents__content--animating-in {
  position: absolute !important;
  z-index: 2 !important;
  left: 0;
  top: 0;
  width: 100%;
  min-height: 100%
}
.tabs-contents__content--animating-out {
  z-index: 1 !important
}
.gallery-fullscreen .tabs-contents__content--animating-in, .progress-gallery .tabs-contents__content--animating-in {
  z-index: 2 !important
}
.gallery-fullscreen .tabs-contents__content--animating-top, .progress-gallery .tabs-contents__content--animating-top {
  z-index: 1 !important
}
.scroll-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2px;
  padding-bottom: 2px;
  font-size: 2.7rem;
  line-height: 1.11111em;
  letter-spacing: .02em;
  font-weight: 300
}
.scroll-text .scroll-text__line {
  display: block;
  white-space: nowrap;
  position: relative;
  padding-top: 20px;
  margin-top: -20px
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .scroll-text {
    font-size: 6.1rem;
    line-height: .98361em;
    letter-spacing: -.02em
  }
}
@media only screen and (min-width:1200px) {
  .scroll-text {
    font-size: 8.1rem;
    line-height: .98765em;
    letter-spacing: -.04em
  }
}
@media only screen and (min-width:1440px) {
  .scroll-text {
    font-size: 10.8rem;
    line-height: 1.01852em;
    letter-spacing: -.04em
  }
}
@media only screen and (min-width:1920px) {
  .scroll-text {
    font-size: 13.5rem;
    line-height: 1.0125em;
    letter-spacing: -.04em
  }
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .scroll-text {
    font-size: calc(2.7rem + 34 * ((100vw - 360px) / 308))
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .scroll-text {
    font-size: calc(2.7rem + 34 * ((100vw - 568px) / 412));
    line-height: calc(1.11111em + -1.27505 * ((100vw - 568px) / 412));
    letter-spacing: calc(.02em + -.4 * ((100vw - 568px) / 412))
  }
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .scroll-text {
    font-size: calc(2.7rem + 29 * ((100vw - 360px) / 308));
    line-height: calc(1.11111em + -1.27505 * ((100vw - 360px) / 308));
    letter-spacing: calc(.02em + -.4 * ((100vw - 360px) / 308))
  }
}
.scroll-text .scroll-text__line.text--crop {
  padding-top: 0;
  margin-top: 0
}
.scroll-text .scroll-text__line.text--crop:before {
  margin-top: -.09056em
}
.scroll-text .scroll-text__line.text--crop:after {
  margin-bottom: -.29056em
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .scroll-text .scroll-text__line.text--crop:before {
    margin-top: -.0268em
  }
  .scroll-text .scroll-text__line.text--crop:after {
    margin-bottom: -.2268em
  }
}
@media only screen and (min-width:1200px) {
  .scroll-text .scroll-text__line.text--crop:before {
    margin-top: -.02883em
  }
  .scroll-text .scroll-text__line.text--crop:after {
    margin-bottom: -.22883em
  }
}
@media only screen and (min-width:1440px) {
  .scroll-text .scroll-text__line.text--crop:before {
    margin-top: -.04426em
  }
  .scroll-text .scroll-text__line.text--crop:after {
    margin-bottom: -.24426em
  }
}
@media only screen and (min-width:1920px) {
  .scroll-text .scroll-text__line.text--crop:before {
    margin-top: -.04125em
  }
  .scroll-text .scroll-text__line.text--crop:after {
    margin-bottom: -.24125em
  }
}
.scroll-text .scroll-text__line.text--crop:before {
  display: none
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .scroll-text {
    padding-top: 4px
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .parallax-picture {
    overflow: hidden
  }
  .parallax-picture img {
    display: block;
    height: calc(100% + var(--spacing));
    margin-bottom: calc(var(--spacing) * -1);
    will-change: transform !important
  }
  .parallax-picture--lg img {
    margin-bottom: calc(var(--spacing) * -2)
  }
  .parallax-picture--md img {
    margin-bottom: calc(var(--spacing) * -1);
    margin-top: calc(var(--spacing) * -1)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .parallax-picture--full-height img {
    margin-bottom: 0;
    height: calc(100% + var(--spacing))
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .parallax-block {
    overflow: hidden
  }
  .parallax-block__content {
    display: block;
    margin-bottom: calc(var(--spacing) * -2);
    will-change: transform !important
  }
}
.tooltip {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 13;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #2c2926;
  padding: 2px 20px 0;
  max-width: 50vw;
  height: 30px;
  border-radius: 100px;
  color: #e9e4dc
}
@media only screen and (min-width:1200px) {
  .tooltip {
    height: 40px;
    padding: 4px 20px 0
  }
}
.tooltip--nowrap {
  white-space: nowrap
}
.plan {
  position: relative
}
.plan, .plan__content {
  height: calc(100vh - var(--spacing));
  max-height: 88.88889vw
}
.plan.plan--planning .plan-popover {
  contain: layout;
  will-change: transform, opacity
}
.plan.plan--planning .plan-marker .btn {
  contain: strict
}
.plan.plan--planning .popover--triangle .plan-popover__content {
  contain: none
}
.plan.plan--planning, .plan.plan--planning .plan__content {
  width: 100%;
  height: 100%
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .plan.plan--planning, .plan.plan--planning .plan__content {
    height: 60vh
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .plan.plan--planning, .plan.plan--planning .plan__content {
    width: calc(900 / 1440 * 100vw);
    height: calc(600 / 900 * 70vh);
    max-height: calc(600 / 900 * 70vh)
  }
}
@media only screen and (min-width:980px) {
  .plan.plan--planning, .plan.plan--planning .plan__content {
    height: calc(600 / 900 * 100vh);
    max-height: calc(600 / 900 * 100vh)
  }
}
.plan.plan--visual-search .plan-popover {
  contain: layout;
  will-change: transform, opacity
}
.plan.plan--visual-search .plan-marker .btn {
  contain: strict
}
.plan.plan--visual-search .popover--triangle .plan-popover__content {
  contain: none
}
.plan.plan--visual-search, .plan.plan--visual-search .plan__content {
  height: 100vh;
  height: var(--viewport-height);
  max-height: 100vh;
  max-height: var(--viewport-height)
}
.plan.plan--floor {
  padding-top: calc(var(--spacing) * 3);
  padding-bottom: calc(var(--spacing) * 3);
  height: calc(100vh + 1px);
  height: calc(var(--viewport-height) + 1px);
  max-height: calc(100vh + 1px);
  max-height: calc(var(--viewport-height) + 1px)
}
.plan.plan--floor .plan__content {
  height: calc(var(--viewport-height) - var(--spacing) * 6);
  max-height: calc(var(--viewport-height) - var(--spacing) * 6)
}
@media only screen and (max-width:979px) {
  .plan.plan--floor {
    padding-left: 0;
    padding-right: 0
  }
  .plan.plan--floor .plan__content {
    margin-left: 0;
    margin-right: 0
  }
}
.plan.plan--floor .plan-marker {
  pointer-events: none
}
.has-hover .plan.plan--floor .plan-marker {
  pointer-events: all
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .plan.plan--floor {
    padding-top: calc(var(--spacing) * 6)
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .plan.plan--floor {
    padding-top: calc(var(--spacing) * 3);
    padding-left: var(--spacing);
    padding-right: var(--spacing);
    min-height: 200vh
  }
  .plan.plan--floor .plan__content {
    min-height: calc(200vh - var(--spacing) * 3)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9) and (max-width:979px), only screen and (min-width:668px) and (min-height:416px) and (max-width:979px) {
  .plan.plan--floor {
    padding-top: calc(var(--spacing) * 3);
    padding-left: var(--spacing);
    padding-right: var(--spacing);
    min-height: 900px
  }
  .plan.plan--floor .plan__content {
    min-height: calc(900px - var(--spacing) * 3)
  }
}
@media only screen and (min-width:980px) {
  .plan.plan--floor {
    min-height: 900px
  }
  .plan.plan--floor .plan__content {
    min-height: calc(900px - var(--spacing) * 6)
  }
}
.plan.plan--floor--1 {
  padding-top: calc(var(--spacing) * 2);
  padding-bottom: calc(var(--spacing) * 2);
  overflow: hidden
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .plan.plan--floor--1 {
    padding-top: calc(var(--spacing) * 6)
  }
  .plan.plan--floor--1 .plan__content {
    margin-left: calc(var(--spacing) * -2);
    width: calc(100vw + var(--spacing) * 4)
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .plan.plan--floor--1 {
    padding-top: calc(var(--spacing) * 3)
  }
  .plan.plan--floor--1 .plan__content {
    min-height: calc(200vh - var(--spacing) * 3);
    margin-left: calc(var(--spacing) * -2);
    width: calc(100vw + var(--spacing) * 4)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9) and (max-width:979px), only screen and (min-width:668px) and (min-height:416px) and (max-width:979px) {
  .plan.plan--floor--1 {
    padding-top: calc(var(--spacing) * 4.5)
  }
  .plan.plan--floor--1 .plan__content {
    min-height: calc(900px - var(--spacing) * 4.5);
    margin-left: calc(var(--spacing) * -1);
    width: calc(100vw + var(--spacing) * 2)
  }
}
@media only screen and (min-width:980px) {
  .plan.plan--floor--1 .plan__content {
    height: calc(var(--viewport-height) - var(--spacing) * 4);
    max-height: calc(var(--viewport-height) - var(--spacing) * 4);
    min-height: calc(900px - var(--spacing) * 4)
  }
}
.plan__image img, .plan__svg {
  width: 100%;
  height: 100%
}
.plan--clip-bottom .plan__content, .plan--clip-sides .plan__content {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%)
}
.plan--clip-bottom .plan__content, .plan--clip-bottom .plan__image img, .plan--clip-bottom .plan__svg, .plan--clip-sides .plan__content, .plan--clip-sides .plan__image img, .plan--clip-sides .plan__svg {
  height: var(--viewport-height);
  height: 100vh
}
.plan--clip-bottom .plan__image img, .plan--clip-sides .plan__image img {
  -o-object-fit: cover;
  object-fit: cover
}
.plan--clip-bottom.plan--floor .plan__content, .plan--clip-bottom.plan--floor .plan__image img, .plan--clip-bottom.plan--floor .plan__svg, .plan--clip-bottom.plan--visual-search .plan__content, .plan--clip-bottom.plan--visual-search .plan__image img, .plan--clip-bottom.plan--visual-search .plan__svg, .plan--clip-sides.plan--floor .plan__content, .plan--clip-sides.plan--floor .plan__image img, .plan--clip-sides.plan--floor .plan__svg, .plan--clip-sides.plan--visual-search .plan__content, .plan--clip-sides.plan--visual-search .plan__image img, .plan--clip-sides.plan--visual-search .plan__svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: var(--viewport-height);
  height: 100vh
}
.plan--clip-bottom.plan--floor .plan__content, .plan--clip-bottom.plan--visual-search .plan__content, .plan--clip-sides.plan--floor .plan__content, .plan--clip-sides.plan--visual-search .plan__content {
  max-height: 100vh
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9), only screen and (min-width:568px) and (max-aspect-ratio:13/9) and (max-width:979px), only screen and (min-width:668px) and (min-height:416px) and (max-width:979px) {
  .plan--clip-bottom.plan--floor.plan--visual-search--2 .plan__svg, .plan--clip-bottom.plan--visual-search.plan--visual-search--2 .plan__svg, .plan--clip-sides.plan--floor.plan--visual-search--2 .plan__svg, .plan--clip-sides.plan--visual-search.plan--visual-search--2 .plan__svg {
    left: 61.5%
  }
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .plan--clip-bottom.plan--floor.plan--visual-search--2 .plan__svg, .plan--clip-bottom.plan--visual-search.plan--visual-search--2 .plan__svg, .plan--clip-sides.plan--floor.plan--visual-search--2 .plan__svg, .plan--clip-sides.plan--visual-search.plan--visual-search--2 .plan__svg {
    top: 51.5%;
    left: 61%;
    height: 97%;
    max-height: 97%
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9), only screen and (min-width:568px) and (max-aspect-ratio:13/9) and (max-width:979px), only screen and (min-width:668px) and (min-height:416px) and (max-width:979px) {
  .plan--clip-bottom.plan--floor.plan--visual-search--1 .plan__svg, .plan--clip-bottom.plan--visual-search.plan--visual-search--1 .plan__svg, .plan--clip-sides.plan--floor.plan--visual-search--1 .plan__svg, .plan--clip-sides.plan--visual-search.plan--visual-search--1 .plan__svg {
    left: 47%;
    top: 49.2%;
    max-height: 101%;
    height: 101%
  }
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .plan--clip-bottom.plan--floor.plan--visual-search--1 .plan__svg, .plan--clip-bottom.plan--visual-search.plan--visual-search--1 .plan__svg, .plan--clip-sides.plan--floor.plan--visual-search--1 .plan__svg, .plan--clip-sides.plan--visual-search.plan--visual-search--1 .plan__svg {
    left: 45%
  }
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .plan--clip-bottom.plan--visual-search:not(.plan--visual-search--1):not(.plan--visual-search--2) .plan__content, .plan--clip-bottom.plan--visual-search:not(.plan--visual-search--1):not(.plan--visual-search--2) .plan__image img, .plan--clip-bottom.plan--visual-search:not(.plan--visual-search--1):not(.plan--visual-search--2) .plan__svg, .plan--clip-sides.plan--visual-search:not(.plan--visual-search--1):not(.plan--visual-search--2) .plan__content, .plan--clip-sides.plan--visual-search:not(.plan--visual-search--1):not(.plan--visual-search--2) .plan__image img, .plan--clip-sides.plan--visual-search:not(.plan--visual-search--1):not(.plan--visual-search--2) .plan__svg {
    top: auto;
    bottom: 0;
    transform: translate(-50%)
  }
  .plan--clip-bottom.plan--visual-search:not(.plan--visual-search--1):not(.plan--visual-search--2) .plan__image img, .plan--clip-sides.plan--visual-search:not(.plan--visual-search--1):not(.plan--visual-search--2) .plan__image img {
    -o-object-position: center bottom;
    object-position: center bottom
  }
}
.plan--clip-bottom .plan__content, .plan--clip-bottom .plan__image img, .plan--clip-bottom .plan__svg {
  width: 100vw;
  height: auto;
  max-height: none
}
.plan--clip-bottom .plan__image img {
  -o-object-position: 50% 0;
  object-position: 50% 0
}
.plan--clip-sides .plan__content, .plan--clip-sides .plan__image img, .plan--clip-sides .plan__svg {
  width: auto;
  min-width: 100vw
}
.plan--clip-sides .plan__image img {
  -o-object-position: 50% 50%;
  object-position: 50% 50%
}
.plan--background .plan__content:after, .plan--background .plan__content:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  opacity: var(--opacity, 0);
  pointer-events: none;
  z-index: 3;
  transition-duration: .4s;
  transition-timing-function: cubic-bezier(.25, .74, .22, .99);
  transition-property: opacity;
  contain: strict;
  will-change: transition, opacity
}
.plan--background .plan__content:before {
  transform: translate(var(--posX), var(--posY));
  width: var(--width);
  height: var(--height);
  background-color: #2c2926
}
.plan--background .plan__content:after {
  transform: translate(calc(var(--posX) - 20px), calc(var(--markerPosY) - 20px));
  width: 40px;
  height: 40px;
  border-radius: 20px;
  background-color: #2c2926;
  background-image: url(../assets/images/plus.svg);
  background-size: 20px 20px;
  background-position: 50%;
  background-repeat: no-repeat
}
@media only screen and (min-width:1200px) {
  .plan--background .plan__content:after {
    transform: translate(calc(var(--posX) - 30px), calc(var(--markerPosY) - 30px));
    width: 60px;
    height: 60px;
    border-radius: 30px
  }
}
.plan--background .popover__shadow {
  transform: translate(none) !important
}
.plan__image {
  display: block
}
.plan__image img {
  display: block;
  width: auto
}
.plan__svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}
.plan__svg * {
  pointer-events: none
}
.plan__svg .plan__svg__hoverable, .plan__svg .plan__svg__hoverable *, .plan__svg g {
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent
}
.plan__svg__anchor {
  opacity: 0
}
.plan__svg__hoverable {
  fill: #c5b78a;
  transition-property: opacity;
  opacity: 0
}
.has-hover .plan__svg__hoverable:hover, .plan__svg__hoverable--active {
  opacity: .8
}
.plan__svg__hoverable--clickable {
  cursor: pointer
}
.plan__svg__hoverable--styled-disabled {
  cursor: default;
  opacity: 0 !important;
  mix-blend-mode: normal !important;
  filter: none !important
}
.plan__svg__hoverable--disabled {
  opacity: 0 !important;
  pointer-events: none !important
}
.plan--svg-only {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch
}
.plan--svg-only .plan__content {
  padding: 160px 0 120px
}
.plan--svg-only .plan__svg {
  position: relative;
  height: auto
}
.plan-text {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  padding: 40px 16px 0;
  text-align: center
}
.plan-compass {
  position: absolute;
  right: 16px;
  bottom: 16px
}
.plan-compass img {
  display: block
}
.compass {
  width: 80px;
  height: 80px;
  position: relative;
  border-radius: 50%
}
.compass svg {
  position: absolute;
  top: 0;
  left: 0
}
.compass__rotate {
  display: block;
  width: 100%;
  height: 100%;
  transform: rotate(var(--direction))
}
.compass__text {
  position: absolute
}
.compass__text span {
  --direction-back: calc(var(--direction) * -1);
  display: block;
  transform: rotate(var(--direction-back))
}
.compass__text--north {
  left: 50%;
  top: 8px;
  transform: translateX(-50%)
}
.compass__text--west {
  top: 50%;
  left: 11px;
  transform: translateY(-50%)
}
.compass__text--east {
  top: 50%;
  right: 10px;
  transform: translateY(-50%)
}
.plan-tabs {
  margin-top: -10px
}
.plan-tabs__inner {
  display: flex;
  flex-wrap: nowrap;
  padding-top: 10px;
  position: relative;
  margin-right: 0
}
.plan-tabs__inner:before {
  position: absolute;
  content: "";
  top: 10px;
  bottom: 0;
  left: -50vw;
  right: -50vw;
  background-color: #e9e4dc
}
.plan-tabs a:first-child {
  padding: var(--spacing) calc(var(--spacing) * .75) var(--spacing) calc(var(--spacing) * 1.5)
}
.plan-tabs a:last-child {
  padding: var(--spacing) calc(var(--spacing) * 1.5) var(--spacing) calc(var(--spacing) * .75)
}
.plan-tabs a {
  padding: var(--spacing) calc(var(--spacing) * .75) var(--spacing);
  color: #c5b78a;
  white-space: nowrap;
  position: relative
}
.plan-tabs a .arrow {
  position: absolute;
  top: -9px;
  left: calc(50% - 10px);
  width: 20px;
  height: 10px;
  background-size: 20px;
  background-position: 50%;
  background-repeat: no-repeat;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  background-image: url(../assets/images/common/arrow.svg)
}
.plan-tabs a.is-active {
  color: #565440
}
.plan-tabs a.is-active .arrow {
  opacity: 1
}
.plan-title {
  position: absolute;
  left: calc(var(--spacing) / 60 * 40);
  top: 50%;
  transform: translateY(-50%);
  color: #c5b78a
}
.plan-marker {
  display: block;
  margin: 0;
  position: absolute;
  z-index: 12;
  left: 0;
  top: 0
}
.plan-marker .btn--square.is-active:before {
  transform: scale(1)
}
.plan-marker .btn__content--marker .is-visible-active {
  display: none
}
.plan-marker .btn__content--marker .is-hidden-active {
  display: block
}
@media only screen and (max-width:979px) {
  .plan-marker--active .btn__content--marker .is-visible-active {
    display: block
  }
  .plan-marker--active .btn__content--marker .is-hidden-active {
    display: none
  }
}
.plan-marker--active, .plan-marker--top {
  z-index: 14
}
.plan-marker--invisible .btn {
  opacity: 0
}
.plan-marker--invisible .btn.is-active {
  opacity: 1
}
.plan-marker--styled-disabled {
  pointer-events: none !important
}
.plan-marker--label {
  z-index: 1
}
.plan-marker--label--left .plan-marker--label__text {
  transform: rotate(-90deg);
  transform-origin: 50% 50%
}
.plan-marker--label--right .plan-marker--label__text {
  transform: rotate(90deg);
  transform-origin: 50% 50%
}
.plan-popover {
  pointer-events: none
}
.plan-popover__content {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  min-height: calc(var(--spacing) / 60 * 140)
}
.plan-popover__text-box > div, .plan-popover__title-box > div {
  white-space: nowrap
}
.plan-popover__text-box__old {
  color: #c5b78a;
  text-decoration: line-through
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .plan-popover__content {
    min-height: calc(var(--spacing) / 20 * 90);
    min-width: calc(var(--spacing) / 20 * 180);
    padding: var(--spacing)
  }
  .plan-popover__text-box .text--lead-xxs {
    font-size: 1.5rem;
    line-height: 1.33333em;
    letter-spacing: .02em
  }
}
.plan-popover--bottom {
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  padding-top: var(--spacing-2);
  padding-bottom: var(--spacing-2)
}
.plan-popover--bottom, .plan-popover--bottom .plan-popover__content {
  min-height: auto !important
}
.plan-popover--bottom .plan-popover__content__floor {
  position: absolute;
  left: 50%
}
.plan-popover--bottom.popover--ta .plan-popover__content__floor {
  bottom: calc(var(--spacing) * -2);
  transform: translate(-50%, 50%)
}
.plan-popover--bottom.popover--ba .plan-popover__content__floor {
  transform: translate(-50%, -50%);
  top: calc(var(--spacing) * -2)
}
.plan-popover--outer {
  position: fixed !important;
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  min-height: auto !important
}
.plan-popover--outer .plan-popover__inner {
  padding: var(--spacing)
}
.plan-popover--outer .plan-popover__group-box__group + .plan-popover__group-box__group {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(86, 84, 64, .1)
}
.plan-popover--outer .plan-popover__group-box__button {
  display: flex;
  margin: var(--spacing) auto 0;
  width: 230px;
  pointer-events: all
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .plan-popover--outer .plan-popover__group-box__button {
    margin: calc(var(--spacing) / 40 * 30) auto 0
  }
}
.advantages-item {
  position: relative;
  contain: contain
}
.advantages-item--full {
  height: 100%
}
.advantages-item--full .advantages-item__title {
  max-width: none
}
.advantages-item__sizer {
  padding-top: 100%
}
.advantages-item__image, .advantages-item__image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.advantages-item__image {
  overflow: hidden
}
.advantages-item__button {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  outline: none;
  cursor: default;
  transition-property: opacity;
  transition-duration: .6s;
  transform: translateZ(0)
}
.advantages-item__button .btn {
  cursor: default
}
.advantages-item__button .btn, .advantages-item__button .btn__content, .advantages-item__button .icon {
  transform: translateZ(0)
}
.advantages-item a[href], .advantages-item a[href] .advantages-item__button, .advantages-item a[href] .advantages-item__button .btn {
  cursor: pointer
}
.advantages-item__hover {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
  left: -1px;
  top: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  padding: var(--spacing) var(--spacing-2) var(--spacing) var(--spacing);
  background: #2c2926;
  transition-timing-function: cubic-bezier(.25, .74, .22, .99);
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  -webkit-clip-path: circle(0 at 50% 50%);
  clip-path: circle(0 at 50% 50%)
}
.advantages-item__hover__image, .advantages-item__hover__image:after, .advantages-item__hover__image:before, .advantages-item__hover__image img {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: none !important
}
.advantages-item__hover__image {
  mix-blend-mode: multiply;
  opacity: .6;
  overflow: hidden;
  transform: translateZ(0)
}
.advantages-item__hover__image:before {
  background: linear-gradient(225deg, rgba(86, 84, 64, 0) 50%, #565440);
  opacity: .3;
  z-index: 1
}
.advantages-item__hover__image:after {
  background: #000;
  opacity: .3;
  z-index: 1
}
.advantages-item__hover__description {
  position: relative;
  z-index: 2;
  margin: 0;
  transition-property: opacity, transform;
  will-change: transform, opacity;
  transform: translateY(40px);
  opacity: 0
}
.advantages-item__hover__description b {
  display: inline-block;
  padding: 0 4px;
  opacity: .4
}
.advantages-item__title {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  left: var(--spacing);
  right: var(--spacing);
  bottom: var(--spacing);
  max-width: 160px;
  transform: translateZ(0)
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .advantages-item__title {
    max-width: 220px
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .advantages-item__hover__image img, .advantages-item__image img {
    height: calc(100% + var(--spacing) * 1)
  }
}
.advantages-item--show-description .advantages-item__hover, .has-hover .advantages-item:hover .advantages-item__hover, .no-hover .advantages-item__button:focus ~ .advantages-item__hover {
  transition-duration: .5s;
  -webkit-clip-path: circle(70.71068% at 50% 50%);
  clip-path: circle(70.71068% at 50% 50%)
}
.advantages-item--show-description .advantages-item__hover .advantages-item__hover__description, .has-hover .advantages-item:hover .advantages-item__hover .advantages-item__hover__description, .no-hover .advantages-item__button:focus ~ .advantages-item__hover .advantages-item__hover__description {
  transition-duration: .8s;
  transition-delay: .1s;
  transform: translateY(0);
  opacity: 1
}
.advantages-item--show-description .advantages-item__button, .has-hover .advantages-item:hover .advantages-item__button, .no-hover .advantages-item__button:focus .btn {
  opacity: 0
}
.ui-dark .advantages-item__title {
  color: #e9e4dc
}
.has-hover .advantages-item--project.advantages-item:hover .advantages-item__hover, .no-hover .advantages-item--project .advantages-item__button:focus ~ .advantages-item__hover {
  transition-duration: 0s;
  -webkit-clip-path: none;
  clip-path: none
}
.advantages-item--project {
  overflow: hidden
}
.advantages-item--project.is-active .advantages-item__image, .advantages-item--project:hover:active .advantages-item__image, .has-hover .advantages-item--project:hover .advantages-item__image {
  transform: scale(1.05)
}
.advantages-item--project.is-active .advantages-item__button, .advantages-item--project.is-active .advantages-item__button .btn, .advantages-item--project:hover:active .advantages-item__button, .advantages-item--project:hover:active .advantages-item__button .btn, .has-hover .advantages-item--project:hover .advantages-item__button, .has-hover .advantages-item--project:hover .advantages-item__button .btn {
  opacity: 1 !important
}
.advantages-item--project .advantages-item__hover {
  display: none
}
.advantages-item--project .advantages-item__image {
  transition-property: transform
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .advantages-item--project .advantages-item__title {
    left: calc(var(--spacing) / 2);
    bottom: calc(var(--spacing) / 2)
  }
}
@media only screen and (min-width:1200px) {
  .advantages-item--project .advantages-item__title {
    font-size: 2.7rem;
    line-height: 1.2963em;
    letter-spacing: .02em;
    font-weight: 300
  }
}
.gallery {
  position: relative
}
.gallery__background, .gallery__titles {
  position: absolute
}
.gallery__images, .gallery__titles__wrapper {
  position: relative
}
.gallery__images__wrapper {
  position: relative;
  overflow: hidden !important
}
.gallery__images picture {
  display: block;
  width: 100%;
  height: auto
}
.gallery__images img {
  display: block;
  min-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%
}
.gallery__texts__wrapper {
  position: relative;
  overflow: hidden
}
.gallery__button {
  position: absolute;
  z-index: 2
}
.gallery__nav-count {
  position: absolute;
  padding: var(--spacing)
}
.gallery--rt {
  height: calc(var(--spacing) * 26);
  overflow: hidden
}
.gallery--rt .gallery__background {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}
.gallery--rt .gallery__images {
  margin: 0 0 0 var(--col-2)
}
.gallery--rt .gallery__image img {
  height: calc(160 / 320 * 100vw);
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.gallery--rt .gallery__texts {
  position: relative
}
.gallery--rt .gallery__text__inner {
  padding: var(--spacing-2) var(--spacing) var(--spacing-4) var(--col-2)
}
.gallery--rt .gallery__buttons {
  position: absolute;
  z-index: 4;
  left: 0;
  bottom: 0;
  padding: var(--spacing)
}
.gallery--rt .gallery__nav-count {
  z-index: 2;
  right: 0;
  bottom: 0
}
@media (min-aspect-ratio:13/9), only screen and (min-width:568px) {
  .gallery--rt {
    min-height: calc(var(--spacing) * 26);
    height: auto
  }
  .gallery--rt .gallery__text__inner {
    padding: var(--spacing-2) var(--spacing) var(--spacing-4)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .gallery--rt {
    min-height: 0;
    height: 100vw
  }
  .gallery--rt .gallery__background {
    width: var(--col-9)
  }
  .gallery--rt .gallery__images {
    margin: 0 0 0 var(--col-3)
  }
  .gallery--rt .gallery__image img {
    height: calc(var(--spacing) * 11)
  }
  .gallery--rt .gallery__texts {
    position: static
  }
  .gallery--rt .gallery__texts__wrapper {
    position: static;
    overflow: visible
  }
  .gallery--rt .gallery__text {
    position: absolute;
    left: 0;
    bottom: 0;
    width: var(--col-6)
  }
  .gallery--rt .gallery__text__inner {
    padding: 0 0 var(--spacing-3) var(--spacing)
  }
  .gallery--rt .gallery__text.tabs-contents__content--animating-in {
    top: auto;
    min-height: 0;
    height: auto
  }
}
@media only screen and (min-width:980px) {
  .gallery--rt {
    height: var(--col-6)
  }
  .gallery--rt .gallery__images {
    margin: 0 0 0 var(--col-6)
  }
  .gallery--rt .gallery__text {
    bottom: auto;
    top: 0;
    width: var(--col-4)
  }
  .gallery--rt .gallery__text__inner {
    padding: var(--spacing) 0 5px var(--spacing)
  }
  .gallery--rt .gallery__text.tabs-contents__content--animating-in {
    top: 0
  }
}
@media only screen and (min-width:980px) {
  .gallery--rt {
    max-height: calc(var(--spacing) * 13)
  }
  .gallery--rt .gallery__text {
    width: calc(var(--col-3) + var(--spacing))
  }
}
@media only screen and (min-width:1200px) {
  .gallery--rt .gallery__image img {
    height: calc(var(--spacing) * 11);
    max-height: none
  }
}
@media only screen and (min-width:1440px) {
  .gallery--rt .gallery__images {
    margin: 0 0 0 var(--col-5)
  }
}
@media only screen and (min-width:1920px) {
  .gallery--rt .gallery__image picture {
    max-height: calc(var(--spacing) * 9)
  }
}
.gallery--rb .gallery__background {
  z-index: 3;
  right: 0;
  bottom: 0;
  width: var(--col-6);
  height: var(--col-6)
}
.gallery--rb .gallery__texts {
  position: relative;
  z-index: 3;
  margin-top: calc(var(--col-2) * -1);
  margin-left: var(--col-2)
}
.gallery--rb .gallery__text {
  padding: var(--spacing);
  width: var(--col-6);
  height: var(--col-6)
}
.gallery--rb .gallery__buttons {
  position: absolute;
  z-index: 4;
  left: 0;
  bottom: 0;
  padding: var(--spacing)
}
.gallery--rb .gallery__nav-count {
  right: 0;
  bottom: 0;
  margin: 0;
  z-index: 3
}
@media (min-aspect-ratio:13/9), only screen and (min-width:568px) {
  .gallery--rb .gallery__background, .gallery--rb .gallery__text {
    height: calc(var(--spacing) * 13)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .gallery--rb .gallery__background, .gallery--rb .gallery__texts {
    left: 0;
    top: var(--col-2);
    height: var(--col-6);
    right: auto
  }
  .gallery--rb .gallery__images {
    margin: 0 0 0 var(--col-3)
  }
  .gallery--rb .gallery__images img, .gallery--rb .gallery__images picture {
    max-height: var(--viewport-height)
  }
  .gallery--rb .gallery__images .parallax-picture--lg img {
    max-height: calc(var(--viewport-height) + var(--spacing) * 2)
  }
  .gallery--rb .gallery__texts {
    margin: 0;
    position: absolute;
    bottom: 0;
    width: var(--col-6);
    height: var(--col-6)
  }
  .gallery--rb .gallery__text {
    width: calc(var(--spacing) * 2 + 250px);
    height: var(--col-6)
  }
  .gallery--rb .gallery__titles {
    position: absolute;
    padding: var(--spacing);
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #e9e4dc;
    text-align: right
  }
  .gallery--rb .gallery__nav-count {
    right: 0
  }
}
@media only screen and (min-width:980px) {
  .gallery--rb .gallery__background, .gallery--rb .gallery__texts {
    top: auto;
    height: var(--col-6);
    max-height: calc(var(--spacing) * 11)
  }
  .gallery--rb .gallery__text {
    height: var(--col-6);
    max-height: calc(var(--spacing) * 11)
  }
}
@media only screen and (min-width:1200px) {
  .gallery--rb .gallery__text {
    width: calc(var(--spacing) * 2 + 300px)
  }
}
@media only screen and (min-width:1440px) {
  .gallery--rb .gallery__text {
    width: calc(var(--spacing) * 2 + 400px)
  }
}
@media only screen and (min-width:1920px) {
  .gallery--rb .gallery__image picture {
    max-height: calc(var(--spacing) * 15)
  }
}
.gallery--lt .gallery__background {
  z-index: 3;
  right: 0;
  bottom: 0;
  width: calc(var(--col-5) + 15px);
  height: calc(var(--col-7) + 5px)
}
.gallery--lt .gallery__texts {
  position: relative;
  z-index: 3;
  margin-top: calc((var(--col-2) + 10px) * -1);
  margin-left: calc(var(--col-3) - 15px)
}
.gallery--lt .gallery__text {
  padding: var(--spacing);
  width: calc(var(--col-5) + 15px);
  height: calc(var(--col-7) + 5px);
  font-weight: 500
}
.gallery--lt .gallery__buttons {
  position: absolute;
  z-index: 4;
  left: 0;
  bottom: 0;
  padding: var(--spacing)
}
.gallery--lt .gallery__nav-count {
  right: 0;
  bottom: 0;
  margin: 0;
  z-index: 3
}
.gallery--lt .gallery__image picture img {
  width: 100%
}
@media (min-aspect-ratio:13/9), only screen and (min-width:568px) {
  .gallery--lt .gallery__background, .gallery--lt .gallery__text {
    height: calc(var(--spacing) * 13)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .gallery--lt .gallery__images .parallax-picture--lg img, .gallery--lt .gallery__images img, .gallery--lt .gallery__images picture {
    max-height: var(--viewport-height)
  }
  .gallery--lt .gallery__title {
    padding-bottom: calc(var(--spacing) / 60 * 24)
  }
  .gallery--lt .gallery__text {
    width: calc(var(--col-7) + 15px);
    height: calc(var(--spacing) * 8 - 20px)
  }
  .gallery--lt .gallery__background {
    width: var(--col-9);
    height: calc(var(--spacing) * 8 - 20px)
  }
  .gallery--lt .gallery__texts {
    margin-top: calc((var(--col-2) - 20px) * -1);
    margin-left: var(--col-3)
  }
}
@media only screen and (min-width:1200px) {
  .gallery--lt .gallery__text {
    width: var(--col-6);
    height: calc(var(--col-5) + var(--spacing));
    padding-top: calc(var(--spacing) / 60 * 40);
    padding-right: var(--spacing-6)
  }
  .gallery--lt .gallery__images {
    margin: 0 0 0 var(--col-3)
  }
  .gallery--lt .gallery__background {
    width: var(--col-6);
    height: calc(var(--col-5) + var(--spacing));
    top: 0;
    left: 0
  }
  .gallery--lt .gallery__texts {
    margin-left: 0;
    margin-top: 0;
    position: absolute;
    top: 0
  }
  .gallery--lt .gallery__titles {
    position: absolute;
    padding: var(--spacing);
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    text-align: right;
    z-index: 1
  }
}
.about-intro {
  height: 100vh;
  height: var(--viewport-height)
}
.about-intro__container {
  position: relative;
  padding-left: var(--spacing);
  padding-top: calc(var(--spacing) * 8)
}
.about-intro__title {
  position: absolute;
  z-index: 1;
  bottom: calc(var(--spacing) * -1..about-intro__title);
  width: calc(100vw - var(--spacing))
}
.about-intro__title--eng {
  width: calc(45vw - var(--spacing))
}
.about-intro__title img {
  width: 100%
}
.about-intro__bottom {
  position: absolute;
  left: var(--spacing);
  bottom: var(--spacing);
  z-index: 2
}
.about-intro__image {
  position: relative;
  height: calc(var(--viewport-height) - var(--spacing) * 8);
  width: 100%
}
.about-intro__image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
@media (max-width:567px) and (max-aspect-ratio:13/9), (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-intro__image img {
    height: 100%
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-intro__title {
    left: var(--col-2);
    width: calc(100vw - var(--col-2))
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-intro__container {
    padding-top: calc(var(--spacing) / 40 * 220)
  }
  .about-intro__image {
    height: calc(var(--viewport-height) - var(--spacing) / 40 * 220)
  }
}
@media only screen and (min-width:980px) {
  .about-intro__container {
    padding-top: calc(var(--spacing) / 60 * 200)
  }
  .about-intro__title {
    bottom: calc(var(--spacing) * -1.15)
  }
  .about-intro__image {
    height: calc(810 / 900 * 100vh)
  }
  .about-intro__bottom {
    bottom: auto;
    top: calc(100vh - var(--spacing-2))
  }
}
@media only screen and (min-width:1920px) {
/*
  .about-intro__container {
    padding-top: calc(400 / 1920 * 100vw)
  }
*/
  .about-intro__title {
    bottom: calc(-100 / 1920 * 100vw)
  }
}
@media only screen and (min-width:980px) {
  .about-intro-spacer {
    padding-top: calc(230 / 900 * 100vh)
  }
}
.about-symbol__container {
  position: relative;
  padding-top: calc(var(--spacing) / 20 * 0)
}
.about-symbol__container:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
/*  background-color: #e9e4dc;*/
  z-index: 0;
  height: calc(var(--spacing) * 4)
}
.about-symbol__container > .row {
  position: relative;
  z-index: 1
}
.about-symbol__title {
  padding-left: var(--spacing);
  z-index: 1
}
.about-symbol__image--left {
  height: calc(var(--spacing) * 12);
  width: calc(100vw - var(--spacing) * 8)
}
.about-symbol__image--right {
  width: calc(var(--spacing) * 8);
  height: calc(var(--spacing) * 8)
}
.about-symbol__image img {
  width: 100%;
  height: 100%;	
  -o-object-fit: cover;
  object-fit: cover
}
@media (max-width:567px) and (max-aspect-ratio:13/9), (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-symbol img {
    height: 100%
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-symbol__container {
    padding-top: calc(var(--spacing) * 0)
  }
/*
  .about-symbol__container:before {
    height: calc(var(--spacing) / 40 * 150)
  }
*/
  .about-symbol__title {
    margin-bottom: calc(var(--spacing) * 1.5);
    padding-left: 0
  }
  .about-symbol__image--left {
    width: 100%;
    height: calc(var(--spacing) / 40 * 460)
  }
  .about-symbol__image--right {
    width: 100%;
    height: calc(var(--spacing) / 40 * 300)
  }
}
@media only screen and (min-width:980px) {
  .about-symbol__container:before {
    height: calc(300 / 1440 * 100vw)
  }
  .about-symbol__image--left {
	  height: 100%;
/*    height: calc(900 / 1440 * 100vw)*/
  }
  .about-symbol__image--right {
	  height: 90%;
/*    height: calc(600 / 1440 * 100vw)*/
  }
}
@media only screen and (min-width:1920px) {
  .about-symbol__title {
    max-width: calc(var(--col) * 6)
  }
}
.about-terraces {
  position: relative;
  padding: var(--spacing-4) 0 0
}
.about-terraces:before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(var(--spacing) / 20 * 70);
  z-index: 0;
  background-color: #c5b78a
}
.about-terraces__text {
  padding-top: calc(var(--spacing) * 4);
  padding-bottom: calc(var(--spacing) * 1.5)
}
.about-terraces__image {
  position: relative;
  z-index: 1
}
.about-terraces__image--left {
  height: calc(100vw - 140 / 360 * 100vw);
  width: calc(100vw - var(--spacing) * 8)
}
.about-terraces__image--right {
  width: calc(var(--spacing) * 8);
  height: calc(var(--spacing) * 7)
}
.about-terraces__image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
@media (max-width:567px) and (max-aspect-ratio:13/9), (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-terraces__image img {
    height: 100%
  }
}
@media (min-aspect-ratio:13/9), only screen and (min-width:568px) {
  .about-terraces:before {
    height: calc(var(--spacing) / 20 * 115)
  }
  .about-terraces__image--left {
    width: auto;
    height: calc(var(--spacing) / 20 * 450)
  }
  .about-terraces__image--right {
    width: auto;
    height: calc(var(--spacing) / 20 * 230)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-terraces:before {
    height: calc(var(--spacing) / 40 * 115)
  }
  .about-terraces__image--left {
    height: calc(var(--spacing) / 40 * 450)
  }
  .about-terraces__image--right {
    height: calc(var(--spacing) / 40 * 230)
  }
  .about-terraces__text {
    padding-top: calc(var(--spacing) / 40 * 60);
    padding-bottom: calc(var(--spacing) * 1.1)
  }
}
@media only screen and (min-width:1200px) {
  .about-terraces:before {
    height: calc(var(--spacing) / 60 * 250)
  }
  .about-terraces__image--left {
    height: calc(var(--spacing) / 60 * 900)
  }
  .about-terraces__image--right {
    height: calc(var(--spacing) / 60 * 500)
  }
  .about-terraces__text {
    padding-bottom: calc(var(--spacing) * 1)
  }
}
@media only screen and (min-width:1920px) {
  .about-terraces__text {
    padding-top: calc(var(--spacing) * .5)
  }
}
.about-design {
  padding: var(--spacing-4) 0 0
}
.about-design__inner {
  position: relative
}
.about-design__inner:before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(var(--spacing) * 5);
  z-index: 0;
  background-color: #000
}
.about-design__top {
  margin-top: -1px
}
.about-design__title {
  position: absolute;
  left: var(--spacing);
  bottom: calc(var(--spacing) / 20 * -15);
  z-index: 2
}
.about-design__image {
  position: relative;
  z-index: 1
}
.about-design__image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
@media (max-width:567px) and (max-aspect-ratio:13/9), (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-design__image img {
    height: 100%
  }
}
.about-design__image--main {
  padding-left: calc(var(--spacing) * 3);
  height: calc(200 / 360 * 100vw)
}
.about-design__image--second {
  padding-right: calc(var(--spacing) * 3);
  height: calc(200 / 360 * 100vw)
}
.about-design__image--left {
  height: calc(var(--spacing) * 7)
}
.about-design__image--right {
  height: calc(100vw - 140 / 360 * 100vw)
}
.about-design__text {
  padding-top: calc(var(--spacing) / 20 * 70);
  padding-bottom: calc(var(--spacing) / 20 * 60)
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .about-design__image--left {
    flex: 0 1 calc(var(--spacing) * 8)
  }
}
@media (min-aspect-ratio:13/9), only screen and (min-width:568px) {
  .about-design__image--main {
    height: calc(var(--spacing) * 15);
    padding-left: 0
  }
  .about-design__image--second {
    height: calc(var(--spacing) * 15);
    padding-right: 0
  }
  .about-design__image--left {
    height: calc(var(--spacing) * 10)
  }
  .about-design__image--right {
    height: calc(var(--spacing) * 15)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-design__image--main, .about-design__image--second {
    height: calc(var(--spacing) * 9)
  }
  .about-design__image--left {
    height: calc(var(--spacing) * 6);
    flex: 0 1 calc(var(--spacing) / 40 * 280 + var(--spacing) * 2)
  }
  .about-design__image--right {
    height: calc(var(--spacing) * 8)
  }
  .about-design__text {
    padding-top: calc(var(--spacing) / 40 * 145);
    padding-bottom: calc(var(--spacing) / 40 * 105)
  }
}
@media only screen and (min-width:1200px) {
  .about-design__inner:before {
    height: calc(var(--spacing) / 60 * 390)
  }
  .about-design__title {
    bottom: calc(var(--spacing) / 60 * -85)
  }
  .about-design__image--left {
    height: calc(var(--spacing) * 9);
    flex: 0 1 calc(var(--spacing) / 60 * 610 + var(--spacing) * 2)
  }
  .about-design__image--right {
    height: calc(var(--spacing) * 11)
  }
  .about-design__image--main {
    height: 90vh
  }
  .about-design__image--second {
    height: calc(var(--spacing) * 13)
  }
  .about-design__text {
    padding-top: calc(var(--spacing) / 60 * 285);
    padding-bottom: calc(var(--spacing) / 60 * 180);
    max-width: calc(var(--spacing) / 60 * 650)
  }
}
.about-lobby {
  padding: calc(var(--spacing) * 3) 0 0;
  overflow: hidden
}
.about-lobby .scroll-text {
  overflow: visible
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-lobby {
    padding: var(--spacing-4) 0 0
  }
}
.gallery--lobby .gallery__images picture {
  height: calc(320 / 360 * 100vw)
}
.gallery--lobby .gallery__images img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.gallery--lobby .gallery__background {
  width: calc(240 / 360 * 100vw);
  height: calc(280 / 360 * 100vw)
}
.gallery--lobby .gallery__texts {
  margin-top: calc(40 / 360 * 100vw * -1);
  margin-left: calc(120 / 360 * 100vw)
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .gallery--lobby .gallery__text {
    width: calc(var(--col) * 5.5)
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .gallery--lobby .gallery__images picture {
    max-height: var(--viewport-height)
  }
  .gallery--lobby .gallery__background {
    width: 50vw;
    height: 75vh
  }
  .gallery--lobby .gallery__texts {
    margin-top: -75vh;
    margin-left: 50vw;
    width: 50vw;
    height: 75vh
  }
  .gallery--lobby .gallery__text {
    width: 50vw
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9) and (max-width:979px), only screen and (min-width:668px) and (min-height:416px) and (max-width:979px) {
  .gallery--lobby {
    padding-bottom: calc(var(--spacing) / 40 * 200)
  }
  .gallery--lobby .gallery__background {
    top: auto;
    left: auto;
    bottom: 0;
    width: var(--col-9);
    height: calc(var(--spacing) / 40 * 300);
    right: 0
  }
  .gallery--lobby .gallery__images {
    margin: 0
  }
  .gallery--lobby .gallery__images picture {
    height: calc(var(--spacing) * 12)
  }
  .gallery--lobby .gallery__images img {
    height: calc(100% + var(--spacing) * 2)
  }
  .gallery--lobby .gallery__texts {
    left: 0;
    right: auto;
    top: auto;
    bottom: 0;
    height: calc(var(--spacing) / 40 * 300);
    width: var(--col-9);
    margin-left: var(--col-3)
  }
  .gallery--lobby .gallery__text {
    width: var(--col-5);
    height: calc(var(--spacing) / 40 * 300)
  }
}
@media only screen and (min-width:980px) {
  .gallery--lobby {
    background-color: #565440
  }
  .gallery--lobby .gallery__background, .gallery--lobby .gallery__texts {
    top: auto;
    height: var(--col-6);
    max-height: calc(var(--spacing) * 11);
    width: var(--col-5);
    margin: 0
  }
  .gallery--lobby .gallery__text {
    height: var(--col-6);
    max-height: calc(var(--spacing) * 11)
  }
  .gallery--lobby .gallery__titles {
    z-index: 1
  }
  .gallery--lobby .gallery__images img, .gallery--lobby .gallery__images picture {
    height: var(--viewport-height)
  }
}
@media only screen and (min-width:1440px) {
  .gallery--lobby .gallery__text {
    width: calc(var(--spacing) * 2 + 300px)
  }
}
.about-formats {
  position: relative
}
.about-formats__text {
  padding: var(--spacing-4) 0 2px
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-formats__text {
    padding: calc(var(--spacing) / 40 * 145) 0 2px
  }
}
@media only screen and (min-width:1200px) {
  .about-formats__text {
    padding: var(--spacing-4) 0 2px
  }
}
.about-formats-section {
  z-index: 1;
  position: relative;
  padding-top: calc(var(--spacing) / 60 * 160)
}
@media (max-width:567px) and (max-aspect-ratio:13/9), (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-formats-section:before {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(130 / 360 * 100vw);
    z-index: 0;
    background: #565440
  }
}
.about-formats-section--eng .about-formats-scroll__wrapper:before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(var(--spacing) / 40 * 270);
  z-index: 0;
  background: #565440
}
@media only screen and (min-width:1200px) {
  .about-formats-section--eng .about-formats-scroll__wrapper {
    height: calc(var(--spacing) * 7)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-formats-section {
    padding-top: calc(var(--spacing) / 40 * 90)
  }
}
@media only screen and (min-width:1200px) {
  .about-formats-section {
    padding-top: calc(var(--spacing) / 60 * 220)
  }
}
.about-formats-scroll {
  overflow: hidden;
  position: relative;
  left: 0;
  width: 100vw;
  flex: 0 0 100vw
}
.about-formats-scroll__outline, .about-formats-scroll__title {
  position: absolute;
  top: 15px;
  left: 0;
  width: 100vw;
  margin-bottom: -1px
}
.about-formats-scroll__outline img, .about-formats-scroll__title img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: none !important;
  padding-bottom: 1px
}
.about-formats-scroll__outline {
  z-index: 4
}
.about-formats-scroll__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 47px
}
@media (max-width:567px) and (max-aspect-ratio:13/9), (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-formats-scroll__title {
    z-index: 0
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-formats-scroll__wrapper {
    padding-top: calc(var(--spacing) / 40 * 100)
  }
  .about-formats-scroll__sticky {
    position: relative
  }
}
@media only screen and (min-width:1200px) {
  .about-formats-scroll__outline, .about-formats-scroll__title {
    left: var(--col-3);
    width: calc(100vw - var(--col-3))
  }
}
.has-scroll-smooth .about-formats-scroll {
  overflow: visible
}
.has-scroll-smooth .about-formats-scroll__wrapper {
  padding-top: 0;
  z-index: 1;
  position: relative;
  height: 100vh;
  height: var(--viewport-height)
}
.has-scroll-smooth .about-formats-scroll__outline, .has-scroll-smooth .about-formats-scroll__title {
  top: calc(50vh - var(--spacing) * 4.5 - 110 / 540 * 75vw)
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .has-scroll-smooth .about-formats-scroll {
    margin-top: 0;
    margin-bottom: 65px
  }
  .has-scroll-smooth .about-formats-scroll__wrapper {
    padding-top: calc(50vh - 230px)
  }
}
@media only screen and (min-width:1440px) {
  .has-scroll-smooth .about-formats-scroll {
    margin-top: 0;
    margin-bottom: 85px
  }
  .has-scroll-smooth .about-formats-scroll__wrapper {
    padding-top: calc(50vh - 290px)
  }
  .has-scroll-smooth .about-formats-scroll__outline, .has-scroll-smooth .about-formats-scroll__title {
    top: calc(50vh - var(--spacing) * 4.2 - 110 / 540 * 75vw)
  }
}
.no-hover .about-formats-list {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none
}
.no-hover .about-formats-list::-webkit-scrollbar {
  display: none
}
.no-hover .about-formats-list .about-formats-list__item + .about-formats-list__item {
  margin-left: var(--spacing-0-5)
}
.has-scroll-smooth .about-formats-list {
  display: flex;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: visible
}
.has-scroll-smooth .about-formats-list__item {
  flex-shrink: 0;
  flex-grow: 0
}
.has-scroll-smooth .about-formats-list .about-formats-list__item + .about-formats-list__item {
  margin-left: var(--spacing)
}
.about-formats-item {
  position: relative;
  min-width: calc(260 / 360 * 100vw);
  height: calc(260 / 360 * 100vw);
  max-height: var(--viewport-height-actual)
}
.about-formats-item a {
  display: block
}
.about-formats-item img {
  display: block;
  width: 100%;
  height: calc(100% + 2px)
}
.about-formats-item__image {
  position: relative;
  height: 100%;
  transition-duration: .6s;
  transition-property: transform;
  transform: scale(1)
}
.about-formats-item__image picture {
  height: 100%
}
.about-formats-item__text {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 100%;
  color: #e9e4dc;
  padding: var(--spacing)
}
.about-formats-item__text p {
  max-width: 355px
}
.about-formats-item__button {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%)
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-formats-item {
    max-width: var(--viewport-height-actual)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-formats-item {
    height: calc(var(--spacing) / 40 * 480);
    max-width: calc(var(--spacing) / 40 * 540);
    min-width: calc(var(--spacing) / 40 * 540)
  }
  .about-formats-item img {
    display: block
  }
}
@media only screen and (min-width:1200px) {
  .about-formats-item {
    height: calc(var(--spacing) * 12);
    min-width: calc(var(--spacing) * 14);
    max-width: calc(var(--spacing) * 14)
  }
}
.about-formats-item__link {
  display: block;
  overflow: hidden;
  height: 100%
}
.has-hover .about-formats-item__link:hover .about-formats-item__image {
  transform: scale(1.05)
}
.has-scroll-smooth .about-formats-item img {
  display: block;
  width: 112%
}
.about-finishing {
  position: relative
}
.about-finishing__inner {
  height: 100vh
}
.about-finishing__lead {
  position: absolute;
  left: var(--spacing);
  right: var(--spacing);
  top: calc(var(--spacing) / 20 * 90)
}
.about-finishing__title {
  position: absolute;
  top: calc(var(--spacing) / 20 * 200);
  left: 50%;
  transform: translate(-50%);
  white-space: nowrap
}
.about-finishing .about-finishing__title {
  font-size: 19vw;
  color: #c5b78a;
  z-index: 0
}
.about-finishing__image {
  width: var(--col-6);
  height: var(--col-6)
}
@media (min-aspect-ratio:13/9), only screen and (min-width:568px) {
  .about-finishing__image {
    width: var(--col-4);
    height: var(--col-4)
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-finishing__image {
    width: var(--col-6);
    height: var(--col-6)
  }
}
@media only screen and (min-width:980px) {
  .about-finishing__image {
    width: var(--col-5);
    height: var(--col-5)
  }
}
.about-finishing__bottom {
  position: absolute;
  bottom: 0;
  width: calc(167 / 360 * 100vw);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-finishing__inner {
    height: 125vh
  }
  .about-finishing .about-finishing__title {
    font-size: 14vw
  }
  .about-finishing__title {
    top: calc(var(--spacing) / 20 * 150)
  }
  .about-finishing__lead {
    left: 25vw;
    right: 25vw;
    text-align: center
  }
  .about-finishing__bottom {
    width: 30vw
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-finishing__lead {
    top: calc(var(--spacing) * 4)
  }
  .about-finishing__title {
    top: calc(var(--spacing) / 40 * 310);
    color: transparent;
    text-shadow: -1px -1px 0 #2c2926, 1px -1px 0 #2c2926, -1px 1px 0 #2c2926, 1px 1px 0 #2c2926
  }
  @supports (-webkit-text-stroke-width:1px) {
    .about-finishing__title {
      text-shadow: none;
      -webkit-text-stroke-width: 1px;
      -webkit-text-fill-color: currentColor;
      -webkit-text-stroke-color: #2c2926
    }
  }
  .about-finishing .about-finishing__title {
    font-size: 20vw;
    color: transparent
  }
  .about-finishing__bottom {
    width: calc(228 / 720 * 100vw)
  }
}
@media only screen and (min-width:980px) {
  .about-finishing__bottom {
    width: calc(228 / 720 * 75vw)
  }
  .about-finishing__lead {
    top: calc(var(--spacing) * 1.5)
  }
  .about-finishing__title {
    top: calc(var(--spacing) / 40 * 150)
  }
}
@media only screen and (min-width:1200px) {
  .about-finishing__inner {
    height: 300vh
  }
  .about-finishing__lead {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    padding-top: calc(var(--spacing) * 4);
    padding-bottom: calc(var(--spacing) / 60 * 180)
  }
  .about-finishing__title {
    top: 0
  }
  .about-finishing .about-finishing__title {
    font-size: 21.5vw
  }
  .about-finishing__bottom {
    width: calc(360 / 1440 * 100vw)
  }
}
.finishing-circle {
  position: relative;
  width: var(--col-6);
  height: var(--col-6)
}
.finishing-circle__inner, .finishing-circle__outer {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  min-width: var(--col-6);
  min-height: var(--col-6)
}
.finishing-circle__inner circle, .finishing-circle__outer circle {
  fill: none;
  stroke: #c5b78a
}
.finishing-circle__outer {
  width: calc(100% + 2px);
  height: calc(100% + 2px)
}
.finishing-circle__outer circle {
  stroke: rgba(196, 159, 138, .3);
  stroke-width: 1px;
  r: 47.8%
}
.finishing-circle__inner {
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%) rotate(-90deg)
}
.finishing-circle__inner circle {
  stroke-width: 2px;
  r: 47.8%;
  transform-origin: 50% 50%;
  transform: rotate(-90deg);
  transition: stroke-dashoffset 1s cubic-bezier(.39, .01, .04, 1)
}
.finishing-circle__contents, .finishing-circle__contents__item {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%)
}
.finishing-circle__contents__item {
  width: var(--col-6);
  height: var(--col-6);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center
}
.finishing-circle__text {
  width: calc(var(--col) * 3.5)
}
.finishing-circle__inner circle {
  stroke-dasharray: 300.8%;
  stroke-dashoffset: 300.8%
}
.finishing-circle--1 .finishing-circle__inner circle {
  stroke-dashoffset: 200.53333%
}
.finishing-circle--2 .finishing-circle__inner circle {
  stroke-dashoffset: 100.26667%
}
.finishing-circle--3 .finishing-circle__inner circle {
  stroke-dashoffset: 0%
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .finishing-circle__text {
    width: calc(var(--col) * 2)
  }
}
@media (min-aspect-ratio:13/9), only screen and (min-width:568px) {
  .finishing-circle, .finishing-circle__contents__item {
    width: var(--col-4);
    height: var(--col-4)
  }
  .finishing-circle__inner, .finishing-circle__outer {
    min-width: auto;
    min-height: auto
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .finishing-circle, .finishing-circle__contents__item {
    width: var(--col-6);
    height: var(--col-6)
  }
}
@media only screen and (min-width:980px) {
  .finishing-circle, .finishing-circle__contents__item {
    width: var(--col-5);
    height: var(--col-5)
  }
  .finishing-circle__text {
    width: 255px
  }
}
@media only screen and (min-width:1440px) {
  .finishing-circle__text {
    width: 310px
  }
}
.finishing-circle-wrapper__inner {
  height: 100vh;
  display: flex;
  align-items: center;
  padding-top: calc(var(--spacing) / 20 * 180)
}
.finishing-circle-wrapper__left {
  margin-right: 0;
  position: relative;
  z-index: 1
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .finishing-circle-wrapper__left {
    margin-left: calc(var(--col) * -1.5)
  }
}
@media (min-aspect-ratio:13/9), only screen and (min-width:568px) {
  .finishing-circle-wrapper__left {
    margin-left: 0;
    margin-right: calc(var(--spacing) * -1)
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .finishing-circle-wrapper__inner {
    height: 125vh
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .finishing-circle-wrapper__inner {
    padding-top: calc(var(--spacing) / 40 * 180)
  }
}
@media only screen and (min-width:1200px) {
  .finishing-circle-wrapper__inner {
    padding-top: 0
  }
}
.done-works {
  overflow: hidden;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  flex: 0 0 100vw
}
.done-works__list {
  flex-wrap: nowrap;
  align-items: flex-start
}
.done-works__title {
  margin: 0 0 32px
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .done-works {
    margin-top: calc(230px - 50vh + 120px);
    margin-bottom: 65px
  }
  .done-works__wrapper {
    padding-top: calc(50vh - 230px)
  }
  .done-works__title {
    margin: 0 0 45px
  }
  .done-works__sticky {
    position: relative
  }
}
@media only screen and (min-width:1440px) {
  .done-works {
    margin-top: calc(290px - 50vh + 160px);
    margin-bottom: 85px
  }
  .done-works__wrapper {
    padding-top: calc(50vh - 290px)
  }
  .done-works__title {
    margin: 0 0 97px
  }
}
@media only screen and (min-width:1440px) and (max-height:1080px) {
  .has-scroll-smooth .done-works__title {
    display: none
  }
}
.has-scroll-smooth .done-works {
  height: 300vh;
  height: calc(var(--viewport-height) * 3)
}
.has-scroll-smooth .done-works__list {
  will-change: transform;
  height: auto;
  align-items: flex-start
}
.has-scroll-smooth .done-works__wrapper {
  padding-top: 0
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .has-scroll-smooth .done-works__title {
    left: auto;
    right: 20px
  }
}
@media only screen and (min-width:980px) and (max-height:680px) {
  .has-scroll-smooth .done-works__title {
    position: absolute;
    left: -9000px
  }
}
@media (max-width:567px) and (max-aspect-ratio:13/9), (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .done-works--standalone .done-works__wrapper {
    padding-top: 47px;
    padding-bottom: 88px
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .done-works--standalone {
    margin-top: 0;
    margin-bottom: -1px
  }
  .done-works--standalone .done-works__wrapper {
    padding-top: 100px;
    padding-bottom: 115px
  }
}
@media only screen and (min-width:1440px) {
  .done-works--standalone {
    margin-top: 0;
    margin-bottom: -1px
  }
  .done-works--standalone .done-works__wrapper {
    padding-top: 152px;
    padding-bottom: 200px;
    z-index: 1;
    position: relative
  }
  .done-works--standalone .done-works__wrapper:before {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(var(--spacing) / 60 * 380);
    z-index: 0;
    background-color: #565440
  }
}
.planning-gallery {
  position: relative
}
.planning-gallery__titles {
  position: absolute
}
.planning-gallery__titles__wrapper {
  position: relative
}
.planning-gallery__images {
  position: relative;
  z-index: 1
}
.planning-gallery__images__wrapper {
  position: relative
}
.planning-gallery__image, .planning-gallery__image .animation-gallery-inner, .planning-gallery__image .plan__image, .planning-gallery__image .plan__image img {
  width: 100%;
  height: 100%
}
.planning-gallery__image img {
  -o-object-fit: contain;
  object-fit: contain
}
.planning-gallery__texts {
  display: flex;
  flex-direction: column;
  pointer-events: none
}
.planning-gallery__texts__wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%
}
.planning-gallery__text {
  padding: var(--spacing);
  height: 100%;
  display: flex;
  align-items: flex-end
}
.planning-gallery__buttons {
  padding: var(--spacing);
  pointer-events: all
}
.planning-gallery__nav-count {
  position: absolute;
  padding: var(--spacing);
  right: 0;
  bottom: 0
}
@media (max-width:567px) and (max-aspect-ratio:13/9), (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .planning-gallery__images {
    height: 50%
  }
  .planning-gallery__texts {
    height: 50%;
    background-color: #c5b78a
  }
  .planning-gallery__text br {
    display: none
  }
  .planning-gallery__nav-count {
    right: 0
  }
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .planning-gallery {
    height: 100vh
  }
  .planning-gallery__images__wrapper {
    position: relative;
    height: 60vh;
    left: -15vw;
    width: 130vw;
    transform: translateY(10vh)
  }
  .planning-gallery__text {
    padding: 5px var(--spacing)
  }
}
@media only screen and (max-width:567px) and (max-aspect-ratio:13/9) {
  .planning-gallery {
    height: calc(560 / 360 * 100vw)
  }
  .planning-gallery__images__wrapper {
    position: relative;
    height: calc(320 / 360 * 100vw);
    left: -15vw;
    width: 130vw;
    transform: translateY(calc(115 / 360 * 100vw))
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .planning-gallery {
    height: 70vh;
    height: calc(var(--viewport-height) * .7)
  }
  .planning-gallery__background {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50vw;
    height: 35vh;
    z-index: 0
  }
  .planning-gallery__images {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
  }
  .planning-gallery__images, .planning-gallery__images .plan__image, .planning-gallery__images .plan__image img, .planning-gallery__images__image, .planning-gallery__images__wrapper {
    width: calc(900 / 1440 * 100vw);
    height: calc(600 / 900 * 70vh)
  }
  .planning-gallery__titles {
    position: absolute
  }
  .planning-gallery__titles__wrapper {
    position: relative
  }
  .planning-gallery__texts {
    flex-direction: row;
    position: absolute;
    left: 0;
    right: 50vw;
    top: 35vh;
    bottom: 0;
    align-items: flex-end
  }
  .planning-gallery__buttons {
    position: absolute;
    top: 0;
    left: 0
  }
}
@media only screen and (min-width:980px) {
  .planning-gallery {
    height: 100vh;
    height: var(--viewport-height)
  }
  .planning-gallery__background {
    height: 50vh
  }
  .planning-gallery__images, .planning-gallery__images .plan__image, .planning-gallery__images .plan__image img, .planning-gallery__images__image, .planning-gallery__images__wrapper {
    height: calc(600 / 900 * 100vh)
  }
  .planning-gallery__texts {
    top: 50vh
  }
}
.planning-popover {
  display: flex;
  flex-direction: column;
  padding: 0
}
.planning-popover__image {
  height: calc(180 / 360 * 100%)
}
.planning-popover__image img, .planning-popover__image picture {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.planning-popover__content {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  padding: calc(var(--spacing) * 1)
}
.planning-popover__title {
  flex: 0 0 100%;
  padding-bottom: calc(var(--spacing) * 1)
}
.planning-popover__text {
  flex: 0 0 100%;
  margin-top: auto;
  text-transform: none
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .planning-popover__content {
    padding: calc(var(--spacing) / 60 * 40)
  }
  .planning-popover__title {
    padding-bottom: calc(var(--spacing) / 60 * 40)
  }
}
.about-choice {
  position: relative
}
.about-choice__row {
  display: flex;
  flex-wrap: nowrap;
  min-height: calc(210 / 360 * 100vw)
}
.about-choice__title {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  padding-top: 30px
}
.about-choice__title > p {
  margin-top: 10px
}
.about-choice__left {
  position: relative;
  flex: 0 0 50%;
  border-right: 1px solid rgba(86, 84, 64, .1)
}
.about-choice__left .about-choice__content {
  position: relative;
  z-index: 1;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: var(--spacing)
}
.about-choice__left__image {
  position: absolute;
  bottom: 0;
  right: 13.88%;
  height: calc(var(--spacing) * 8);
  width: auto
}
.about-choice__left__image img {
  width: auto;
  height: 100%
}
.about-choice__right {
  flex-grow: 1
}
.about-choice__right .about-choice__content {
  position: relative;
  z-index: 1;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  overflow: hidden;
  padding: var(--spacing)
}
.about-choice__right__button {
  position: relative
}
.about-choice__right__button > svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  width: 204px;
  height: 204px
}
.about-choice__right__button.btn .icon:not(:first-child) {
  margin-left: 0
}
.about-choice__right__button.btn .icon:not(:last-child) {
  margin-right: 0
}
.about-choice__hover {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #f6f2eb;
  -webkit-clip-path: circle(0 at 50% 50%);
  clip-path: circle(0 at 50% 50%);
  z-index: 0
}
.about-choice__link {
  position: relative;
  overflow: hidden
}
.has-hover .about-choice__link:hover .about-choice__hover {
  transition-duration: .5s;
  -webkit-clip-path: circle(70.71068% at 50% 50%);
  clip-path: circle(70.71068% at 50% 50%)
}
@media (max-width:667px) and (min-aspect-ratio:13/9), only screen and (max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
  .about-choice__row {
    min-height: 30vw
  }
  .about-choice__left__image {
    right: 40px
  }
}
@media only screen and (min-width:568px) and (max-aspect-ratio:13/9), only screen and (min-width:668px) and (min-height:416px), only screen and (min-width:980px) {
  .about-choice__row {
    min-height: calc(var(--spacing) / 40 * 330)
  }
  .about-choice__left__image {
    right: 0
  }
  .about-choice__right__button > svg {
    width: 340px;
    height: 340px
  }
  .about-choice__title > p {
    margin-top: 20px
  }
}
@media only screen and (min-width:1200px) {
  .about-choice__row {
    min-height: calc(var(--spacing) * 8)
  }
  .about-choice__left__image {
    right: 13.88%
  }
  .about-choice__right__button > svg {
    width: 420px;
    height: 420px
  }
  .about-choice__title > p {
    margin-top: 25px
  }
}
/*
@media only screen and (min-width:1921px) {
.about-symbol__image--left {
    height: calc(694 / 1440 * 100vw)
  }
}*/
