body {
  background-color: var(--white01) !important;
}

.detail-text-wrapper{
  padding-top: 70px;
}
.detail-text-wrapper p{
  font-size: 20px;
}
@media (max-width: 992px) {
  .detail-text-wrapper{
  padding-top: 7.31vw;
}
.detail-text-wrapper p{
  font-size: clamp(15px, 2.19vw, 20px);
}
}

@media (max-width: 768px){
  .container{
    padding-left: 8vw !important;
    padding-right: 8vw !important;
  }
}

/*----------- about ----------*/
/* ページ内リンク */
.about-page-nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 90px;
}

.about-page-nav .page-nav-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  color: #fff;
  text-decoration: none;
  border-radius: 30px;
}
.about-page-nav .page-nav-btn:nth-child(1) {
  background-color: var(--brown);
  box-shadow: inset 0 0 14px 6px #5e3721;
}
.about-page-nav .page-nav-btn:nth-child(2) {
  background-color: var(--orange);
  box-shadow: inset 0 0 14px 6px #b3641d;
}
.about-page-nav .page-nav-btn:nth-child(3) {
  background-color: var(--red);
  box-shadow: inset 0 0 14px 6px #b5350d;
}
.about-page-nav .btn-text {
  flex-grow: 1;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

.about-page-nav .btn-arrow {
  display: flex;
  align-items: center;
  width: 26px;
}
@media (max-width: 992px) {
  .about-page-nav {
    gap: min(10px, 1.21vw);
    padding-top: 7.31vw;
  }
  .about-page-nav .page-nav-btn {
    padding: min(16px, 1.95vw) min(12px, 1.46vw);
  }

  .about-page-nav .btn-text {
    font-size: clamp(16px, 2.19vw, 18px);
  }

  .about-page-nav .btn-arrow {
    width: clamp(16px, 2.19vw, 18px);
  }
}
@media (max-width: 768px) {
  .about-page-nav {
    grid-template-columns: 1fr;
  }
  .about-page-nav .page-nav-btn {
    flex-direction: column;
    justify-content: center;
  }

  .about-page-nav .btn-text {
    text-align: center;
  }
}

/* 中身 */

.about-contents {
  padding-top: 60px;
}
.about-contents .count {
  margin-bottom: 10px;
}
.about-contents .count p {
  font-size: 60px;
  color: var(--orange);
  font-weight: 600;
  line-height: 1;
}
.about-contents .title {
  margin-bottom: 26px;
}
.about-contents .title p {
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
}
.about-contents .explanation p {
  font-size: 20px;
}
.about-contents .about-image {
  margin-bottom: 20px;
}
.about-contents .about-image img {
  border-radius: 25px;
}
.about-contents .subtitle {
  position: relative;
  padding-left: 35px;
}
.about-contents .subtitle p{
    font-size: 24px;
    font-weight: 700;
}
.about-contents .subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  aspect-ratio: 1 / 1;
  background: var(--red);
  border-radius: 50%;
}
.about-contents .about-contents-item{
    margin-bottom: 30px; 
}
.about-contents .about-contents-item:last-child{
    margin-bottom: 0px; 
}
.about-contents .about-contents-item .attention{
    font-size: 18px;
}

/* 一時育児コーナー */
.about-contents  .detail-wrapper{
    background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
    background-size: 16px 16px;
    background-repeat: repeat;
    background-position: center center;
    background-color: #fbfbfb;
    position: relative;
    text-align: left;
    border-radius: 20px;
    padding: 40px;
    margin-top: 40px;
}
.about-contents .about-contents-item{
padding: 20px;
    border-radius: 20px;
}
.about-contents .about-contents-item.white{
    background-color: #fff;
    
}
.about-contents .about-contents-item.beige{
    background-color: var(--beige);
}
.about-contents .about-contents-item.beige-orange{
    background-color: #ffebca;
}
.about-contents .time-schedule li{
    font-size: 18px;
    font-weight: 500;
}
.about-contents .time-schedule li .br-sp{
  display: none;
}
.about-contents .time-schedule li:before{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

@media (max-width: 992px) {
  .about-contents {
    padding-top: 7.31vw;
  }
  .about-contents .count {
    margin-bottom: 1.21vw;
  }
  .about-contents .count p {
    font-size: clamp(54px, 6.82vw, 60px);
  }
  .about-contents .title {
    margin-bottom: 3.17vw;
  }
  .about-contents .title p {
    font-size: clamp(24px, 3.17vw, 30px);
  }
  .about-contents .explanation p {
  font-size: clamp(15px, 2.19vw, 20px);
}
.about-contents .about-image {
  margin-bottom: min(20px, 2.43vw);
}
.about-contents .subtitle {
  padding-left: min(35px, 4.26vw);
}
.about-contents .subtitle p{
    font-size: clamp(20px, 2.43vw, 24px);
}
.about-contents .subtitle::before {
  width: min(20px, 2.43vw);
}
.about-contents .about-contents-item{
    margin-bottom: min(30px, 3.65vw); 
}
.about-contents .subtitle p{
    font-size: clamp(20px, 2.43vw, 24px);
}
.about-contents .about-contents-item .attention{
    font-size: clamp(16px, 1.95vw, 18px);
}

/* 一時育児コーナー */
.about-contents  .detail-wrapper{
    padding: 6.09vw 3.65vw;
    margin-top: min(40px, 4.87vw);
}
.about-contents .about-contents-item{
padding: 3.04vw 2.68vw;
}
.about-contents .time-schedule li{
    font-size: clamp(16px, 1.95vw, 18px);
}
}

@media (max-width: 768px) {
  .about-contents .detail-wrapper{
    padding: 8vw 6.66vw;
  }
.about-contents .about-contents-item{
padding: 5.33vw;
}
.about-contents .time-schedule li .br-sp{
  display: block;
}
}



/*--------- 開催概要 ----------------*/
/* .section-access {
  background-color: var(--orange);
  position: relative;
  padding: 50px 30px 120px;
} */

.section-access .section-title {
  z-index: 10;
}
#section-title__access {
  width: 21%;
  height: auto;
}
.section-access .access-contents-wrapper {
  padding: 60px 40px;
  margin-top: 60px;
  background-color: #fff;
  border-radius: 20px;
  z-index: 10;
}
.section-access .event-summary-row {
  display: flex;
  padding: 24px 0;
  border-bottom: 1px solid #cbcbcb;
}
.section-access .event-summary-row:last-child {
  border-bottom: inherit;
}
.section-access .event-summary-row dt {
  width: 300px;
  flex-shrink: 0;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.6;
  position: relative;
  padding-left: 15px;
}

.section-access .event-summary-row dd {
  margin: 0;
  flex-grow: 1;
  font-size: 22px;
  line-height: 1.6;
  font-weight: 500;
}
.section-access .venue-detail {
  font-size: 18px;
  font-weight: 400;
  display: block;
  line-height: 1.4;
}
.section-access .step-title {
  text-align: center;
  margin-top: 60px;
  opacity: 0; /* 最初は非表示 */
  transform: translateY(-20px); /* 上から落ちてくるようにマイナス指定 */
  will-change: transform, opacity;
}

/* -----------------------------------
   2. 画面内に入ったらアニメーション実行 (リピートなし)
----------------------------------- */
.section-access.is-active .step-title,
.section-access .step-title.is-active {
  /* 0.6秒間でバウンド表示。1回のみ実行して最後（100%）の位置で停止 */
  animation: bounceVerticalStep 2s cubic-bezier(0.28, 0.84, 0.42, 1) 0.1s forwards;
}

@keyframes bounceVerticalStep {
  0% {
    opacity: 0;
    transform: translateY(0) scaleY(1);
  }
  /* パッとはっきり表示しながら一瞬沈んで潰れる */
  10% {
    opacity: 1;
    transform: translateY(2px) scaleY(0.92);
  }
  /* ジャンプ！（大きく跳ねて縦に少し伸びる） */
  30% {
    opacity: 1;
    transform: translateY(-18px) scaleY(1.08);
  }
  /* 着地（落ちてきて少し潰れる） */
  45% {
    opacity: 1;
    transform: translateY(2px) scaleY(0.94);
  }
  /* 跳ね返り（小さく上に浮く） */
  60% {
    opacity: 1;
    transform: translateY(-4px) scaleY(1.02);
  }
  /* 元の位置へ戻る */
  75% {
    opacity: 1;
    transform: translateY(0) scaleY(1);
  }
  /* 静止時間（着地状態を維持して100%へ） */
  100% {
    opacity: 1;
    transform: translateY(0) scaleY(1);
  }
}
.section-access .step-title figure {
  width: 40%;
}
.section-access .step-column {
  gap: 60px;
}

.section-access .step-column .step-item {
  background-color: var(--beige);
  border-radius: 20px;
  padding: 35px 30px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section-access .step-column .step-item:nth-child(1)::before,
.section-access .step-column .step-item:nth-child(2)::before {
  content: "";
  position: absolute;
  right: -55px;
  top: 50%;
  transform: translateY(-50%);
  width: 35px;
  aspect-ratio: 1 / 2;
  background-image: url("/wp-content/uploads/2026/07/arrow-beta-brown.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.section-access .step-column .step-count {
  background-color: var(--brown);
  padding: 7px 14px;
  border-radius: 9999px;
  display: block;
  margin-bottom: 40px;
  width: 100%;
}

.section-access .step-column .step-count p {
  color: #fff;
  font-weight: 500;
  text-align: center;
  font-size: 22px;
}
.section-access .step-column .step-image {
  position: relative;
  text-align: center;
  width: 50%;
}
.section-access .step-column .step-image .step-icon-accent {
  position: absolute;
  top: 10%;
  right: 5%;
  translate: 50% -50%;
  width: 50px;
  opacity: 0; /* 初期状態は非表示 */
}

.section-access .step-column .step-item:nth-child(3) .step-image .step-icon-accent {
  right: 0%;
}

/* アニメーション指定（共通のキーフレームを呼び出す） */
.section-access .step-column .step-item:nth-child(1) .step-image .step-icon-accent {
  animation: stepSeq1 4s ease-in-out infinite;
}

.section-access .step-column .step-item:nth-child(2) .step-image .step-icon-accent {
  animation: stepSeq2 4s ease-in-out infinite;
}

.section-access .step-column .step-item:nth-child(3) .step-image .step-icon-accent {
  animation: stepSeq3 4s ease-in-out infinite;
}

/* ===============================================
   Keyframes (すべての要素で85%〜100%をフェードアウトに同期)
   =============================================== */

/* 1つ目：0%（0s）から出現開始 */
@keyframes stepSeq1 {
  0% { opacity: 0; transform: scale(0); }
  5% { opacity: 1; transform: scale(1); }
  10% { transform: scale(1.08, 0.92); } /* 溜め */
  15% { transform: scale(0.95, 1.05); } /* 伸ばす */
  20% { transform: scale(1.02, 0.98); } /* 反動 */
  25%, 85% { opacity: 1; transform: scale(1); } /* 表示維持 */
  93%, 100% { opacity: 0; transform: scale(0.8); } /* 一斉に消える */
}

/* 2つ目：20%（0.8s後）から出現開始 */
@keyframes stepSeq2 {
  0%, 20% { opacity: 0; transform: scale(0) rotate(-20deg); }
  32% { opacity: 1; transform: scale(1.25) rotate(10deg); }
  40%, 85% { opacity: 1; transform: scale(1) rotate(0deg); } /* 表示維持 */
  93%, 100% { opacity: 0; transform: scale(0.8); } /* 一斉に消える */
}

/* 3つ目：40%（1.6s後）から出現開始 */
@keyframes stepSeq3 {
  0%, 40% { opacity: 0; transform: translateY(-40px) scale(0.8); }
  52% { opacity: 1; transform: translateY(5px) scale(1.05, 0.95); }
  58%, 85% { opacity: 1; transform: translateY(0) scale(1); } /* 表示維持 */
  93%, 100% { opacity: 0; transform: translateY(-10px) scale(0.8); } /* 一斉に消える */
}
.section-access .step-column .title {
  text-align: center;
  margin-bottom: 20px;
}
.section-access .step-column .title p {
  font-size: 24px;
  font-weight: 600;
}

.section-access .step-column .button-detail a {
  color: #fff !important;
  background-color: var(--brown);
}
.section-access .step-column .button-detail a::after {
  background-image: url("/wp-content/uploads/2026/07/arrow-white.svg");
}

.section-access
  .step-column
  .button-reservation
  .button-reservation__main-text {
  font-size: 20px;
}
.section-access .step-column .button-reservation a::before {
  animation: shake-up 3s infinite ease-in-out;
}

/* 開催概要 */
@media screen and (max-width: 1280px) {
 
  .section-access .step-column {
    gap: 40px;
  }
  .section-access .step-column .step-item:nth-child(1)::before,
  .section-access .step-column .step-item:nth-child(2)::before {
    right: -35px;
    width: 22px;
  }
  .section-access .step-column .step-item {
    padding: 25px 21px;
  }
  .section-access
    .step-column
    .button-reservation
    .button-reservation__main-text {
    font-size: 18px;
  }
  .section-access .step-column .button-reservation a::before {
    left: -29px;
    top: -5%;
  }
  .section-access .step-column .button-reservation a::after {
    right: 7px;
    width: 15px;
    height: 15px;
  }
}

/* 開催概要 */
@media screen and (max-width: 992px) {
  .section-access {
    padding: 0px 0px 9.75vw;
  }
  .section-access .access-contents-wrapper {
    padding: 6.09vw 3.65vw;
    margin-top: 7.31vw;
  }
  .section-access .event-summary-row {
    padding: 2.92vw 0;
  }
  .section-access .event-summary-row dt {
    width: 21.95vw;
    font-size: clamp(18px, 52.19vw, 20px);
    padding-left: 1.82vw;
  }

  .section-access .event-summary-row dd {
    font-size: clamp(20px, 2.43vw, 22px);
  }
  .section-access .venue-detail {
    font-size: clamp(16px, 1.95vw, 18px);
  }
  .section-access .step-title {
    margin-top: 7.31vw;
  }
  .section-access .step-title figure {
    width: 40%;
  }
  .section-access .step-column {
    gap: 3.65vw;
  }

  .section-access .step-column .step-item {
    padding: 1.95vw 1.21vw;
  }
  .section-access .step-column .step-item:nth-child(1)::before,
  .section-access .step-column .step-item:nth-child(2)::before {
    right: -3.41vw;
    width: 1.7vw;
  }

  .section-access .step-column .step-count {
    padding: 0.73vw 1.46vw;
    margin-bottom: 3.65vw;
  }

  .section-access .step-column .step-count p {
    font-size: clamp(20px, 2.43vw, 22px);
    line-height: 1.2;
  }
  .section-access .step-column .title {
    margin-bottom: 2.43vw;
  }
  .section-access .step-column .title p {
    font-size: clamp(18px, 2.19vw, 19px);
  }

  .section-access
    .step-column
    .button-reservation
    .button-reservation__main-text {
    font-size: clamp(15px, 1.82vw, 15.5px);
  }
  .section-access .step-column .button-reservation a::before {
    left: -3.53vw;
    top: -5%;
  }
  .section-access .step-column .button-reservation a::after {
    right: 0.6vw;
    width: clamp(10px, 1.21vw, 12px);
    height: clamp(10px, 1.21vw, 12px);
  }
  .section-access .step-column .step-image .step-icon-accent {
    width: clamp(30px, 3.65vw, 40px);
  }
}

/* 開催概要 */
@media screen and (max-width: 781px) {
  .section-access {
    padding: 0px 0px 18.66vw;
  }
  #section-title__access {
    width: 40%;
  }
  .section-access .access-contents-wrapper {
    padding: 8vw 6.66vw;
  }
  .section-access .event-summary-row {
    padding: 2.92vw 0;
  }
  .section-access .event-summary-row dt {
    width: 21.95vw;
    font-size: clamp(16px, 4.26vw, 18px);
    padding-left: 1.33vw;
  }

  .section-access .event-summary-row dd {
    font-size: clamp(16px, 4.26vw, 18px);
  }
  .section-access .venue-detail {
    font-size: clamp(14px, 4vw, 16px);
  }
  .section-access .step-title {
    margin-top: 8vw;
  }
  .section-access .step-title figure {
    width: 100%;
  }
  .section-access .step-column {
    gap: 13.33vw;
  }

  .section-access .step-column .step-item {
    padding: 5.33vw;
    text-align: center;
  }
  .section-access .step-column .step-item:nth-child(1)::before,
  .section-access .step-column .step-item:nth-child(2)::before {
    width: 5.33vw;
    right: auto;
    left: 50%;
    top: auto;
    bottom: -13.33vw;
    transform: translateX(-50%) rotate(90deg);
  }
  .section-access .step-column .step-count {
    padding: 1.33vw 6.66vw;
    margin-bottom: min(60px, 16vw);
  }

  .section-access .step-column .title {
    margin-bottom: 5.33vw;
  }
  .section-access .step-column .title p {
    font-size: clamp(20px, 5.33vw, 22px);
  }

  .section-access
    .step-column
    .button-reservation
    .button-reservation__main-text {
    font-size: clamp(18px, 4.8vw, 20px);
  }
  .section-access .step-column .button-reservation a::after {
    right: 4vw;
    width: clamp(16px, 4.8vw, 20px);
    height: clamp(16px, 4.8vw, 20px);
  }
  .section-access .step-column .step-image .step-icon-accent {
    width: clamp(40px, 12vw, 50px);
  }
}

