
/*------------------------------------------------------------------------------
form
------------------------------------------------------------------------------*/

#main.main #wrap-maincontent {
  padding-bottom: 0;
}

#form .inner-block {
  padding: 0 5px 25px;
}

.form-wrap {
  width: 100%;
}

.progress {
  font-size: 12px;
  margin-bottom: 25px;
  line-height: 15px;
}

.progress::before,
.progress::after {
  border-width: 21px 0 21px 9px;
}

.progress li {
  padding: 5px 0 5px 40px;
  text-align: left;
}

.progress li:nth-child(1) {
  padding-left: 30px;
}

.progress li:nth-child(2) {
  padding-left: 35px;
  margin: 0 3px;
}

.progress li:not(:last-child)::after {
  border-width: 21px 0 21px 9px;
  right: -9px;
}

.progress li:nth-child(3) span{
  line-height: 31px;
}

.progress li span::before {
  font-size: 12px;
  line-height: 16px;
  padding-left: 0;
  height: 15px;
  width: 15px;
  left: -20px;
  bottom: 0;
  margin: auto;
}

.form-heading01 {
  border-left-width: 1px;
  font-size: 15px;
  line-height: 15px;
  padding-left: 5px;
  margin-left: 2px;
}

.form-heading-sub-txt {
  line-height: 17px;
  padding-left: 0;
  margin: 10px 0 12px 5px;
}

.form-table,
.form-table tbody,
.form-table tr,
.form-table th,
.form-table td {
  border: none;
  display: block;
  width: 100%;
}

.form-table th {
  line-height: 21px;
  margin: 0 -10px;
  padding: 8px 55px 8px 15px;
  width: calc(100% + 20px)!important;
}

.form-table .required-mark::before {
  right: 10px;
}

.form-table td {
  padding: 15px 5px;
}

.form-table input[type=text],
.form-table input[type=tel],
.form-table input[type=email],
.form-table textarea,
.form-table .age-select,
.form-table .hour-select {
  border-radius: 3px;
  padding: 6px 10px;
  width: 100%;
}

input::-webkit-input-placeholder {
  font-size: 14px;
}

.form-table .age-select {
  width: 130px;
}

.form-table th .sub,
.form-table td .notice {
  display: inline-block;
  text-align: justify;
  padding-left: 15px;
}

.form-table th .sub {
  font-size: 15px;
}

.form-table th .sub.np {
  padding-left: 0;
}

.form-table th .sub.long {
  font-size: 15px;
  letter-spacing: -1px;
  line-height: 21px;
  padding-left: 0;
  width: 250px;
}

.form-table td .notice {
  padding-left: 0;
  line-height: 16px;
  margin-bottom: 8px;
}

.form-table .request-date.required-mark::before {
  left: 90px;
}

label.datepick {
  margin-right: 0;
}

.request-date {
  margin: 10px 0 5px;
}

.form-table .label-box.date-hour {
  display: flex;
  flex-wrap: wrap;
}

.form-table .label-box.date-hour label {
  width: 50%;
}

.form-table .hour-select {
  width: 73px;
}

.form-table label.select {
  padding-right: 7px;
}

.form-table .label-box label {
  margin-bottom: 7px;
}

.form-table label.select::before {
  right: 15px;
}

.form-table .label-box .check-value::before {
  border-radius: 2px;
  top: 3px;
  height: 15px;
  width: 15px;
}

#wrapper #form .form-table .label-box {
  padding: 10px 0;
}

.form-table .label-box .check-value {
  padding-left: 23px;
}

.form-table .label-box label.radio {
  width: 100%;
}

.form-table .label-box .radio-value::before {
  height: 16px;
  width: 16px;
  top: 1px;
  left: 1px;
}

.form-table input[type=radio]:checked + .radio-value::after {
  height: 10px;
  width: 10px;
}

.form-table .label-box.parts {
  flex-direction: column;
}

.form-table .label-box.parts label {
  width: 100%;
}

#form .form-btn {
  margin: 15px 0 60px;
}

#form input[type="submit"] {
  background-size: 12px, 100%;
  border-radius: 3px;
  height: 60px;
  width: 100%;
}


.form-btn-inner {
  width: 100%;
}

.form-btn-inner::before {
  background-size: 8px 14px;
  right: 20px;
}

.form-table input[type=checkbox]:checked + .check-value::after {
  top: 5px;
  left: 1px;
}


/*------------------------------------------------------------------------------
system
------------------------------------------------------------------------------*/
.back-to-home a {
  background-size: 12px, 100%;
  border-radius: 3px;
  font-size: 16px;
  width: 100%;
}

#form input[name="back"] {
  box-shadow: 0 3px 0 #c1ccd0;
  height: 40px;
  margin: 0 auto 20px;
  width: 80%;
}

#wrapper #form .form-btn {
  width: auto;
}

#wrapper #form .submit-btn {
  float: none;
  margin: 0 0 15px;
}
#wrapper #form .back-btn {
  float: none;
  margin: 0;
}

.form-btn .back-btn {
  height: 40px;
  line-height: 32px;
  margin: 0;
  width: 80%;
}

.form-btn .submit-btn {
  height: 40px;
  line-height: 32px;
  width: 80%;
}
