/* 共通設定 */
.vr-image-pc,
.vr-image-sp {
  margin-top: 20px;
  width: 100%;
  height: auto;
}

/* 初期状態：PC画像を表示、スマホ画像を非表示 */
.vr-image-pc {
  display: block;
}
.vr-image-sp {
  display: none;
}

.wrapper {

  justify-content: center;
}
.card-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px;
  max-width: 1020px; /* 240px × 4 + 20px × 3 = 1020px */
  margin-left: 10px;
  margin-top: 10px;
  box-sizing: border-box;
}

.card {
  width: 240px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

    .main-image img {
      width: 100%;
      height: 140px;
      object-fit: cover;
      border-top-left-radius: 8px;
      border-top-right-radius: 8px;
    }

    .card-body {
      padding: 10px;
    }

    .card-header {
      display: flex;
      align-items: center;
      margin-bottom: 10px;
    }

.card-text
{
	padding-bottom: 5px;
}

  .modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.85);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 99999 !important; /* ← 確実に最前面 */
  }

  .modal-content {
    position: relative;
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .modal iframe {
    border: none;
    width: 100%;
    aspect-ratio: 9 / 16;
  }

  /* PC向け（幅768px以上） */
  @media screen and (min-width: 768px) {
    .modal-content {
      width: 360px;
      height: 640px;
    }
  }


  .close-btn {
    position: absolute;
    top: 8px;
    right: 12px;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    z-index: 10000;
  }






/* スマホサイズで切り替え（768px以下） */
@media screen and (max-width: 768px) {
  .wrapper {
    justify-content: flex-start;
    margin-top: -15px;
  }

  .vr-image-pc {
    display: none;
  }
  .vr-image-sp {
    display: block;
  }

  .card-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 6px;
    max-width: 100%;
    margin: 20px auto;
    box-sizing: border-box;
  }

  .card {
    margin-top: 10px;
    width: calc(50% - 3px);
  }


    .modal-content {
      width: 90vw;
      height: auto;
      max-height: 90vh;
    }


}
