/* お問い合わせフォーム（contact.html）。色とボタンはサイトの btn-default（_csslinkbtn/btn-default.css）に合わせる */
.lab-contact {
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
}
.lab-contact-field {
  margin: 0 0 1.6em;
}
.lab-contact-label {
  display: block;
  margin: 0 0 0.4em;
  font-weight: 600;
}
.lab-contact-badge {
  display: inline-block;
  margin-left: 0.6em;
  padding: 0.2em 0.5em;
  background: #6c3b19;
  color: #fff;
  font-size: 0.75em;
  font-weight: 400;
  line-height: 1.2;
  vertical-align: 0.1em;
}
.lab-contact-badge.-inline {
  margin: 0 0.3em 0 0;
}
.lab-contact-badge.-optional {
  background: #8c8c8c;
}
.lab-contact input[type="text"],
.lab-contact input[type="email"],
.lab-contact input[type="tel"],
.lab-contact input[type="date"],
.lab-contact textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0.6em 0.8em;
  border: 1px solid #b5b5b5;
  border-radius: 0;
  background: #fff;
  color: #333;
  font: inherit;
  font-size: 16px; /* iPhone で入力時に拡大されないように 16px 以上 */
  line-height: 1.6;
}
.lab-contact input[type="date"] {
  width: auto;
  min-width: 12em;
}
.lab-contact textarea {
  min-height: 14em;
  resize: vertical;
}
.lab-contact input:focus,
.lab-contact textarea:focus {
  border-color: #6c3b19;
  outline: 2px solid #6c3b19;
  outline-offset: 0;
}
.lab-contact [aria-invalid="true"] {
  border-color: #c62828;
}
.lab-contact-note {
  margin: 0.4em 0 0;
  color: #666;
  font-size: 0.85em;
}
.lab-contact-error {
  margin: 0.4em 0 0;
  color: #c62828;
  font-size: 0.9em;
}
.lab-contact-error:empty {
  display: none;
}
.lab-contact-agree label {
  cursor: pointer;
}
.lab-contact-agree input {
  margin: 0 0.5em 0 0;
  transform: scale(1.2);
  vertical-align: -0.05em;
}
.lab-contact-turnstile {
  margin: 2em 0 0;
}
.lab-contact-status {
  margin: 1em 0 0;
  text-align: center;
}
.lab-contact-status:empty {
  display: none;
}
.lab-contact-status[data-kind="error"] {
  color: #c62828;
}
.lab-contact-submit {
  margin: 1.5em 0 0;
  text-align: center;
}
.lab-contact-submit button {
  min-width: 12em;
  padding: 0.6em 2em;
  border: 3px solid transparent;
  border-radius: 0;
  background: #6c3b19;
  color: #fff;
  font: inherit;
  line-height: 1.8;
  cursor: pointer;
  transition: all 0.2s;
}
.lab-contact-submit button:hover:not(:disabled),
.lab-contact-submit button:focus-visible {
  border-color: #202020;
  background: #202020;
}
.lab-contact-submit button:disabled {
  cursor: default;
  opacity: 0.5;
}
/* ボット対策の入力欄。人には見せない */
.lab-contact-hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.lab-contact-done {
  text-align: center;
}
.lab-contact-done:focus {
  outline: none;
}
.lab-contact [hidden] {
  display: none !important;
}
