.kome:after {
  content: "*";
  color: #e00;
}


#txt_postal_code2, #txt_daihyo_birth_year, #txt_birth_year, #txt_daihyo_pass_year {
  width: 100px;
}
#txt_postal_code1, #txt_daihyo_age, #txt_daihyo_pass_month, #txt_daihyo_pass_day {
  width: 80px;
}
#txt_address1, #txt_address2, #txt_address3, #txt_kibo_area, #txt_dep, #txt_room_free, #txt_optional, #txt_rental_car_class, #txt_rental_car_place, #txt_option28, #txt_option29, #txt_option30 ,#txt_corporate_name{
  width: 100%;
}
#txt_mail, #txt_mail_conf {
  width: 400px;
}
#txt_memo {
  width: 100%;
  height: 90px;
}

.dokoshaage, .dokosha_pass_month, .dokosha_pass_day {
  width: 80px;
}
.dokosha_birth_year, .dokosha_pass_year {
  width: 100px;
}

.form {
  counter-reset: room_no;
  counter-reset: dokosha_no;
}
.form .room_show > label::after {
  counter-increment: room_no;
  content: counter(room_no);
}
.form .dokosha_no::after {
  counter-increment: dokosha_no;
  content: counter(dokosha_no);
}

.form_item_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: stretch;
}
.form_item_flex > * {
  margin-right: 0.3em;
}
.form_item_flex > span {
  display: inline-block;
}

#back {
  margin: 0 0.5em 0;
}

p {
  margin: 0.7em;
}

div.contact {
  padding: 1em;
}

#dokosha_space {
  padding: 1.2em;
  border: solid 2px #d9e1f9;
}
#dokosha_space h3 {
  background-color: #ffebca;
  margin: 0;
  padding: 0.5em;
}
#dokosha_space .form_col + * {
  border: 0;
}
#dokosha_space .form_col + .form_col {
  border-top: 1px dashed #d9d9d9;
}

@media screen and (min-width: 601px) {
  .form_label {
    width: 14em;
  }
}
@media screen and (min-width: 601px) {
  .form_item {
    width: calc(100% - 14em);
  }
}

.btn_clear_date {
  margin: 10px auto;
}