/*------------------------------------*\
    Form Element
\*------------------------------------*/
.input,
.textarea,
.select,
.select option {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.input,
.textarea,
.select {
  width: 100%;
  line-height: normal;
  margin: 0;
  padding: 0.5em 1em;
  border-radius: 15px;
  background-color: #f5f5f5;
  border: 1px solid #f5f5f5;
  color: #333;
  font-family: inherit;
  font-size: 1rem;
  transition: all 0.1s;
  outline: 0;
}
.input {
  height: 3.125rem;
  line-height: 1;
  vertical-align: middle;
}
.textarea {
  height: auto;
  min-height: 100px;
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  line-height: 1.4;
  vertical-align: top;
}
.select {
  display: block;
  height: 3.125rem;
  padding: 0 24px 0 1rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgOSAxNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNLjUgNWw0LTQgNCA0TTguNSA5LjAxbC00IDQtNC00IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojNWU2Yzc1O3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDouOTNweCIvPjwvc3ZnPg==);
  background-repeat: no-repeat;
  background-position: right 0.8rem center;
  text-overflow: "";
}
::-webkit-input-placeholder {
  color: #b2b5b5;
  opacity: 1;
  font-weight: normal;
}
::-moz-placeholder {
  color: #b2b5b5;
  opacity: 1;
  font-weight: normal;
}
::placeholder {
  color: #b2b5b5;
  opacity: 1;
  font-weight: normal;
}
.input:disabled,
.textarea:disabled,
.input[readonly],
.textarea[readonly] {
  background-color: #f5f5f7;
}
.input:focus,
.textarea:focus,
.select:focus {
  border-color: var(--color-secondary);
  background-color: #fff;
}
.radio {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.3em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1rem;
  line-height: 1.5;
  cursor: pointer;
}
.radio:has(input:disabled) {
    opacity: 0.4;
  }
.radio__input {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: solid 1px var(--color-text);
  background: #FFF;
  box-shadow: 0 0 0 0 transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.radio__input::before {
    display: block;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 50%;
    background: #fff;
    content: "";
  }
.radio__input:not(:checked)::before {
    opacity: 0;
  }
.radio__input:checked {
    background: var(--color-primary);
    border-color: var(--color-primary);
  }
/* フォームレイアウト */
.form {
  margin-top: 30px;
}
.form-item {
  margin-top: -1px;
  padding: 22px 0;
  border-top: 1px solid #dcdddd;
  border-bottom: 1px solid #dcdddd;
}
.form-item__label {
  display: inline-block;
  position: relative;
  margin-bottom: 0.5em;
  font-weight: 700;
}
.form-item__label .label {
    margin-left: 1em;
  }
.label {
  display: inline-block;
  padding: 0 0.5em;
  border-radius: 4px;
  font-size: 0.875rem;
  background: #ea5514;
  color: #fff;
  font-weight: 400;
  text-align: center;
  line-height: 1.714;
}
.input-file {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.9375rem;
  height: 3.125rem;
  border-radius: 15px;
  border: 1px solid #dcdddd;
  background: #fff;
  color: #333;
  font-family: inherit;
  font-size: 1rem;
}
.btn--send,
.btn--back {
  justify-content: center;
  position: relative;
  width: 18.25rem;
  height: 4.8125em;
  border-radius: 2.5rem;
}
.btn--send::after {
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
  }
.btn--send:hover::after {
    transform: translate(4px, -50%);
  }
.btn--back::after {
    position: absolute;
    top: 50%;
    left: 24px;
    transform: translateY(-50%) scale(-1);
  }
.btn--back:hover::after {
    transform: translate(-4px, -50%) scale(-1);
  }
/* 電話でのお問い合わせ */
.contact-heading {
  display: flex;
  align-items: center;
  gap: 1.125rem;
  margin-bottom: 1em;
  font-size: 1.375rem;
  font-weight: 500;
}
.contact-tel {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}
.contact-tel__tel {
  font-family: var(--font-en);
  font-size: 2.5rem;
  line-height: 1;
}
.contact-tel__branch .btn {
    margin: 10px auto;
    background: #7a8dc6;
  }
/* 送信完了画面 */
.form-thanks {
  max-width: 800px;
  margin: 0 auto;
}
@media (min-width: 48.001em) {
  .form-item {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    padding: 28px 0;
  }
  .form-item__label {
    flex: 0 0 24%;
    margin-bottom: 0;
    padding-top: 0.4em;
  }
  .form-item__body {
    flex: 1 1 auto;
  }
  .contact-tel {
    flex-direction: row;
    margin-bottom: 0;
  }
  .contact-tel__tel {
    font-size: 3rem;
  }
  .contact-tel__branch {
    flex: 1 1 auto;
  }
}
@media (min-width: 70.001em) {
  .contact-tel__tel {
    font-size: 4.5rem;
  }
}
/*# sourceMappingURL=maps/form.css.map */
