    body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,"ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","Hiragino Sans",YuGothic,"游ゴシック体",Meiryo,sans-serif;line-height:1.7;padding:0;}
    header{display:flex;max-width: 1200px;margin: 0 auto; padding:0 15px;}
    header img {width:250px}
    table{width:100%;border-collapse:collapse;margin:16px 0;}
    th,td{border-top:1px solid #ddd;padding:12px;vertical-align:top;}
    th{width:28%;background:#fafafa;}
    .required{color:#d00;margin-left:.5em;font-size:.9em;}
    .actions{display:flex;gap:12px;margin-top:24px;justify-content: center;}
    .note{font-size:.9em;color:#666}
    .error{color:#d00;margin:8px 0 0}
    .honeypot{display:none;}
    label {display:flex;margin:4px 0;align-items: baseline; font-size:14px;}
    input[type="text"],input[type="email"],input[type="tel"],select,textarea{width:100%;max-width:480px;padding:8px;border:1px solid #ccc;border-radius:4px}
    .checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 16px}
    .birthday-wrap{display:flex;gap:8px;align-items:center}
    .form-title {display: flex;align-items: baseline;gap: 10px;}
    .form-title p {font-size:14px}
    .p-form__table tr th .required {position:relative; font-size:12px}
    .form-radio {display:flex; gap:20px}
    .p-form__table tr th {width:300px;background: none;}
    .submit-btn{
      font-size: 18px;
      line-height: 1.2;
      position: relative;
      display: inline-block;
      border: 2px solid #34495e;
      color: white;
      font-weight: 700;
      text-align: center;
      min-width: 360px;
      padding: 20px 0;
      cursor: pointer;
      z-index: 10;
      overflow: hidden;background-color:#34495e;
    }
    .reset-btn{
      font-size: 18px;
      line-height: 1.2;
      position: relative;
      display: inline-block;
      border: 2px solid #34495e;
      color: #34495e;
      font-weight: 700;
      text-align: center;
      min-width: 360px;
      padding: 20px 0;
      cursor: pointer;
      z-index: 10;
      overflow: hidden;
    }
    .back-btn {
      font-size: 18px;
      line-height: 1.2;
      position: relative;
      display: inline-block;
      border: 2px solid #34495e;
      color: #34495e;
      font-weight: 700;
      text-align: center;
      min-width: 360px;
      padding: 20px 0;
      cursor: pointer;
      z-index: 10;
      overflow: hidden;
    }
    .form-nav.half-nav {grid-template-columns: 1fr 1fr 1fr;}
    table{width:100%;border-collapse:collapse;margin:16px 0;}
    th,td{border-top:1px solid #ddd;padding:12px;vertical-align:top;}
    th{width:28%;background:#fafafa;}
    .actions{display:flex;gap:12px;margin-top:24px}
    .note{font-size:.9em;color:#666}

@media only screen and (max-width: 468px) {
    input[type='text'], input[type='email'], input[type='url'], input[type='tel'],select,textarea {
        font-size: 16px;
    }
    .actions {
        flex-wrap: wrap;
    }
    .error li {
        font-size: 12px;
    }
}