@layer page {
  @keyframes scrollArrow {
    0% {
      transform: translate(0%, -10px);
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      transform: translate(0%, 10px);
      opacity: 0;
    }
  }
  @keyframes youtubeLoadingLogo {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes youtubeLoadedLogo {
    from {
      opacity: 1;
      transform: translateY(0);
    }
    to {
      opacity: 0;
      transform: translateY(-8px);
    }
  }
  body {
    overscroll-behavior-y: none;
  }
  .l-page {
    --sec-padding-bottom: 8.75rem;
  }
  @media screen and (max-width: 767px) {
    .l-page {
      --sec-padding-bottom: 26.6666666667vw;
    }
  }
  @media screen and (max-width: 767px) {
    .l-page__main {
      overflow: hidden;
    }
  }
  .home-movie {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    background: #000;
    pointer-events: none;
  }
  .home-movie.is-youtube-ready iframe {
    opacity: 1;
  }
  .home-movie.is-youtube-ready .youtube-loading {
    opacity: 0;
  }
  .home-movie.is-youtube-ready .youtube-loading__logo {
    animation: youtubeLoadedLogo 0.6s ease forwards;
  }
  .home-movie iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    max-width: none;
    opacity: 0;
  }
  .youtube-loading {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: grid;
    place-items: center;
    background: #000;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transition: opacity 1s ease;
  }
  .youtube-loading__logo {
    width: min(17.6875rem, 64vw);
    height: auto;
    fill: #fff;
    opacity: 0;
    animation: youtubeLoadingLogo 0.6s ease forwards;
    aspect-ratio: 283/16;
  }
  .home-mv {
    position: relative;
    height: 100vh;
    height: 100svh;
  }
  .home-mv img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: 50% 100%;
  }
  .home-mv__label {
    margin-bottom: 0.25rem;
  }
  @media screen and (max-width: 767px) {
    .home-mv__label {
      font-size: 4vw;
    }
  }
  .home-mv__scroll {
    position: absolute;
    z-index: 10;
    right: 4.375rem;
    bottom: 3.125rem;
    color: #fff;
    font-size: 0.9375rem;
    font-family: var(--serif);
    display: flex;
    flex-direction: column;
    mix-blend-mode: exclusion;
  }
  @media screen and (max-width: 767px) {
    .home-mv__scroll {
      right: 13.3333333333vw;
      bottom: 26.6666666667vw;
      transform: translate(50%, 0);
    }
  }
  .home-mv__scroll svg {
    aspect-ratio: 36.06/18.74;
    width: 2.25rem;
    animation: scrollArrow 1s linear infinite;
  }
  .home-mv__scroll svg + svg {
    animation-delay: 0.02s;
    translate: 0 -40%;
  }
  .youtube-volume-control {
    position: absolute;
    z-index: 3;
    right: 3.75rem;
    bottom: calc(3.125rem + 70px);
    width: 40px;
    height: 30px;
    padding: 0;
    border: 0;
    pointer-events: auto;
    mix-blend-mode: exclusion;
    appearance: none;
    background: transparent url("../../../img/icon/sound_off.svg") 10% 50%/auto 70% no-repeat;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
  }
  .youtube-volume-control[aria-pressed=true] {
    background-image: url("../../../img/icon/sound_on.svg");
  }
  @media screen and (max-width: 767px) {
    .youtube-volume-control {
      right: 5.8666666667vw;
      bottom: 46.6666666667vw;
    }
  }
  .youtube-volume-control:disabled {
    cursor: default;
  }
  .youtube-volume-control__status {
    display: block;
    margin-top: 8px;
    line-height: 1;
    letter-spacing: 0;
  }
  .youtube-volume-control__status.is-youtube-volume-off,
  .youtube-volume-control__status.is-youtube-volume-on {
    color: #fff;
  }
  .is-youtube-volume-off {
    text-align: right;
  }
  .home-sec__body {
    padding-top: 2.1875rem;
    padding-bottom: var(--sec-padding-bottom);
  }
  @media screen and (max-width: 767px) {
    .home-sec__body {
      padding-top: 6.6666666667vw;
    }
  }
  .home-hdr {
    height: 100vh;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .home-hdr.is-graphic {
    background: url("../../../img/page/home/graphic_bg.jpg") 50% 50%/cover;
  }
  @media screen and (max-width: 767px) {
    .home-hdr.is-graphic {
      background-image: url("../../../img/page/home/graphic_bg_sp.jpg");
    }
  }
  .home-hdr__video {
    position: absolute;
    inset: 1;
    z-index: 1;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .home-hdr__ttl {
    display: block;
    position: relative;
    text-align: center;
    z-index: 2;
    font-size: 1.875rem;
    background: #fff;
    padding: 0.625rem 3.125rem;
    line-height: 1.3;
    box-sizing: border-box;
  }
  @media screen and (max-width: 767px) {
    .home-hdr__ttl {
      font-size: 5.3333333333vw;
      width: 100%;
      padding: 2.6666666667vw 5.3333333333vw 2.1333333333vw 5.3333333333vw;
    }
  }
  .home-hdr h2 {
    position: relative;
    z-index: 2;
  }
  .home-hdr a {
    transition-property: background, color;
    transition-duration: 0.25s;
  }
  @media (hover: hover) {
    .home-hdr a:hover {
      background: var(--main);
      color: #fff;
    }
  }
  .home-ttl {
    position: relative;
    z-index: 2;
    font-size: 2rem;
    font-weight: bold;
    border-bottom: 2px solid var(--main);
  }
  @media screen and (max-width: 767px) {
    .home-ttl {
      font-size: 5.3333333333vw;
      text-align: center;
    }
  }
  @media screen and (min-width: 768px) {
    .home-ttl-a {
      font-size: 1.5rem;
      margin-bottom: 0.625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-ttl-a {
      text-align: center;
      font-size: 5.3333333333vw;
      margin-bottom: 5.3333333333vw;
    }
  }
  .home-profile {
    padding-top: 3.125rem;
    padding-bottom: var(--sec-padding-bottom);
  }
  @media screen and (max-width: 767px) {
    .home-profile {
      padding-top: 9.6vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-profile__row {
      display: grid;
      grid-template-columns: 17.5rem 1fr;
      gap: 1.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-profile__photo {
      margin: 0 auto;
      width: 76vw;
    }
  }
  .home-profile__photo figcaption {
    margin-top: 0.6em;
  }
  @media screen and (max-width: 767px) {
    .home-profile__photo figcaption {
      text-align: right;
    }
  }
  .home-profile__hdr {
    font-weight: bold;
    margin-bottom: 0.75rem;
  }
  @media screen and (max-width: 767px) {
    .home-profile__hdr {
      margin-bottom: 1.6vw;
    }
  }
  .home-profile__role {
    font-size: 2rem;
    line-height: 1.1;
  }
  @media screen and (max-width: 767px) {
    .home-profile__role {
      font-size: 5.3333333333vw;
    }
  }
  .home-profile__name {
    font-size: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-profile__name {
      font-size: 6.6666666667vw;
    }
  }
  .home-profile__name span {
    font-size: 1.625rem;
  }
  @media screen and (max-width: 767px) {
    .home-profile__name span {
      font-size: 4.2666666667vw;
    }
  }
  .home-profile__text {
    line-height: 1.6;
    letter-spacing: 0.06em;
  }
  .home-profile__btn-wrap {
    margin-top: 0.625rem;
  }
  @media screen and (max-width: 767px) {
    .home-profile__btn-wrap {
      margin-top: 8vw;
      gap: 4vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-profile__btn-wrap a {
      width: 10.375rem;
    }
  }
  .home-news {
    margin-top: 3.125rem;
  }
  @media screen and (max-width: 767px) {
    .home-news {
      margin-top: 8vw;
    }
  }
  .home-news__ttl {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 0.625rem;
  }
  @media screen and (max-width: 767px) {
    .home-news__ttl {
      margin-bottom: 2.6666666667vw;
      font-size: 5.3333333333vw;
    }
  }
  .home-news__btn-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 3.125rem;
    gap: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-news__btn-wrap {
      margin-top: 13.3333333333vw;
      gap: 4vw;
    }
  }
  .home-graphic__btn-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 6.25rem;
    gap: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-graphic__btn-wrap {
      margin-top: 10.6666666667vw;
      gap: 4vw;
    }
  }
  .home-graphic-posts {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  @media screen and (max-width: 767px) {
    .home-graphic-posts {
      gap: 5.3333333333vw;
      justify-content: space-between;
    }
  }
  @media screen and (max-width: 767px) {
    .home-graphic-posts.is-art {
      flex-direction: column;
      gap: 9.3333333333vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-graphic-posts.is-art > li {
      margin-right: 1.5rem;
      width: 18.75rem;
    }
  }
  @media screen and (min-width: 768px) {
    .home-graphic-posts.is-art > li:last-child {
      margin-right: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .home-graphic-posts.is-art > li {
      width: 100%;
    }
  }
  @media screen and (min-width: 768px) {
    .home-graphic-posts > li {
      width: 12.5rem;
      margin-right: 3.0625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-graphic-posts > li {
      width: calc(50% - 2.6666666667vw);
    }
  }
  @media screen and (min-width: 768px) {
    .home-graphic-posts > li:last-child {
      margin-right: 0;
    }
  }
  .home-graphic-posts a {
    overflow: hidden;
  }
  @media (hover: hover) {
    .home-graphic-posts a:hover img {
      scale: 1.08;
    }
  }
  .home-graphic-posts__inner {
    display: block;
    aspect-ratio: 1/1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .home-graphic-posts__inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    transition: 0.25s scale;
  }
  .home-graphic-posts__ttl {
    position: relative;
    z-index: 2;
    font-size: 1.25rem;
    width: calc(100% - 3.75rem);
    margin: 0 auto;
    padding: 0.75rem 0.625rem 0.625rem 0.625rem;
    line-height: 1.1;
    background: #fff;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }
  .home-posflora__body {
    background: var(--posflora);
  }
  .home-posflora__btn-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 3.125rem;
    gap: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-posflora__btn-wrap {
      margin-top: 6.6666666667vw;
      gap: 4vw;
    }
  }
  .home-posflora-posts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.625rem;
  }
  @media screen and (max-width: 767px) {
    .home-posflora-posts {
      gap: 2.6666666667vw;
      margin: 0 2.6666666667vw;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .home-posflora-posts a {
    overflow: hidden;
    display: block;
    aspect-ratio: 683/1024;
  }
  @media (hover: hover) {
    .home-posflora-posts a:hover img {
      scale: 1.08;
    }
  }
  .home-posflora-posts a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.25s scale;
  }
  .home-gallery-cat-posts-wrap {
    padding: 2.5rem 0 var(--sec-padding-bottom) 0;
    background: var(--posflora);
  }
  .home-gallery-cat-posts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.9375rem;
  }
  @media screen and (max-width: 767px) {
    .home-gallery-cat-posts {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .home-gallery-cat-posts a {
    overflow: hidden;
    position: relative;
    display: block;
    aspect-ratio: 1/1;
  }
  @media (hover: hover) {
    .home-gallery-cat-posts a:hover img {
      scale: 1.08;
    }
  }
  .home-gallery-cat-posts a img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: 0.25s scale;
  }
  .home-gallery-cat-posts__inner {
    display: block;
  }
  .home-gallery-cat-posts__ttl {
    position: absolute;
    left: 1.25rem;
    bottom: 2.1875rem;
    z-index: 2;
    font-size: 1rem;
    width: calc(100% - 2.5rem);
    margin: 0 auto;
    padding: 0.75rem 0.625rem 0.625rem 0.625rem;
    line-height: 1.1;
    background: #fff;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }
  .home-cream {
    position: relative;
    z-index: 3;
    background: var(--cream);
  }
  @media screen and (min-width: 768px) {
    .home-cream {
      padding-top: 4.0625rem;
    }
  }
  .home-column {
    width: 59.375rem;
    max-width: 100%;
    margin: 0 auto;
  }
  .home-column__img-wrap {
    width: 41.875rem;
    max-width: 100%;
  }
  @media screen and (min-width: 768px) {
    .home-column__img-wrap {
      margin: 0 auto 6.25rem auto;
    }
  }
  .home-column__ttl {
    margin-bottom: 1.25rem;
    font-size: 2rem;
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .home-column__ttl {
      font-size: 5.3333333333vw;
      text-align: center;
      padding: 5.3333333333vw 0 0 0;
    }
  }
  .home-column__btn-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 3.125rem;
    gap: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-column__btn-wrap {
      margin-top: 13.3333333333vw;
      gap: 4vw;
    }
  }
  @media screen and (min-width: 768px) {
    .home-column-posts {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1.5625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-column-posts {
      display: flex;
      flex-direction: column;
      border-bottom: 2px solid var(--main);
    }
  }
  @media screen and (max-width: 767px) {
    .home-column-posts > li {
      border-top: 2px solid var(--main);
    }
  }
  @media (hover: hover) {
    .home-column-posts a:hover img {
      scale: 1.08;
    }
  }
  @media screen and (max-width: 767px) {
    .home-column-posts__inner {
      display: grid;
      grid-template-columns: 3.2vw 1fr;
      gap: 1.6vw;
      align-items: center;
      padding: 1.8666666667vw 2.1333333333vw;
    }
  }
  @media screen and (max-width: 767px) {
    .home-column-posts__inner::before {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 2.2666666667vw 0 2.2666666667vw 3.2vw;
      border-color: transparent transparent transparent var(--main);
    }
  }
  .home-column-posts__thumb {
    overflow: hidden;
    position: relative;
    display: block;
    aspect-ratio: 1/1;
  }
  .home-column-posts__thumb img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: 0.25s scale;
  }
  @media screen and (max-width: 767px) {
    .home-column-posts__thumb {
      display: none;
    }
  }
  .home-column-posts__ttl {
    font-weight: bold;
  }
  @media screen and (min-width: 768px) {
    .home-column-posts__ttl {
      text-align: center;
      margin-top: 0.625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-column-posts__ttl {
      line-height: 1.5;
      font-size: 4.8vw;
    }
  }
  .home-sec-a {
    width: 100%;
    max-width: 59.375rem;
    margin: 4.6875rem auto 0 auto;
  }
  @media screen and (max-width: 767px) {
    .home-sec-a {
      margin-top: 13.3333333333vw;
    }
  }
  .home-sec-b + .home-sec-b {
    margin-top: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .home-sec-b + .home-sec-b {
      margin-top: 8vw;
    }
  }
  .home-link {
    margin-top: 3.75rem;
  }
  @media screen and (min-width: 768px) {
    .home-link {
      display: grid;
      justify-content: center;
      gap: 3.75rem;
      grid-template-columns: 13.5rem 21rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home-link {
      margin-top: 6.6666666667vw;
    }
  }
  .home-link__sns {
    display: flex;
    align-items: center;
    gap: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .home-link__sns {
      justify-content: center;
      gap: 6.6666666667vw;
    }
  }
  .home-link__sns img {
    width: calc(var(--my-width) / 16 * 1rem);
  }
  .home-link__list {
    display: flex;
    flex-direction: column;
    gap: 0.9375rem;
  }
  @media screen and (max-width: 767px) {
    .home-link__list {
      margin-top: 8vw;
    }
  }
  .home-link__list .p-btn-a {
    width: 100%;
  }
  .home-form {
    width: 33.5625rem;
    max-width: 100%;
    margin: 3.125rem auto 0 auto;
  }
  @media screen and (max-width: 767px) {
    .home-form {
      margin-top: 2.6666666667vw;
    }
  }
  .l-footer__inner {
    background: #fffef7;
  }
  .home-panel {
    position: relative;
    z-index: 2;
  }
  .home-panel.is-fixed .home-panel-inner {
    position: fixed;
    bottom: 0;
    z-index: 1;
    width: 100%;
  }
  .home-panel-adjust {
    pointer-events: none;
    height: 15vh;
  }
}
.zoom-instagram .zoom-instagram-widget__header {
  align-items: center !important;
}
@media screen and (max-width: 767px) {
  .zoom-instagram .zoom-instagram-widget__header {
    justify-content: center !important;
  }
}

.zoom-instagram-widget__header-bio {
  display: none;
}

.zoom-instagram-widget__header-column-left {
  width: 4.375rem !important;
  min-width: none !important;
}
@media screen and (max-width: 767px) {
  .zoom-instagram-widget__header-column-left {
    width: 18.6666666667vw !important;
  }
}

.zoom-instagram-widget__header-name {
  display: none;
}

.zoom-instagram-widget__header-user a {
  font-size: 1.1875rem;
  color: #2475bc;
}
@media screen and (max-width: 767px) {
  .zoom-instagram-widget__header-user a {
    font-size: 4.2666666667vw;
  }
}

.zoom-instagram .zoom-instagram-widget__footer .wpz-insta-view-on-insta-button {
  background: #fff;
  border: 1px solid var(--main);
  font-size: 1.25rem;
  padding: 0.5rem;
  gap: 0.625rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  font-weight: bold;
  text-align: center;
  transition-property: background, color;
  transition-duration: 0.25s;
  width: 20.9375rem;
  box-sizing: border-box;
  color: var(--main);
  font-family: var(--serif);
}
@media screen and (max-width: 767px) {
  .zoom-instagram .zoom-instagram-widget__footer .wpz-insta-view-on-insta-button {
    width: 100%;
    font-size: 5.3333333333vw;
  }
}
@media (hover: hover) {
  .zoom-instagram .zoom-instagram-widget__footer .wpz-insta-view-on-insta-button:hover {
    background: var(--main);
    color: #fff;
  }
}

.button-icon.zoom-svg-instagram-stroke {
  background: url("../../../img/icon/insta.svg") 50% 50%/cover;
  width: 1.75rem;
  height: 1.75rem;
}

.wpcf7-form {
  display: flex;
  flex-direction: column-reverse;
  gap: 1.875rem;
}

.wpcf7-turnstile {
  text-align: center;
}