.container--narrow{max-width:720px}.contact-form{background:var(--paper-card);border:1px solid var(--hairline);border-radius:var(--radius);flex-direction:column;gap:clamp(18px,2.6vw,26px);padding:clamp(24px,4vw,40px);display:flex}.contact-form .field{flex-direction:column;gap:8px;display:flex}.contact-form label{font-family:var(--sans);letter-spacing:.1em;color:var(--sumi-soft);align-items:center;gap:.7em;font-size:.82rem;display:inline-flex}.contact-form .req{letter-spacing:.16em;color:#fff;background:var(--shu);border-radius:999px;padding:.2em .6em;font-size:.62rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;font-family:var(--sans);color:var(--sumi);background:var(--paper);border:1px solid var(--hairline-strong);border-radius:10px;padding:.7em .9em;font-size:.95rem;line-height:1.8;transition:border-color .2s,box-shadow .2s}.contact-form textarea{resize:vertical;min-height:9em}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--shu);box-shadow:0 0 0 3px color-mix(in srgb, var(--shu) 16%, transparent);outline:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--ink-muted)}.contact-form .counter{font-family:var(--sans);color:var(--ink-muted);font-variant-numeric:tabular-nums;align-self:flex-end;font-size:.72rem}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-error{font-family:var(--sans);color:var(--shu-deep);background:color-mix(in srgb, var(--shu) 9%, transparent);border:1px solid color-mix(in srgb, var(--shu) 40%, transparent);border-radius:10px;padding:.8em 1em;font-size:.86rem}.form-foot{border-top:1px dashed var(--hairline-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-top:4px;display:flex}.form-foot .note{font-family:var(--sans);color:var(--ink-muted);flex:20em;font-size:.76rem;line-height:1.9}.form-foot .note a{color:var(--shu);text-underline-offset:3px;text-decoration:underline}.contact-form button[disabled]{opacity:.6;cursor:default}.contact-done{text-align:center;background:var(--paper-card);border:1px solid var(--hairline);border-radius:var(--radius);padding:clamp(34px,6vw,60px) clamp(22px,4vw,40px)}.contact-done .seal{--s:52px;margin:0 auto 1.2rem}.contact-done h2{font-family:var(--serif);letter-spacing:.08em;margin-bottom:.8em;font-size:1.4rem}.contact-done p{color:var(--sumi-soft);max-width:32em;margin-inline:auto;font-size:.92rem;line-height:2}.contact-aside{border-top:1px dashed var(--hairline-strong);font-family:var(--sans);margin-top:clamp(32px,5vw,48px);padding-top:clamp(24px,4vw,34px)}.contact-aside h2{font-family:var(--serif);letter-spacing:.1em;margin-bottom:.9em;font-size:1.1rem}.contact-aside ul{color:var(--sumi-soft);flex-direction:column;gap:.55em;font-size:.88rem;line-height:1.9;list-style:none;display:flex}.contact-aside li{padding-left:1.3em;position:relative}.contact-aside li:before{content:"・";color:var(--shu);position:absolute;left:.1em}.contact-aside .muted{color:var(--ink-muted);margin-top:1.2em;font-size:.8rem;line-height:1.9}@media (max-width:520px){.form-foot{justify-content:stretch}.form-foot .btn{text-align:center;width:100%}}
