@charset "UTF-8";

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-family:
    "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic,
    "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

body {
  min-width: 320px;
  overflow-x: hidden;
  background: #eee9e0;
}

img {
  display: block;
  max-width: 100%;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.header,
.footer {
  position: relative;
  z-index: 2;
}

.js-common-parts-loader[data-type="header"] {
  display: none;
}

.lp {
  position: relative;
  z-index: 1;
  background: url("../images/pc_bg.jpg") no-repeat center center / cover;
  background-attachment: fixed;
}

@media screen and (max-width: 600px) {
  .lp {
    padding-top: 0 !important;
  }
}

.lp__pc-logo,
.lp__side-nav {
  position: fixed;
  top: 0;
  width: calc(50% - (375px / 2) - 40px);
  height: 100%;
  z-index: -1;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 600px) {
  .lp__pc-logo,
  .lp__side-nav {
    display: none;
  }
}

.lp__pc-logo {
  left: 0;
  padding-left: 40px;
}

.lp__pc-logo > img {
  max-width: 375px;
  width: 100%;
}

.lp__side-nav {
  right: 0;
  padding-right: 40px;
}

.lp__side-nav a {
  font-weight: 500;
  margin: 10px 0;
  position: relative;
  display: flex;
  align-items: center;
  color: #755752;
}

.lp__side-nav a > span {
  margin-right: 10px;
  font-family:
    "Futura", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic,
    "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.lp__side-nav a::before {
  content: "";
  width: 8px;
  height: 8px;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  rotate: -45deg;
  margin-right: 10px;
  translate: 0 -1px;
  flex-shrink: 0;
}

.lp__main {
  width: min(100%, 375px);
  margin-inline: auto;
}

@media screen and (min-width: 601px) and (max-width: 728px) {
  .lp__pc-logo {
    display: none;
  }
  .lp__main {
    margin-inline-start: 0;
  }
  .lp__side-nav {
    width: calc(100% - 375px - 40px);
    font-size: 1.6vw;
  }
}

@media screen and (min-width: 729px) and (max-width: 900px) {
  .lp__side-nav {
    font-size: 1.6vw;
    a {
      flex-wrap: wrap;
    }
  }
}

@media screen and (max-width: 600px) {
  .lp__main {
    width: 100%;
  }
}

.lp-fv {
  position: relative;
}

.lp-fv__bg {
  img,
  video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media screen and (max-width: 600px) {
  .lp-fv__bg {
    height: 100lvh;
    img,
    video {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}

.lp-fv__logo {
  width: calc(515 / 750 * 100%);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  opacity: 0;
  scale: 0.8;
  transition:
    scale 2s 0.2s cubic-bezier(0.79, 0.13, 0.05, 1.22),
    opacity 1s 0.2s ease-out;
  &.is-inview {
    opacity: 1;
    scale: 1;
  }
}

/* lp-qa */

.lp-qa {
  background: #f5ece3;
  color: #755752;
}

.lp-qa .lp-section:not(:first-child) .lp-section__title {
  position: relative;
  padding-top: 112px;
}

.lp-qa .lp-section:not(:first-child) .lp-section__title::before {
  content: "";
  width: 1px;
  height: 32px;
  position: absolute;
  top: 56px;
  left: 50%;
  background: linear-gradient(
    274deg,
    #de7468 22.98%,
    #de8279 58.76%,
    #f09e96 91%
  );
}

.lp-section__title {
  width: calc(572 / 750 * 100%);
  margin: 0 auto 0 auto;
  img {
    opacity: 0;
    transition: 0.4s 0.2s;
    translate: 0 10px;
    &.is-inview {
      opacity: 1;
      translate: 0 0;
    }
  }
}

.lp-qa__answer {
  width: calc(630 / 750 * 100%);
  margin-inline: auto;
}

.lp-section {
  position: relative;
  z-index: 1;
  background: #f5ece3;
  &::before,
  &::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
  }
  &::after {
    mix-blend-mode: screen;
  }
}

.lp-section--02 {
  padding-top: 40px;
}

.lp-section--02::before {
  background: url("../images/bg/bg1_1.png") no-repeat top left /
    calc(379 / 750 * 100%) auto;
}

.lp-section--02::after {
  background:
    url("../images/bg/bg1_2.png") no-repeat 100% 30% / calc(276 / 750 * 100%)
      auto,
    url("../images/bg/bg2_2.png") no-repeat 0% 70% / calc(106 / 750 * 100%) auto;
}

.lp-section--03::before {
  background: url("../images/bg/bg3_1.png") no-repeat 100% 0% /
    calc(334 / 750 * 100%) auto;
}

.lp-section--03::after {
  background: url("../images/bg/bg3_2.png") no-repeat 100% 0% /
    calc(156 / 750 * 100%) auto;
}

.lp-section--04::before {
  background:
    url("../images/bg/bg4_1.png") no-repeat 0% 0% / calc(308 / 750 * 100%) auto,
    url("../images/bg/bg5_1.png") no-repeat 100% 112% / calc(312 / 750 * 100%)
      auto;
}

.lp-section--04::after {
  background: url("../images/bg/bg4_2.png") no-repeat 100% 30% /
    calc(292 / 750 * 100%) auto;
}

.lp-section--05::after {
  background:
    url("../images/bg/bg5_2.png") no-repeat 0% 3% / calc(160 / 750 * 100%) auto,
    url("../images/bg/bg6_2.png") no-repeat 100% 48% / calc(234 / 750 * 100%)
      auto;
}
.lp-section--06::before {
  background: url("../images/bg/bg7_1.png") no-repeat 0% -27% /
    calc(750 / 750 * 100%) auto;
}
.lp-section--06::after {
  background:
    url("../images/bg/bg7_2.png") no-repeat 0% 10% / calc(278 / 750 * 100%) auto,
    url("../images/bg/bg8_2.png") no-repeat 100% 76% / calc(222 / 750 * 100%)
      auto;
}

.lp-section--07::before {
  background: url("../images/bg/bg9_1.png") no-repeat 100% 0% /
    calc(328 / 750 * 100%) auto;
}
.lp-section--07::after {
  background:
    url("../images/bg/bg9_2.png") no-repeat 0% 0% / calc(194 / 750 * 100%) auto,
    url("../images/bg/bg10_2.png") no-repeat 10% 70% / calc(416 / 750 * 100%)
      auto;
}

.lp-section--08::before {
  background:
    url("../images/bg/bg11_1.png") no-repeat 0% -10% / calc(252 / 750 * 100%)
      auto,
    url("../images/bg/bg13_1.png") no-repeat 100% 100% / calc(368 / 750 * 100%)
      auto;
}
.lp-section--08::after {
  background:
    url("../images/bg/bg11_2.png") no-repeat 100% 10% / calc(432 / 750 * 100%)
      auto,
    url("../images/bg/bg12_2.png") no-repeat 0% 70% / calc(252 / 750 * 100%)
      auto,
    url("../images/bg/bg13_2.png") no-repeat 100% 100% / calc(114 / 750 * 100%)
      auto;
}

.lp-graph--01 {
  margin-bottom: -50px;
}

.lp-section03-image {
  width: calc(690 / 750 * 100%);
  margin: 40px auto 0 2%;
}

.lp-graph--02 {
  margin-top: -60px;
  margin-bottom: -80px;
}

.lp-graph--03 {
  margin-top: -60px;
  margin-bottom: -80px;
}

.lp-section05-image {
  width: calc(630 / 750 * 100%);
  margin: 40px auto 0;
}

.lp-section06-image {
  width: calc(700 / 750 * 100%);
  margin: 20px auto 0;
}

.lp-section06-list {
  width: calc(605 / 750 * 100%);
  margin: 0px auto 30px;
}

.lp-heart-graph-row {
  display: flex;
  align-items: center;
  width: calc(630 / 750 * 100%);
  margin-inline: auto;
  justify-content: space-between;
  margin-top: 40px;
  margin-bottom: 40px;
}
.lp-heart-graph-row--reverse {
  flex-direction: row-reverse;
  margin-top: -20px;
}

.lp-heart-graph-text {
  font-size: 18px;
  font-weight: 500;
}

.lp-section07-list {
  width: calc(630 / 750 * 100%);
  margin-inline: auto;
  margin-bottom: 20px;
}

.lp-graph--04 {
  margin-top: -20px;
  margin-bottom: -80px;
}

.lp-section--08 {
  padding-bottom: 40px;
}

/* グラフ周り */

.lp-graph__fallback,
.lp-graph__svg {
  display: block;
  width: 100%;
  height: auto;
}

.lp-graph__reveal-stroke {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.lp-graph__label,
.lp-graph__center-text {
  opacity: 0;
}

.lp-graph.is-animated .lp-graph__reveal-stroke {
  animation: lp-graph-draw var(--lp-graph-duration, 1100ms)
    cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

.lp-graph.is-animated .lp-graph__label {
  animation: lp-graph-label 420ms ease-out var(--lp-graph-label-delay, 1100ms)
    forwards;
}

.lp-graph.is-animated .lp-graph__center-text {
  animation: lp-graph-center-text 500ms cubic-bezier(0.22, 1, 0.36, 1)
    var(--lp-graph-center-delay, 1520ms) forwards;
}

@keyframes lp-graph-draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes lp-graph-label {
  to {
    opacity: 1;
  }
}

@keyframes lp-graph-center-text {
  to {
    opacity: 1;
  }
}

.lp-heart-graph {
  width: calc(296 / 630 * 100%);
}

.lp-heart-graph__fallback,
.lp-heart-graph__svg {
  display: block;
  width: 100%;
  height: auto;
}

.lp-heart-graph__fill-reveal {
  transform: translateY(var(--lp-heart-rise-distance));
}

.lp-heart-graph.is-animated .lp-heart-graph__fill-reveal {
  animation: lp-heart-graph-rise var(--lp-heart-graph-duration, 1200ms)
    cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes lp-heart-graph-rise {
  to {
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .lp-graph__reveal-stroke {
    stroke-dashoffset: 0;
  }

  .lp-graph__label,
  .lp-graph__center-text {
    opacity: 1;
  }

  .lp-heart-graph__fill-reveal {
    transform: none;
  }
}
