/* お問い合わせ：パソコンの専用寸法と配置。スマホの変更は../responsive.css。 */
/* このセクション固有の値（-tablet は1200px以下） */
:where([data-section="contact"][data-ui="sui"]) {
  --contact-label-width: 160px;
  --contact-label-width-tablet: 144px;
  --contact-control-height: 42px;
  --contact-textarea-height: 160px;
}

:where([data-section="contact"][data-ui="sui"]).contact {
  padding-block: var(--space-section);
  background: var(--color-warm);
}

:where([data-section="contact"][data-ui="sui"]) .contact__layout {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  align-items: start;
  gap: var(--space-grid);
}

:where([data-section="contact"][data-ui="sui"]) .contact__telephone {
  display: inline-block;
  margin-block-start: var(--space-grid);
  padding-block-start: var(--space-stack);
  border-block-start: var(--size-line) solid var(--color-line);
  color: var(--color-text-muted);
  font-size: var(--font-size-body);
}

:where([data-section="contact"][data-ui="sui"]) .contact__number {
  font-size: var(--font-size-card);
}

:where([data-section="contact"][data-ui="sui"]) .contact__form {
  padding: var(--space-card-gap);
  border: var(--size-line) solid var(--color-line);
  background: var(--color-background);
}

:where([data-section="contact"][data-ui="sui"]) .field {
  display: grid;
  grid-template-columns: var(--contact-label-width) minmax(0, 1fr);
  gap: var(--space-stack);
  align-items: center;
  margin-block-end: var(--space-stack);
}

:where([data-section="contact"][data-ui="sui"]) .field--message {
  align-items: start;
}

:where([data-section="contact"][data-ui="sui"]) .field__label {
  font-family: var(--font-control);
  font-weight: var(--weight-heading);
  color: var(--color-text-muted);
  font-size: var(--font-size-body);
}

:where([data-section="contact"][data-ui="sui"]) .field__label span {
  color: var(--color-primary);
}

:where([data-section="contact"][data-ui="sui"]) .field__control {
  width: 100%;
  min-width: 0;
  min-height: var(--contact-control-height);
  padding: var(--space-small);
  border: var(--size-line) solid var(--color-line);
  border-radius: 0;
  background: var(--color-surface);
  color: var(--color-text);
  font-size: var(--font-size-body);
}

:where([data-section="contact"][data-ui="sui"]) textarea.field__control {
  min-height: var(--contact-textarea-height);
  resize: vertical;
}

:where([data-section="contact"][data-ui="sui"]) .contact__actions {
  padding-inline-start: calc(var(--contact-label-width) + var(--space-stack));
  text-align: center;
}

:where([data-section="contact"][data-ui="sui"]) .contact__consent {
  font-family: var(--font-control);
  font-weight: var(--weight-heading);
  display: flex;
  align-items: start;
  gap: var(--space-tiny);
  margin-block-end: var(--space-stack);
  color: var(--color-text-muted);
  font-size: var(--font-size-body);
}

:where([data-section="contact"][data-ui="sui"]) .contact__actions .button {
  min-width: 0;
}

:where([data-section="contact"][data-ui="sui"]) .contact__actions .section-note {
  margin-block-start: var(--space-small);
}
