.faq-list__item:not(:first-child) {
  margin-top: 15px;
}

@media screen and (min-width: 960px) {
  .faq-list__item:not(:first-child) {
    margin-top: 30px;
  }
}

.faq-list__item__heading {
  padding: 27px 57px 27px 27px;
  background-color: #ffffff;
  position: relative;
  cursor: pointer;
}

@media screen and (min-width: 960px) {
  .faq-list__item__heading {
    padding: 55px 220px 55px 55px;
  }
}

.faq-list__item__heading::before {
  content: '';
  width: 18px;
  height: 18px;
  border-top: 3px solid #03314c;
  border-right: 3px solid #03314c;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: calc(50% - 18px);
  right: 20px;
}

@media screen and (min-width: 960px) {
  .faq-list__item__heading::before {
    width: 30px;
    height: 30px;
    border-top: 5px solid #03314c;
    border-right: 5px solid #03314c;
    top: calc(50% - 24px);
    right: 78px;
  }
}

.faq-list__item__heading__inner {
  color: #03314c;
  font-size: 1.2rem;
  line-height: 1.5em;
  padding-left: 43px;
  display: block;
}

@media screen and (min-width: 960px) {
  .faq-list__item__heading__inner {
    font-size: 2.4rem;
    padding-left: 170px;
  }
}

.faq-list__item__heading__inner::before {
  content: 'Q';
  font-size: 2.6rem;
  font-weight: 700;
  position: absolute;
  top: calc(50% - 12px);
  left: 20px;
}

@media screen and (min-width: 960px) {
  .faq-list__item__heading__inner::before {
    font-size: 5.2rem;
    left: 70px;
    top: calc(50% - 22px);
  }
}

.faq-list__item__heading__inner::after {
  content: '';
  width: 1px;
  height: 32px;
  background-color: #03314c;
  position: absolute;
  top: 50%;
  left: 55px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (min-width: 960px) {
  .faq-list__item__heading__inner::after {
    width: 2px;
    height: 64px;
    left: 170px;
  }
}

.faq-list__item__answer {
  background-image: -webkit-gradient(linear, left top, left bottom, from(whitesmoke), to(white));
  background-image: -webkit-linear-gradient(top, whitesmoke 0%, white 100%);
  background-image: linear-gradient(to bottom, whitesmoke 0%, white 100%);
  padding: 25px 15px;
  display: none;
}

@media screen and (min-width: 960px) {
  .faq-list__item__answer {
    padding: 60px 60px 60px 60px;
  }
}

.faq-list__item__answer__inner {
  font-size: 1.2rem;
  line-height: 1.916em;
  display: block;
}

@media screen and (min-width: 960px) {
  .faq-list__item__answer__inner {
    font-size: 1.6rem;
  }
}
