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

a, input {
  transition: 0.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;
}

.wovn-languages {
  display: none;
}

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

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

.language--en .form--post dt.required::after {
  content: "Required";
}

.language--ko .form--post dt.required::after {
  content: "필수의";
}

.language--zh-tw .form--post dt.required::after {
  content: "必需的";
}

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

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