.container{max-width:1000px;margin:0 auto;padding:0 2rem}.symptoms-section{padding:4rem 2rem;background:var(--bg-elevated)}.symptoms-section h2{text-align:center;font-size:1.5rem;margin-bottom:2rem}.symptoms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.symptom-card{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.5rem;background:var(--bg-light);border-radius:12px;transition:all .3s ease}.symptom-card:hover{background:var(--primary-light);transform:translateY(-3px)}.symptom-icon{font-size:1.5rem}.symptom-card span:last-child{font-weight:500;color:var(--text-dark)}.menu-section{padding:4rem 2rem;background:var(--bg-light)}.menu-section h2{text-align:center;font-size:1.5rem;margin-bottom:2rem}.menu-grid{display:flex;flex-direction:column;gap:1rem}.menu-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2rem;background:var(--bg-elevated);border-radius:16px;box-shadow:0 5px 20px var(--shadow);transition:all .3s ease}.menu-card:hover{transform:translate(10px);box-shadow:0 8px 30px var(--shadow)}.menu-icon{font-size:2.5rem;flex-shrink:0}.menu-content{flex:1}.menu-content h3{font-size:1.2rem;margin-bottom:.5rem}.menu-desc{font-size:.9rem;color:var(--text-gray);line-height:1.6;margin-bottom:.8rem}.menu-meta{display:flex;gap:1.5rem}.menu-meta .price{font-family:var(--font-display);font-weight:700;color:var(--primary)}.menu-meta .time{color:var(--text-light);font-size:.9rem}.menu-card .arrow{font-size:1.5rem;color:var(--primary);flex-shrink:0}.ebike-section{padding:4rem 2rem;background:var(--bg-elevated)}.ebike-card{display:flex;align-items:center;gap:2rem;padding:2.5rem;background:linear-gradient(135deg,#1f1f1f,#0a0a0a);border-radius:20px}.ebike-icon{font-size:3rem;flex-shrink:0}.ebike-content h3{color:#fff;font-size:1.3rem;margin-bottom:.8rem}.ebike-content p{color:#fffc;line-height:1.7;margin-bottom:1.5rem}.btn-outline{display:inline-block;padding:.8rem 1.5rem;border:2px solid var(--accent);color:var(--accent);border-radius:50px;font-weight:600;transition:all .3s ease}.btn-outline:hover{background:var(--accent);color:var(--text-dark)}.cta-section{padding:4rem 2rem;background:var(--primary);text-align:center}.cta-section h2{font-size:1.5rem;color:#fff;margin-bottom:.8rem}.cta-section>.container>p{color:#ffffffe6;margin-bottom:1.5rem;font-size:.95rem}.cta-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:999px;font-weight:600;transition:all .2s ease}.btn-primary{background:#fff;color:#1c1917}.btn-primary:hover{box-shadow:0 4px 12px #00000026}.btn-line:hover{background:#05a847}.cta-hours{font-size:.85rem;color:#fff9}.cta-hours a{color:#fffc}@media (max-width: 768px){.symptoms-grid{grid-template-columns:repeat(2,1fr)}.menu-card{flex-direction:column;text-align:center}.menu-meta{justify-content:center}.menu-card .arrow{display:none}.ebike-card{flex-direction:column;text-align:center}.cta-buttons{flex-direction:column;align-items:center}.cta-buttons .btn{width:100%;max-width:280px}}@media (max-width: 480px){.symptoms-grid{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){.symptoms-section{background:var(--bg-base)}.symptom-card{background:var(--bg-elevated)}.symptom-card span:last-child{color:var(--text-primary)}.menu-section{background:var(--bg-section)}.menu-card{background:var(--bg-elevated)}.menu-content h3{color:var(--text-primary)}.menu-desc{color:var(--text-secondary)}.ebike-section{background:var(--bg-base)}}

/* S-9で追加したセクションのスタイル */
.repair-features-section,
.repair-flow-section,
.repair-cases-section,
.repair-faq-section {
  padding: 3rem 0;
  border-top: 1px solid var(--border);
}
.repair-features-section { background: var(--bg-section); }
.repair-flow-section { background: var(--bg-elevated); }
.repair-cases-section { background: var(--bg-section); }
.repair-faq-section { background: var(--bg-elevated); }

/* 選ばれる理由 - 4カラムグリッド */
.repair-features-section h2,
.repair-flow-section h2,
.repair-cases-section h2,
.repair-faq-section h2 {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--primary);
}
.features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
}
.feature-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 1.25rem;
}
.feature-card h3 {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--primary);
  margin-bottom: 0.5rem;
}
.feature-card p {
  font-size: 0.875rem;
  color: var(--text-body);
  line-height: 1.7;
}

/* 修理の流れ - ol */
.repair-flow-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  counter-reset: flow-counter;
}
.repair-flow-list li {
  counter-increment: flow-counter;
  position: relative;
  padding: 1rem 1rem 1rem 3.5rem;
  border-bottom: 1px solid var(--border);
  font-size: 0.9rem;
  color: var(--text-body);
  line-height: 1.7;
}
.repair-flow-list li:last-child { border-bottom: none; }
.repair-flow-list li::before {
  content: counter(flow-counter);
  position: absolute;
  left: 0.75rem;
  top: 1rem;
  width: 28px;
  height: 28px;
  background: var(--primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
}
.repair-flow-list li strong {
  display: block;
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 0.2rem;
}

/* 修理実績リンク */
.repair-cases-links {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
}

/* FAQ */
.repair-faq-section .faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 1.5rem;
}
.repair-faq-section .faq-item {
  border-bottom: 1px solid var(--border);
  padding: 1rem 0;
}
.repair-faq-section .faq-item:last-child { border-bottom: none; }
.repair-faq-section dt {
  font-weight: 600;
  color: var(--text-dark);
  margin-bottom: 0.4rem;
  font-size: 0.95rem;
}
.repair-faq-section dd {
  color: var(--text-body);
  font-size: 0.875rem;
  line-height: 1.7;
  margin: 0;
}

/* ダークモード */
@media (prefers-color-scheme: dark) {
  .repair-features-section { background: var(--bg-section); }
  .repair-flow-section { background: var(--bg-elevated); }
  .repair-cases-section { background: var(--bg-section); }
  .repair-faq-section { background: var(--bg-elevated); }
  .feature-card { background: var(--bg-section); border-color: var(--border); }
}

/* モバイル */
@media (max-width: 768px) {
  .features-grid { grid-template-columns: 1fr; }
  .repair-cases-links { flex-direction: column; }
  .repair-cases-links .btn { text-align: center; }
}
