:root { --layout-unit: 1vw; --header-unit: 1vw; --site-header-height: 72px; --site-font: "Noto Sans SC", "Noto Sans", sans-serif; }
/* Native, keyboard-accessible accordion; expanded answers stay in page flow. */
.desktop .faq-section,
.home-content .faq-section {
  padding-top: 4.116146vw;
  padding-top: calc(4.11615vw);
  padding-top: calc(4.11615 * var(--layout-unit));
  padding-bottom: 6.770833vw;
  padding-bottom: calc(6.77083vw);
  padding-bottom: calc(6.77083 * var(--layout-unit));
}

.desktop .faq-heading,
.home-content .faq-heading {
  margin: 0 0 2.451979vw;
  margin: 0 0 calc(2.45198vw);
  margin: 0 0 calc(2.45198 * var(--layout-unit));
  color: #000;
  font: 700 2.395833vw / 2.755208vw "Noto Sans SC", sans-serif;
  font: 700 calc(2.39583vw) / calc(2.75521vw) "Noto Sans SC", sans-serif;
  font: 700 calc(2.39583 * var(--layout-unit)) / calc(2.75521 * var(--layout-unit)) "Noto Sans SC", sans-serif;
  text-align: center;
}

.desktop .faq-columns,
.home-content .faq-columns {
  display: grid;
  grid-template-columns: repeat(2, min0);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 3.541667vw;
  gap: 3.541667vw;
  gap: calc(3.54167vw);
  gap: calc(3.54167 * var(--layout-unit));
  width: 75.208333vw;
  width: calc(75.20833vw);
  width: calc(75.20833 * var(--layout-unit));
  margin-left: 12.1875vw;
  margin-left: calc(12.1875vw);
  margin-left: calc(12.1875 * var(--layout-unit));
}

.desktop .faq-column,
.home-content .faq-column {
  display: flex;
  flex-direction: column;
  gap: 1.354167vw;
  gap: calc(1.35417vw);
  gap: calc(1.35417 * var(--layout-unit));
}

#faq .faq-accordion details,
#m-faq .faq-accordion details {
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  color: #333;
}

.faq-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  list-style: none;
  cursor: pointer;
}

.faq-accordion summary::-webkit-details-marker {
  display: none;
}

.faq-accordion summary::after {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  border-right: 3px solid #075ba5;
  border-bottom: 3px solid #075ba5;
  transform: rotate(45deg);
  transition: transform 220ms ease;
  content: "";
}

.faq-accordion details[open] > summary::after {
  transform: rotate(225deg);
}

.faq-accordion summary:focus-visible {
  outline: 2px solid #ee8301;
  outline-offset: -3px;
}

.faq-accordion details[open] > summary {
  color: #023b80;
}

.desktop .faq-accordion summary,
.home-content .faq-accordion summary {
  min-height: 4.583333vw;
  min-height: calc(4.58333vw);
  min-height: calc(4.58333 * var(--layout-unit));
  padding: 0 1.5625vw 0 1.354167vw;
  padding: 0 calc(1.5625vw) 0 calc(1.35417vw);
  padding: 0 calc(1.5625 * var(--layout-unit)) 0 calc(1.35417 * var(--layout-unit));
  font: 400 1.25vw / 1.770833vw "Noto Sans SC", sans-serif;
  font: 400 calc(1.25vw) / calc(1.77083vw) "Noto Sans SC", sans-serif;
  font: 400 calc(1.25 * var(--layout-unit)) / calc(1.77083 * var(--layout-unit)) "Noto Sans SC", sans-serif;
}

.desktop .faq-accordion summary::after,
.home-content .faq-accordion summary::after {
  width: 0.729167vw;
  width: calc(.72917vw);
  width: calc(.72917 * var(--layout-unit));
  height: 0.729167vw;
  height: calc(.72917vw);
  height: calc(.72917 * var(--layout-unit));
  border-width: 0 0.208333vw 0.208333vw 0;
  border-width: 0 calc(.20833vw) calc(.20833vw) 0;
  border-width: 0 calc(.20833 * var(--layout-unit)) calc(.20833 * var(--layout-unit)) 0;
  margin-right: 0.416667vw;
  margin-right: calc(.41667vw);
  margin-right: calc(.41667 * var(--layout-unit));
}

.desktop .faq-answer,
.home-content .faq-answer {
  padding: 0 1.354167vw 1.25vw;
  padding: 0 calc(1.35417vw) calc(1.25vw);
  padding: 0 calc(1.35417 * var(--layout-unit)) calc(1.25 * var(--layout-unit));
}

.faq-answer p {
  margin: 0;
  color: #666;
}

.desktop .faq-answer p,
.home-content .faq-answer p {
  font: 400 0.9375vw / 1.5625vw "Noto Sans SC", sans-serif;
  font: 400 calc(.9375vw) / calc(1.5625vw) "Noto Sans SC", sans-serif;
  font: 400 calc(.9375 * var(--layout-unit)) / calc(1.5625 * var(--layout-unit)) "Noto Sans SC", sans-serif;
}

.faq-accordion details[open] .faq-answer {
  animation: faq-answer-in 240ms ease both;
}

#m-faq .faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#m-faq .faq-accordion summary {
  min-height: 60px;
  padding: 16px 18px;
  font-size: 15px;
  line-height: 1.6;
}

#m-faq .faq-answer {
  padding: 0 18px 18px;
}

#m-faq .faq-answer p {
  font-size: 14px;
  line-height: 1.8;
}

html[lang="en"] .desktop .faq-accordion summary,
html[lang="en"] .home-content .faq-accordion summary,
html[lang="ru"] .desktop .faq-accordion summary,
html[lang="ru"] .home-content .faq-accordion summary {
  font-size: 0.95vw;
  font-size: calc(.95vw);
  font-size: calc(.95 * var(--layout-unit));
}

html[lang="en"] .desktop .faq-answer p,
html[lang="en"] .home-content .faq-answer p,
html[lang="ru"] .desktop .faq-answer p,
html[lang="ru"] .home-content .faq-answer p {
  font-size: 0.8vw;
  font-size: calc(.8vw);
  font-size: calc(.8 * var(--layout-unit));
}

@keyframes faq-answer-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-accordion summary::after {
    transition: none;
  }

  .faq-accordion details[open] .faq-answer {
    animation: none;
  }
}

