/* 2026-11-13 v09559: 相談フォーム(81・6976)の必須は 会社名・メールアドレス(＋81 はプライバシーポリシーの同意)。空 = 薄い赤 / 入れた = 白＋✓。assets/js/form-required.js */
:is(#sc-req, body) form.sc-req-form input.sc-req-field:not([type="checkbox"]).is-sc-req-empty {
  background-color: #fff3f3 !important;
  border-color: #e07a7a !important;
}
:is(#sc-req, body) form.sc-req-form input.sc-req-field:not([type="checkbox"]).is-sc-req-empty:focus {
  border-color: #c94a4a !important;
  box-shadow: 0 0 0 3px rgba(201, 74, 74, .14) !important;
}
:is(#sc-req, body) form.sc-req-form input.sc-req-field:not([type="checkbox"]).is-sc-req-ok {
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%232e9a6b'/%3E%3Cpath d='M5.5 10.3l3 3 6-6.4' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px 18px !important;
  padding-right: 40px !important;
  border-color: #b9c4cf !important;
}
:is(#sc-req, body) form.sc-req-form input.sc-req-field:not([type="checkbox"]) { transition: background-color .25s ease, border-color .25s ease; }
:is(#sc-req, body) form.sc-req-form.is-sc-req-tried input.sc-req-field.is-sc-req-empty {
  border-color: #c94a4a !important;
  box-shadow: 0 0 0 3px rgba(201, 74, 74, .16) !important;
}
form.sc-req-form .sc-req-badge {
  background: #c43d4b !important;
  color: #fff !important;
  transition: background-color .25s ease;
}
form.sc-req-form .sc-req-badge.is-sc-req-done {
  background: #2e9a6b !important;
  color: #fff !important;
}
form.sc-req-form .sc-req-status {
  display: block;
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  color: #b23a48;
}
form.sc-req-form .sc-req-status.is-ready { color: #23855a; }
/* ボタン: そろうまで灰色(押すと残りの欄へ動く)。そろったら各ページの色に戻る */
form.sc-req-form:not(.is-sc-req-ready) input.wpcf7-submit,
form.sc-req-form:not(.is-sc-req-ready) button.wpcf7-submit {
  background: #aab6c3 !important;
  background-image: none !important;
  border-color: #aab6c3 !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer;
}
form.sc-req-form.is-sc-req-ready input.wpcf7-submit,
form.sc-req-form.is-sc-req-ready button.wpcf7-submit {
  animation: scReqReady .45s ease-out 1;
}
@keyframes scReqReady { 0% { transform: scale(.98); } 60% { transform: scale(1.02); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  form.sc-req-form.is-sc-req-ready input.wpcf7-submit,
  form.sc-req-form.is-sc-req-ready button.wpcf7-submit { animation: none; }
  form.sc-req-form input.sc-req-field:not([type="checkbox"]) { transition: none; }
}
/* 「任意」の札は灰色(/price/ はページの CSS が札をすべて赤にしている) */
:is(#sc-req, body) form.sc-req-form .lpc-opt { background: #edf2f6 !important; color: #526477 !important; }
/* 同意のチェック: 未チェック = 薄い赤の囲み / チェック = 白 */
:is(#sc-req, body) form.sc-req-form .sc-req-check {
  box-sizing: border-box;
  padding: 10px 12px !important;
  border: 1.5px solid #b9c4cf !important;
  border-radius: 8px;
  background: #fff !important;
  transition: background-color .25s ease, border-color .25s ease;
}
:is(#sc-req, body) form.sc-req-form .sc-req-check.is-sc-req-empty {
  background: #fff3f3 !important;
  border-color: #e07a7a !important;
}
:is(#sc-req, body) form.sc-req-form.is-sc-req-tried .sc-req-check.is-sc-req-empty {
  border-color: #c94a4a !important;
  box-shadow: 0 0 0 3px rgba(201, 74, 74, .16) !important;
}
:is(#sc-req, body) form.sc-req-form .sc-req-check input[type="checkbox"] { width: 18px; height: 18px; accent-color: #2e9a6b; }
