/* -----------------------------------------------------
	variables
----------------------------------------------------- */
/* -----------------------------------------------------
  kv
----------------------------------------------------- */
.kv img {
  width: 100%;
}

/* -----------------------------------------------------
  linear gradient
----------------------------------------------------- */
.line_grad {
  border-bottom: 4px solid #014099;
  -webkit-border-image: -webkit-gradient(linear, left top, right top, from(#0099e2), to(#014099));
  -webkit-border-image: -webkit-linear-gradient(left, #0099e2 0%, #014099 100%);
  -o-border-image: -o-linear-gradient(left, #0099e2 0%, #014099 100%);
  border-image: -webkit-gradient(linear, left top, right top, from(#0099e2), to(#014099));
  border-image: linear-gradient(to right, #0099e2 0%, #014099 100%);
  border-image-slice: 1;
  margin: 0 auto 80px;
}

@media screen and (max-width: 768px) {
  .line_grad {
    margin: 0 auto 9.11458vw;
  }
}

/* -----------------------------------------------------
  q&a
----------------------------------------------------- */
.faq .inner {
  padding: 140px 0 60px;
}

@media screen and (max-width: 768px) {
  .faq .inner {
    padding: 13.02083vw 0 1.30208vw;
  }
}

.faq .inner .ttl_inner .ttl span {
  padding-bottom: 1.30208vw;
}

@media screen and (min-width: 769px) {
  .faq .inner .ttl_inner .ttl span {
    margin-bottom: 10px;
    padding-bottom: 1%;
  }
}

.faq .inner .ttl_inner .ttl span .small {
  font-size: 8rem;
}

@media screen and (max-width: 768px) {
  .faq .inner .ttl_inner .ttl span .small {
    font-size: 6.51042vw;
  }
}

.faq .inner .faq_wrap dl {
  margin: 50px 0 0 0;
  text-align: left;
  border-radius: 12px;
  overflow: hidden;
  -webkit-box-shadow: 0px 20px 40px 0px rgba(68, 68, 68, 0.2);
  box-shadow: 0px 20px 40px 0px rgba(68, 68, 68, 0.2);
}

@media screen and (max-width: 768px) {
  .faq .inner .faq_wrap dl {
    margin: 7.8125vw 0 0 0;
    border-radius: 1.5625vw;
  }
}

.faq .inner .faq_wrap dl:first-child {
  margin: 0;
}

.faq .inner .faq_wrap dl dt {
  position: relative;
  background: #ffffff;
  padding: 34px 80px 34px 100px;
  cursor: pointer;
  color: #042054;
}

@media screen and (max-width: 768px) {
  .faq .inner .faq_wrap dl dt {
    padding: 5.98958vw 11.97917vw 5.98958vw 15.625vw;
  }
}

.faq .inner .faq_wrap dl dt .text {
  font-size: 2.4rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .faq .inner .faq_wrap dl dt .text {
    font-size: 3.90625vw;
  }
}

.faq .inner .faq_wrap dl dt .icon {
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 40px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .faq .inner .faq_wrap dl dt .icon {
    right: 5.20833vw;
  }
}

.faq .inner .faq_wrap dl dt .icon:before, .faq .inner .faq_wrap dl dt .icon:after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background: #042054;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .faq .inner .faq_wrap dl dt .icon:before, .faq .inner .faq_wrap dl dt .icon:after {
    width: 3.64583vw;
    height: 0.52083vw;
  }
}

.faq .inner .faq_wrap dl dt .icon:after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.faq .inner .faq_wrap dl dt .opens:after {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.faq .inner .faq_wrap dl dt:before {
  position: absolute;
  top: 30px;
  left: 40px;
  content: "Q.";
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .faq .inner .faq_wrap dl dt:before {
    font-size: 6.25vw;
    left: 5.20833vw;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

.faq .inner .faq_wrap dl dd {
  display: none;
  position: relative;
  background-color: #ededed;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  padding: 34px 80px 34px 100px;
}

@media screen and (max-width: 768px) {
  .faq .inner .faq_wrap dl dd {
    font-size: 3.64583vw;
    padding: 5.20833vw 11.97917vw 5.20833vw 15.625vw;
  }
}

.faq .inner .faq_wrap dl dd span small {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .faq .inner .faq_wrap dl dd span small {
    font-size: 3.125vw;
  }
}

.faq .inner .faq_wrap dl dd span .fa_link {
  display: inline-block;
  color: #0091d2;
  line-height: 1.4;
  text-decoration: underline;
  word-break: break-all;
  -webkit-text-decoration-skip: none;
}

.faq .inner .faq_wrap dl dd:before {
  position: absolute;
  top: 28px;
  left: 45px;
  content: "A.";
  font-size: 4rem;
  font-weight: 700;
  color: #042054;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .faq .inner .faq_wrap dl dd:before {
    left: 5.20833vw;
    top: 5.72917vw;
    font-size: 6.25vw;
  }
}
