.suuo-contact { --sc-ink:var(--sv-ink,#292725); --sc-line:var(--sv-line,#d8d3cd); --sc-muted:var(--sv-muted,#69645f); --sc-accent:var(--sv-accent,#9d492f); color:var(--sc-ink); font-family:var(--sv-sans,Meiryo,sans-serif); font-size:15px; line-height:1.8; max-width:870px; margin:32px 0 0; }
.suuo-contact *, .suuo-contact *::before, .suuo-contact *::after { box-sizing:border-box; }
.suuo-contact [hidden] { display:none !important; }
.suuo-contact :where(p,h3,fieldset,legend,ol,dl,dt,dd) { margin:0; padding:0; }
.suuo-contact button, .suuo-contact input, .suuo-contact textarea { font:inherit; border-radius:0; }
.suuo-contact .sc-demo-note { font-size:13px; color:var(--sc-muted); border-left:2px solid var(--sc-accent); padding:2px 0 2px 15px; margin:0 0 28px; }
.suuo-contact .sc-steps { display:flex; gap:32px; list-style:none; border-bottom:1px solid var(--sc-line); margin:0 0 32px; padding:0; color:var(--sc-muted); font-size:13px; }
.suuo-contact .sc-steps li { padding:0 0 14px; margin-bottom:-1px; }
.suuo-contact .sc-steps span { font-family:Georgia,serif; font-size:18px; margin-right:7px; }
.suuo-contact .sc-steps [aria-current] { color:var(--sc-ink); border-bottom:2px solid var(--sc-ink); }
.suuo-contact .sc-service-fieldset { min-width:0; border:0; }
.suuo-contact legend, .suuo-contact .sc-field > label { display:block; margin:0 0 12px; font-size:14px; font-weight:500; }
.suuo-contact .sc-required { color:var(--sc-accent); font-size:11px; font-weight:400; margin-left:8px; }
.suuo-contact .sc-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
.suuo-contact .sc-service { display:flex; gap:13px; align-items:center; padding:16px 2px; border-bottom:1px solid var(--sc-line); cursor:pointer; min-width:0; }
.suuo-contact .sc-service:has(input:checked) { border-bottom-color:var(--sc-accent); }
.suuo-contact input[type=radio], .suuo-contact input[type=checkbox] { flex-shrink:0; width:18px; height:18px; margin:2px 0 0; padding:0; appearance:auto; accent-color:var(--sc-accent); }
.suuo-contact .sc-service-title { display:block; font-family:Georgia,serif; font-size:25px; line-height:1.35; font-weight:400; }
.suuo-contact .sc-service-other { font-family:inherit; font-size:20px; }
.suuo-contact .sc-service-caption { display:block; font-size:12px; color:var(--sc-muted); margin-top:4px; overflow-wrap:anywhere; }
.suuo-contact .sc-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 28px; margin-top:30px; }
.suuo-contact .sc-field { min-width:0; }
.suuo-contact .sc-field-wide { grid-column:1/-1; }
.suuo-contact input[type=text], .suuo-contact input[type=email], .suuo-contact textarea { width:100%; max-width:none; min-width:0; padding:12px 14px; border:1px solid #a29b94; background:#fff; color:var(--sc-ink); box-shadow:none; font-size:16px; line-height:1.7; }
.suuo-contact textarea { min-height:170px; resize:vertical; }
.suuo-contact textarea::placeholder { color:#756f68; font-size:14px; }
.suuo-contact :where(input,textarea,button,a):focus-visible { outline:2px solid var(--sc-accent); outline-offset:3px; }
.suuo-contact :where(input,textarea)[aria-invalid=true] { border-color:#a22e23; }
.suuo-contact .sc-hint, .suuo-contact .sc-counter { color:var(--sc-muted); font-size:12px; line-height:1.8; margin-top:6px; }
.suuo-contact .sc-message-meta { display:flex; justify-content:space-between; gap:16px; }
.suuo-contact .sc-counter { white-space:nowrap; font-variant-numeric:tabular-nums; }
.suuo-contact .sc-error { color:#a22e23; font-size:13px; margin-top:7px; }
.suuo-contact .sc-error:empty { display:none; }
.suuo-contact .sc-consent { margin:28px 0; font-size:13px; }
.suuo-contact .sc-consent > label { display:flex; align-items:flex-start; gap:10px; margin-top:14px; cursor:pointer; }
.suuo-contact .sc-consent input { margin-top:3px; }
.suuo-contact .sc-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:50px; padding:13px 24px; border:1px solid var(--sc-ink); border-radius:0; color:#fff; background:var(--sc-ink); font-size:14px; font-weight:400; line-height:1.6; cursor:pointer; text-decoration:none; }
.suuo-contact .sc-button:hover { background:var(--sc-accent); border-color:var(--sc-accent); }
.suuo-contact .sc-button-secondary { background:#fff; color:var(--sc-ink); }
.suuo-contact .sc-button-secondary:hover { background:#fff; color:var(--sc-accent); }
.suuo-contact .sc-button:disabled { opacity:.6; cursor:wait; }
.suuo-contact .sc-actions { display:flex; gap:16px; flex-wrap:wrap; margin-top:28px; }
.suuo-contact .sc-review h3, .suuo-contact .sc-complete h3 { font-size:24px; font-family:var(--sv-serif,serif); font-weight:400; line-height:1.8; }
.suuo-contact .sc-review-list { margin:26px 0; }
.suuo-contact .sc-review-list > div { display:grid; grid-template-columns:165px minmax(0,1fr); gap:20px; padding:17px 0; border-bottom:1px solid var(--sc-line); }
.suuo-contact .sc-review-list dt { font-size:13px; color:var(--sc-muted); }
.suuo-contact .sc-review-list dd { overflow-wrap:anywhere; white-space:pre-wrap; font-size:15px; }
.suuo-contact .sc-alert { border-left:2px solid #a22e23; padding:10px 14px; color:#8c251c; font-size:14px; margin:0 0 24px; }
.suuo-contact .sc-send-status { font-size:13px; color:var(--sc-muted); }
.suuo-contact .sc-send-status:empty { display:none; }
.suuo-contact .sc-complete { padding:24px 0 30px; }
.suuo-contact .sc-complete-label { font-size:15px; color:var(--sc-accent); font-family:Georgia,serif; font-style:italic; margin-bottom:12px; }
.suuo-contact .sc-complete h3 + p { margin:16px 0 24px; font-size:14px; }
.suuo-contact .sc-honeypot { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip-path:inset(50%); }
@media(max-width:600px) {
  .suuo-contact { margin-top:26px; }
  .suuo-contact .sc-fields { grid-template-columns:minmax(0,1fr); gap:22px; }
  .suuo-contact .sc-services { grid-template-columns:1fr; gap:0; }
  .suuo-contact .sc-service { gap:9px; padding:15px 0; align-items:flex-start; }
  .suuo-contact .sc-service input { margin-top:6px; }
  .suuo-contact .sc-service-title { font-size:23px; }
  .suuo-contact .sc-service-other { font-size:18px; }
  .suuo-contact .sc-service-caption { font-size:12px; }
  .suuo-contact .sc-message-meta { display:block; }
  .suuo-contact .sc-counter { display:block; text-align:right; }
  .suuo-contact .sc-review-list > div { grid-template-columns:1fr; gap:5px; }
  .suuo-contact .sc-actions { flex-direction:column-reverse; }
  .suuo-contact .sc-button { width:100%; }
  .suuo-contact .sc-steps { gap:26px; }
}
@media(max-width:380px) { .suuo-contact .sc-services { grid-template-columns:1fr; } }
