h2 {
  font-weight: 700;
  font-size: 28px;
  line-height: 100%;
  text-align: center;
  margin: 0 0 60px;
  border: none;
  padding: 0;
}

p {
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
}

p a.text_link,
li a.text_link {
  word-break: break-all;
  display: inline;
}

a.text_link {
  color: #0176D2;
  text-decoration: underline;
  display: inline-block;
}

.icon_newtab_blue {
  display: inline-block;
  width: 14px;
  height: 13px;
  vertical-align: middle;
  border-radius: 0 !important;
}

/* fv */
.fv .kv {
  background: #BAE1FF;
  /* position: relative; */
  overflow: hidden;
  background: url("/common/images/kv02.png") no-repeat;
  background-size: 100%;
  background-repeat: no-repeat;
}

/* 
.fv .kv:before {
  content: "";
  display: block;
  background: url("/common/images/kv01.png") no-repeat;
  background-size: contain;
  background-position: left;
  height: 189px;
  width: 100%;
  max-width: 1200px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
} */

.kv_wrap {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  padding: 80px 30px 100px;
  margin: 0 auto;
  z-index: 10;
  position: relative;
}

.fv .kv h1 {
  font-weight: 700;
  font-size: 32px;
  line-height: 180%;
  margin-top: 9px;
}

.fv .slider_wrap {
  position: relative;
}

/* news */
.news {
  margin-top: 24px;
}

/* news_ir */
.news_ir {
  padding: 120px 0;
}

/* faq */
.faq {
  padding: 120px 0;
}

.faq_item {
  border-bottom: solid 1px #CCD6DD;
}

.faq_item:first-of-type {
  border-top: solid 1px #CCD6DD;
}

.faq .question,
.faq .answer div {
  display: flex;
  gap: 0 20px;
}

.faq .answer div {
  align-items: start;
}

.faq .question {
  padding: 26px 46px 26px 0;
  align-items: center;
  position: relative;
  cursor: pointer;
}

.faq .question:hover {
  opacity: .7;
}

.question::before,
.question::after {
  content: '';
  position: absolute;
  border-radius: 9999px;
  background-color: #0176D2;
  width: 15px;
  height: 2px;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto 0;
  transition: 0.25s;
}

.question::after {
  transform: rotate(90deg);
}

.question.open::after {
  transform: none;
}

.faq .answer {
  padding-bottom: 20px;
}

.faq dt,
.faq .answer div {
  font-weight: 500;
  font-size: 16px;
  line-height: 170%;
}

.faq .question img,
.faq .answer img {
  max-width: 40px;
  border-radius: 9999px;
}

.faq a.btn {
  display: block;
  background-color: #0176D2;
  color: #fff;
  padding: 19px 0;
  border-radius: 9999px;
  width: 350px;
  margin: 40px auto 0;
}

.faq a.btn p {
  text-align: center;
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  margin: 0;
}

@media (768px <=width < 1440px) {
  h2 {
    font-size: 1.944444vw;
    margin-bottom: 4.166666vw;
  }

  /* fv */
  .fv .kv:before {
    height: 119px;
    width: 80vw;
  }

  .kv_wrap {
    padding: 5.555555vw 0 7.361111vw;
    width: 80vw;
  }

  .fv .kv h1 {
    font-size: 2.222222vw;
    margin-top: 0.555555vw;
  }



  /* news */
  .news {
    margin-top: 1.666666vw;
  }

  /* news_ir */
  .news_ir {
    padding: 8.333333vw 0;
  }
}

/* sp  */
@media screen and (max-width: 768px) {
  h2 {
    font-size: 6.4vw;
    line-height: 150%;
    margin-bottom: 8vw;
  }

  p {
    font-size: 3.733333vw;
  }

  /* fv */
  .fv .kv {
    height: 146.933333vw;
    background: url(/common/images/kv02_sp.png) no-repeat;
    background-position: bottom;
    background-size: cover;
  }

  .fv .kv:before {
    background-position: center bottom;
    height: 94px;
  }

  .kv_wrap {
    padding: 85.333333vw 0 0;
    position: relative;
  }

  .fv .kv h1 {
    text-align: center;
    font-size: 4.266666vw;
    width: 100%;
    margin-top: 14.399999vw;
  }

  .fv .slider_wrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }

  /* news_ir */
  .news_ir {
    padding: 16vw 5.333333vw;
  }

  /* faq */
  .faq {
    padding: 27.733333vw 5.333333vw 32vw;
  }

  .faq_item {
    border-bottom: solid 0.266666vw #CCD6DD;
  }

  .faq_item:first-of-type {
    border-top: solid 0.266666vw #CCD6DD;
  }

  .faq .question,
  .faq .answer div {
    gap: 0 5.333333vw;
  }

  .faq .question {
    padding: 5.866666vw 10.666666vw 5.866666vw 0;
    align-items: start;
    gap: 0 3.466666vw;
  }

  .question::before,
  .question::after {
    width: 4vw;
    height: 0.533333vw;
    right: 2.333333vw;
    bottom: 6vw;
  }

  .faq .answer {
    padding-bottom: 5.333333vw;
  }

  .faq .answer div {
    align-items: start;
    gap: 0 3.466666vw;
  }

  .faq dt,
  .faq .answer div {
    font-size: 4.266666vw;
  }

  .faq .question img,
  .faq .answer img {
    max-width: 8vw;
  }

  .faq a.btn {
    padding: 2.666666vw 0;
    width: 53.366666vw;
    margin: 10.666666vw auto 0;
    max-width: none;
    min-width: initial;
  }

  .faq a.btn p {
    font-size: 4.8vw;
  }
}

