/* VIPカードページは用途別カード共通のタブレット向けレスポンシブ設計を使用します。 */
@import url("point-card-responsive.css?v=20260916d");

@media (min-width: 641px) and (max-width: 900px) {
  .premium-choice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
    gap: 18px !important;
  }

  .premium-choice-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .premium-choice-card:last-child {
    grid-column: auto !important;
    justify-self: stretch !important;
    width: 100% !important;
  }

  .premium-choice-card .premium-choice-media {
    min-height: 220px !important;
    padding: 34px 12px 14px !important;
  }

  .premium-choice-card .premium-choice-media img {
    width: 100% !important;
    max-width: 300px !important;
    height: 175px !important;
    object-fit: contain !important;
  }

  .premium-choice-body,
  .premium-choice-footer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .premium-choice-body {
    padding: 18px !important;
  }

  .premium-choice-body h3,
  .premium-choice-subtitle,
  .premium-choice-price {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    white-space: normal !important;
  }

  .premium-choice-footer {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .premium-choice-footer .premium-choice-price,
  .premium-choice-footer .premium-choice-detail {
    grid-column: 1 / -1 !important;
  }

  .premium-choice-footer .premium-choice-view,
  .premium-choice-footer .premium-price-popup-trigger,
  .premium-choice-footer .premium-choice-detail {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 40px !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
}

/* Four material choices share one row on desktop. */
@media (min-width: 901px) {
  .premium-choice-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .premium-choice-card { min-width: 0; }
  .premium-choice-body h3 { font-size: 1.08rem; }
  .premium-choice-footer { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .premium-choice-footer .premium-choice-price { grid-column: 1 / -1; }
}

/* Match the visible card artwork, including the UV image's built-in margins. */
.premium-choice-grid { align-items: stretch; }
.premium-choice-card .premium-choice-media {
  height: 330px !important;
  min-height: 330px !important;
  box-sizing: border-box;
}
.premium-choice-card .premium-choice-media img {
  width: 100% !important;
  max-width: 400px !important;
  height: 245px !important;
  object-fit: contain;
}
.premium-choice-card:nth-child(4) .premium-choice-media img {
  transform: scale(1.12, 1.24);
}
@media (min-width: 641px) and (max-width: 900px) {
  .premium-choice-card .premium-choice-media { height: 220px !important; min-height: 220px !important; }
  .premium-choice-card .premium-choice-media img { height: 175px !important; }
}

.vip-price-range { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:28px 0 12px; font-size:18px; color:#172033; }
.vip-price-range small { font-size:13px; font-weight:400; color:#6e6e73; }
#pricing .vip-price-note { margin:16px 0 28px; text-align:left; font-size:13px; line-height:1.8; }
