form {
  display: inline;
}

.form {
  margin: 0 auto;
  margin-bottom: 2rem;
  width: 100%;
  font-size: 1.2rem;
}

.form input,
.form textarea,
.form select {
  border: 1px solid #cccccc;
  padding: 0.75rem;
  margin: 0;
  color: #999999;
  background: #ffffff;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  color: #000000;
  zoom: 1;
}

.form select.select-pref {
  margin-bottom: 0.3rem;
}

.form input:focus,
.form select:focus,
.form textarea:focus,
.form button:focus {
  outline: none;
}

.form input[type=text].inputerror,
.form input[type=password].inputerror,
.form input[type=number].inputerror,
.form input[type=email].inputerror,
.form input[type=tel].inputerror,
.form input[type=password].inputerror,
.form input[type=file].inputerror,
.form textarea.inputerror {
  background: #fee9f0;
}

.form,
.form input,
.form textarea,
.form select,
.form button {
  font-size: 1.2rem;
}

.form input[type=text],
.form input[type=number],
.form input[type=email],
.form input[type=tel],
.form input[type=file],
.form input[type=password],
.form textarea {
  width: calc(100% - 30px);
}

.form textarea {
  height: 10rem;
}

.form input.input-zip1 {
  width: 4rem;
}

.form input.input-zip2 {
  width: 5rem;
}

.form table {
  width: 100%;
  border-collapse: collapse;
  empty-cells: show;
  margin-bottom: 1rem;
}

.form table th {
  display: block;
  padding-top: 0.5rem;
  text-align: left;
  font-weight: bold;
  border: none;
  box-sizing: border-box;
}

.form table td {
  display: block;
  padding: 0px;
  padding-bottom: 0.5rem;
  border: none;
  box-sizing: border-box;
}

.form table th span {
  color: #ff0004;
  font-weight: bold;
  margin-left: 0.3rem;
  padding: 0;
}

.form td p {
  margin: 0;
}

.form .need {
  color: #ff0004;
  font-weight: bold;
}

.form .guide {
  margin: 0;
  margin-top: 0.3rem;
  font-size: 1rem;
  color: #999999;
}

.form table td.notitle {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .form table {
    border-top: 1px solid #dcdcdc;
  }
  .form table th {
    display: table-cell;
    padding: 0.5rem;
    width: 10rem;
    text-align: center;
    white-space: nowrap;
    background: #f6f6f6;
    border-bottom: 1px solid #dcdcdc;
  }
  .form table td {
    display: table-cell;
    padding: 0.5rem;
    border-bottom: 1px solid #dcdcdc;
  }
  .form table td.notitle {
    display: table-cell;
  }
}
input[type=radio],
input[type=checkbox] {
  display: none;
}

label > span {
  display: inline-block;
  position: relative;
  padding-left: 30px;
  cursor: pointer;
}

label > span::before {
  display: block;
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  height: 21px;
  width: 21px;
  background: #ffffff;
  border: 1px solid #aaaaaa;
}

label > span::after {
  display: block;
  content: "";
  position: absolute;
  top: -2px;
  top: 4px;
  left: 0px;
  width: 26px;
  height: 12px;
  border-left: 3px solid #25af01;
  border-bottom: 6px solid #25af01;
  transform: rotate(-45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1);
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
  opacity: 0;
}

input[type=radio]:checked + span::before,
input[type=checkbox]:checked + span::before {
  border: 1px solid #333333;
}

input[type=radio]:checked + span::after,
input[type=checkbox]:checked + span::after {
  opacity: 1;
  transform: rotate(-45deg) scale3d(1, 1, 1);
}

#button ul {
  margin: 0;
  padding: 0;
  margin-top: 1rem;
}

#button ul li {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
  margin-bottom: 1rem;
}

#button button {
  width: 14rem;
  padding: 8px 0;
  background: #428ec9;
  border: 1px solid #428ec9;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  position: relative;
  vertical-align: middle;
}

#button button:hover {
  background: #ffffff;
  color: #428ec9;
  transition: all 0.3s;
}

#button button#btn-confirm::before,
#button button#btn-send::before {
  position: absolute;
  top: 12px;
  right: 10px;
  content: "\f105";
  font-family: FontAwesome;
}

#button button#btn-back {
  background: #999999;
  border: 1px solid #999999;
}

#button button#btn-back::before {
  position: absolute;
  top: 12px;
  left: 10px;
  content: "\f104";
  font-family: FontAwesome;
}

#button button#btn-back:hover {
  color: #999999;
  background: #ffffff;
}

@media print, print, screen and (min-width: 769px) {
  #button ul li#right {
    float: right;
    width: 50%;
    text-align: left;
  }
  #button ul li#right button {
    margin-left: 20px;
  }
  #button ul li#left {
    float: left;
    width: 50%;
    text-align: right;
  }
  #button ul li#left button {
    margin-right: 2rem;
  }
}
.error {
  color: #ee0000;
  font-weight: bold;
}/*# sourceMappingURL=input.css.map */