.before_contact > ul {
  width: 400px;
  margin: 30px auto;
}
.before_contact > ul > li {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .before_contact > ul {
    width: 90%;
    display: block;
    margin: 22px auto;
    max-width: 400px;
  }
  .before_contact > ul > li {
    width: 100%;
    margin-top: 16px;
    margin-left: 0;
  }
  .before_contact > ul > li:first-child {
    margin-top: 0;
  }
}
.contact-form-wapper {
  width: 100%;
  max-width: 420px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fbf6f8;
  border-radius: 4px;
}
.contact-form-wapper > * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.contact-form-wapper .form_title {
  background-color: #d76492;
  color: #fff;
  padding: 20px;
  border-radius: 4px 4px 0 0;
}
.contact-form-wapper .form_title p {
  font-size: 1.6rem;
  font-weight: 500;
}
.contact-form-wapper #contact-form {
  padding: 20px 20px 40px;
}
.contact-form-wapper select,
.contact-form-wapper input,
.contact-form-wapper textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  outline: none;
  border: none;
  border: 1px solid #ddd;
}
.contact-form-wapper input[type=text],
.contact-form-wapper textarea {
  line-height: 30px;
  padding: 0 10px;
}
.contact-form-wapper input[type=checkbox] {
  -webkit-transform: scale(1.4, 1.4);
  transform: scale(1.4, 1.4);
  border: 1px solid #666;
  -ms-appearance: revert;
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
  vertical-align: baseline;
}
.contact-form-wapper .required {
  padding: 2px 0;
  text-align: center;
  background: #e40101;
  color: #ffffff;
  font-size: 1rem;
  display: inline-block;
  border-radius: 3px;
  width: 32px;
  margin-left: 10px;
}
.contact-form-wapper form[name=form1] tr {
  display: block;
  text-align: left;
  padding-bottom: 24px;
}
.contact-form-wapper form[name=form1] td {
  display: block;
  margin-top: 8px;
}
.contact-form-wapper .bottom-email {
  margin-top: 10px;
}
.contact-form-wapper .mgt10,
.contact-form-wapper .mini {
  margin-top: 10px;
  font-size: 1.4rem;
}
.contact-form-wapper .mini em {
  margin-top: 10px;
  font-size: 1.4rem;
}
.contact-form-wapper .zip_bt {
  font-size: 1.2rem;
  margin-left: 5px;
  padding: 9px;
  border-radius: 5px;
  border: 1px solid #d76492;
}
.contact-form-wapper input[name=name01], .contact-form-wapper input[name=name02], .contact-form-wapper input[name=kana01], .contact-form-wapper input[name=kana02] {
  width: 130px;
}
.contact-form-wapper input[name=zip01] {
  width: 70px;
}
.contact-form-wapper input[name=zip02] {
  width: 100px;
}
.contact-form-wapper input[name=addr01], .contact-form-wapper input[name=addr02], .contact-form-wapper input[name=email], .contact-form-wapper input[name=email02] {
  width: 92%;
}
.contact-form-wapper input[name=tel01] {
  width: 68px;
}
.contact-form-wapper input[name=tel02], .contact-form-wapper input[name=tel03] {
  width: 90px;
}
.contact-form-wapper textarea {
  height: 200px;
  width: 92%;
}
.contact-form-wapper .btn_area_l2 li {
  text-align: center;
}
.contact-form-wapper #contact-errors {
  margin-bottom: 20px;
}
.contact-form-wapper #contact-errors li {
  color: #e40101;
  font-size: 1.2rem;
}
.contact-form-wapper button[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: #d76492;
  border: 1px solid #d76492;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 2px;
  width: 240px;
  line-height: 46px;
}
.contact-form-wapper button[type=submit]:hover {
  opacity: 0.8;
}
.contact-form-wapper #kaiyaku-txt h4 {
  font-size: 124%;
  color: #e40101;
}

@media screen and (min-width: 350px) {
  .contact-form-wapper input[name=name01],
  .contact-form-wapper input[name=name02],
  .contact-form-wapper input[name=kana01],
  .contact-form-wapper input[name=kana02] {
    width: 140px;
  }
  .contact-form-wapper input[name=zip01] {
    width: 85px;
  }
  .contact-form-wapper input[name=zip02] {
    width: 120px;
  }
  .contact-form-wapper input[name=addr01],
  .contact-form-wapper input[name=addr02],
  .contact-form-wapper input[name=email],
  .contact-form-wapper input[name=email02] {
    width: 96%;
  }
  .contact-form-wapper input[name=tel01] {
    width: 76px;
  }
  .contact-form-wapper input[name=tel02], .contact-form-wapper input[name=tel03] {
    width: 100px;
  }
  .contact-form-wapper textarea {
    height: 200px;
    width: 96%;
  }
}
@media screen and (min-width: 768px) {
  .contact-form-wapper {
    margin-top: 44px;
    width: 720px;
    max-width: none;
  }
  .contact-form-wapper #contact-form {
    margin: 20px;
  }
  .contact-form-wapper .form_title p {
    font-weight: 500;
    font-size: 1.8rem;
  }
  .contact-form-wapper select,
  .contact-form-wapper input,
  .contact-form-wapper textarea {
    font-size: 1.8rem;
  }
  .contact-form-wapper .required {
    width: 38px;
    float: right;
    font-size: 1.2rem;
    padding: 3px 0;
  }
  .contact-form-wapper form[name=form1] tr {
    text-align: left;
    padding-bottom: 32px;
  }
  .contact-form-wapper form[name=form1] th {
    width: 270px;
    padding-right: 30px;
    vertical-align: middle;
  }
  .contact-form-wapper form[name=form1] td {
    display: table-cell;
    width: 450px;
  }
  .contact-form-wapper input[name=name01],
  .contact-form-wapper input[name=name02],
  .contact-form-wapper input[name=kana01],
  .contact-form-wapper input[name=kana02] {
    width: 160px;
  }
  .contact-form-wapper input[name=zip01] {
    width: 95px;
  }
  .contact-form-wapper input[name=zip02] {
    width: 130px;
  }
  .contact-form-wapper input[name=tel01] {
    width: 95px;
  }
  .contact-form-wapper input[name=tel02], .contact-form-wapper input[name=tel03] {
    width: 140px;
  }
  .contact-form-wapper button[type=submit] {
    font-size: 1.8rem;
    width: 320px;
    line-height: 58px;
  }
  .contact-form-wapper #contact-errors {
    margin-bottom: 30px;
  }
  .contact-form-wapper #contact-errors li {
    color: #e40101;
    font-size: 1.4rem;
  }
}