@keyframes bgloop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@layer page {
  @media screen and (max-width: 767px) {
    .home-body {
      overflow: hidden;
    }
  }
  .home-hdr__row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.875rem;
    line-height: 1.1;
  }
  @media screen and (min-width: 768px) {
    .home-hdr__row {
      padding-bottom: 0.5rem;
    }
  }
  .home-hdr__en {
    display: grid;
    align-items: center;
    grid-template-columns: 1.1875rem 1fr;
    gap: 0.625rem;
    font-size: 1.75rem;
    color: var(--accent);
    font-family: var(--en-sans);
    line-height: 1;
    margin-bottom: 0.75rem;
  }
  @media screen and (max-width: 767px) {
    .home-hdr__en {
      grid-template-columns: 4.358974359vw 1fr;
      gap: 2.5641025641vw;
      font-size: 6.1538461538vw;
    }
  }
  @media screen and (max-width: 767px) {
    .home-hdr__en img {
      transform: translateY(0.5128205128vw);
    }
  }
  .home-hdr__ja {
    color: var(--accent);
    font-size: 1.1875rem;
    transform: translateY(0.125rem);
  }
  @media screen and (max-width: 767px) {
    .home-hdr__ja {
      font-size: 4.1025641026vw;
    }
  }
  .home-hdr__text {
    font-size: 3rem;
    letter-spacing: 0.08em;
    margin-top: 0.05em;
    line-height: 1.25;
  }
  @media screen and (max-width: 767px) {
    .home-hdr__text {
      margin-top: 0.08em;
      font-size: 8.2051282051vw;
    }
  }
  .home-hdr__text.is-s {
    font-size: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-hdr__text.is-s {
      font-size: 8.2051282051vw;
    }
  }
  .home-hdr__text b {
    font-weight: normal;
    color: var(--accent);
  }
  .home-lead {
    font-size: 1.75rem;
    line-height: 1.7142857143;
    margin-top: 2.125rem;
  }
  @media screen and (max-width: 767px) {
    .home-lead {
      margin-top: 6.6666666667vw;
      font-size: 5.1282051282vw;
    }
  }
  .home-text {
    line-height: 2;
    margin-top: 1rem;
  }
  @media screen and (max-width: 767px) {
    .home-text {
      margin-top: 4.6153846154vw;
    }
  }
  .home-sec {
    --padding: 7.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-sec {
      --padding: 20.5128205128vw;
    }
  }
  .home-sec {
    padding-top: var(--padding);
  }
  @media screen and (min-width: 768px) {
    .home-sec:first-child {
      padding-top: 6.25rem;
    }
  }
  .home-mv {
    position: relative;
    background: url("../../../img/page/home/mv_bg.png") -7.875vw calc(100% + 18.125vw)/39.125vw auto no-repeat;
  }
  @media screen and (min-width: 768px) {
    .home-mv {
      height: 51.875vw;
    }
  }
  @media screen and (max-width: 767px) {
    .home-mv {
      padding-top: 23.0769230769vw;
      background-size: 98.9743589744vw auto;
      background-position: -12.8205128205vw 0vw;
    }
  }
  .home-mv__inner {
    position: relative;
    overflow: hidden;
  }
  @media screen and (min-width: 768px) {
    .home-mv__inner {
      height: 100%;
    }
  }
  @media screen and (min-width: 768px) {
    .home-mv__wtext {
      position: absolute;
      z-index: 3;
      left: 5rem;
      top: 8.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-mv__wtext {
      text-align: center;
    }
  }
  @media screen and (min-width: 768px) {
    .home-mv__copy {
      width: 22.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-mv__copy {
      width: 64.1025641026vw;
      margin: 0 auto;
    }
  }
  .home-mv__text {
    line-height: 2;
  }
  @media screen and (min-width: 768px) {
    .home-mv__text {
      margin-top: 2.25rem;
      width: 25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-mv__text {
      margin-top: 5.1282051282vw;
      font-size: 3.5897435897vw;
    }
  }
  .home-mv__neji {
    width: 17.625rem;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-16.5rem, -8.125rem);
  }
  .home-mv__wimg {
    width: 69.875vw;
  }
  @media screen and (min-width: 768px) {
    .home-mv__wimg {
      position: absolute;
      right: 1.25rem;
      top: -2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-mv__wimg {
      width: 136.6666666667vw;
      overflow: hidden;
      height: 118.9743589744vw;
      transform: translate(-19.2307692308vw, -4.1025641026vw);
      margin-bottom: -4.1025641026vw;
    }
  }
  .home-mv__illust {
    position: absolute;
    width: 18.75vw;
    animation: 4s fuwafuwa infinite;
    animation-timing-function: ease-in;
  }
  @media screen and (max-width: 767px) {
    .home-mv__illust {
      width: 35.1282051282vw;
    }
  }
  .home-mv__illust.is-0 {
    left: 8.75vw;
    top: 11.875vw;
    animation-duration: 4.6s;
  }
  @media screen and (max-width: 767px) {
    .home-mv__illust.is-0 {
      left: 19.2307692308vw;
      top: 17.9487179487vw;
    }
  }
  .home-mv__illust.is-1 {
    left: 43.75vw;
    top: 35vw;
    animation-duration: 5s;
  }
  @media screen and (max-width: 767px) {
    .home-mv__illust.is-1 {
      left: 88.4615384615vw;
      top: 66.6666666667vw;
    }
  }
  .home-mv__illust.is-2 {
    left: 48.75vw;
    top: 10.625vw;
  }
  @media screen and (max-width: 767px) {
    .home-mv__illust.is-2 {
      left: 98.7179487179vw;
      top: 23.0769230769vw;
    }
  }
  .home-mv__illust.is-3 {
    width: 8.5vw;
    left: 30vw;
    top: 11.25vw;
    animation-duration: 3.8s;
  }
  @media screen and (max-width: 767px) {
    .home-mv__illust.is-3 {
      left: 59.2307692308vw;
      top: 22.0512820513vw;
      width: 14.6153846154vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-mv__wlink {
      margin-top: 2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-mv__wlink .p-btn-a {
      vertical-align: top;
      width: auto;
      transform: translateX(2.5641025641vw);
    }
  }
  @media screen and (max-width: 767px) {
    .home-mv__wlink .p-btn-a__inner {
      background: #fff;
      text-align: left;
      gap: 3.0769230769vw;
    }
  }
  .home-batsu {
    display: inline-block;
    background: url("../../../img/content/batsu.svg") 0 0/contain no-repeat;
    width: 2.125rem;
    height: 2.125rem;
    margin: 0 0.875rem 0 0.375rem;
  }
  @media screen and (max-width: 767px) {
    .home-batsu {
      width: 6.6666666667vw;
      height: 6.6666666667vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-notification + .home-body .home-service {
      padding-top: calc(var(--padding) + 12.8205128205vw);
    }
  }
  .home-service {
    background: var(--fill);
  }
  .home-service__inner {
    position: relative;
    padding-bottom: 4.75rem;
  }
  @media screen and (max-width: 767px) {
    .home-service__inner {
      padding-bottom: 9.2307692308vw;
    }
  }
  .home-service__wlink {
    margin-top: 2.25rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-service__wlink {
      margin-top: 5.641025641vw;
    }
  }
  @media screen and (max-width: 767px) {
    .home-service__wlink .c-btn {
      width: 51.2820512821vw;
    }
  }
  .home-service__loop {
    overflow: hidden;
  }
  .home-service__loop-in {
    display: flex;
    width: 240.5rem;
    animation: bgloop 18s infinite linear;
  }
  @media screen and (max-width: 767px) {
    .home-service__loop-in {
      width: 512.8205128205vw;
      animation-duration: 30s;
    }
  }
  .home-service__loop-in img {
    width: 50%;
  }
  .home-service__illust {
    pointer-events: none;
    position: absolute;
  }
  @media screen and (min-width: 768px) {
    .home-service__illust {
      right: 5rem;
      top: 0rem;
      width: 25.0625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-service__illust {
      width: 43.5897435897vw;
      top: calc(var(--padding) * -0.95);
      right: -3.5897435897vw;
    }
  }
  .home-project {
    position: relative;
    padding-bottom: var(--padding);
    background: url("../../../img/page/home/project_bg.jpg") calc(100% + 3.125rem) -14.0625rem/39.125rem auto no-repeat;
  }
  @media screen and (max-width: 767px) {
    .home-project {
      background-size: 57.1794871795vw auto;
      background-position: calc(100% + 5.8974358974vw) -17.9487179487vw;
    }
  }
  .home-project__illust {
    pointer-events: none;
    position: absolute;
    z-index: 2;
  }
  @media screen and (min-width: 768px) {
    .home-project__illust {
      right: 0rem;
      top: 1.875rem;
      width: 58.4375rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-project__illust {
      width: 57.6923076923vw;
      top: 0vw;
      right: 0vw;
    }
  }
  @media screen and (max-width: 767px) {
    .home-project__body {
      margin-top: 8.9743589744vw;
    }
  }
  .home-project__tab {
    margin-top: 3.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-project__tab {
      margin-top: 8.9743589744vw;
    }
  }
  .home-recruit {
    position: relative;
    background: var(--fill);
  }
  .home-recruit__inner {
    position: relative;
    padding-bottom: 4rem;
  }
  @media screen and (max-width: 767px) {
    .home-recruit__inner {
      padding-bottom: 10.2564102564vw;
    }
  }
  .home-recruit__illust {
    pointer-events: none;
    position: absolute;
  }
  @media screen and (min-width: 768px) {
    .home-recruit__illust {
      right: 5rem;
      top: 2.5rem;
      width: 31.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-recruit__illust {
      width: 61.5384615385vw;
      top: -35.8974358974vw;
      right: -10.2564102564vw;
    }
  }
  .home-recruit__img {
    width: 100%;
  }
  .home-recruit__wlink {
    margin-top: 2rem;
  }
  @media screen and (min-width: 768px) {
    .home-recruit__wlink {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 0.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-recruit__wlink {
      margin-top: 5.641025641vw;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2.5641025641vw;
    }
    .home-recruit__wlink .c-btn {
      width: auto;
      text-align: left;
    }
    .home-recruit__wlink .p-btn-a__inner {
      padding-right: 4.1025641026vw;
      gap: 2.5641025641vw;
      line-height: 1.3;
    }
  }
  @media screen and (max-width: 767px) {
    .home-news {
      --padding: 15.3846153846vw;
    }
  }
  .home-news {
    padding-bottom: var(--padding);
    background: url("../../../img/page/home/news_bg.png") -15.5rem 20rem/39.125rem auto no-repeat;
  }
  @media screen and (max-width: 767px) {
    .home-news {
      background: url("../../../img/page/home/news_bg_sp.png") 50vw 105.1282051282vw/19.875rem auto no-repeat;
    }
  }
  @media screen and (min-width: 768px) {
    .home-news__inner {
      display: grid;
      grid-template-columns: 17.5rem 1fr;
    }
  }
  @media screen and (max-width: 767px) {
    .home-news__body {
      margin-top: 7.6923076923vw;
    }
  }
  .home-news__wbtn {
    margin-top: 1.875rem;
  }
  @media screen and (max-width: 767px) {
    .home-news__wbtn {
      margin-top: 5.1282051282vw;
    }
  }
}