    .container { max-width: 900px; margin: 32px auto; padding: 0 16px; }
    .page-title { font-size: 22px; font-weight: 700; color: #1a3a5c; border-bottom: 1px solid #ccc; padding-bottom: 12px; margin-bottom: 20px; }

    .lead { font-size: 14px; color: #333; margin-bottom: 20px; line-height: 1.8; }

    .contact-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
    .contact-table tr { border-bottom: 1px solid #ddd; }
    .contact-table th {
      background: #e8e8e8;
      color: #333;
      font-weight: 400;
      font-size: 14px;
      padding: 12px 16px;
      text-align: left;
      width: 200px;
      vertical-align: middle;
      white-space: nowrap;
    }
    .contact-table td { padding: 10px 16px; vertical-align: middle; }

    .contact-table input[type="text"],
    .contact-table input[type="email"],
    .contact-table select,
    .contact-table textarea {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      border: 1px solid #bbb;
      padding: 6px 8px;
      border-radius: 2px;
      background: #fff;
      color: #333;
    }
    .contact-table input[type="text"],
    .contact-table input[type="email"] { width: 300px; }
    .contact-table input.wide { width: 100%; max-width: 600px; }
    .contact-table select { width: 160px; }
    .contact-table textarea { width: 100%; max-width: 600px; height: 120px; resize: vertical; }

    .required-mark { color: #c00; font-size: 13px; margin-left: 6px; }

    .submit-wrap { text-align: center; margin-top: 16px; }
    .submit-btn {
      background: #fff;
      border: 1px solid #999;
      padding: 10px 48px;
      font-size: 14px;
      font-family: 'Noto Sans JP', sans-serif;
      cursor: pointer;
      border-radius: 2px;
      transition: background 0.2s;
    }
    .submit-btn:hover { background: #eee; }

    .tel-info { background: #f7fafc; border: 1px solid #c8d8e8; border-radius: 4px; padding: 20px 24px; margin-bottom: 28px; }
    .tel-info-heading { font-size: 16px; font-weight: 700; color: #2a6a3a; border-bottom: 1px solid #c8d8e8; padding-bottom: 8px; margin-bottom: 12px; }
    .tel-info p { font-size: 14px; line-height: 2.0; color: #333; margin-bottom: 8px; }
    .tel-info p:last-child { margin-bottom: 0; }

    .back-link { margin-top: 32px; display: flex; justify-content: space-between; align-items: center; }

    @media (max-width: 700px) {
      .contact-table,
      .contact-table tbody,
      .contact-table tr,
      .contact-table th,
      .contact-table td { display: block; width: 100%; }
      .contact-table th { width: 100%; font-size: 13px; padding: 10px 8px; white-space: normal; }
      .contact-table td { padding: 8px; }
      .contact-table input[type="text"],
      .contact-table input[type="email"] { width: 100%; }
      .contact-table select { width: 100%; }
      .required-mark { display: inline-block; margin-top: 4px; }
    }
