@layer page {
  .home {
    color: var(--accent);
  }
  .home a {
    color: var(--accent);
  }
  @media screen and (min-width: 768px) {
    .home-fv {
      padding-top: 14rem;
    }
  }
  @media screen and (min-width: 768px) {
    .home-fv__inner {
      display: grid;
      grid-template-columns: 1fr 31.875rem;
      align-items: flex-start;
    }
  }
  @media screen and (max-width: 767px) {
    .home-fv__inner {
      display: flex;
      flex-direction: column-reverse;
    }
  }
  @media screen and (min-width: 768px) {
    .home-fv__img {
      position: sticky;
      top: 14rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-fv__img {
      text-align: right;
    }
  }
  .home-fv__img img {
    width: 52.5rem;
    max-width: none;
  }
  @media screen and (max-width: 767px) {
    .home-fv__img img {
      width: 76.9230769231vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-fv__img-item {
      overflow: hidden;
      width: calc(100vw - 43.75rem - (100vw - 75rem) / 2);
    }
  }
  @media screen and (max-width: 1300px) and (min-width: 767px) {
    .home-fv__img-item {
      width: calc(100% + 2.5rem);
    }
  }
  @media screen and (min-width: 768px) {
    .home-fv__wtext {
      padding-top: 4.375rem;
      padding-bottom: 8.125rem;
      padding-left: 5.625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-fv__wtext {
      margin-top: 7.6923076923vw;
      padding: 0 7.6923076923vw 0 23.0769230769vw;
    }
  }
  .home-fv__hdr {
    margin-bottom: 3.125rem;
  }
  @media screen and (max-width: 767px) {
    .home-fv__hdr {
      margin-bottom: 7.6923076923vw;
    }
  }
  .home-fv__range {
    font-family: var(--en-serif);
  }
  @media screen and (max-width: 767px) {
    .home-fv__range {
      font-size: 4.1025641026vw;
    }
  }
  .home-fv__range p {
    transform: rotate(90deg) translate(-60%, 70%);
    transform-origin: left top;
    letter-spacing: 0.15em;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2.375rem;
  }
  @media screen and (max-width: 767px) {
    .home-fv__range p {
      transform: rotate(90deg) translate(30%, 100%);
    }
  }
  .home-fv__range span {
    position: relative;
    display: inline-block;
  }
  .home-fv__range span:not(:last-child)::after {
    display: block;
    content: "";
    width: 1.5rem;
    height: 1px;
    background: var(--accent);
    position: absolute;
    right: 0rem;
    transform: translateX(calc(100% + 0.375rem));
    top: 50%;
  }
  .home-fv__ttl {
    font-size: 1.5rem;
    line-height: 1.4375;
    letter-spacing: 0.3em;
  }
  @media screen and (max-width: 767px) {
    .home-fv__ttl {
      font-size: 4.6153846154vw;
      line-height: 1.8;
    }
  }
  .home-fv__ttl span {
    display: block;
    margin-top: 1.25rem;
    font-size: 2.25rem;
    font-family: var(--serif-in-en);
    letter-spacing: 0.3em;
  }
  @media screen and (max-width: 767px) {
    .home-fv__ttl span {
      margin-top: 3.0769230769vw;
      font-size: 6.1538461538vw;
    }
  }
  .home-fv__ttl b {
    font-size: 2.8125rem;
    font-weight: normal;
    line-height: 1;
    letter-spacing: 0.32em;
  }
  @media screen and (max-width: 767px) {
    .home-fv__ttl b {
      font-size: 7.6923076923vw;
    }
  }
  .home-fv__text {
    font-size: 1.125rem;
    line-height: 2.5555555556;
    letter-spacing: 0.3em;
  }
  @media screen and (max-width: 767px) {
    .home-fv__text {
      font-size: 3.8461538462vw;
    }
  }
  .home-fv__wlink {
    margin-top: 3.125rem;
  }
  @media screen and (max-width: 767px) {
    .home-fv__wlink {
      margin-top: 10.2564102564vw;
    }
  }
  .home-fv__wlink a {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.875rem;
    border-bottom: 1px solid var(--accent);
    padding-bottom: 0.375rem;
    transition: 0.4s filter;
  }
  @media screen and (max-width: 767px) {
    .home-fv__wlink a {
      gap: 2.5641025641vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-photo {
      display: grid;
      grid-template-columns: 17.0625rem 29.9375rem;
      margin-top: 4.6875rem;
      align-items: flex-end;
      gap: 2.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-photo {
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between;
      margin-top: 20.5128205128vw;
    }
  }
  @media screen and (max-width: 767px) {
    .home-photo__item {
      width: 63.3333333333vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-photo__item.is-1 {
      padding-bottom: 10rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-photo__item.is-1 {
      width: 27.4358974359vw;
      margin-top: 8.25rem;
    }
  }
  .home-sec {
    margin-top: 12em;
  }
  @media screen and (max-width: 767px) {
    .home-sec {
      margin-top: 20.5128205128vw;
      padding-left: 7.6923076923vw;
      padding-right: 7.6923076923vw;
      display: grid;
      grid-template-columns: 15.3846153846vw 1fr;
    }
  }
  @media screen and (max-width: 767px) {
    .home-sec + .home-sec {
      margin-top: 29.7435897436vw;
    }
  }
  .home-hdr {
    font-family: var(--serif-in-en);
  }
  @media screen and (min-width: 768px) {
    .home-hdr {
      margin-bottom: 4.125rem;
    }
  }
  .home-hdr__ttl {
    font-size: 1.875rem;
    letter-spacing: 0.3em;
  }
  @media screen and (max-width: 767px) {
    .home-hdr__ttl {
      font-size: 5.1282051282vw;
      width: 1em;
      word-break: break-all;
      letter-spacing: 0.15em;
      line-height: 1.4;
    }
  }
  .home-hdr__ttl span {
    font-size: 2.34375rem;
  }
  @media screen and (max-width: 767px) {
    .home-hdr__ttl span {
      display: inline-block;
      font-size: 6.6666666667vw;
      line-height: 1;
      padding-left: 1.0256410256vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-list {
      display: flex;
      flex-direction: column;
      gap: 17.9487179487vw;
    }
  }
  .home-list__cont {
    display: block;
  }
  @media (hover: hover) {
    .home-list__cont:hover .home-list__thumb img {
      scale: 1.1;
    }
  }
  .home-list__thumb {
    overflow: hidden;
  }
  .home-list__thumb img {
    transition: 0.4s scale;
  }
  .home-list__label {
    font-size: 1.125rem;
    transition: 0.4s filter;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.875rem 0 1.25rem 0;
    border-bottom: 1px solid var(--accent);
    letter-spacing: 0.2em;
  }
  @media screen and (max-width: 767px) {
    .home-list__label {
      font-size: 3.5897435897vw;
      padding: 5.1282051282vw 0 2.5641025641vw 0;
    }
  }
  .home-list__soon {
    display: block;
  }
  .home-fade {
    opacity: 0;
    transform: translateY(20px);
    transition-property: opacity, transform;
    transition-duration: 0.9s;
  }
  .home-fade.is-fire {
    opacity: 1;
    transform: translateY(0px);
  }
  .is-ready .home-splash {
    opacity: 0;
    pointer-events: none;
  }
  .home-splash {
    width: 100%;
    height: 100vh;
    height: 100svh;
    background: var(--base);
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    transition: 1s opacity ease-out;
  }
  .home-splash__logo {
    width: 11.25rem;
  }
  @media screen and (max-width: 767px) {
    .home-splash__logo {
      width: 33.3333333333vw;
    }
  }
}