    * {
/*      margin: 0;
      padding: 0;*/
/*      box-sizing: border-box;*/
    }

/*    body {
      font-family: 'Helvetica Neue', Arial, sans-serif;
      background: #f4f4f4;
      margin: 0 auto;
      width: 100%;
      max-width: 100%;
  }*/

/* PCのみ幅1000px */
/*@media (min-width: 1000px) {
  body {
    width: 1000px;
  }
}*/
/* スライダー全体 */
    .slider-container {
      max-width: 100%;
      margin: 0 auto;
      position: relative;
      overflow: hidden;
    }

    /* スライド画像 */
    .swiper-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    /* キャプション（文字） */
    .caption {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      color: white;
      z-index: 10;
      width: calc(100% - 40px);        /* 左右20px余白 ← ここが鍵！ */
      max-width: 1000px;               /* PCで広がりすぎない */
      margin: 0 auto;
      text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.7);
    }
    .caption a {
		color: white;
	}
    .caption .h2c {
      font-size: 2.8rem;
      margin-bottom: 1rem;
      font-weight: bold;
    }

    .caption .h2c span {
      font-size: 1.5rem;
    }

    .caption .bk {
	  color:black;
    }

    .caption .kagekoku {
      text-shadow: 0px 0px 5px rgba(0, 0, 0, 1), 0px 0px 5px rgba(0, 0, 0, 1), 0px 0px 5px rgba(0, 0, 0, 1) ,0px 0px 5px rgba(0, 0, 0, 1);
    }

    .caption p {
      font-size: 1.3rem;
      margin-bottom: 1.5rem;
    }

/* 改行を自然に */
.caption h2,
.caption p {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
}
/* スマホ調整 */
@media (max-width: 768px) {
  .caption {
    width: calc(100% - 40px);
  }
}

    .caption .btn {
      display: inline-block;
      padding: 0.8rem 2rem;
      background: #ff6b6b;
      color: white;
      text-decoration: none;
      border-radius: 50px;
      font-weight: bold;
      transition: background 0.3s;
    }

    .caption .btn:hover {
      background: #ff5252;
    }

    /* スマホ対応 */
    @media (max-width: 768px) {
      .caption .h2c {
        font-size: 1.3rem;
		letter-spacing: -0.1em;
      }
      .caption p {
        font-size: 0.8rem;
		line-height: 120%;
      }
      .caption .btn {
        display: none;
        padding: 0.6rem 1.5rem;
        font-size: 0.9rem;
      }
    }

    /* Swiperナビゲーションカスタム */
    .swiper-button-next,
    .swiper-button-prev {
      color: white;
      background: rgba(0, 0, 0, 0.3);
      width: 44px;
      height: 44px;
      border-radius: 50%;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
      font-size: 1.2rem;
    }

    .swiper-pagination-bullet {
      background: rgba(255, 255, 255, 0.6);
    }

    .swiper-pagination-bullet-active {
      background: white;
    }
/*追加*/
/* スライダーを「背面グループ」に */
.slider-container {
  position: relative;
  z-index: 1 !important;
  isolation: isolate;         /* 必須！ */
  transform: translateZ(0);   /* 必須！ */
}

.swiper,
.swiper-wrapper {
  position: relative !important;
  z-index: 1 !important;
}

.caption {
  z-index: 5;
  position: absolute;
}

.swiper-button-next,
.swiper-button-prev,
.swiper-pagination {
  z-index: 6;
}
.slider-container,
.swiper {
  position: static !important;  /* z-index 無効化 */
}