@charset "UTF-8";

.noPad {
  padding-top: 0;
}

.ttlWrap1 {
  font-size: 1.416667em;
  margin: 0 0 1.5em;
  background: url(../images/faq/faq_main__sp.jpg) no-repeat center center;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 8.235294em;
}

.ttlWrap1 .ttl1 {
  margin-bottom: 0;
  font-size: 1em;
  color: #FFF;
}

.ttlWrap1 .ttl1 span {
  color: #FFF;
}

@media only screen and (min-width: 768px) {
  .ttlWrap1 {
    font-size: 2.125em;
    background-image: url(../images/faq/faq_main__sp.jpg);
    height: 7.647059em;
  }
}

.faq {
  background-color: #ECECEC;
  padding: 1.666667em;
  margin: 0;
}

.faq > dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  font-size: 1.083333em;
  font-weight: 500;
  color: #FFF;
  padding: 0.75em 3.4em 0.75em 1.153846em;
  position: relative;
  background-color: #0050A0;
  margin: 2.307692em 0 0;
  cursor: pointer;
}

.faq > dt:hover > span {
  transition: opacity 0.2s ease-out;
}

.faq > dt:hover > span {
  opacity: 0.7;
}

.faq > dt > span:first-child {
  font-size: 1.076923em;
  margin-right: 0.5em;
}

.faq > dt > span:last-child {
  padding-top: 0.2em;
}

.faq > dt:first-child {
  margin-top: 0;
}

.faq > dt::before,
.faq > dt::after {
  content: '';
  width: 0.769231em;
  height: 1px;
  background-color: #FFF;
  display: block;
  position: absolute;
  top: 50%;
  right: 1em;
}

.faq > dt::after {
  transition: transform 0.2s ease-out;
  transform: rotate(90deg);
}

.faq > dt.opened::after {
  transform: rotate(0deg);
}

.faq > dd {
  margin: 0;
  background-color: #FFF;
  padding: 1.25em;
  border: 1px solid #0050A0;
}

.faq > dd p:first-child {
  font-size: 1.083333em;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 0.5em;
}

.faq > dd p:first-child > span:first-child {
  font-size: 1.076923em;
  margin-right: 0.5em;
}

.faq > dd p:first-child > span:last-child {
  padding-top: 0.2em;
  font-weight: 700;
}

.faq > dd p:last-child {
  margin-bottom: 0;
}

.faq > dd a {
  color: #0050A0;
}

@media only screen and (min-width: 768px) {
  .faq {
    padding: 3.75em;
  }

  .faq > dt {
    font-size: 1.25em;
    padding-left: 1.6em;
  }

  .faq > dt > span:first-child {
    font-size: 1.4em;
  }

  .faq > dd {
    padding-left: 2em;
  }

  .faq > dd p:first-child {
    font-size: 1.5em;
  }

  .faq > dd p:first-child > span:first-child {
    font-size: 1.166667em;
  }

  .faq > dd p:last-child {
    font-size: 1.25em;
  }
}