/* KONOTE Contact Form v1.56.16 */
.cf-form .field { margin-bottom: 20px; }
.cf-form--konote { width: min(1120px, calc(100% - 32px)); margin: 72px auto 80px; font-size: 15px; line-height: 1.8; }
.cf-form--konote .p-contact__form { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 12px; }
.cf-form--konote .p-contact__form > .c-field,
.cf-form--konote .p-contact__form > .btn-row { grid-column: 1 / -1; }
.cf-form--konote .p-contact__form--vendor > [data-field="company"],
.cf-form--konote .p-contact__form--vendor > [data-field="department"],
.cf-form--konote .p-contact__form--municipal > [data-field="organization"],
.cf-form--konote .p-contact__form--municipal > [data-field="department"] { grid-column: span 6; }
.cf-form--konote .p-contact__form > [data-field="name"] { grid-column: span 6; }
.cf-form--konote .p-contact__form > [data-field="kana"] { grid-column: span 6; }
.cf-form--konote .p-contact__form > [data-field="tel"],
.cf-form--konote .p-contact__form > [data-field="mobile"] { grid-column: span 3; }
.cf-form--konote .p-contact__form > [data-field="email"] { grid-column: span 6; }
.cf-form--konote .p-contact__form > [data-field="zip"] { display: grid; grid-template-columns: minmax(120px, 1fr) auto; column-gap: 10px; grid-column: span 4; }
.cf-form--konote .p-contact__form > [data-field="zip"] .c-field__label,
.cf-form--konote .p-contact__form > [data-field="zip"] .c-field__zip-msg,
.cf-form--konote .p-contact__form > [data-field="zip"] .c-field__error { grid-column: 1 / -1; }
.cf-form--konote .p-contact__form > [data-field="address"] { grid-column: span 8; }
.cf-form--konote .c-field { margin-bottom: 28px; }
.cf-form--konote .c-field__label, .cf-form--konote .c-field__legend { font-size: 15px; }
.cf-form--konote input[type=text], .cf-form--konote input[type=email],
.cf-form--konote input[type=tel], .cf-form--konote input[type=url],
.cf-form--konote textarea, .cf-form--konote select { background: #fff; }
@media (max-width: 767px) {
    .cf-form--konote { width: calc(100% - 32px); margin-top: 40px; }
}
.cf-form .field label { display: block; font-weight: bold; margin-bottom: 6px; }
.cf-form .field .req, .cf-form .c-field__req { color: #dc2626; font-size: 12px; margin-left: 6px; }
.cf-form .c-field { margin-bottom: 20px; }
.cf-form .c-field__label { display: block; font-weight: bold; margin-bottom: 6px; }
.cf-form input[type=text], .cf-form input[type=email], .cf-form input[type=tel],
.cf-form input[type=url], .cf-form input[type=number], .cf-form input[type=date],
.cf-form textarea, .cf-form select {
    width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-family: inherit; font-size: 15px;
}
.cf-form textarea { min-height: 120px; }
.cf-form .c-field__name { display: flex; gap: 8px; }
.cf-form .c-field__zip { max-width: none; }
.cf-form--konote .c-field__zip-btn { margin: 0; padding: 8px 18px; background: #c32d2b; color: #fff; border: 1px solid #c32d2b; border-radius: 0; font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.cf-form--konote .c-field__zip-btn:hover,
.cf-form--konote .c-field__zip-btn:focus-visible { background: #a92321; border-color: #a92321; }
.cf-form .c-field__error { color: #dc2626; font-size: 13px; margin: 4px 0 0; }
.cf-form .c-field__help, .cf-form .field .help { font-size: 13px; color: #666; margin-top: 4px; }
.cf-form--konote .c-field__agreement-title { margin: 0 0 12px; font-size: 20px; line-height: 1.5; }
.cf-form--konote .c-field__agreement-text,
.cf-form--konote .c-field__agreement-confirm { margin: 0 0 12px; font-size: 15px; line-height: 1.8; }
.cf-form--konote .c-field__agreement-text a { color: inherit; text-decoration: underline; }
.cf-form--konote .c-field__agree { display: flex; align-items: flex-start; justify-content: center; gap: 8px; margin-top: 20px; font-size: 15px; line-height: 1.6; text-align: center; }
.cf-form--konote .c-field__agree input { margin-top: 5px; }
.cf-form .steps { display: flex; gap: 8px; margin: 0 0 24px; font-size: 13px; justify-content: center; }
.cf-form .steps span { padding: 4px 12px; border-radius: 16px; background: #eee; color: #888; }
.cf-form .steps span.active { background: #111; color: #fff; }
.cf-form .errors { background: #fee2e2; border: 1px solid #dc2626; color: #991b1b; padding: 12px; border-radius: 4px; margin-bottom: 20px; }
.cf-form .errors ul { margin: 0; padding-left: 20px; }
.cf-form .btn { display: inline-block; min-width: 220px; padding: 14px 32px; background: #c32d2b; color: #fff; border: 1px solid #c32d2b; border-radius: 0; font-size: 16px; font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.cf-form .btn:hover, .cf-form .btn:focus-visible { background: #a92321; border-color: #a92321; }
.cf-form .btn-secondary { background: #fff; border-color: #c32d2b; color: #c32d2b; }
.cf-form .btn-secondary:hover, .cf-form .btn-secondary:focus-visible { background: #fff3f2; border-color: #a92321; color: #a92321; }
.cf-form .btn-row { display: flex; gap: 12px; margin-top: 24px; justify-content: center; }
.cf-form--konote .confirm-table { font-size: 15px; line-height: 1.6; }
.cf-form .confirm-table { width: 100%; border-collapse: collapse; margin: 16px 0; table-layout: fixed; }
.cf-form .confirm-table th, .cf-form .confirm-table td { border: 1px solid #ddd; padding: 10px; text-align: left; vertical-align: top; word-break: break-word; overflow-wrap: anywhere; }
.cf-form .confirm-table th { background: #f5f5f5; width: 30%; }
.cf-form .hp { position: absolute; left: -9999px; }
.cf-form .complete-box { background: #f5f5f5; border: 1px solid #444; padding: 20px; border-radius: 0; }
.cf-form .confirmation_btn { background: #c32d2b; color: #fff; border: 1px solid #c32d2b; border-radius: 0; }
.cf-form .confirmation_btn:hover, .cf-form .confirmation_btn:focus-visible { background: #a92321; border-color: #a92321; }
@media (max-width: 767px) {
    .cf-form--konote .p-contact__form > .c-field { grid-column: 1 / -1; }
    .cf-form .btn { width: 100%; min-width: 0; }
    .cf-form .btn-row { flex-direction: column; }
    .cf-form .btn-row form { width: 100%; }
}
