/* ===== Pricing ===== */
.section-pricing{ padding: 48px 20px; }
.pricing-title{ font-size:2rem; margin:0 0 .6rem; }
.pricing-lead{ color:#475569; margin:0 0 1.6rem; }

.plans-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 960px){
  .plans-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

.plan-card{
  background:#fff; border:1px solid #e5e7eb; border-radius:16px;
  padding:18px 18px 16px; box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.plan-head{ display:grid; gap:6px; margin-bottom:8px; }
.plan-title{ margin:0; font-size:1.25rem; }
.plan-price .price{ font-size:1.6rem; font-weight:800; margin-right:8px; }
.plan-price .note{ color:#64748b; font-size:.9rem; }

.plan-desc{ color:#334155; margin:.4rem 0 1rem; }

.plan-meta{ display:grid; gap:6px; margin: 0 0 12px; }
.meta-row{ display:grid; grid-template-columns: 9em 1fr; gap:8px; }
.meta-row .label{ color:#64748b; font-size:.9rem; }
.meta-row .val{ font-weight:600; }

.plan-list{ margin: 10px 0 8px; }
.list-title{ font-weight:700; font-size:.95rem; margin-bottom:6px; color:#334155; }

.ul-check, .ul-dash{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.ul-check li{ position:relative; padding-left:1.4em; }
.ul-check li::before{
  content:"✓"; position:absolute; left:0; top:0; color:#16a34a; font-weight:700;
}
.ul-dash li{ position:relative; padding-left:1.2em; color:#475569; }
.ul-dash li::before{
  content:"—"; position:absolute; left:0; top:0; color:#94a3b8;
}

.plan-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }

/* 強調バリエーション（必要に応じて） */
.plan-webvr .plan-title::after{
  content:"  WEBVR"; font-weight:700; color:#7a22a8; font-size:.8rem; margin-left:.3rem;
}

/* 注意事項 */
.pricing-notes{ margin-top:24px; border-top:1px solid #e5e7eb; padding-top:16px; }
.pricing-notes h3{ margin:0 0 .6rem; font-size:1.1rem; }
.pricing-notes ul{ margin:.2rem 0 0 1em; color:#475569; }
