/* Hero */
.sv-hero {
  padding: 80px 20px 40px;
  text-align: center;
  background: #0b0b0b;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.sv-hero h1 { font-size: 2rem; margin: 0 0 8px; }
.sv-hero p  { opacity: .9; margin: 0; }

/* Container */
.sv-container { max-width: 1080px; margin: 0 auto; padding: 32px 16px 64px; }

/* Plans */
.sv-plans {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin-bottom: 40px;
}
.sv-card {
  position: relative;
  background: #111;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 20px;
}
.sv-rec { border-color: rgba(30,144,255,.6); box-shadow: 0 0 0 1px rgba(30,144,255,.25) inset; }
.sv-badge {
  position: absolute; top: 12px; right: 12px;
  font-size: .75rem; padding: 4px 8px; border-radius: 999px;
  background: linear-gradient(90deg,#005A9C,#1E90FF);
}
.sv-card h2 { margin: 0 0 8px; font-size: 1.25rem; }
.sv-price { font-size: 1.4rem; font-weight: 700; margin: 6px 0 12px; }
.sv-list  { margin: 0 0 12px 18px; }
.sv-list li { margin: 6px 0; }
.sv-note { opacity: .9; }

/* Options */
.sv-options { margin-bottom: 28px; }
.sv-options h3 { margin: 0 0 12px; }
.sv-grid {
  display: grid; gap: 12px;
  grid-template-columns: repeat(3,1fr);
}
.sv-opt {
  background: #101010; border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px; padding: 14px;
}
.sv-opt h4 { margin: 0 0 6px; font-size: 1rem; }
.sv-opt p  { margin: 0; opacity: .95; }

/* Notes */
.sv-notes h3 { margin: 24px 0 8px; }
.sv-notes ul { margin: 0 0 12px 18px; }
.sv-small { opacity: .85; margin-top: 6px; }
.sv-cta { text-align: center; margin-top: 20px; }
.sv-cta .btn {
  display: inline-block; padding: 12px 24px; border-radius: 6px;
  background: linear-gradient(90deg,#005A9C,#1E90FF);
  color: #fff; text-decoration: none; font-weight: 700; transition: .25s;
}
.sv-cta .btn:hover { background:#fff; color:#005A9C; border:2px solid #005A9C; }

/* Footer */
.sv-footer {
  border-top: 1px solid rgba(255,255,255,.08);
  text-align: center; padding: 24px 16px; background: #000;
}

/* Responsive */
@media (max-width: 980px){
  .sv-plans { grid-template-columns: 1fr 1fr; }
  .sv-grid  { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .sv-plans, .sv-grid { grid-template-columns: 1fr; }
  .sv-hero h1 { font-size: 1.6rem; }
}

/* 追加セクションのベース */
.sv-section { margin: 28px 0; }
.sv-section h3 { margin: 0 0 12px; }
.sv-section .sv-list { margin: 0 0 10px 18px; }
.sv-section .sv-small { opacity: .85; }

/* 機材をオプションと同じカード風に */
.sv-gears .sv-grid { display: grid; gap: 12px; grid-template-columns: repeat(3,1fr); }
@media (max-width: 980px){
  .sv-gears .sv-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .sv-gears .sv-grid { grid-template-columns: 1fr; }
}
