@charset "utf-8";

/*==================================================
  MW WP Form
  Figma ref: 74cZjw1886Fga2F0rNnjzZ / 1:314
==================================================*/

:root {
  --form-font-base: "Land Rover Wide", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif;
  --form-text: #4a4f54;
  --form-line: #cccccc;
  --form-section-bg: #ffffff;
  --form-head-bg: #f8f6ef;
  --form-white: #ffffff;
  --form-required: #ba0202;
  --form-button: #121212;
}

.form-sec {
  padding: 14.3rem 0 14.4rem;
  color: var(--form-text);
  background: var(--form-section-bg);
}

.form-sec > .section-heading,
.form-intro {
  display: none;
}

.form-inner {
  width: min(calc(100% - 144px), 115.2rem);
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
}

.form-box {
  display: block;
  min-height: 0;
  padding: 0;
  border: 0;
  color: var(--form-text);
  background: transparent;
  font-family: var(--form-font-base);
  font-size: 1.73rem;
  letter-spacing: 0.0864rem;
  text-align: left;
}

.p-topForm {
  color: var(--form-text);
  font-family: var(--form-font-base);
  text-align: center;
}

.p-topForm h3 {
  margin: 4.8rem 0;
  color: var(--form-text);
  font-size: 2.88rem;
  font-weight: 400;
  line-height: 1.44;
  letter-spacing: 0.0864rem;
  text-align: center;
}

.p-topForm h3:first-child {
  margin-top: 0;
}

.p-topForm table {
  width: 100%;
  margin: 0 0 4.8rem;
  border-collapse: collapse;
  border-top: 0.1rem solid var(--form-line);
  border-left: 0.1rem solid var(--form-line);
  background: var(--form-white);
  table-layout: fixed;
}

.p-topForm table:last-of-type {
  margin-bottom: 2.88rem;
}

.table-style01 th,
.table-style01 td {
  color: var(--form-text);
  font-size: 1.73rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.0864rem;
  text-align: left;
  vertical-align: middle;
}

.table-style01 th {
  width: 40.3rem;
  padding: 2.6rem 3.45rem;
  border-right: 0;
  border-bottom: 0.1rem solid var(--form-line);
  background: var(--form-head-bg);
}

.table-style01 td {
  padding: 2.6rem 3.45rem;
  border-right: 0.1rem solid var(--form-line);
  border-bottom: 0.1rem solid var(--form-line);
  background: var(--form-white);
}

.table-style01 td p {
  margin: 0 0 0.6rem;
}

.table-style01 td p:last-child {
  margin-bottom: 0;
}

.table-style01 .txt-s {
  display: inline-block;
  margin: 0.4rem 0 0;
  color: var(--form-text);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.0864rem;
}

.table-style01 .txt-s.no {
  display: block;
  margin-top: 0.8rem;
}

.table-style01 .txt-s.inline {
  display: inline-block;
  margin-left: 0.4rem;
}

.must {
  display: inline-flex;
  width: 4.2rem;
  height: 2.8rem;
  align-items: center;
  justify-content: center;
  margin-left: 0.9rem;
  color: var(--form-white);
  background: var(--form-required);
  font-size: 1.06rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0864rem;
  vertical-align: 0.2rem;
}

.mw_wp_form .error {
  margin-top: 0.6rem;
  color: var(--form-required) !important;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.6;
}

.mw_wp_form_preview td span,
.mw_wp_form_preview td p.no {
  display: none;
}

.p-topForm input[type="text"],
.p-topForm input[type="email"],
.p-topForm input[type="tel"],
.p-topForm textarea,
.p-topForm select {
  width: 100%;
  min-height: 6rem;
  padding: 1.3rem 1.9rem;
  border: 0.1rem solid var(--form-line);
  border-radius: 0;
  color: var(--form-text);
  background-color: var(--form-white);
  font-family: var(--form-font-base);
  font-size: 1.73rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.0864rem;
  outline: none;
}

.p-topForm input[type="text"]:focus,
.p-topForm input[type="email"]:focus,
.p-topForm input[type="tel"]:focus,
.p-topForm textarea:focus,
.p-topForm select:focus {
  border-color: var(--form-text);
}

.p-topForm textarea {
  min-height: 15rem;
  resize: vertical;
  vertical-align: bottom;
}

.p-topForm select {
  padding-right: 5rem;
  color: var(--form-text);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2718%27%20height%3D%2715%27%20viewBox%3D%270%200%2018%2015%27%20fill%3D%27none%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M9%2011.5L1.6%203H16.4L9%2011.5Z%27%20fill%3D%27%23121212%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  background-size: 1.8rem 1.5rem;
}

.p-topForm input[type="text"].mini {
  width: 20%;
  min-width: 13.6rem;
}

.p-topForm input[type="text"].short {
  width: 25%;
  min-width: 17rem;
}

.p-topForm input[type="text"].long {
  width: 100%;
}

.p-topForm table label {
  position: relative;
  display: inline-block;
  padding: 0.6rem 1rem 0.4rem 0;
  cursor: pointer;
}

.mwform-checkbox-field,
.mwform-radio-field {
  display: block;
}

.mwform-radio-field {
  display: inline-block;
  margin-right: 2rem;
}

.p-topForm table input[type="checkbox"],
.p-topForm table input[type="radio"] {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  opacity: 0;
  pointer-events: none;
}

.mwform-checkbox-field-text,
.mwform-radio-field-text {
  position: relative;
  display: inline-block;
  color: var(--form-text);
  font-size: 1.73rem;
  line-height: 1.8;
  letter-spacing: 0.0864rem;
}

.mwform-checkbox-field-text {
  min-height: 2.6rem;
  padding-left: 4rem;
}

.p-topForm table .mwform-checkbox-field-text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2.6rem;
  height: 2.6rem;
  border: 0.1rem solid var(--form-line);
  background: var(--form-white);
  transform: translateY(-50%);
}

.p-topForm table input[type="checkbox"]:checked + .mwform-checkbox-field-text::before {
  border-color: var(--form-button);
  background: var(--form-button);
}

.p-topForm table input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.3rem;
  width: 1.2rem;
  height: 0.7rem;
  border: solid var(--form-white);
  border-width: 0 0 0.25rem 0.25rem;
  transform: translate(-50%, -62%) rotate(-45deg);
}

.mwform-radio-field-text {
  min-height: 1.6rem;
  padding-left: 2.4rem;
}

.p-topForm table .mwform-radio-field-text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.3rem;
  height: 1.3rem;
  border: 0.1rem solid #767676;
  border-radius: 50%;
  background: var(--form-white);
  transform: translateY(-50%);
}

.p-topForm table input[type="radio"]:checked + .mwform-radio-field-text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.35rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--form-button);
  transform: translateY(-50%);
}

.p-topForm .btn-submit {
  margin-top: 2.88rem;
  text-align: center;
}

.p-topForm .btn-submit ul {
  display: flex;
  justify-content: center;
  gap: 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-topForm .btn-submit li {
  margin: 0;
}

.p-topForm input[type="submit"],
.p-topForm button[type="submit"] {
  display: inline-flex;
  width: 44.5rem;
  min-height: 9.9rem;
  align-items: center;
  justify-content: center;
  padding: 2.8rem 4rem;
  border: 0;
  border-radius: 0;
  color: var(--form-white);
  background: var(--form-button);
  font-family: var(--form-font-base);
  font-size: 1.73rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.0864rem;
  cursor: pointer;
  transition: opacity 180ms ease;
}

.p-topForm input[type="submit"]:hover,
.p-topForm input[type="submit"]:focus-visible,
.p-topForm button[type="submit"]:hover,
.p-topForm button[type="submit"]:focus-visible {
  opacity: 0.82;
}

.thanks-box {
  padding: 12rem 0 16rem;
  color: var(--form-text);
  text-align: center;
}

@media screen and (max-width: 840px) {
  .form-sec {
    padding: 8rem 0;
  }

  .form-inner {
    width: calc(100% - 32px);
  }

  .form-box {
    font-size: 1.5rem;
  }

  .p-topForm h3 {
    margin: 4rem 0 2.4rem;
    font-size: 2.4rem;
    line-height: 1.5;
  }

  .p-topForm table {
    margin-bottom: 4rem;
    table-layout: auto;
  }

  .table-style01 th,
  .table-style01 td {
    display: block;
    width: 100%;
    font-size: 1.5rem;
  }

  .table-style01 th {
    padding: 1.6rem;
    border-right: 0.1rem solid var(--form-line);
  }

  .table-style01 td {
    padding: 2rem 1.6rem;
  }

  .table-style01 .txt-s {
    font-size: 1.2rem;
  }

  .must {
    width: 4rem;
    height: 2.6rem;
    font-size: 1rem;
  }

  .p-topForm input[type="text"],
  .p-topForm input[type="email"],
  .p-topForm input[type="tel"],
  .p-topForm textarea,
  .p-topForm select {
    min-height: 5.6rem;
    padding: 1.1rem 1.4rem;
    font-size: 1.5rem;
  }

  .p-topForm textarea {
    min-height: 12rem;
  }

  .p-topForm input[type="text"].mini,
  .p-topForm input[type="text"].short {
    width: min(42%, 16rem);
    min-width: 0;
  }

  .mwform-checkbox-field,
  .mwform-radio-field {
    display: block;
  }

  .mwform-radio-field {
    margin-right: 0;
  }

  .p-topForm table label {
    display: block;
    padding: 0.5rem 0;
  }

  .mwform-checkbox-field-text,
  .mwform-radio-field-text {
    font-size: 1.5rem;
    line-height: 1.7;
    white-space: normal;
  }

  .p-topForm .btn-submit ul {
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
  }

  .p-topForm .btn-submit li {
    width: 100%;
  }

  .p-topForm input[type="submit"],
  .p-topForm button[type="submit"] {
    width: 100%;
    min-height: 7.2rem;
    padding: 2rem 2.4rem;
    font-size: 1.5rem;
  }

  .thanks-box {
    padding: 7rem 0 10rem;
  }
}
