.contact-form{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-8);margin-bottom:var(--space-8)}@media(max-width:768px){.contact-form{padding:var(--space-6) var(--space-5)}}.field{margin-bottom:var(--space-6)}.field:last-of-type{margin-bottom:var(--space-5)}.field__label{display:block;font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.field__required{color:var(--color-orange);font-size:var(--fs-xs);font-weight:var(--fw-bold);margin-left:6px}.field__hint{font-size:var(--fs-tiny);color:var(--color-text-muted);margin-top:6px;line-height:1.6}.field__input,.field__textarea,.field__select{width:100%;font-family:var(--font-jp);font-size:15px;color:var(--color-text-primary);background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 14px;line-height:1.6;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.field__input::placeholder,.field__textarea::placeholder{color:var(--color-text-light)}.field__input:focus,.field__textarea:focus,.field__select:focus{border-color:var(--color-blue);box-shadow:0 0 0 4px #2563eb1a}.field__textarea{min-height:180px;resize:vertical}.field__select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px;cursor:pointer}.field__select:has(option[value=""]:checked){color:var(--color-text-light)}.field.is-error .field__input,.field.is-error .field__textarea,.field.is-error .field__select{border-color:#dc2626;background:#fef2f2}.field.is-error .field__input:focus,.field.is-error .field__textarea:focus,.field.is-error .field__select:focus{box-shadow:0 0 0 4px #dc26261a}.field__error{display:none;align-items:center;gap:6px;margin-top:6px;font-size:var(--fs-xs);color:#dc2626;line-height:1.5}.field.is-error .field__error{display:flex}.field__error:before{content:"⚠";flex-shrink:0;font-size:12px}.field.is-valid .field__input,.field.is-valid .field__textarea,.field.is-valid .field__select{border-color:var(--color-success)}.field__counter{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:var(--fs-tiny);color:var(--color-text-muted);font-family:var(--font-mono)}.field__counter-current{font-weight:var(--fw-bold)}.field__counter.is-near-limit .field__counter-current{color:var(--color-orange)}.field__counter.is-over-limit .field__counter-current{color:#dc2626}.field--consent{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-divider)}.consent{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;user-select:none}.consent__checkbox{flex-shrink:0;width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:var(--color-blue)}.consent__text{font-size:var(--fs-small);color:var(--color-text-primary);line-height:1.6}.consent__text a{color:var(--color-blue);text-decoration:underline;text-underline-offset:2px}.consent__text a:hover{color:var(--color-blue-dark)}.contact-submit{display:flex;justify-content:center;margin-top:var(--space-8)}.contact-submit__btn{min-width:240px;height:52px;padding:0 var(--space-8);background:var(--color-orange);color:var(--color-white);border:1.8px solid var(--color-orange);border-radius:var(--radius-pill);font-family:var(--font-jp);font-size:15px;font-weight:var(--fw-bold);letter-spacing:.05em;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.contact-submit__btn:hover:not(:disabled){background:var(--color-orange-hover);border-color:var(--color-orange-hover);transform:translateY(-1px);box-shadow:0 4px 12px #f9731640}.contact-submit__btn:active:not(:disabled){transform:translateY(0)}.contact-submit__btn:disabled{background:var(--color-border-hover);border-color:var(--color-border-hover);color:var(--color-white);cursor:not-allowed;box-shadow:none}.contact-submit__btn.is-loading{pointer-events:none;opacity:.7}.contact-submit__btn.is-loading:after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;border:2px solid rgba(255,255,255,.4);border-top-color:var(--color-white);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.contact-note{font-size:var(--fs-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-5);line-height:1.7}.contact-success{display:none;text-align:center;padding:var(--space-16) var(--space-6);background:var(--color-white);border:1px solid var(--color-success-border);border-radius:var(--radius-md);margin-bottom:var(--space-8)}.contact-success.is-visible{display:block}.contact-success__icon{width:56px;height:56px;margin:0 auto var(--space-4);border-radius:50%;background:var(--color-success-bg);color:var(--color-success);display:flex;align-items:center;justify-content:center}.contact-success__icon svg{width:28px;height:28px}.contact-success__title{font-size:20px;font-weight:var(--fw-bold);color:var(--color-text-primary);margin-bottom:var(--space-3)}.contact-success__description{font-size:var(--fs-small);color:var(--color-text-secondary);line-height:1.8;max-width:480px;margin:0 auto}@media(max-width:768px){.field__input,.field__textarea,.field__select{font-size:16px}.contact-submit__btn{width:100%;min-width:auto}}
