/* CSS-compatible SCSS: built independently with node build-motion.mjs. */
body.page-home {
  overflow-x: clip;
}
body.page-home .p-mv {
  height: 100vh;
  height: 100svh;
}
body.page-home .p-mv__img {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  aspect-ratio: auto;
  background: #263454;
  pointer-events: none;
}
body.page-home .p-mv__img picture,
body.page-home .p-mv__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.page-home .p-mv__video {
  z-index: 1;
  opacity: 0;
  transition: opacity .5s;
}
body.page-home .p-mv__video.is-playing { opacity: 1; }
body.page-home .p-mv__copy {
  position: absolute;
  top: 50vh;
  top: 50svh;
  margin: 0;
  pointer-events: none;
}
body.page-home.has-aizu-motion .p-mv__copy { position: fixed; }
body.page-home .p-concept,
body.page-home .p-news,
body.page-home .p-reason,
body.page-home .p-voice,
body.page-home .p-faq-about,
body.page-home .p-contact,
body.page-home .site-footer,
body.page-home .p-footer {
  position: relative;
  z-index: 3;
}
body.page-home .p-concept { background: #fff; }
body.page-home .p-news { background-image: none; }
body.page-home .p-voice,
body.page-home .p-contact { margin-top: clamp(100px, 28svh, 320px); }
body.page-home .p-reason { overflow: visible; }
body.page-home .p-reason__item {
  padding-top: 44px;
  padding-bottom: 36px;
  background: #7a87df;
}
body.page-home .p-reason__visual { flex-basis: min(400px, 38vw); width: min(400px, 38vw); }
body.page-home .p-reason.is-stack .c-hdg-sec {
  position: sticky;
  top: var(--reason-heading-top, 100px);
  z-index: 8;
  pointer-events: none;
}
body.page-home .p-reason.is-stack-pinned .c-hdg-sec {
  background: #7a87df;
  box-shadow: 0 -45px 0 #7a87df, 0 20px 0 #7a87df;
}
body.page-home .p-reason.is-stack-pinned .c-hdg-sec__en { color: #fff; }
body.page-home .p-reason.is-stack .p-reason__list::after { content: ""; display: block; height: 160px; flex: 0 0 160px; }
body.page-home .p-reason.is-stack .p-reason__item {
  position: sticky;
  top: var(--reason-card-top, 200px);
}
body.page-home .p-reason__item:nth-child(1) { z-index: 1; }
body.page-home .p-reason__item:nth-child(2) { z-index: 2; }
body.page-home .p-reason__item:nth-child(3) { z-index: 3; }
.aizu-reveal { transition: opacity .8s ease, transform .8s cubic-bezier(.2,.65,.3,1); }
.aizu-reveal.is-pending { opacity: 0; transform: translateY(28px); }
.aizu-reveal:focus-within { opacity: 1; transform: none; }
body.page:not(.page-home) .c-pghdg::before {
  position: fixed;
  top: 180px;
  height: min(76vh, 782px);
  width: min(58px, 5vw);
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}
@media (max-width: 767px) {
  body.page-home .p-reason__visual { flex-basis: auto; width: min(100%, 36svh, 400px); }
  body.page-home .p-reason__item { row-gap: 28px; }
  body.page-home .p-reason__title { overflow-wrap: anywhere; }
}
@media (max-width: 480px) {
  body.page .p-footer__nav { max-width: 100%; gap: 16px; }
  body.page .p-footer__nav-ls { min-width: 0; }
  body.page:not(.page-home) .c-pghdg::before { top: 130px; }
  body.page-home .p-concept__copy { font-size: clamp(16px, 4.7vw, 21px); }
}
@media (prefers-reduced-motion: reduce) {
  .aizu-reveal, .aizu-reveal.is-pending { opacity: 1; transform: none; transition: none; }
  body.page-home.has-aizu-motion .p-mv__copy { position: absolute; opacity: 1 !important; }
  body.page-home .p-reason.is-stack .c-hdg-sec,
body.page-home .p-reason.is-stack .p-reason__item { position: relative; top: auto; }
  body.page-home .p-mv__video { transition: none; }
}
