@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
.falf-page {
  width: 100%;
  overflow: hidden;
  background: #f7f7f5;
  color: #34363d;
  font-family: "Shippori Mincho", serif;
  padding-bottom: 80px;
}
.falf-page img {
  display: block;
  width: 100%;
  height: auto;
}

.falf-hero,
.falf-story {
  max-width: 1400px;
  margin-inline: auto;
}

.falf-hero {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 8%;
}
.falf-hero__content--text {
  flex: 0 0 34%;
}
.falf-hero__content--visual {
  flex: 0 0 46%;
}
.falf-hero__text {
  flex: 0 0 34%;
  padding-top: 13vw;
}
.falf-hero__title {
  margin: 0;
  color: #050507;
  font-family: "Times New Roman", serif;
  font-size: clamp(4.2rem, 5.4vw, 7rem);
  font-style: italic;
  font-weight: 700;
  line-height: 0.92;
}
.falf-hero__lead {
  margin-top: 10px;
  color: #050507;
  font-family: "Times New Roman", serif;
  font-size: clamp(1.35rem, 1.1vw, 1.75rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.1;
}
.falf-hero__visual {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.falf-hero__image--02 {
  margin-top: 34%;
  margin-left: 0;
}

.falf-story {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 10%;
}
.falf-story__content--visual {
  flex: 0 0 46%;
}
.falf-story__content--text {
  flex: 0 0 38%;
}
.falf-story__visual {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.falf-story__body {
  margin-top: 28%;
}
.falf-story h2 {
  margin: 0;
  font-size: clamp(2.1rem, 2.05vw, 3rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.08em;
}
.falf-story p {
  margin-top: 22px;
  font-size: clamp(1.1rem, 0.82vw, 1.25rem);
  line-height: 2.25;
  letter-spacing: 0.07em;
}

.falf-story--rose .falf-story__visual {
  margin-left: 0;
}
.falf-story--rose .falf-story__image--01 {
  margin-top: 32%;
}
.falf-story--rose .falf-story__image--02 {
  margin-left: 0;
}

.falf-story--moon .falf-story__content--text {
  flex-basis: 38%;
}
.falf-story--moon .falf-story__body {
  margin-top: 26%;
}
.falf-story--moon .falf-story__content--visual {
  flex-basis: 46%;
}
.falf-story--moon .falf-story__image--04 {
  margin-top: 34%;
  margin-left: 0;
}

.falf-story--shine {
  margin-top: 8%;
}
.falf-story--shine .falf-story__visual {
  margin-left: 0;
}
.falf-story--shine .falf-story__image--05 {
  width: 49%;
}
.falf-story--shine .falf-story__image--06 {
  width: 49%;
  margin-top: 32%;
  margin-left: 0;
}
.falf-story--shine .falf-story__body {
  margin-top: 38%;
}

.falf-fade {
  opacity: 0;
  transform: translateY(8%);
  transition: opacity 1.2s ease, transform 1.2s ease;
}
.falf-fade.is-show {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1024px) {
  .falf-hero,
  .falf-story {
    width: 90%;
    max-width: none;
  }
  .falf-hero {
    gap: 7%;
    padding-top: 8%;
  }
  .falf-hero__text {
    padding-top: 10vw;
  }
  .falf-hero__content--visual {
    flex-basis: 50%;
  }
  .falf-story {
    gap: 6%;
  }
  .falf-story__content--visual {
    flex-basis: 50%;
  }
  .falf-story__content--text {
    flex-basis: 42%;
  }
  .falf-story--moon .falf-story__content--text {
    flex-basis: 42%;
  }
  .falf-story--moon .falf-story__content--visual {
    flex-basis: 50%;
  }
}
@media (max-width: 767px) {
  .falf-hero,
  .falf-story {
    max-width: none;
  }
  .falf-hero {
    display: block;
  }
  .falf-hero__text {
    padding-top: 0;
    padding-left: 0;
  }
  .falf-hero__title {
    font-size: clamp(3.3rem, 12.8vw, 4.5rem);
  }
  .falf-hero__lead {
    margin-top: 6px;
    font-size: 1.25rem;
  }
  .falf-hero__visual {
    display: flex;
    flex-direction: column;
    margin-top: 34px;
    margin-inline: auto;
  }
  .falf-hero__image {
    width: auto;
  }
  .falf-hero__image--01 {
    width: 56%;
    margin-bottom: 0;
    margin-left: 0;
  }
  .falf-hero__image--02 {
    width: 58%;
    margin-top: 0;
    margin-left: auto;
    margin-right: 0;
  }
  .falf-story,
  .falf-story--moon {
    display: block;
    margin-top: 74px;
  }
  .falf-story--moon {
    display: flex;
    flex-direction: column-reverse;
  }
  .falf-story__visual {
    display: flex;
    flex-direction: column;
    margin-inline: auto;
  }
  .falf-story__image {
    width: auto;
  }
  .falf-story__body {
    width: 100%;
    margin-top: 38px !important;
  }
  .falf-story h2 {
    font-size: clamp(2rem, 6vw, 2.45rem);
    line-height: 1.65;
  }
  .falf-story p {
    margin-top: 16px;
    font-size: 1.35rem;
    line-height: 2.1;
  }
  .falf-story--rose .falf-story__visual {
    margin-left: auto;
  }
  .falf-story--rose .falf-story__image--01 {
    order: 2;
    width: 64%;
    margin-top: 0;
    margin-left: auto;
    margin-right: 0;
  }
  .falf-story--rose .falf-story__image--02 {
    order: 1;
    width: 58%;
    margin-bottom: 0;
    margin-left: 0;
  }
  .falf-story--moon .falf-story__body {
    margin-top: 36px;
  }
  .falf-story--moon .falf-story__image--03 {
    order: 1;
    width: 64%;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: 0;
  }
  .falf-story--moon .falf-story__image--04 {
    order: 2;
    width: 58%;
    margin-top: 0;
    margin-left: 0;
  }
  .falf-story--shine {
    margin-top: 74px;
  }
  .falf-story--shine .falf-story__visual {
    margin-left: auto;
  }
  .falf-story--shine .falf-story__image--05 {
    width: 58%;
    margin-top: 0;
    margin-bottom: 0;
  }
  .falf-story--shine .falf-story__image--06 {
    width: 60%;
    margin-top: 0;
    margin-left: auto;
    margin-right: 0;
  }
}

/*# sourceMappingURL=2026falf.css.map */
