@charset "utf-8";

.main .section {
  line-height: 1.6;
}

input,
select,
textarea {
  font-size: 1.6rem;
}

input,
textarea {
  padding: 4px 2px;
}

form {
  margin: 0 0 10%;
}

img {
  max-width: 100%;
}

.main {
  width: 72%;
  padding: 0 32px 0 0;
}

.sub {
  width: 28%;
}

.lead_image  {
  width: 100%;
  padding: 16px;
  margin: 0 0 1em;
  text-align: center;
  background-color: var(--light_gray-color);
}

.lead_image p {
  font-size: 2rem;
  margin: 0 0 1em;
}

.lead_image p.note {
  margin: 1em 0 0;
  font-size: 1.6rem;
}

.lead_image a {
  margin: 2em auto;
}

.main .joins {
  font-size: 1.6rem;
  font-weight: normal;
  margin: 0 0 0  1em;
}

.main .joins label {
  margin: 0 1em 0 0;
}

.main .input_section input,
.main .input_section label,
.main .input_section select {
  opacity: 0.2;
  pointer-events: none;
}

.main .input_section label:has(.join),
.main .input_section label:has(.not_join),
.main .input_section input.join,
.main .input_section input.not_join {
  opacity: 1!important;
  pointer-events: initial!important;
}

.main .birth_day2 {
  display: none;
}

.main .birth_day2 {
  display: none;
}

.main .form_wrap {
  top: 50%;
  left: 50%;
  width: 80%;
  position: relative;
  transform: translate(-50%);
}

.main .finish_wrap {
  top: 50%;
  left: 50%;
  width: 80%;
  padding: 16px;
  position: relative;
  background-color: #ffffff;
  transform: translate(-50%);
}

.main .inputs .input {
  margin: 0.5em 0;
  padding: 0.5em 0;
  border-bottom: 1px solid #ccc;
}

.main .inputs .key {
  width: 160px;
}

.main .inputs .value {
  width: calc(100% - 160px);
}

.main input[type="submit"] {
  border:none;
  display: block;
  padding: 4px 16px;
  margin: 1em auto;
  color: #ffffff;
  cursor: pointer;
  font-size: 1.2em;
  text-align: center;
  border-radius: 8px;
  background-color: red;
}

.main .confirm_back {
  display: none;
  font-size: 0.8em;
  text-align: center;
}

.main .confirm_back a {
  color: #888;
}

.main input[type="submit"]:disabled {
  opacity: 0.4;
  cursor: default;
}

.main .target {
  padding: 16px;
  margin: 0 0 1em;
  background-color: #fafafa;
}

.main .target > div {
  margin: 0 0 1em;
}

.main .target .ttl {
  margin: 0 0 1em;
  font-size: 2.5rem;
  font-weight: bold;
  position: relative;
  align-items: center;
  border-bottom: 3px solid #eff5f5;
}

.main .target .ttl:before {
  content: '';
  position: absolute;
  bottom: -3px;
  width: 25%;
  height: 3px;
  background: #233b81;
}

.main .target .sub_ttl {
  font-size: 1.8rem;
  color: #233b81;
  margin: 0 0 0.5em;
  font-weight: bold;
  padding: 0 0 0.2em;
  border-bottom: 1px solid #233b81;
}


/* サブ　右カラム */

.sub input[type="text"] {
  width: 100%;
  border: none;
  font-size: 16px;
  text-align: right;
}

.sub input[type="text"]:active,
.sub input[type="text"]:focus {
  outline: none;
}

.sub input[name="self_base_price"],
.sub input[name="self_oya_price"],
.sub input[name="spouse_base_price"],
.sub input[name="spouse_oya_price"],
.sub input[name="total"] {
  width: calc(100% - 1em);
}

.sub .ttl {
  margin: 0 0 1em;
  font-size: 2rem;
  color: #233b81;
  font-weight: bold;
  border-bottom: 2px solid #233b81;
}

.sub .sub_ttl {
  margin: 0 0 0.5em;
  border-bottom: 1px solid #ddd;
}

.sub .total {
  margin: 1em 0 0;
}

.sub .total,
.sub .total input {
  font-size: 1.8rem;
  font-weight: bold;
}


/* フロー */

/*.inputs_wrap .ttl {
  color: #fff;
  padding: 16px;
  margin: 0 0 1em;
  font-size: 2rem;
  background-color: #233b81;
}

.inputs_wrap .flow {
  margin: 0 0 1em;
  font-size: 1.8rem;
}

.inputs_wrap .note {
  padding: 16px;
  margin: 0 0 4em;
  border: 1px solid #000;
}  */

/* .inputs_wrap .inputs {
  max-width: 88%;
  margin: 0 auto;
}

.inputs_wrap .inputs .input {
  width: 100%;
}

.inputs_wrap .inputs .key {
  width: 16em;
  padding: 0.5em 0;
  border-bottom: 2px solid #888;
}

.inputs_wrap .inputs .value {
  border: none;
  padding: 0.5em 0;
  width: calc(100% - 16em);
  border-bottom: 1px solid #888;
}

.inputs_wrap .inputs .value > input,
.inputs_wrap .inputs .value > textarea {
  width: 100%;
}

.inputs_wrap div.error {
  color: red;
  font-size: 12px;
}


.inputs_wrap .inputs .mark_required {
  color: #fff;
  margin: 0 2px;
  padding: 2px 4px;
  font-size: 1.1rem;
  border-radius: 4px;
  display: inline-block;
  vertical-align: middle;
  border: 1px solid #fff;
  background-color: rgba(115, 146, 245, 1);
} */

/*
 ** form
 */

.inputs_wrap input,
.inputs_wrap textarea {
  border: 1px solid #ccc;
  background-color: var(--light_gray-color);
}

.inputs_wrap > .ttl {
  color: #fff;
  padding: 16px;
  margin: 0 0 1em;
  font-size: 2rem;
  background-color: #233b81;
}

.inputs_wrap table .relation,
.inputs_wrap table .relation_retirement {
    display: none;
}

.inputs_wrap .mr20 {
  margin-right: 20px;
}

.inputs_wrap .ml5 {
  margin-left: 5px;
}

.inputs_wrap .standard_p .confirm {
  padding: 10px 15px;
  border: solid 2px #ccc;
}

.inputs_wrap table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 8px;
}

.inputs_wrap table th {
  width: 20%;
  color: #fff;
  padding: 12px 15px;
  font-weight: normal;
  background-color: #233b81;
  border: solid 1px #fff;
}

.inputs_wrap .red {
  color: red;
  margin: 0 0 0 5px;
}

.inputs_wrap table .mark_required {
  color: #fff;
  margin: 0 2px;
  padding: 2px 4px;
  font-size: 1.1rem;
  border-radius: 4px;
  display: inline-block;
  vertical-align: middle;
  border: 1px solid #fff;
  background-color: rgba(115, 146, 245, 1);
}

.inputs_wrap table .contact_content [name="content_other"] {
  pointer-events: none;
  border: 1px solid #eee;
  background-color: #ccc;
}

.inputs_wrap table .contact_content .other label:has(input:checked) + [name="content_other"] {
  pointer-events: initial;
  background-color: #fff;
}

.inputs_wrap .ng input,
.inputs_wrap .ng label,
.inputs_wrap .ng select,
.inputs_wrap .ng .mark_required {
  opacity: 0.4;
  pointer-events: none;
}

.inputs_wrap table td {
  padding: 12px 15px;
  border: solid 1px #233b81;
}

.inputs_wrap table .ttl {
  /* font-size: 14px; */
  margin: 0 0 5px;
  padding: 0 0 0 6px;
  border-left: solid 4px #ccc;
}

.inputs_wrap table .caution {
  color: #555;
  margin: 5px 0;
  font-size: 80%;
}

.inputs_wrap table input[type="text"],
.inputs_wrap table input[type="tel"] {
  width: 40%;
  padding: 4px 4px;
  font-size: 1.6rem;
}

.inputs_wrap table input[type="text"].long {
  width: 100%;
}

.inputs_wrap table input[type="text"].short {
  width: 20%;
}

.inputs_wrap table input[type="text"].vshort {
  width: 10%;
}

.inputs_wrap table input[type="radio"] {
  margin: 0 5px 0 0;
}

.inputs_wrap table input[type="checkbox"] {
  margin: 0 5px 0 0;
}

.inputs_wrap .field {
  margin: 20px 0;
}

.inputs_wrap textarea {
  width: 100%;
  font-size: 16px;
  min-height: 85px;
  padding: 4px 4px;
  resize: vertical;
}

.inputs_wrap table .floors .ttl {
  margin: 18px 0 2px 0;
}

.inputs_wrap .postal-search {
  color: #fff;
  border: none;
  padding: 4px;
  margin: 0 0 0 1em;
  display: inline-block;
  background-color: #233b81;
}

.inputs_wrap input[type="submit"] {
  color: #fff;
  width: 210px;
  height: 70px;
  border: none;
  display: block;
  font-size: 20px;
  cursor: pointer;
  font-weight: bold;
  line-height: 70px;
  text-align: center;
  border-radius: 8px;
  margin: 30px auto 0;
  background-color: rgba(115, 146, 245, 1);
}

/* .inputs_wrap .btns {
  margin: 1em 0 0;
  text-align: center;
} */

/* .inputs_wrap .btns [type="submit"] {
  border: none;
  color: #fff;
  font-size: 2rem;
  padding: 2px 8px;
  border-radius: 4px;
  background-color: #233b81;
} */

.inputs_wrap .btns [type="submit"]:disabled {
  opacity: 0.4;
}

.inputs_wrap .btns .confirm_back {
  margin: 2em 0 0;
  text-align: center;
}

/* 完了 */

.finish_wrap {
  display: none;
  padding: 32px;
  border: solid 1px #233b81;
  margin: 32px auto;
}

.finish_wrap .head {
  font-size: 3rem;
  color: #233b81;
  font-weight: bold;
  align-items: center;
  justify-content: center;
}

.finish_wrap .head i {
  font-size: 4rem;
  margin: 0 0 0 0.5em;
}

.finish_wrap .head .en {
  font-size: 1.8rem;
  color: #233b81;
  font-weight: bold;
  align-items: center;
}

.finish_wrap .form.contact .main {
  text-align: center;
}

.finish_wrap a {
  margin: 1em 0 0;
}


@media screen and (max-width: 667px) {
  .lead_image img {
    width: 100%;
  }
  
  .main,
  .sub {
    width: 100%;
  }
  
  .main {
    padding: 0;
  }
  
  .sub {
    margin: 0 0 10%;
  }
  
  .inputs_wrap .inputs {
    max-width: 100%;
  }
  
  .inputs_wrap .inputs .key {
    width: 100%;
  }

  .inputs_wrap .inputs .value {
    width: 100%;
  }
  
  .inputs_wrap .inputs .key {
    border: none;
  }
  
  .inputs_wrap .inputs .value {
    border: none;
    margin: 0 0 1em;
  }
  
  .inputs_wrap .inputs input {
    padding: 0.6em;
  }
  
  .inputs_wrap .btns [type="submit"] {
    padding: 0.6em;
  }
  
  .inputs_wrap table input[type="tel"],
  .inputs_wrap table input[type="text"],
  .inputs_wrap table input[type="text"].short {
    width: 100%;
  }
  
  .finish_wrap {
    margin: 32px 16px 32px;
  }
  
}
