@charset "UTF-8";
body {
  margin: 0;
  color: #36404b;
  background-color: #f7f7f5;
}
main.contact-section {
  position: relative;
  background: url(contact.png) no-repeat;
  background-position-x: calc(50% - 400px);
  background-position-y: 350px;
  background-size: 133px;
}
  .bg-inner {
    padding: 0;
    height: 250px;
    width: 100vw;
    background-image: linear-gradient(#00bfd3, #f7f7f5);
}
.contact-inner {
  width: 600px;
  margin: 0 auto;
  padding: 0 0 10px;
}
.section-title {
  font-size: 26px;
  position: relative;
  color: #00bfd3;
  font-weight: bold;
  text-align: center;
  margin: 0;
  padding: 7px 0;
  display: block;
}
.section-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 2px;
  box-shadow: 0 10px 0px #00bfd3;
}
.must-txt {
  font-size: 13px;
  color: red;
  float: right;
  margin: 0;
}
.mb-3 {
  margin-bottom: 3px;
}
.mb-8 {
  margin-bottom: 8px;
}
.mb-16 {
  margin-bottom: 16px;
}
.mb-24 {
  margin-bottom: 24px;
}
.mb-64 {
  margin-bottom: 64px;
}
.red {
  color: red;
}
.contact-inner form {
  margin: 100px 0 0;
  position: relative;
}
.contact-inner form p {
  font-size: 14px;
}
input[type="checkbox" i] {
  margin: 0 0 15px;
}
input[type="text"] {
  box-sizing: border-box;
    border-width: 1px;
    width: 100%;
    padding: 0.5rem;
    font-size: 14px;
    border-radius: 4px;
}
textarea {
  box-sizing: border-box;
    border-width: 1px;
    width: 100%;
    padding: 0.5rem;
    font-size: 14px;
    border-radius: 4px;
}
input[type="submit"] {
  border-radius: 9999px;
  padding: 10px 50px;
  margin: 0 auto;
  cursor: pointer;
}
form a {
  color: #00bfd3;
}
.contact_red {
  text-align: center;  
}
.error {
  width : 100%;
  padding: 0;
  display: inline-block;
  font-size: 13px;
  color: #e74c3c;
  box-sizing: border-box;
}

.thanks-txt {
  margin: 100px 0 48px;
  text-align: center;
}

.confirm-txt {
  margin: -32px 0 48px;
  font-size: 21px;
}

.confirm-item {
  font-weight: bold;
}
.top-btn a {
  background: #00BFD3;
  border-radius: 66px;
  color: #fff;
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  overflow: hidden;
  max-width: 300px;
  width: 50%;
  position: relative;
  padding: 12px;
  margin: 64px auto 0;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
  z-index: 2;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  main {
    position: relative;
    background: none;
  }
    .bg-inner {
    height: 100px;
    background-image: none;
  }
  .contact-inner {
    width: calc(100vw - 60px);
    margin: 0 auto;
  }
  .must-txt {
    float: none;
    margin: 0 0 30px;
    font-size: 12px;
  }
  .contact-inner form {
    margin: 72px 0 0;
  }
  .contact-inner form p {
    font-size: 13px;
    line-height: 1.3;
  }
  .error {
    width : 100%;
    padding: 0;
    display: inline-block;
    font-size: 12px;
    color: #e74c3c;
    box-sizing: border-box;
  }
}