@charset "UTF-8";
/* Scss Document */
/* Scss Document */
.page_ttl {
  background: url("../images/contact/page_ttl_bg.jpg") top center no-repeat;
}
@media screen and (max-width: 640px) {
  .page_ttl {
    background-size: auto 100%;
  }
}

.contact .contact_tel {
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .contact .contact_tel {
    justify-content: space-between;
  }
}
.contact .contact_tel dt, .contact .contact_tel dd {
  margin: 0 20px 30px;
}
@media screen and (max-width: 640px) {
  .contact .contact_tel dt, .contact .contact_tel dd {
    margin: 0 0 calc((30/760)*100vw);
  }
}
.contact .contact_tel dt {
  width: 30%;
  padding: .5em;
  background: #07335d;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .contact .contact_tel dt {
    width: 25%;
    font-size: calc((36/760)*100vw);
  }
}
.contact .contact_tel dd {
  width: 35%;
}
@media screen and (max-width: 640px) {
  .contact .contact_tel dd {
    width: 70%;
  }
}
.contact .contact_tel .num {
  color: #07335d;
  font-size: 4.0rem;
  letter-spacing: .2em;
}
@media screen and (max-width: 640px) {
  .contact .contact_tel .num {
    font-size: calc((50/760)*100vw);
    letter-spacing: .1em;
  }
}
.contact .contact_tel_wrap {
  padding: 0 60px 50px;
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 640px) {
  .contact .contact_tel_wrap {
    padding: 0 calc((30/760)*100vw) calc((30/760)*100vw);
  }
}
.contact .contact_required {
  color: #cc0000;
}
.contact .contact_form_wrap {
  padding: 0 60px 50px;
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 640px) {
  .contact .contact_form_wrap {
    padding: 0 calc((30/760)*100vw) calc((30/760)*100vw);
  }
}
.contact .contact_table {
  margin: 30px 0 40px;
}

input, select, textarea {
  padding: .5em;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.6;
}

input[size="20"] {
  width: 50%;
}

input[size="30"] {
  width: 80%;
}

textarea {
  width: 100%;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.contact_btn {
  text-align: center;
}
.contact_btn input {
  display: inline-block;
  width: 300px;
  margin: 0 1em;
  padding: .5em 1em;
  background: #5d3107;
  border: none;
  border-radius: 5px;
  color: #FFF;
  font-size: 1.8rem;
  text-align: center;
}
.contact_btn input:hover {
  cursor: pointer;
  opacity: .6;
  transition: .5s;
}

@media screen and (max-width: 640px) {
  input[size="20"] {
    width: 100%;
  }

  input[size="30"] {
    width: 100%;
  }

  label {
    display: block;
  }

  .contact_btn input {
    width: 80vw;
    margin: 0 0 1em;
    font-size: 4.3333333333vw;
  }
  .contact_btn input:last-child {
    margin-bottom: 0;
  }
}
