.mailform {
  max-width: 980px;
  padding-bottom: 120px;
}

@media screen and (max-width: 1023px) {
  .mailform {
    padding: 0 25px 60px;
  }
}

.mailform .page_title {
  position: relative;
  margin-bottom: 45px;
}

@media screen and (max-width: 1023px) {
  .mailform .page_title {
    padding: 0 25px;
    margin-bottom: 20px;
  }
}

.mailform .page_title:before {
  content: "";
  position: absolute;
  top: 30px;
  left: -30px;
  width: 18px;
  height: 1px;
  background: #111111;
}

@media screen and (max-width: 1023px) {
  .mailform .page_title:before {
    top: 20px;
    left: 0;
    width: 15px;
  }
}

.mailform .page_title h2 {
  font-size: 3.6rem;
  font-family: "Libre Baskerville", serif;
}

@media screen and (max-width: 1023px) {
  .mailform .page_title h2 {
    font-size: 2.6rem;
  }
}

.mailform .page_title p {
  font-size: 1.4rem;
}

@media screen and (max-width: 1023px) {
  .mailform .page_title p {
    font-size: 1.2rem;
  }
}

.mailform .reed {
  margin-bottom: 60px;
  font-size: 1.6rem;
  line-height: 2.2;
  color: #111111;
}

.mailform .reed p {
  margin-top: 1em;
}

@media screen and (max-width: 1023px) {
  .mailform .reed {
    font-size: 1.4rem;
    margin-bottom: 30px;
  }
}

.mailform .hissu {
  color: #D70C19;
  font-size: 1.2rem;
  margin-left: 3px;
}

.mailform dl {
  margin-bottom: 37px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

.mailform dl dt {
  margin-bottom: 8px;
  width: 25%;
}

@media screen and (max-width: 767px) {
  .mailform dl dt {
    width: 100% !important;
  }
}

.mailform dl dd {
  width: 75% !important;
}

@media screen and (max-width: 767px) {
  .mailform dl dd {
    width: 100% !important;
  }
}

.mailform dl dd p {
  margin-bottom: 1em;
}

.mailform .kubun {
  padding: 35px 0;
  border-top: 1px solid #111111;
  border-bottom: 1px solid #111111;
}

.mailform .houhou {
  margin: 50px 0;
}

.mailform .houhou label,
.mailform .kubun label {
  display: inline-block;
  margin-right: 30px;
}

.mailform .houhou label input,
.mailform .kubun label input {
  margin-right: 5px;
}

.text_input .example {
  color: #999;
  width: 25%;
  padding-left: 20px;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .text_input .example {
    width: 100%;
    padding-left: 0;
    margin-top: 5px;
  }
}

.text_input input,
.text_input textarea {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.text_input input {
  width: 100% !important;
  padding: 12px;
  border: none;
  background: #fcfcfc;
  border: 1px solid #ccc;
}

.text_input input:focus {
  background: #fff;
  border: 1px solid #111111;
}

.text_input textarea {
  width: 100% !important;
  min-height: 144px;
  padding: 12px;
  background: #fcfcfc;
  border: 1px solid #ccc;
}

.text_input textarea:focus {
  background: #fff;
  border: 1px solid #111111;
}

.buttons ul {
  text-align: center;
}

.buttons ul li {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .buttons ul li {
    width: 49%;
  }
}

.buttons ul li button {
  width: 180px;
  padding: 16px 10px;
  border-radius: none;
  border: 1px solid #111111;
  font-size: 1.6rem;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

@media screen and (max-width: 767px) {
  .buttons ul li button {
    width: 100%;
  }
}

.buttons ul li button:hover {
  opacity: 0.6;
}

.buttons ul .reset button {
  background: #f9f9f9;
}

.buttons ul .submit button {
  background: #111111;
  color: #FFFFFF;
}

.thanks_btn {
  margin-top: 60px;
}

.thanks_btn a {
  padding: 16px 40px;
  border-radius: none;
  font-size: 1.6rem;
  color: #fff;
  background: url("../../common/images/bg-pattern-modal-open.jpg") repeat;
  border: none;
  cursor: pointer;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

@media screen and (max-width: 767px) {
  .thanks_btn a {
    width: 100%;
  }
}

.thanks_btn a:hover {
  opacity: 0.6;
}

.doui {
  text-align: center;
  margin: 60px 0;
}

.doui a {
  color: #111111;
}

.thanks {
  margin: 50px auto 120px;
}

@media screen and (max-width: 767px) {
  .thanks {
    margin-bottom: 60px;
  }
}

.thanks p {
  margin-bottom: 35px;
  font-size: 1.6rem;
  text-align: center;
  line-height: 2.2;
}

.section_end {
  margin-bottom: 420px;
}

@media screen and (max-width: 767px) {
  .section_end {
    margin-bottom: 90px;
  }
}

.inr_policy dd {
  height: 245px;
  overflow: scroll;
  overflow-x: hidden;
  border: 1px solid #dcdcdc;
  padding: 30px;
}

.inr_policy dd dl {
  margin: 25px 0;
}

.inr_policy dd dl dt {
  border-bottom: 1px solid;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
}

.inr_policy dd dl dd {
  border: none;
  padding: 0;
  height: auto;
}

.inr_policy .company_name {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-bottom: 90px;
}

@media screen and (max-width: 767px) {
  .inr_policy .company_name {
    margin-left: 0;
  }
}

.inr_policy .company_name .col_2 {
  width: -webkit-calc(50% - 5px);
  width: calc(50% - 5px);
  margin-left: 5px;
  background: #f2f7fb;
  padding: 20px;
  line-height: 2;
}

.inr_policy .company_name .col_2 h3 {
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .inr_policy .company_name .col_2 {
    width: 100%;
    margin-left: 0;
    margin-bottom: 5px;
  }
}
