@layer page {
  .is-loaded .home-mv__text {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  .is-loaded .l-header__logo {
    opacity: 1;
    rotate: 0deg;
  }
  .is-loaded .l-nav__list {
    opacity: 1;
    transform: translateY(0%);
  }
  .is-action .home-mv__l .home-mv__item:not(:first-child),
  .is-action .home-mv__r .home-mv__item:not(:first-child) {
    opacity: 0;
  }
  :root {
    --header-delay: 1.8s;
  }
  .l-header__logo {
    opacity: 0;
    rotate: -20deg;
    transition: 0.4s;
    transition-property: opacity, rotate;
    transition-delay: var(--header-delay);
  }
  @media screen and (min-width: 768px) {
    .l-nav__list {
      opacity: 0;
      transform: translateY(50%);
      transition: 0.4s;
      transition-property: opacity, transform;
      transition-delay: var(--header-delay);
    }
  }
  .home-mv {
    opacity: 0;
    position: relative;
    transition: 0.7s opacity;
  }
  .home-mv.is-visible {
    opacity: 1;
  }
  .home-mv__row {
    display: flex;
  }
  .home-mv__row > * {
    width: 50%;
  }
  .home-mv__l {
    position: relative;
  }
  .home-mv__l .home-mv__item:nth-child(1) {
    transition-delay: 1.3s;
  }
  .home-mv__l .home-mv__item:nth-child(2) {
    transition-delay: 1.2s;
  }
  .home-mv__l .home-mv__item:nth-child(3) {
    transition-delay: 1.1s;
  }
  .home-mv__l .home-mv__item:nth-child(4) {
    transition-delay: 1s;
  }
  .home-mv__l .home-mv__item:nth-child(5) {
    transition-delay: 0.9s;
  }
  .home-mv__l .home-mv__item:nth-child(6) {
    transition-delay: 0.8s;
  }
  .home-mv__l .home-mv__item:nth-child(7) {
    transition-delay: 0.7s;
  }
  .home-mv__l .home-mv__item:nth-child(8) {
    transition-delay: 0.6s;
  }
  .home-mv__l .home-mv__item:nth-child(9) {
    transition-delay: 0.5s;
  }
  .home-mv__l .home-mv__item:nth-child(10) {
    transition-delay: 0.4s;
  }
  .home-mv__l .home-mv__item:nth-child(11) {
    transition-delay: 0.3s;
  }
  .home-mv__l .home-mv__item:nth-child(12) {
    transition-delay: 0.2s;
  }
  .home-mv__r {
    position: relative;
  }
  .home-mv__r .home-mv__item:nth-child(1) {
    transition-delay: 1.43s;
  }
  .home-mv__r .home-mv__item:nth-child(2) {
    transition-delay: 1.32s;
  }
  .home-mv__r .home-mv__item:nth-child(3) {
    transition-delay: 1.21s;
  }
  .home-mv__r .home-mv__item:nth-child(4) {
    transition-delay: 1.1s;
  }
  .home-mv__r .home-mv__item:nth-child(5) {
    transition-delay: 0.99s;
  }
  .home-mv__r .home-mv__item:nth-child(6) {
    transition-delay: 0.88s;
  }
  .home-mv__r .home-mv__item:nth-child(7) {
    transition-delay: 0.77s;
  }
  .home-mv__r .home-mv__item:nth-child(8) {
    transition-delay: 0.66s;
  }
  .home-mv__r .home-mv__item:nth-child(9) {
    transition-delay: 0.55s;
  }
  .home-mv__r .home-mv__item:nth-child(10) {
    transition-delay: 0.44s;
  }
  .home-mv__r .home-mv__item:nth-child(11) {
    transition-delay: 0.33s;
  }
  .home-mv__r .home-mv__item:nth-child(12) {
    transition-delay: 0.22s;
  }
  .home-mv__item {
    opacity: 1;
    transition: 0.005s opacity;
  }
  .home-mv__item:not(:first-child) {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .home-mv__text {
    opacity: 0;
    transition: 0.8s;
    transition-property: opacity, transform;
    transition-delay: var(--header-delay);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -60%);
    z-index: 100;
  }
  @media screen and (max-width: 767px) {
    .home-mv__text {
      width: 84.2666666667vw;
    }
  }
  .home-power {
    position: relative;
    background-image: linear-gradient(-198deg, #F2EFE7 0%, #D1E3DB 10%, #86CDBF 90%);
    padding-top: 28.125rem;
  }
  @media screen and (min-width: 768px) {
    .home-power {
      padding-bottom: 60rem;
      margin-bottom: -31.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-power {
      margin-bottom: -32vw;
      padding-top: 21.3333333333vw;
      padding-bottom: 58.6666666667vw;
    }
  }
  .home-power__stone {
    pointer-events: none;
    display: block;
    width: 6.125rem;
    height: 5.875rem;
    position: absolute;
    top: 40rem;
  }
  @media screen and (min-width: 768px) {
    .home-power__stone {
      left: calc(50% + 30.625rem);
    }
  }
  @media screen and (max-width: 767px) {
    .home-power__stone {
      top: 40vw;
      right: 8vw;
      width: 13.8666666667vw;
      height: 13.3333333333vw;
    }
  }
  .home-power__hdr {
    overflow: hidden;
    position: relative;
  }
  .home-power__ttl {
    position: relative;
    z-index: 2;
    width: 68.6875rem;
    margin: 0 auto;
  }
  @media screen and (max-width: 767px) {
    .home-power__ttl {
      width: 89.6vw;
    }
  }
  .home-power__ttl img {
    width: 100%;
  }
  .home-power__en {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 0.625rem;
    transform: translate(-50%, 0);
    color: rgba(255, 255, 255, 0.2);
    font-size: 9.1875rem;
    font-family: var(--en-serif);
    line-height: 1;
    white-space: nowrap;
  }
  .home-power__text {
    margin-top: 6.25rem;
    line-height: 1.9642857143;
    text-align: center;
  }
  @media screen and (min-width: 768px) {
    .home-power__text {
      font-size: 1.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-power__text {
      margin-top: 21.3333333333vw;
    }
  }
  .home-hdr {
    text-align: center;
  }
  .home-hdr__en {
    position: relative;
    font-size: 9.375rem;
    color: var(--accent);
    font-family: var(--en-serif);
    line-height: 1;
    letter-spacing: 10%;
  }
  @media screen and (max-width: 767px) {
    .home-hdr__en {
      font-size: 12.2666666667vw;
    }
  }
  .home-hdr__ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.875rem;
    position: relative;
    font-size: 1.6875rem;
    margin-top: 0.625rem;
  }
  @media screen and (min-width: 768px) {
    .home-hdr__ttl {
      margin-left: -6.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-hdr__ttl {
      font-size: 5.8666666667vw;
      gap: 2.6666666667vw;
    }
  }
  .home-hdr__ttl::before {
    content: "";
    display: block;
    width: 4.6875rem;
    height: 1px;
    background: var(--main);
    position: relative;
    top: 0.25rem;
  }
  @media screen and (max-width: 767px) {
    .home-hdr__ttl::before {
      width: 9.6vw;
    }
  }
  .home-message {
    position: relative;
    margin-bottom: 6.25rem;
  }
  @media screen and (max-width: 767px) {
    .home-message {
      margin-bottom: 26.6666666667vw;
    }
  }
  .home-message::before, .home-message::after {
    pointer-events: none;
    content: "";
    display: block;
  }
  .home-message::before {
    width: 100%;
    height: 18.75rem;
    background: #fff;
    position: absolute;
    left: calc(-50vw + 18.125rem);
    top: 6.625rem;
  }
  @media screen and (max-width: 767px) {
    .home-message::before {
      left: 0;
      width: 86.6666666667vw;
      top: 8vw;
    }
  }
  .home-message::after {
    width: 100%;
    background-image: linear-gradient(-198deg, #50BF50 0%, #0DA48F 23%, #20837C 90%);
    position: absolute;
    left: 0;
    top: 45.3333333333vw;
    height: 226.6666666667vw;
  }
  @media screen and (min-width: 768px) {
    .home-message::after {
      height: 84.375rem;
      top: 25.375rem;
      left: calc(-50vw + 37.5rem);
    }
  }
  .home-message > * {
    position: relative;
    z-index: 2;
  }
  .home-message__body {
    margin-top: 6.9333333333vw;
  }
  @media screen and (min-width: 768px) {
    .home-message__body {
      margin-top: 3.75rem;
    }
  }
  .home-message__img {
    margin: 0 auto;
  }
  @media screen and (min-width: 768px) {
    .home-message__img {
      width: 68.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-message__img {
      margin-left: 6.4vw;
    }
  }
  .home-message__text {
    line-height: 2.1739130435;
    color: #fff;
  }
  @media screen and (min-width: 768px) {
    .home-message__text {
      font-size: 1.4375rem;
      margin: 4.375rem auto 0 auto;
      width: 50rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-message__text {
      line-height: 1.7647058824;
      padding: 10.6666666667vw;
      padding-bottom: 14.9333333333vw;
    }
  }
  .home-message__unit + .home-message__unit {
    margin-top: 2em;
  }
  @media screen and (max-width: 767px) {
    .home-message__unit + .home-message__unit {
      margin-top: 1.8em;
    }
  }
  .home-message__name {
    text-align: right;
    margin-top: 0.6em;
  }
  @media screen and (max-width: 767px) {
    .home-message__name {
      margin-top: 2.6em;
    }
  }
  .home-project {
    position: relative;
    overflow: hidden;
  }
  @media screen and (min-width: 768px) {
    .home-project {
      margin-top: 23.75rem;
    }
  }
  .home-project::before, .home-project::after {
    position: absolute;
    content: "";
    display: block;
  }
  .home-project__bar {
    position: absolute;
    left: calc(50vw + 2.875rem);
    top: 5rem;
    overflow: hidden;
    width: 0;
    height: 18.75rem;
    transition: 1s width cubic-bezier(0.16, 1, 0.3, 1);
  }
  @media screen and (max-width: 767px) {
    .home-project__bar {
      top: 8vw;
      left: 16vw;
      width: 84vw;
      height: 36.8vw;
    }
  }
  .home-project__bar::before {
    content: "";
    display: block;
    background: linear-gradient(to right, #f2f5f4, #e6e7e7);
    width: calc(50vw + 2.875rem);
    height: 18.75rem;
  }
  @media screen and (max-width: 767px) {
    .home-project__bar::before {
      width: 84vw;
      height: 36.8vw;
    }
  }
  .home-project__bar.is-fire {
    width: calc(50% + 2.875rem);
  }
  @media screen and (max-width: 767px) {
    .home-project__bar.is-fire {
      width: 84vw;
    }
  }
  .home-project__main {
    position: relative;
    z-index: 2;
  }
  .home-project__stone {
    position: absolute;
    display: block;
    top: 0;
    width: 6.4375rem;
    height: 6.125rem;
  }
  @media screen and (min-width: 768px) {
    .home-project__stone {
      left: 50%;
      transform: translate(25rem, 9.375rem);
    }
  }
  @media screen and (max-width: 767px) {
    .home-project__stone {
      top: 18.6666666667vw;
      right: 5.3333333333vw;
      width: 14.4vw;
      height: 13.8666666667vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-project__main {
      width: 56.25rem;
      margin-left: auto;
      margin-right: auto;
      transform: translateX(-6.875rem);
    }
  }
  .home-project__body {
    margin-top: 5rem;
  }
  @media screen and (max-width: 767px) {
    .home-project__body {
      margin-top: 14.6666666667vw;
      padding-left: 5.3333333333vw;
      padding-right: 5.3333333333vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-project .home-hdr {
      width: 41.25rem;
    }
  }
  .home-project .home-hdr__en {
    letter-spacing: 1%;
  }
  @media screen and (min-width: 768px) {
    .home-project .home-hdr__ttl {
      margin-left: -7.5rem;
    }
  }
  .home-project__list {
    margin-left: auto;
    margin-right: auto;
  }
  @media screen and (min-width: 768px) {
    .home-project__list {
      width: 100%;
      max-width: 61rem;
      margin-left: 8.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-project__list {
      display: flex;
      flex-direction: column;
      gap: 10.6666666667vw;
    }
  }
  .home-project__list > li {
    position: relative;
  }
  @media screen and (min-width: 768px) {
    .home-project__list > li {
      display: grid;
      align-items: center;
      grid-template-columns: 23.125rem 1fr;
      gap: 3.125rem;
      padding: 1.875rem 0;
    }
  }
  @media screen and (min-width: 768px) {
    .home-project__list > li:not(:first-child)::before {
      position: absolute;
      left: 26.25rem;
      top: 0;
      content: "";
      display: block;
      background: #000;
      width: 4.6875rem;
      height: 1px;
    }
  }
  .home-project__wtext {
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .home-project__wtext {
      margin-top: 5.3333333333vw;
    }
  }
  .home-project__num {
    color: var(--accent);
    font-size: 1.875rem;
    font-family: var(--en-serif);
    line-height: 1.1;
    margin-bottom: 1rem;
  }
  @media screen and (max-width: 767px) {
    .home-project__num {
      font-size: 8vw;
    }
  }
  .home-project__name {
    margin-bottom: 1.625rem;
  }
  .home-project__name img {
    width: auto;
    height: 2.8125rem;
  }
  @media screen and (max-width: 767px) {
    .home-project__name img {
      height: 8.8vw;
    }
  }
  .home-project__text {
    line-height: 39/22;
  }
  @media screen and (min-width: 768px) {
    .home-project__text {
      font-size: 1.375rem;
    }
  }
  .home-about {
    overflow: hidden;
    position: relative;
  }
  @media screen and (min-width: 768px) {
    .home-about {
      margin-top: 18.75rem;
      padding-top: 15.625rem;
      padding-bottom: 12.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-about {
      background: linear-gradient(to right, #f0eeec, #dddbd9);
      margin-top: 24vw;
      padding-top: 16vw;
      display: flex;
      flex-direction: column-reverse;
    }
  }
  @media screen and (min-width: 768px) {
    .home-about::before {
      position: absolute;
      left: 50%;
      top: 0;
      content: "";
      display: block;
      background: linear-gradient(to right, #f0eeec, #dddbd9);
      transform: translate(-26rem, 8.125rem);
      width: 100vw;
      height: 100%;
    }
  }
  @media screen and (min-width: 768px) {
    .home-about .home-hdr {
      width: fit-content;
    }
  }
  .home-about .home-hdr__en {
    letter-spacing: 0.02em;
  }
  .home-about__main {
    position: relative;
    z-index: 2;
    margin-left: auto;
    margin-right: auto;
  }
  @media screen and (min-width: 768px) {
    .home-about__main {
      width: 37.5rem;
      transform: translateX(18.75rem);
    }
  }
  @media screen and (min-width: 768px) {
    .home-about__body {
      margin-top: 4.375rem;
      margin-left: 5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-about__body {
      padding: 12.2666666667vw 8vw 29.3333333333vw 8vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-about__img {
      left: 0;
      top: 0;
      position: absolute;
      width: 52.5rem;
    }
  }
  .home-about__img img {
    width: 100%;
  }
  .home-about__stone {
    position: absolute;
    display: block;
    width: 7.875rem;
  }
  @media screen and (min-width: 768px) {
    .home-about__stone {
      left: 50%;
      top: 0;
      transform: translate(38.75rem, 43.75rem);
    }
  }
  @media screen and (max-width: 767px) {
    .home-about__stone {
      width: 17.8666666667vw;
      top: 112vw;
      right: 9.3333333333vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-about-info {
      font-size: 1.375rem;
    }
  }
  .home-about-info__row {
    display: grid;
    grid-template-columns: 3.2em 1fr;
    gap: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .home-about-info__row {
      margin-top: 1.0666666667vw;
    }
  }
  .home-about-info__name {
    text-align-last: justify;
    white-space: nowrap;
  }
  .home-about-info__name.is-tel {
    letter-spacing: 0.7em;
  }
  .home-group {
    position: relative;
    z-index: 2;
  }
  @media screen and (max-width: 767px) {
    .home-group {
      background-image: linear-gradient(45deg, #20A8B6, #0091A0);
    }
  }
  .home-group .home-hdr__en {
    letter-spacing: 0.02em;
    color: #fff;
  }
  .home-group .home-hdr__ttl::before {
    background: #fff;
  }
  .home-group__main {
    color: #fff;
    position: relative;
    z-index: 1;
  }
  @media screen and (min-width: 768px) {
    .home-group__main {
      padding: 10rem 0;
      background-image: linear-gradient(45deg, #20A8B6, #0091A0);
      padding-left: 6.25rem;
      width: 93.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-group__main {
      padding-top: 18.6666666667vw;
      padding-bottom: 24vw;
    }
  }
  .home-group__body {
    margin-top: 10.6666666667vw;
  }
  @media screen and (min-width: 768px) {
    .home-group__body {
      margin-top: 4.375rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-group__body {
      padding-left: 8vw;
      padding-right: 8vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-group__img {
      top: -6.25rem;
      right: 0;
      position: absolute;
      z-index: 2;
      width: 45.625rem;
    }
  }
  .home-group__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
    font-size: 1.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-group__list {
      gap: 9.0666666667vw;
      font-size: 5.8666666667vw;
    }
  }
  .home-group__list > li {
    border: 1px solid #fff;
    border-radius: 0.3125rem;
    width: 28.125rem;
    height: 4.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  @media screen and (max-width: 767px) {
    .home-group__list > li {
      width: 100%;
      height: 18.1333333333vw;
    }
  }
  .home-group__list a {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.25s;
  }
  @media (hover: hover) {
    .home-group__list a:hover {
      background: #fff;
      color: #20A8B6;
    }
    .home-group__list a:hover svg {
      fill: #20A8B6;
    }
  }
  .home-group__arrow {
    transition: 0.25s;
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0.75rem;
    height: 1rem;
    fill: #fff;
  }
  .home-tran {
    opacity: 0;
    transition: 0.8s;
  }
  .home-tran.is-fire {
    opacity: 1;
  }
  .home-stone {
    opacity: 0;
    transition: 0.8s;
    transition-timing-function: ease-in-out;
  }
  .home-stone.is-fire {
    opacity: 1;
  }
}