.wpcf7-list-item-label {
  font-weight: 500;
}
.wpcf7-spinner {
  display: block;
  margin: 0 auto;
}
.consent {
  text-align: center;
  padding-bottom: 3em;
}
.consent .wpcf7-form-control {
  background: transparent;
}
.confirmation {
  padding: 5em 0;
  text-align: center;
}
.confirmation .wpcf7-form-control {
  background: #862828;
  color: #fff;
  padding: 1em 6em;
  display: inline-block;
  margin: 0 auto;
  border: none;
}
@media screen and (max-width: 896px) {
  .confirmation {
    padding: 0 0 2em;
  }
  .consent {
    padding-bottom: 1em;
    font-size: 0.9em;
  }
}
.textarea-label {
  padding-left: 3.5rem;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .confirmation .wpcf7-form-control {
    padding: 1em 3em;
  }
}
@media screen and (max-width: 1400px) {
  .textarea-label {
    padding-left: 0;
  }
}
@media screen and (max-width: 320px) {
  .confirmation .wpcf7-form-control {
    padding: 1em 2em;
  }
  .wpcf7-list-item-label {
    font-size: 0.8em;
  }
}
[name="your-message"] {
  background-color: #f6f7f8;
  border: 1px solid #e9ecef;
  border-radius: 3px;
  outline: none;
  box-sizing: border-box;
  width: 100%;
  height: 20vh;
  max-height: 200px;
  padding: 10px;
}
.form_outline {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  min-width: 1100px;
  box-sizing: border-box;
  color: #575555;
}
.form_t-first {
  width: 38%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.form_t-sec {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  width: 58%;
}
@media screen and (max-width: 1000px) {
  .form_outline {
    display: block;
    min-width: auto;
  }
  .form_t-first,
  .form_t-sec {
    width: 100%;
    display: block;
  }
}
table {
  width: 100%;
  height: 100%;
  border-collapse: separate;
  border-spacing: 0px 20px;
}
.required {
  color: #c1272d;
  font-weight: 500;
}
label {
  font-weight: 400;
}
[data-name="your-company"] > input,
[data-name="your-email"] > input,
[data-name="your-name"] > input,
[data-name="your-tel"] > input,
[data-name="your-url"] > input {
  width: 100%;
  height: 41px;
  background-color: #f6f7f8;
  border: 1px solid #e9ecef;
  border-radius: 3px;
  outline: none;
  padding: 8px;
}
[data-name="your-company"] > input:hover,
[data-name="your-email"] > input:hover,
[data-name="your-name"] > input:hover,
[data-name="your-tel"] > input:hover,
[data-name="your-url"] > input :hover,
[data-name="your-message"] > textarea:hover {
  border-color: #c1272d;
  background-color: #ffffff;
}
.t-first th {
  width: 50%;
  font-weight: 500;
}
.t-first td {
  width: 50%;
}
.t-sec th {
  width: 18%;
  font-weight: 500;
}
.t-sec td {
  width: 82%;
  background-color: #f6f7f8;
  height: 40px;
  padding-top: 10px;
  font-weight: 500;
}
@media screen and (max-width: 1000px) {
  .t-first th,
  .t-first td,
  .t-sec th,
  .t-sec td {
    width: 100%;
    display: block;
    height: auto;
  }
  [data-name="your-company"] > input,
  [data-name="your-email"] > input,
  [data-name="your-name"] > input,
  [data-name="your-tel"] > input,
  [data-name="your-url"] > input {
    width: 100%;
    height: auto;
  }
  .t-first th,
  .t-sec th {
    padding-bottom: 10px;
  }
}
input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.wpcf7-form-control,
.wpcf7-radio {
}
.wpcf7-not-valid-tip {
  position: absolute;
  top: -20px;
  left: 5px;
  background-color: #c72d27;
  display: inline-block;
  width: auto;
  text-align: center;
  font-size: 10px;
  padding: 2px 4px;
  color: #ffffff;
  border-radius: 3px;
  margin-bottom: 20px;
}
[data-name="your-company"] .wpcf7-not-valid,
[data-name="your-email"] .wpcf7-not-valid,
[data-name="your-name"] .wpcf7-not-valid,
[data-name="your-tel"] .wpcf7-not-valid,
[data-name="your-url"] .wpcf7-not-valid {
  background-color: #f8e1e0 !important;
  border: 2px solid #c72d27 !important;
}
td.adderror {
  border: 2px solid #c72d27;
  background-color: #f8e1e0;
  border-radius: 4px;
}

[data-name="your-message"] .wpcf7-not-valid {
  border: 2px solid #c72d27 !important;
  background-color: #f8e1e0 !important;
}
.textarea-label {
  position: relative;
  padding: 0;
}
.textarea-label .wpcf7-form-control-wrap {
  position: static;
}
.textarea-label .wpcf7-not-valid-tip {
  top: -10px;
}
.wpcf7-list-item {
  margin: 0 0 15px 5px;
}
.option-goyouken .wpcf7-list-item:nth-of-type(1) label {
  width: 160px;
}
.option-goyouken .wpcf7-list-item:nth-of-type(2) label {
  width: 160px;
}
.option-goyouken .wpcf7-list-item:nth-of-type(3) label {
  width: 160px;
}
.option-naiyou .wpcf7-list-item:nth-of-type(1),
.option-naiyou .wpcf7-list-item:nth-of-type(2) {
  display: block;
}
.wpcf7-list-item .option-naiyou .wpcf7-list-item:nth-of-type(3),
.option-naiyou .wpcf7-list-item last {
  display: inline-block;
}
.option-naiyou .wpcf7-list-item:nth-of-type(1) label {
  width: 100%;
}
.option-naiyou .wpcf7-list-item:nth-of-type(2) label {
  width: 100%;
}
.option-naiyou .wpcf7-list-item:nth-of-type(3) label {
  width: 160px;
}
.option-naiyou .wpcf7-list-item:nth-of-type(4) label {
  width: 160px;
}

.option-yosan .wpcf7-list-item:nth-of-type(1) label {
  width: 160px;
}
.option-yosan .wpcf7-list-item:nth-of-type(2) label {
  width: 160px;
}
.option-yosan .wpcf7-list-item:nth-of-type(3) label {
  width: 160px;
}
.option-uchiawase .wpcf7-list-item:nth-of-type(1) label {
  width: 160px;
}
.option-uchiawase .wpcf7-list-item:nth-of-type(2) label {
  width: 90px;
}
.option-uchiawase .wpcf7-list-item:nth-of-type(3) label {
  width: 90px;
}
.option-uchiawase .wpcf7-list-item:nth-of-type(4) label {
  width: 160px;
}
@media screen and (max-width: 1000px) {
  .option-naiyou .wpcf7-list-item label,
  .option-goyouken .wpcf7-list-item label,
  .option-yosan .wpcf7-list-item label,
  .option-uchiawase .wpcf7-list-item label {
    width: 100% !important;
    margin-right: 5px;
  }
  .option-goyouken .wpcf7-list-item:nth-of-type(1) label,
  .option-goyouken .wpcf7-list-item:nth-of-type(2) label,
  .option-goyouken .wpcf7-list-item:nth-of-type(3) label {
    width: auto;
  }
}
.wpcf7 input[type="checkbox"] {
  appearance: none; /* デフォルトの四角を消す */
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #a8b1b9;
  outline: none;
  cursor: pointer;
  vertical-align: middle;
  position: relative;
  background-color: #f6f7f8;
  margin-right: 3px;
  border-radius: 50%; /* 丸くする */
  margin-bottom: 2px;
}

/* ホバー時 */
.wpcf7 input[type="checkbox"]:hover {
}
.option-naiyou input[type="checkbox"]:hover,
.consent input[type="checkbox"]:hover {
  border: 2px solid #c1272d;
}
/* ホバー時に✓を仮表示 */
.wpcf7 input[type="checkbox"]:hover::after {
  content: "✓";
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -55%);
  font-size: 14px;
  color: #a8b1b9; /* ホバー中は赤い✓ */
  font-weight: bold;
}
/* .必須のみホバー時に仮の✓を表示 */
.option-naiyou input[type="checkbox"]:hover::after,
.consent input[type="checkbox"]:hover::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  font-size: 14px;
  color: #c1272d;
  font-weight: bold;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
}

/* 必須のみチェック済み時 */
.option-naiyou input[type="checkbox"]:checked,
.consent input[type="checkbox"]:checked {
  background-color: #c1272d; /* 赤背景 */
  border-color: #c1272d;
}

/* チェックが入ったとき */
.wpcf7 input[type="checkbox"]:checked {
  background-color: #c1272d; /* 赤背景 */
  border-color: #c1272d;
}

/* チェック時の✓ */
.wpcf7 input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -55%);
  font-size: 14px;
  color: #fff; /* 白い✓ */
  font-weight: bold;
}
.privacy-box {
  height: 250px; /* 高さ固定 */
  overflow-y: auto; /* 縦スクロールを有効化 */
  padding: 1em 2.5em; /* 余白（必要に応じて調整） */
  border: 1px solid #ccc; /* 枠線（任意） */
  background: #fff; /* 背景色（任意） */
  margin-bottom: 1em;
}
.privacy-box h3 {
  margin: 0;
  letter-spacing: 3px;
  padding: 1em 0 1.5em;
  color: #575555;
}
.privacy-box h3 span {
  letter-spacing: 0;
  font-size: 16px;
  padding-top: 5px;
  display: block;
  font-weight: 500;
}
ul,
li {
  list-style: decimal;
  padding-bottom: 1em;
}
.form {
  margin: 0 auto;
  width: 1100px;
}
.form-h2-box {
  max-width: 1100px;
  margin: 0 auto;
  color: #575555;
  padding-bottom: 3.5em;
}
.form-h2 {
  font-weight: 400;
}
.form-h2-box span {
  font-weight: 300;
}

@media screen and (max-width: 1000px) {
  .form {
    font-size: 0.9em;
  }
  .form {
    width: 100%;
    padding: 0 2em;
  }
  .option-label .wpcf7-list-item > label,
  .option-label-last .wpcf7-list-item.first label,
  .option-label-last .wpcf7-list-item > label {
    width: 100%;
  }
  .privacy-box {
    margin-bottom: 1em;
    padding: 1em;
  }
  .form-h2-box {
    padding: 0 15px 30px;
  }
  .form-h2 {
    font-size: 1.25em;
  }
  .form-h2-box span {
    font-size: 0.9em;
  }
  .wpcf7 input[type="checkbox"] {
    margin-right: 0;
    width: 14px;
    height: 14px;
  }
  .privacy-box p {
    font-size: 0.9em;
  }
  .privacy-box h3 {
    font-size: 18px;
    padding-top: 0;
  }
  .privacy-box h3 span {
    font-size: 14px;
  }
}
.inquiry_prv_txt {
  width: 100%;
  letter-spacing: 0.125em;
  font-weight: 500;
  margin-bottom: 10px;
  padding-left: 0;
}
.detail-l {
  width: 17.5%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.detail-r {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 81%;
}
@media screen and (max-width: 1000px) {
  .detail-l,
  .detail-r {
    width: 100%;
    display: block;
    height: auto;
  }
  table {
    font-size: 0.9em;
    border-spacing: 0px 25px;
  }
  .d-block {
    display: inline !important;
  }
  .inquiry_prv_txt {
    letter-spacing: 0;
    font-size: 0.9em;
  }
}
.thanks-box {
  padding: 3em;
  text-align: center;
  line-height: 1.8;
  font-size: 1.25em;
  color: #575555;
}
.thanks-box a {
  color: #fff !important;
  background-color: #882729;
  border-color: #882729;
  padding: 0.375rem 0.75rem !important;
  font-size: 16px;
  margin-top: 2em !important;
  display: inline-block;
}
@media screen and (max-width: 896px) {
  .thanks-box {
    padding: 2em 1em;
    font-size: 1em;
  }
  textarea::placeholder {
    font-size: 0.9em;
  }
  .thanks-box a {
    font-size: 14px;
  }
}

/* 資料請求 */
.information {
  color: #575555;
}
.t-info [data-name="your-company"] > input,
.t-info [data-name="your-email"] > input,
.t-info [data-name="your-name"] > input,
.t-info [data-name="your-tel"] > input,
.t-info [data-name="your-url"] > input {
  width: 100%;
  height: 43px;
  border-radius: 3px;
  background-color: #f6f7f8;
  border: 1px solid #f6f7f8;
  outline: none;
  box-sizing: border-box;
  font-weight: 500;
}
.t-info {
  margin: 0 auto;
  width: 900px;
  padding: 0;
}
.t-info th {
  width: 40%;
  font-weight: 500;
}
.t-info td {
  width: 60%;
}
.t-info [data-name="your-company"] > input:hover,
.t-info [data-name="your-email"] > input:hover,
.t-info [data-name="your-name"] > input:hover,
.t-info [data-name="your-tel"] > input:hover {
  border-color: #eb9e9b;
  background-color: #ffffff;
}
@media screen and (max-width: 1000px) {
  .t-info th,
  .t-info td {
    width: 100%;
    display: block;
  }
  .t-info th {
    padding-bottom: 7px;
    text-align: left;
  }
}
/* 資料請求ここまで */
