/* -----------------------
  faq
----------------------- */
.faq {
  background: #fff;
}

.faq .acc-box{
  position: relative;
}
.faq .acc-box::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(calc(590 /750 * 100vw), 590px);
  height: 1px;
  background: #0546AA;
}
.faq:is(.faq) dt {
  position: relative;
  cursor: pointer;
}

.faq:is(.faq) dt::before {
  content: "";
  display: block;
  position: absolute;
  top: 55%;
  right: min(calc(95 /750 * 100vw), 95px);
  width: min(calc(40 /750 * 100vw), 40px);
  height: min(calc(40 /750 * 100vw), 40px);
  background: #0546AA;
  border-radius: 50%;
  transform: translateY(-50%);
}

.faq:is(.faq) dt::after,
.faq:is(.faq) dt span::before {
  content: "";
  display: block;
  position: absolute;
  top: 55%;
  right: min(calc(105 /750 * 100vw), 105px);
  width: min(calc(20 /750 * 100vw), 20px);
  height: 2px;
  background: #fff;
  transition: transform 0.3s;
  transform: translateY(-50%);
}

.faq:is(.faq) dt span::before {
  transform: translateY(-50%) rotate(90deg);
}

.faq:is(.faq) dt.open span::before {
  transform: translateY(-50%) rotate(0);
}

.faq .text {
  display: none;
  cursor: pointer;
}