@charset "UTF-8";
/*-----------------------------------------
Contact CSS
-------------------------------------------*/
select::-ms-expand {
  display: none;
}

.breadcrumb {
  max-width: 100%;
  width: 100%;
  padding: 1em 20px;
  background: #f3f8fc;
}

.select-area {
  width: 285px;
  position: relative;
}
.select-area:after {
  display: block;
  width: 1em;
  content: "▼";
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  pointer-events: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 1.6rem;
  height: 46px;
  line-height: 4.6rem;
  border: solid 1px #d8d8d8;
  box-sizing: border-box;
  padding-left: 1em;
  width: 100%;
}

.captchaArea {
  margin-top: 40px;
  text-align: center;
}

.inputArea input {
  font-size: 1.6rem;
  border: solid 1px #d8d8d8;
}

.txt-center {
  text-align: center;
}

.captchaArea + p {
  line-height: 1.61538;
}

@media (min-width: 751px) {
  .page .section .section__txt,
  .page .intro-section .section__txt {
    font-size: 1.6rem;
  }
}

@media (min-width: 751px) and (max-width: 1023px) {
  .page .blue-box {
    padding: 5.66406vw 3.90625vw;
    font-size: 1.5625vw;
  }
}

@media (max-width: 750px) {
  .page--contact .section .section__ttl {
    font-size: 1.9rem;
  }
}
@media (min-width: 751px) {
  .page--contact {
    font-size: 1.6rem;
  }
  .page--contact .section {
    padding-bottom: 110px;
  }
}
.page--contact .intro-section {
  padding-bottom: 0;
}
@media (max-width: 750px) {
  .page--contact .intro-section {
    margin-bottom: 70px;
  }
}
.page--contact .intro-section .section__ttl {
  margin-bottom: 40px;
}
@media (min-width: 751px) {
  .page--contact .intro-section .section__ttl {
    margin-bottom: 60px;
  }
}
.page--contact .intro-section .section__txt {
  text-align: left;
  line-height: 2;
}
.page--contact .list {
  margin-bottom: 1.5em;
  line-height: 2;
}
.page--contact .list li {
  display: flex;
  display: -webkit-flex;
}
.page--contact .list li:before {
  content: "•";
  margin-right: .5em;
}
.page--contact .list a {
  color: #333333;
  text-decoration: underline;
}
.page--contact .blue-box {
  display: block;
  text-align: center;
}
.page--contact .blue-box .blue-box__ttl {
  font-size: 2rem;
  color: #135398;
  margin-bottom: 1em;
  font-weight: bold;
}
.page--contact .agree-box {
  margin-top: 30px;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
}
.page--contact .agree-box .must {
  display: inline-block;
  width: 48px;
  height: 18px;
  line-height: 18px;
  color: white;
  text-align: center;
  background: #ff0000;
  margin-right: 22px;
  font-size: 1.3rem;
}
.page--contact .agree-box #agree_privacy {
  margin: 0;
  margin-right: 5px;
}
.page--contact .agree-box label {
  font-weight: bold;
}
.page--contact .table-box ul li {
  margin-bottom: 20px;
}
@media (min-width: 751px) {
  .page--contact .table-box:not(:last-child) {
    margin-bottom: 100px;
  }
}
.page--contact .table-box dt {
  background: #3cb2eb;
  color: white;
  text-align: center;
  height: 30px;
  line-height: 30px;
  font-weight: bold;
}
@media (max-width: 750px) {
  .page--contact .table-box dt {
    position: relative;
    left: -20px;
    width: calc(100% + 40px);
    margin-bottom: 30px;
  }
}
@media (min-width: 751px) {
  .page--contact .table-box dt {
    height: 40px;
    line-height: 40px;
  }
}
.page--contact .normalList {
  width: 100%;
}
@media (max-width: 750px) {
  .page--contact .normalList {
    display: block;
  }
  .page--contact .normalList th, .page--contact .normalList td, .page--contact .normalList tr, .page--contact .normalList tbody {
    display: block;
    width: 100%;
  }
}
.page--contact .normalList th {
  font-weight: bold;
}
.page--contact .normalList th .required {
  font-weight: normal;
  margin-left: 1em;
  color: #de303c;
  font-size: 1rem;
}
@media (min-width: 751px) {
  .page--contact .normalList th .required {
    font-size: 1.2rem;
  }
}
@media (min-width: 751px) {
  .page--contact .normalList th {
    padding-left: 1em;
    width: 27%;
  }
}
@media (min-width: 751px) and (max-width: 1023px) {
  .page--contact .normalList th {
    font-size: 1.5625vw;
  }
}

.page--contact .normalList td {
  padding-right: 1em;
  box-sizing: border-box;
}
@media (min-width: 751px) {
  .page--contact .normalList th, .page--contact .normalList td {
    border-bottom: solid 1px #d8d8d8;
    padding-bottom: 20px;
    padding-top: 20px;
  }
}
@media (max-width: 750px) {
  .page--contact .normalList th {
    margin-bottom: 18px;
  }
  .page--contact .normalList td {
    padding-bottom: 40px;
  }
}
.page--contact .normalList .contactType {
  width: 100%;
  display: block;
}
.page--contact .normalList .contactType th, .page--contact .normalList .contactType td, .page--contact .normalList .contactType tr, .page--contact .normalList .contactType tbody {
  display: block;
  width: 100%;
}
.page--contact .normalList .contactType td {
  border: none;
  line-height: 2;
  padding: 0;
  vertical-align: top;
}
.page--contact .normalList textarea {
  width: 100%;
  height: 200px;
  border-color: #d8d8d8;
  box-sizing: border-box;
  padding: 10px 20px;
  font-size: 1.6rem;
}
.page--contact .normalList input:not([type=radio]) {
  font-size: 1.6rem;
  height: 46px;
  line-height: 4.6rem;
  border: solid 1px #d8d8d8;
  box-sizing: border-box;
  padding-left: 1em;
  width: 100%;
}
.page--contact .normalList input[name=zip] {
  width: 240px;
}
.page--contact .normalList .button {
  background: #135398;
  color: white;
  height: 40px;
  line-height: 40px;
  width: 171px;
  text-align: center;
  font-size: 1.3rem;
  display: block;
}
@media (max-width: 750px) {
  .page--contact .normalList .button {
    margin-top: 10px;
  }
}
@media (min-width: 751px) {
  .page--contact .normalList .button {
    font-size: 1.6rem;
    margin-left: 30px;
    height: 46px;
    line-height: 46px;
    width: 215px;
  }
}
.page--contact .normalList .caution {
  white-space: nowrap;
  display: inline-block;
}
@media (max-width: 750px) {
  .page--contact .normalList .caution {
    margin-top: 10px;
  }
}
@media (min-width: 751px) {
  .page--contact .normalList .caution {
    margin-left: 46px;
  }
}
.page--contact .send-button {
  display: block;
  background: #135398;
  color: white;
  height: 45px;
  line-height: 45px;
  width: 290px;
  text-align: center;
  font-size: 1.6rem;
  margin: auto;
  margin-top: 35px;
  cursor: pointer;
  font-weight: bold;
  transition: 0.3s ease-out;
  border: none;
}
@media (min-width: 751px) {
  .page--contact .send-button {
    height: 70px;
    line-height: 70px;
    width: 430px;
  }
}
.page--contact .send-button:hover {
  opacity: .8;
}
.page--contact .send-button:disabled {
  opacity: .5;
  cursor: default;
}
.page--contact .normalList + p {
  text-align: center;
  margin-top: 60px;
}

.errorMessage {
  margin-top: 1em;
  color: #f00;
}

/*-----------------------------------------
お問い合わせ確認
-------------------------------------------*/
#explainBlock p:not(:last-child) {
  margin-bottom: 20px;
}
@media (max-width: 750px) {
  #explainBlock .table-box:not(:last-child) {
    margin-bottom: 50px;
  }
  #explainBlock .table-box td {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: solid 1px #d8d8d8;
    padding-left: 20px;
  }
}
@media (max-width: 750px) {
  #explainBlock .button-list {
    flex-direction: column;
  }
  #explainBlock .button-list .button--back {
    order: 1;
  }
}
@media (min-width: 751px) {
  #explainBlock .button-list {
    margin-top: 60px;
  }
}
#explainBlock .button-list li {
  width: 290px;
}
@media (max-width: 750px) {
  #explainBlock .button-list li {
    margin: auto;
  }
  #explainBlock .button-list li:not(:last-child) {
    margin-bottom: 20px;
  }
}
@media (min-width: 751px) {
  #explainBlock .button-list li {
    width: 300px;
    margin: 0 20px;
  }
}
#explainBlock .button-list li .button {
  width: 100%;
  font-weight: bold;
  text-align: center;
  display: block;
  height: 45px;
  line-height: 45px;
  font-size: 1.3rem;
}
@media (min-width: 751px) {
  #explainBlock .button-list li .button {
    font-size: 1.6rem;
    height: 70px;
    line-height: 70px;
  }
}
#explainBlock .button-list li .button--back {
  background: white;
  border: solid 1px #434343;
  color: inherit;
}
#explainBlock .button-list li .button--send {
  background: #135398;
  color: white;
  border: none;
  cursor: pointer;
  transition: 0.3s ease-out;
}
#explainBlock .button-list li .button--send:hover {
  opacity: .8;
}

/*-----------------------------------------
お問い合わせ完了
-------------------------------------------*/
.contact--complete {
  min-height: calc(100vh - 55px - 147px);
}
@media (min-width: 751px) {
  .contact--complete {
    min-height: calc(100vh - 90px - 80px);
  }
}
.contact--complete #explainBlock {
  text-align: center;
}
.contact--complete #explainBlock .button-style {
  background: #135398;
  color: white;
  transition: 0.3s ease-out;
  height: 45px;
  line-height: 45px;
  font-size: 1.3rem;
  width: 290px;
  margin: auto;
  display: block;
  text-align: center;
  font-weight: bold;
  margin-top: 40px;
}
@media (min-width: 751px) {
  .contact--complete #explainBlock .button-style {
    margin-top: 60px;
    font-size: 1.6rem;
    height: 70px;
    line-height: 70px;
    width: 300px;
  }
}

.post-no p {
  margin-top: 10px;
}
.post-no p small {
  font-size: 1.2rem;
}

#check--agree_privacy {
  margin-top: 3em;
}
