/* bad-corp.com 系サイト共通のお問い合わせフォーム（HubSpot 埋め込みの置き換え）
   2026-07-27 ConoHa 移管にあわせて自前化。ブランドカラー #004da0 / #4593d0 */
.badform { max-width: 640px; margin: 0 auto; text-align: left; }
.badform__field { margin-bottom: 18px; }
.badform__label {
  display: block; margin-bottom: 6px;
  font-size: 14px; font-weight: 700; line-height: 1.5; color: #333;
}
.badform__req {
  display: inline-block; margin-left: 6px; padding: 1px 6px;
  font-size: 11px; font-weight: 700; color: #fff; background: #c9302c;
  border-radius: 2px; vertical-align: 2px;
}
.badform__input,
.badform__textarea {
  display: block; width: 100%; box-sizing: border-box;
  padding: 11px 12px; font-size: 16px; line-height: 1.5;
  font-family: inherit; color: #333; background: #fff;
  border: 1px solid #c5c9cf; border-radius: 3px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.badform__input:focus,
.badform__textarea:focus {
  outline: none; border-color: #004da0;
  box-shadow: 0 0 0 3px rgba(0, 77, 160, .15);
}
.badform__textarea { min-height: 150px; resize: vertical; }
.badform__row { display: flex; gap: 16px; }
.badform__row > .badform__field { flex: 1 1 0; min-width: 0; }
.badform__consent {
  display: flex; align-items: flex-start; gap: 10px;
  margin: 22px 0; font-size: 14px; line-height: 1.7; color: #333;
}
.badform__consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 3px; }
.badform__consent a { color: #004da0; text-decoration: underline; }
.badform__submit {
  display: block; width: 100%; padding: 15px 20px;
  font-size: 17px; font-weight: 700; font-family: inherit;
  color: #fff; background: #004da0;
  border: none; border-radius: 3px; cursor: pointer;
  transition: background-color .15s ease;
}
.badform__submit:hover:not(:disabled) { background: #4593d0; }
.badform__submit:disabled { background: #9aa3ad; cursor: not-allowed; }
/* ハニーポット：人には見せず、スクリーンリーダーにも読ませない */
.badform__hp {
  position: absolute !important; left: -9999px !important;
  width: 1px !important; height: 1px !important; overflow: hidden !important;
}
.badform__msg {
  margin-top: 18px; padding: 14px 16px;
  font-size: 15px; line-height: 1.7; border-radius: 3px; white-space: pre-line;
}
.badform__msg--ok { color: #1e5c2f; background: #e8f5ec; border: 1px solid #b4ddc1; }
.badform__msg--ng { color: #8a1f1c; background: #fdecea; border: 1px solid #f2b8b5; }
@media screen and (max-width: 767px) {
  .badform__row { display: block; }
  .badform__input, .badform__textarea { padding: 12px; }
}
