/* HubSpotフォーム共通（静的LP用）2026-11-01 events詳細と同デザイン */
.hs-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", sans-serif;
  color: #333;
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
}

.hs-form > * {
  width: 100%;
  box-sizing: border-box;
}

.hs-form .hs-form-field {
  margin: 0 0 10px;
  padding: 0;
}

/* 非表示項目（utm_seminar__c 等）の余白を消す */
.hs-form .hs-form-field:has(input[type="hidden"]):not(:has(input:not([type="hidden"]))) {
  display: none;
}

/* ラベル */
.hs-form .hs-form-field > label {
  display: block;
  margin: 0 0 3px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: #2A2A2A;
}

/* 必須マーク：AEと同じく先頭に赤い「＊」 */
.hs-form .hs-form-field > label .hs-form-required {
  display: none;
}
.hs-form .hs-form-field > label:has(.hs-form-required)::before {
  content: "＊";
  color: #C00030;
  margin-right: 4px;
}

/* 入力系 */
.hs-form input[type="text"],
.hs-form input[type="email"],
.hs-form input[type="tel"],
.hs-form select,
.hs-form textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 6px 10px;
  border: 1px solid #D0D4DA;
  border-radius: 6px;
  background: #fff;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
}

.hs-form select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 32px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23666' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;
}

.hs-form textarea {
  min-height: 64px;
  height: 64px;
  resize: vertical;
}

.hs-form input:focus,
.hs-form select:focus,
.hs-form textarea:focus {
  outline: none;
  border-color: #0143CA;
}

/* 姓／名を横並び */
.hs-form .hs_lastname,
.hs-form .hs_firstname {
  width: 48%;
}

/* 同意チェック */
.hs-form .legal-consent-container {
  margin: 0 0 4px;
  font-size: 12px;
  line-height: 1.7;
  color: #555;
}
.hs-form .legal-consent-container .hs-form-field {
  margin: 0 0 8px;
}
.hs-form ul.inputs-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.hs-form ul.inputs-list li {
  margin: 0;
  padding: 0;
}
.hs-form .hs-form-booleancheckbox-display {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: #2A2A2A;
  cursor: pointer;
}
.hs-form .hs-form-booleancheckbox-display > span {
  display: inline;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}
.hs-form .hs-form-booleancheckbox-display .hs-form-required {
  display: inline;
  margin-left: 2px;
  color: #C00030;
  font-weight: 600;
}
.hs-form .hs-form-booleancheckbox-display input[type="checkbox"] {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #0143CA;
  cursor: pointer;
}
.hs-form .legal-consent-container .hs-richtext {
  max-height: 72px;
  overflow-y: auto;
  padding: 8px 10px;
  border: 1px solid #E3E6EA;
  border-radius: 6px;
  background: #F7F8FA;
  font-size: 11px;
  line-height: 1.6;
  color: #666;
}
.hs-form .legal-consent-container p {
  margin: 0 0 6px;
}
.hs-form .legal-consent-container p:last-child {
  margin-bottom: 0;
}
.hs-form .legal-consent-container a {
  color: #0143CA;
  text-decoration: underline;
  word-break: break-all;
}

/* エラー文 */
.hs-form ul.hs-error-msgs {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  border: 0;
  background: none;
}
.hs-form .hs-error-msg,
.hs-form .hs-main-font-element {
  color: #C00030;
  font-size: 13px;
  font-weight: 400;
}
.hs-form .hs_error_rollup {
  display: none;
}
.hs-form input.error,
.hs-form select.error,
.hs-form textarea.error {
  border-color: #C00030;
}

/* CTAボタン（AEと同じ黄色・全幅） */
.hs-form .hs_submit {
  margin: 4px 0 0;
}
.hs-form .hs-button {
  display: block;
  width: 100%;
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  background: #EFAC00;
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  -webkit-appearance: none;
}
.hs-form .hs-button:hover {
  opacity: 0.9;
}

@media only screen and (max-width: 767px) {
  .hs-form textarea {
    min-height: 80px;
    height: 80px;
  }
}
