@charset "UTF-8";

/* ============================================================

    base

============================================================ */
/* テキストボックス・セレクトボックス */
[type="text"],
[type="tel"],
[type="email"],
select {
  width: 100%;
  height: 4.5rem;
  padding: 0 1rem;
  box-sizing: border-box;
  font-size: 16px;
  vertical-align: middle;
  border: 1px solid #c8c8c8;
  border-radius: .3rem;
  background: #fff;
  box-shadow: 0 .3rem .3rem inset rgba(0, 0, 0, .11);
}

[type="text"]::-ms-placeholder,
[type="tel"]::-ms-placeholder,
[type="email"]::-ms-placeholder {
  color: #a6a6a6;
  font-size: 1.3rem;
}

[type="text"]::placeholder,
[type="tel"]::placeholder,
[type="email"]::placeholder {
  color: #a6a6a6;
  font-size: 1.3rem;
}

/* テキストエリア */
textarea {
  width: 100%;
  height: 14.4rem;
  padding: 1rem;
  font-size: 16px;
  line-height: 1.64;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  background: #fff;
  box-shadow: .4rem .4rem .3rem inset rgba(0, 0, 0, .03);
}

textarea::-ms-placeholder {
  color: #a6a6a6;
  font-size: 1.4rem;
}

textarea::placeholder {
  color: #a6a6a6;
  font-size: 1.4rem;
}

/* ラジオボタン */
label {
  cursor: pointer;
}

input[type="radio"] {
  display: none;
}

input[type="radio"] + span {
  display: block;
  padding-left: 2.4rem;
  position: relative;
  line-height: 1.6rem;
}

input[type="radio"] + span::before,
input[type="radio"] + span::after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  border-radius: 50%;
  content: "";
}

input[type="radio"] + span::before {
  width: 1.6rem;
  height: 1.6rem;
  margin-top: -.8rem;
  left: 0;
  border: 1px solid #7b7b7b;
}

input[type="radio"] + span::after {
  display: none;
  width: 1rem;
  height: 1rem;
  margin-top: -.5rem;
  left: .3rem;
  background: #59601a;
}

input[type="radio"]:checked + span::after {
  display: block;
}

/* チェックボックス */
label {
  cursor: pointer;
}

input[type="checkbox"] {
  display: none;
}

input[type="checkbox"] + span {
  display: block;
  padding-left: 2.7rem;
  position: relative;
  line-height: 1.6rem;
}

input[type="checkbox"] + span::before {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  margin-top: -.8rem;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 0;
  border: 1px solid #7b7b7b;
  content: "";
}

input[type="checkbox"]:checked + span::before {
  background: #59601a;
}

input[type="checkbox"] + span::after {
  display: none;
  width: 1rem;
  height: .6rem;
  margin-top: -.5rem;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: .3rem;
  border: solid #fff;
  border-width: 0 0 .2rem .2rem;
  transform: rotate(-45deg);
  content: "";
}

input[type="checkbox"]:checked + span::after {
  display: block;
}

/* ============================================================

    error

============================================================ */
.error {
  margin-bottom: 4rem;
  color: #f21818;
  font-size: 1.3rem;
}

.error li {
  margin-bottom: .8rem;
  padding-left: 1.8rem;
  background: url(/img/pc/inquiry/icon_error.png) no-repeat left top .4rem;
  background-size: 1.4rem auto;
}

.error li:last-child {
  margin-bottom: 0;
}

/* ============================================================

    form

============================================================ */
/* 個別設定
------------------------------------------------------------ */
/* ご依頼者のお名前 */
.form_kana_label {
  display: block;
  margin-bottom: 1rem;
  line-height: 1;
}

.form_kana_input {
  display: block;
  margin-bottom: 1rem;
}

.form_kana_input:last-child {
  margin-bottom: 0;
}

/* 訪問先のご住所 */
.form_postcode_label {
  display: block;
  margin-bottom: 1rem;
}

.form_postcode_input {
  display: inline-block;
  width: 15rem;
  margin-right: 2rem;
  vertical-align: middle;
}

.form_postcode_ref {
  display: inline-block;
  padding: .5rem 0;
  font-size: 1rem;
  line-height: 1.5;
  vertical-align: middle;
  letter-spacing: .05em;
  border-bottom: 1px solid;
}

.form_address_wrap {
  margin-top: 2rem;
}

.form_address {
  margin-bottom: 20px;
}

.form_address:last-child {
  margin-bottom: 0;
}

.form_address_label {
  display: block;
  margin-bottom: 1rem;
}

.is-region .form_address_input {
  width: 15rem;
}

/* ご依頼者の連絡先 */
.form_contact_item {
  margin-bottom: 1.8rem;
}

.form_contact_item:last-child {
  margin-bottom: 0;
}

.form_contact_term {
  margin-bottom: 1rem;
  line-height: 1;
}

.form_contact_note {
  margin-top: .8rem;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: .05em;
}

.form_contact_note li {
  padding-left: 1em;
  text-indent: -1em;
}

/* お住まいになっている方とのご関係 */
.form_relation {
  display: flex;
  flex-wrap: wrap;
}

.form_relation_item {
  margin-right: 2.4rem;
}

.form_relation_item:last-child {
  margin-right: 0;
}

/* ご希望のサービス */
.form_service_item {
  display: block;
  margin-bottom: 1.5rem;
}

.form_service_item:last-child {
  margin-bottom: 0;
}

/* 現在のご状況やご相談内容の詳細 */
.form_detail_txt {
  margin-bottom: .7rem;
  line-height: 1.54;
}
