
  * { margin: 0; padding: 0; box-sizing: border-box; }
  body { font-family: Arial, Helvetica, sans-serif; color: #333; background: #fff; line-height: 1.7; }
  .wrap { max-width: 960px; margin: 0 auto; padding: 20px 16px; }
  .section { margin-bottom: 44px; }
  .sec-title { font-size: 22px; font-weight: 700; color: #7a1f3d; text-align: center; margin-bottom: 6px; letter-spacing: 1px; }
  .sec-sub { font-size: 14px; color: #888; text-align: center; margin-bottom: 20px; }
  .sec-line { width: 56px; height: 3px; background: #2a9bb8; margin: 0 auto 24px; border-radius: 2px; }
  img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
  .banner img { width: 100%; }
  .banner-overlay { text-align: center; padding: 18px 12px 6px; }
  .banner-overlay h1 { font-size: 26px; color: #7a1f3d; margin-bottom: 6px; }
  .banner-overlay p { font-size: 15px; color: #555; }
  .usp-grid { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
  .usp-card { flex: 1 1 30%; min-width: 200px; background: #f7f9fb; border: 1px solid #e3e9ef; border-radius: 10px; padding: 16px 14px; text-align: center; }
  .usp-card .ic { font-size: 26px; display: block; margin-bottom: 8px; }
  .usp-card b { font-size: 15px; color: #7a1f3d; display: block; margin-bottom: 4px; }
  .usp-card span { font-size: 13px; color: #666; }
  .two-col { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
  .two-col .col-img { flex: 1 1 45%; min-width: 280px; }
  .two-col .col-txt { flex: 1 1 45%; min-width: 280px; }
  .col-txt h3 { font-size: 18px; color: #7a1f3d; margin-bottom: 10px; }
  .col-txt ul { padding-left: 20px; }
  .col-txt li { font-size: 14px; margin-bottom: 8px; color: #444; }
  table.spec { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 12px; }
  table.spec th, table.spec td { border: 1px solid #dfe5ea; padding: 10px 14px; text-align: left; }
  table.spec th { background: #7a1f3d; color: #fff; font-weight: 600; width: 34%; }
  table.spec td { background: #fff; }
  .steps { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
  .step { flex: 1 1 30%; min-width: 200px; border: 1px solid #e3e9ef; border-radius: 10px; padding: 14px; background: #fbfcfd; }
  .step .num { display: inline-block; width: 26px; height: 26px; line-height: 26px; text-align: center; background: #2a9bb8; color: #fff; border-radius: 50%; font-size: 14px; font-weight: 700; margin-bottom: 8px; }
  .step b { display: block; font-size: 15px; margin-bottom: 4px; color: #333; }
  .step span { font-size: 13px; color: #666; }
  .faq details { border: 1px solid #e3e9ef; border-radius: 8px; margin-bottom: 10px; background: #fff; overflow: hidden; }
  .faq summary { cursor: pointer; padding: 14px 16px; font-size: 15px; font-weight: 600; color: #333; list-style: none; position: relative; padding-right: 40px; background: #f7f9fb; }
  .faq summary::-webkit-details-marker { display: none; }
  .faq summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 20px; color: #2a9bb8; font-weight: 400; }
  .faq details[open] summary::after { content: "–"; }
  .faq details p { padding: 6px 16px 16px; font-size: 14px; color: #555; }
  .note { font-size: 12px; color: #999; text-align: center; margin-top: 24px; }
