/* ===== 共通セクション ===== */

.section {
    min-height: 100vh;
    position: relative;
  }
  
  .section-top {
    background: linear-gradient(to bottom, #eff6ff, #dbeafe);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  
  
  .section-bottom {
    background: linear-gradient(to bottom, #fce7f3, #fed7aa);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* ===== gather section（重要） ===== */
  
  .gather-section {
    background: #111827;
    overflow: hidden;
  }
  
  /* JS が fixed にするので、ここでは relative */
  .gallery-container {
    position: relative;
    width: 100%;
    height: 100vh;
    pointer-events: none;
  }

  .gather-section {
    background: #fff;
    overflow: hidden;
    transition: opacity 2.5s ease;
  }
  
  .gather-section.fade-out {
    opacity: 0;
  }



  .section-content {
    opacity: 0;
    transition: opacity 1.8s ease;
  }
  
  .section-content.fade-in {
    opacity: 1;
  }



  
  /* ===== 画像 ===== */
  
  .image-item {
    position: absolute;
    opacity: 0;
    width: 200px;
    height: 150px;
    
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  
    /* ★ これを追加 */
    transform: translate(-50%, -50%) scale(1);
  
    transition:
      left 0.3s ease-out,
      top 0.3s ease-out,
      transform 0.3s ease-out,
      opacity 1.4s ease-out;
  }
  
  .image-item.one {
    width:230px;
    height:auto;
    aspect-ratio: 4 / 3;
    opacity: 1;
  }
  .image-item.two {
    width:260px;
    height:auto;
    aspect-ratio: 4 / 3;
  }
  .image-item.three {
    width:240px;
    height:auto;
    aspect-ratio: 4 / 3;
  }
  .image-item.four {
    width:235px;
    height:auto;
    aspect-ratio: 4 / 3;
  }
  .image-item.five {
    width:180px;
    height:auto;
    aspect-ratio: 4 / 3;
  }
  .image-item.six {
    width:200px;
    height:auto;
    aspect-ratio: 4 / 3;
  }
  .image-item.seven {
    width:250px;
    height:auto;
    aspect-ratio: 4 / 3;
  }
  .image-item.eight {
    width:190px;
    height:auto;
    aspect-ratio: 4 / 3;
  }
  .image-item.nine {
    width:220px;
    height:auto;
    aspect-ratio: 4 / 3;
  }
  .image-item.ten {
    width:180px;
    height:auto;
    aspect-ratio: 4 / 3;
  }



  .image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  

  @media (max-width: 600px) {
    .image-item.one, .image-item.two, .image-item.three, .image-item.four, .image-item.five, .image-item.six, .image-item.seven, .image-item.eight, .image-item.nine, .image-item.ten {
      width:150px;
    }


  }



  /* ===== 中央テキスト ===== */
  
  .center-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.85);
    text-align: center;
    z-index: 10;
  
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
    width:100%;
    max-width:600px;
  }
  
  @media (max-width: 768px) {

    .center-text {
      width:90%;
  }
  }


  .center-text.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  
  .center-text.fade-out {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.1);
    transition: opacity 1.5s ease, transform 1.5s ease;
  }
  

  
  .center-text h2 {
    font-size: clamp(3.2rem, 2.472rem + 1.94vw, 4.8rem);
    color: #111;
    margin-bottom: 3rem;
  }
  
  .center-text p {
    font-size: 1.5rem;
    color: #111;
  }
  
  /* ===== テキスト ===== */
  
  .text-center {
    text-align: center;
  }
  
  .title {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #111827;
  }
  
  .subtitle {
    font-size: 1.25rem;
    color: #4b5563;
  }
  
  .section-title {
    font-size: 3rem;
    margin-bottom: 1.5rem;
    color: #111827;
  }
  
  .section-text {
    font-size: 1.25rem;
    color: #374151;
  }
  
  /* ===== 下部カード ===== */
  
  .content-padding {
    padding: 0 2rem;
  }
  
  .cards-container {
    max-width: 42rem;
    margin: 0 auto;
    text-align: left;
  }
  
  .card {
    background: #ffffff;
    padding: 1.5rem;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  }
  
  .card-title {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
  }
  
  .card-text {
    color: #4b5563;
    line-height: 1.6;
  }
  
  /* ===== レスポンシブ ===== */
  
  @media (max-width: 768px) {
    .title,
    .section-title {
      font-size: 2rem;
    }
  
  
  
  }
  