.pdp-contact-form {
    max-width: 880px;
    margin: 0 auto;
    padding: 40px 20px;
  }
  
  .pdp-contact-form__lead {
    color: #FFF;
    margin-bottom: 24px;
    line-height: 1.8;
  }
  
  .pdp-contact-form__label {
    display: block;
    font-weight: 700;
    font-family: var(--wp--preset--font-family--zenoldmincho);
    margin: 16px 0 8px;
    line-height: 1.4;
  }
  
  .pdp-contact-form__req {
    color: #ef4444;
    font-size: 12px;
    margin-left: 6px;
  }
  
  .pdp-contact-form__input,
  .pdp-contact-form__select,
  .pdp-contact-form__textarea {
    width: 100%;
    background: #fff;
    color: #555;
    border: 1px solid #2a2a2d;
    border-radius: 10px;
    padding: 14px 16px;
    outline: none;
    transition: border-color .2s ease;
    box-sizing: border-box;
  }
  
  .pdp-contact-form__input:focus,
  .pdp-contact-form__select:focus,
  .pdp-contact-form__textarea:focus {
    border-color: #6b7280;
  }
  
  .pdp-contact-form__textarea {
    min-height: 180px;
    resize: vertical;
  }
  
  .pdp-contact-form__check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
  }

  .pdp-contact-form__policy a {
    text-decoration: underline;
    opacity: .85;
    transition: opacity .2s ease;
  }
  
  .pdp-contact-form__policy a:hover {
    opacity: 1;
  }
  
  /* 送信ボタン */
  .pdp-contact-form__submit {
    appearance: none;
    border: 0;
    padding: 14px 22px;
    background: rgba(105, 105, 105, .3);
    color: #fff;
    font-family: var(--wp--preset--font-family--zenoldmincho);
    font-weight: 700;
    cursor: pointer;
    margin-top: 16px;
  }
  
  .pdp-contact-form__submit:disabled {
    opacity: .6;
    cursor: not-allowed;
  }
  
  .pdp-contact-form__note {
    color: #9ca3af;
    font-size: 12px;
    margin-top: 10px;
  }
  
  .wpcf7 form .wpcf7-response-output {
    border-radius: 10px;
    margin: 18px 0 0;
    padding: 12px 16px;
  }
  
  .wpcf7 form.sent .wpcf7-response-output {
    background: #0c1b14;
    color: #34d399;
    border-color: #10b981;
  }
  
  .wpcf7 form.failed .wpcf7-response-output,
  .wpcf7 form.invalid .wpcf7-response-output {
    background: #1f0b0b;
    color: #fca5a5;
    border-color: #ef4444;
  }
  
  .wpcf7-not-valid {
    border-color: #ef4444 !important;
  }
  
  .wpcf7-not-valid-tip {
    color: #fca5a5;
    font-size: 12px;
    margin-top: 6px;
  }
  
  @media (max-width:767px) {
    .pdp-contact-form {
      padding: 28px 16px;
    }
    .pdp-contact-form-wrap {
      max-width: 360px;
    }
  }