/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jan 15 2026 | 03:28:04 */
/* トップ - メインビジュアル */
.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%);
    }
}


/* ==============================
  3特徴カード（PC:3列 / SP:1列）
  for SWELL Blocks
============================== */
.p-feature3{
  padding: clamp(24px, 4vw, 56px) 0;
  background: radial-gradient(1200px 500px at 50% 40%, rgba(0,0,0,.04), rgba(0,0,0,0) 70%);
}

/* グループの内側幅（SWELL/Gutenberg想定） */
.p-feature3 > .wp-block-group__inner-container{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 clamp(14px, 2.2vw, 22px);
}

/* Columnsブロックをグリッド化（PC:3列） */
.p-feature3__cols.wp-block-columns{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 28px);
  align-items: stretch;
  margin: 0;
}

/* 余計な列のmarginを消す（テーマ差吸収） */
.p-feature3__cols.wp-block-columns > .wp-block-column{
  margin: 0 !important;
}

/* SP:1列 */
@media (max-width: 900px){
  .p-feature3__cols.wp-block-columns{
    grid-template-columns: 1fr;
  }
}

/* カード本体 */
.p-feature3__card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  box-shadow: 0 5px 5px rgba(0,0,0,.10);
  padding: clamp(16px, 2vw, 22px);
  text-align: center;
  height: 100%;
}

/* 特徴ラベル */
.p-feature3__badge{
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: #ae93c4;
  color: #fff;
  font-weight: 700;
  font-size: clamp(18px, 1.6vw, 16px);
  line-height: 1.35;
  margin: 0 0 10px;
}

/* タイトル */
.p-feature3__title{
  color: #000;
  font-weight: 700;
  font-size: clamp(26px, 1.8vw, 24px)!important;
  line-height: 1!important;
  margin: 0 0 16px!important;
  padding: 0!important;
}
.p-feature3__title sub{
  font-size: 70%;
}

@media (min-width: 901px){
  .p-feature3__title{
    min-height: 2.2em;
    line-height: 1.3!important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}

/* 画像エリア */
.p-feature3__media{
  background: #FFF;
  border-radius: 12px;

  /* ここが重要：枠いっぱい + はみ出しカット */
  overflow: hidden;
  padding: 0;

  aspect-ratio: 16 / 9;
  margin: 0 0 14px;
}

/* 中の画像：全面カバー（はみ出しは非表示） */
.p-feature3__media img{
  width: 100%;
  height: 100%;
  max-width: none;

  object-fit: cover;
  object-position: center;

  display: block;
}

/* 説明文 */
.p-feature3__text{
  margin: 0;
  text-align: left;
  font-size: clamp(16px, 1.5vw, 17px);
  line-height: 1.75;
  color: #333;
}

