/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 17 2025 | 23:49:09 */
/* トップ - メインビジュアル */
.p-top-visual {
  position: relative;
  padding-bottom: 80px;
}

.p-top-visual__media {
  position: relative;
}

.p-top-visual__media:before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #fc92b2;
  clip-path: ellipse(175% 100% at 50% 0%);
  opacity: 0;
  animation: fadeInBody 3s ease forwards;
}

@keyframes fadeInBody {
  to {
    opacity: 1;
  }
}

.p-top-visual__media video {
  width: 100vw;
  height: 70vh;
  object-fit: cover;
  display: block;
  clip-path: ellipse(125% 100% at 50% 0%);
  aspect-ratio: 1440 / 990;
}

.p-top-visual__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(256px, 38.8888888889vw, 560px);
}

.p-top-visual__flower-image {
  display: block;
  position: absolute;
  bottom: -11.8055555556vw;
}

@media only screen and (max-width: 1023.9px) {
  .p-top-visual__flower-image {
    left: 50%;
    translate: -50% 0;
    bottom: -13.3333333333vw;
    width: 100%;
  }
}

@media screen and (min-width: 1921px) {
  .p-top-visual__flower-image {
    max-width: 1920px;
    left: 50%;
    translate: -50% 0;
    bottom: -200px;
  }
}

.p-top-visual__flower-image img {
  width: 100%;
}

@media screen and (min-width: 1921px) {
  .p-top-visual__flower-image img {
    min-width: 1920px;
  }
}

.p-top-visual__main-copy {
  position: relative;
  margin-block: 40px;
  width: fit-content;
  margin-inline: auto;
}

@media only screen and (max-width: 1023.9px) {
  .p-top-visual__main-copy {
    margin-block: 12vw 28px;
  }
}

.p-top-visual__main-copy h1 {
  text-align: center;
  width: fit-content;
  margin-inline: auto;
  /*font-family: serif;*/
  margin-bottom: 40px;
  font-weight:normal;
  font-size:16px;
}

@media only screen and (max-width: 1023.9px) {
  .p-top-visual__main-copy h1 {
    font-size: 14px;
  }
}

.p-top-visual__main-copy-text {
  font-weight: bold;
  font-size: 40px;
  text-align: center;
  letter-spacing: 0.15em;
  /*font-family: serif;*/
}

@media only screen and (max-width: 1023.9px) {
  .p-top-visual__main-copy-text {
    font-size: 24px;
  }
}

.p-top-visual__main-copy-text span {
  font-size: 24px;
  font-weight: normal;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 1023.9px) {
  .p-top-visual__main-copy-text span {
    font-size: 16px;
  }
}

.p-top-visual__copy-image {
  display: block;
  width: 36.0416666667vw;
}

@media only screen and (max-width: 1023.9px) {
  .p-top-visual__copy-image {
    width: 88vw;
  }
}

@media screen and (min-width: 1921px) {
  .p-top-visual__copy-image {
    width: 519px;
  }
}

.p-top-visual__copy-image img {
  width: 100%;
}

/* 特長：No画像を上に被せる */
.number_img{
	margin-top:-70px!important;
	z-index:999;
	display:block;
	position:relative;
}

/* トップ - フォトギャラリー（スライダー） */
.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 0rem; /* 画像間の余白を指定 */
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}

.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 45s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider .swell-block-column figure {
    width: 400px; /* 画像の横幅を指定（パソコン） */
    position: relative;
}

.loop-slider .swell-block-column figure::before {
    padding-top: 65%; /* 画像の縦横比を指定 */
    display: block;
    content: "";
}

.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 250px; /* 画像の横幅を指定（スマホ） */
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

