@charset "UTF-8";
*, *::before, *::after {
  transition: none;
}

a, input {
  transition: .3s;
}

a:hover {
  color: inherit;
}

.wrap {
  padding-bottom: 0;
}

footer {
  text-align: left;
  line-height: 2em;
}

section {
  max-width: inherit;
  padding: 0;
}

.btn--main {
  background: #022361;
  color: #fff;
  line-height: 1.2;
}

.btn--main:hover {
  background: #0065b2;
}

.btn--sub {
  background: transparent;
  color: #022361;
  line-height: 1.2;
}

.btn--sub:hover {
  color: #fff;
  background: #0065b2;
}

.btn + .btn {
  margin-top: -1em;
}

.detail__btn a::before {
  border-color: #000;
}

.btn--chevron {
  color: #022361;
}

.btn--chevron::after {
  border-color: #022361;
}

.btn--chevron:hover {
  color: #0065b2;
}

.btn--chevron:hover::after {
  border-color: #0065b2;
}

.btn--chevron-left {
  color: #022361;
}

.btn--chevron-left::after {
  border-color: #022361;
}

.btn--chevron-left:hover {
  color: #0065b2;
}

.btn--chevron-left:hover::after {
  border-color: #0065b2;
}

.form--post textarea {
  padding: 10px;
  font-size: 15px;
  line-height: 1.5;
  min-height: 400px;
}

.form--post dt {
  margin: 2em 0 .5em;
  font-size: 1em;
  opacity: 0.7;
  line-height: 1.5;
}

.form--post dt.required::after {
  content: '必須';
  display: inline-block;
  background: #ce0000;
  color: #fff;
  font-size: 11px;
  left: 0.5em;
  text-align: center;
  line-height: 1;
  padding: 3px 7px;
  border-radius: 3px;
  vertical-align: 1px;
  margin-left: 6px;
}

a[target="_blank"]:not([class])::after {
  display: none;
}

@media screen and (min-width: 961px) {
  .page--contact .block--detail {
    width: 60%;
    max-width: 600px;
    margin: 70px auto;
  }
  .page--contact .block--detail .section-tit {
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 30px;
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 960px) {
  header {
    text-align: left;
    padding: 0;
  }
  .page--contact .block--detail {
    margin-bottom: 0;
  }
  .page--contact .block--detail .input--half {
    width: 100% !important;
  }
  .page--contact .block--detail .section-tit {
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 22px;
    margin-bottom: 50px;
  }
  .form--post dt {
    margin: 1.2em 0 .5em;
    font-size: 1em;
    opacity: 0.7;
    line-height: 1.3;
  }
}
