.pricing-table {
    width: 100%;
    border-collapse: collapse;
    font-family: sans-serif;
    font-size: 15px;
  }
  .pricing-table th,
  .pricing-table td {
    border: 1px solid #ccc;
    padding: 12px;
    text-align: left;
  }
  .pricing-table th {
    background-color: #004B8D;
    color: #fff;
  }
  .pricing-table tbody tr:nth-child(even) {
    background-color: #f9f9f9;
  }
  .section-header {
    background-color: #e0efff;
    font-weight: bold;
    text-align: left;
    padding: 15px 20px; /* ← 上下15px, 左右20pxに調整 */
    color: #004B8D;
    margin: 25px 0 10px; /* ← セクション間に余白を追加 */
    border-radius: 4px; /* ← 角を少し丸くして柔らかい印象 */
  }
    label { font-weight: bold; }
    input[type=number] { padding: 3px; width: 100px; margin-left:6px; }
    .total { font-weight: bold; margin-top: 12px; font-size: 20px; color:#1d4ed8; }
    .lines { margin-top: 12px; background:#fff; border:1px solid #ddd; padding:10px; border-radius:6px; }
    .line { margin: 4px 0; display: flex; justify-content: space-between; }
    .sum { font-weight:bold; border-top:1px solid #ddd; margin-top:8px; padding-top:6px; }
 .field-row{
 display:flex;
 align-items: center;
}