.contact-trap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.contact-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 22px 0;
  line-height: 1.8;
}

.contact-consent input {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin: 4px 0 0;
  accent-color: #7d4a91;
}

.contact-consent a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.contact-consent em {
  margin-left: 8px;
  color: #cfa5d8;
  font-size: 0.75rem;
  font-style: normal;
}

.form-preview-status[data-state="success"] {
  border-color: rgba(170, 218, 180, 0.55);
  color: #d6f2dc;
}

.form-preview-status[data-state="error"] {
  border-color: rgba(223, 137, 153, 0.55);
  color: #ffd8df;
}

[data-contact-form] button[disabled] {
  cursor: wait;
  opacity: 0.62;
}

.privacy-content {
  width: min(920px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(48px, 7vw, 96px) 0;
}

.privacy-content section {
  padding: 28px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.privacy-content h2 {
  margin: 0 0 14px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(1.25rem, 3vw, 1.7rem);
}

.privacy-content p,
.privacy-content li {
  line-height: 2;
}

.privacy-content ul {
  margin: 0;
  padding-left: 1.4em;
}

.privacy-contact {
  overflow-wrap: anywhere;
}

@media (max-width: 639px) {
  .contact-consent {
    font-size: 0.9rem;
  }
}
