.visionHeroContainer {
  position: relative;
  color: var(--color-white);
  overflow: hidden;
}
.visionHeroInner {
  position: relative;
  max-width: 1000px;
  width: 90.9%;
  min-height: 429px;
  margin: 0 auto;
  padding: 130px 0 0 0;
}
@media screen and (max-width: 640px) {
  .visionHeroInner {
    min-height: auto;
    min-height: 146.7vw;
  }
}
.visionHero__img {
  position: absolute;
  z-index: -1;
  inset: 0;
}
.visionHero__img img {
  object-fit: cover;
  height: 100%;
  object-position: 100% 0;
}
.visionHero__sub {
  position: absolute;
  inset: 18% auto auto 0;
  margin: 0;
  color: rgba(255, 255, 255, 0.33);
  font-family: var(--font-base);
  font-size: 80px;
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 640px) {
  .visionHero__sub {
    inset: auto 0 6%;
    margin: auto;
    font-size: 12.5vw;
    text-align: center;
  }
}
.visionHero__heading {
  position: absolute;
  inset: 45.5% auto auto 0;
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 500;
  line-height: 2.3;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 640px) {
  .visionHero__heading {
    inset: 12% 0 auto;
    margin: auto;
    padding: 0 0 0 3%;
    font-size: 4.6875vw;
    text-align: center;
    letter-spacing: 0.8vw;
  }
}
.visionHero__label {
  position: relative;
  font-family: var(--font-serif);
  font-size: 20px;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 640px) {
  .visionHero__label {
    position: absolute;
    inset: auto 0 7.5%;
    margin: auto;
    font-size: 4.21875vw;
    text-align: center;
  }
}

.visionStoryContainer {
  width: min(100% - var(--side-space) * 2, 1000px);
  margin: 0 auto;
}
.visionStoryInner {
  margin: 0 0 15.6%;
  padding: 10.5% 0 0;
}
@media screen and (max-width: 640px) {
  .visionStoryInner {
    padding: 28.5% 0 15%;
  }
}
.visionStory {
  position: relative;
}
@media screen and (max-width: 640px) {
  .visionStory--01 {
    margin: 0 0 19.2%;
  }
}
.visionStory--02 {
  margin: 0 0 17%;
}
@media screen and (max-width: 640px) {
  .visionStory--02 {
    margin: 0 0 19.5%;
  }
}
.visionStory__content {
  font-size: 16px;
  line-height: 2.5625;
}
@media screen and (max-width: 640px) {
  .visionStory__content {
    font-size: 2.8125vw;
    line-height: 2.25;
  }
}
.visionStory__content--01 {
  margin: 0 0 14.5%;
}
@media screen and (max-width: 640px) {
  .visionStory__content--01 {
    margin: 0 0 18.2%;
  }
}
.visionStory__content--02 {
  padding: 0 0 0 24%;
}
@media screen and (max-width: 640px) {
  .visionStory__content--02 {
    margin: 0 0 17.2%;
    padding: 0;
  }
}
.visionStory__content--02 strong {
  font-size: 20px;
  color: #be8f86;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .visionStory__content--02 strong {
    font-size: 3.125vw;
    line-height: 1.9;
  }
}
@media screen and (max-width: 640px) {
  .visionStory__content--03 {
    margin: 0 0 19.2%;
  }
}
.visionStory__img {
  position: absolute;
}
@media screen and (max-width: 640px) {
  .visionStory__img {
    position: static;
  }
}
.visionStory__img--01 {
  width: 43.7%;
  inset: -2.3% -13.1% auto auto;
}
@media screen and (max-width: 640px) {
  .visionStory__img--01 {
    width: 100%;
  }
}
.visionStory__img--02 {
  width: 34.8%;
  inset: -10% auto auto -18.8%;
}
@media screen and (max-width: 640px) {
  .visionStory__img--02 {
    width: 100%;
  }
}
.visionStory__img--03 {
  width: 41.6%;
  inset: -7.9% -22.6% auto auto;
}
@media screen and (max-width: 640px) {
  .visionStory__img--03 {
    width: 100%;
  }
}

.pageNav {
  display: flex;
  color: var(--color-white);
  background: var(--color-pink);
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .pageNav {
    padding: 0 6% 0 0;
  }
}
.pageNav__item {
  position: relative;
  display: flex;
  min-height: 101px;
  padding: 0 20px 0 0;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .pageNav__item {
    min-height: 23.7vw;
    padding: 0;
    font-size: 3.125vw;
  }
}
.pageNav__item--01 {
  margin: 0 110px 0 0;
}
@media screen and (max-width: 640px) {
  .pageNav__item--01 {
    margin: 0 19% 0 0;
  }
}
.pageNav__item span {
  position: absolute;
  width: 10px;
  aspect-ratio: 1/1;
  inset: 0 0 0 100%;
  margin: auto;
  border-top: #fff 1px solid;
  border-right: #fff 1px solid;
  transform: rotate(45deg);
}
@media screen and (max-width: 640px) {
  .pageNav__item span {
    width: 1.8vw;
    inset: 0 -6vw 0 auto;
    margin: auto 0;
  }
}

.footerContact, .footer__img {
  display: none;
}

/* 2026-07 design alignment *//*# sourceMappingURL=omoi.css.map */