@keyframes faqAnswerInnerIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.faq-answer.show .faq-answer-inner {
    animation: faqAnswerInnerIn 0.4s cubic-bezier(0.65, 0, 0.35, 1) 0.1s both;
}

@keyframes tabPanelIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.accordion-tabpanel.tab-panel-enter {
    animation: tabPanelIn 0.45s cubic-bezier(0.65, 0, 0.35, 1) both;
}

.accordion-top-content {
    text-align: center;
    margin: 0 0 4.8rem;
}

.accordion-title + * {
    margin-top: 0.8rem;
}

/* Scrollable tab row — hides scrollbar, centers when content fits */
.accordion_tabs-wrapper {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    text-align: center;
    margin-top: 2.4rem;
}

.accordion_tabs-wrapper::-webkit-scrollbar {
    display: none;
}

.accordion_tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    justify-content: center;
}

.accordion_tab_item {
    padding: 0.8rem 1.6rem;
    border-radius: 6rem;
    border: 1px solid var(--Color-Brand-Blue-Core, #08006f);
    color: var(--Color-Brand-Blue-Core, #08006f);
    font-size: var(--Typeface-Size-Miscellaneous-Button-large, 18px);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    background-color: transparent;
    cursor: pointer;
    white-space: nowrap;
    appearance: none;
    -webkit-appearance: none;
    transition:
        background-color var(--animtime1),
        color var(--animtime1);
}

.accordion_tab_item span {
    margin-right: 0.4rem;
}

.accordion_tab_item:focus-visible {
    outline: 2px solid var(--Color-Brand-Blue-Core, #08006f);
    outline-offset: 3px;
}

.accordion_tab_item.active {
    border-color: var(--Color-Brand-Blue-Core, #08006f);
    background-color: var(--Color-Brand-Blue-Core, #08006f);
    font-weight: 700;
    color: var(--Gray-10, #fff);
}

.accordion-tabpanel.hidden {
    display: none;
}

.accordion-tab-description > *:first-child {
    margin-top: 0;
}

.accordion-tab-description > *:last-child {
    margin-bottom: 0;
}

.accordion-tab-description {
    margin: 0 0 4rem;
}

.accordion-tab-description p {
    margin: 0.8rem 0;
}

.faq-answer-inner {
    padding: 4rem 8rem;
    background-color: var(--Color-Brand-Blue-Soft, #d9e5fa);
}

.accordion-block > .container > .accordion-tabpanel > ul,
.accordion-block > .container >  ul {
    padding: 0;
    margin: 0;
    float: left;
    width: 100%;
}

.accordion-block > .container > .accordion-tabpanel > ul ul,
.accordion-block > .container >  ul ul {
    padding-left: 18px;
}

.accordion-block > .container > .accordion-tabpanel > ul > li,
.accordion-block > .container > ul > li {
    border-top: 1px solid var(--Color-Brand-Blue-Core, #08006f);
    list-style: none;
    width: 100%;
}


.accordion-block > .container > .accordion-tabpanel > ul > li:last-child,
.accordion-block > .container > ul > li:last-child {
    border-bottom: 1px solid var(--Color-Brand-Blue-Core, #08006f);
}

.accordion-top-content h2 {
    margin-top: 0;
}

.accordion-block .title,
.accordion-block .faq-question h3 {
    cursor: pointer;
    padding: 2.4rem 4rem 2.4rem 0;
    position: relative;
    width: 100%;
    background: transparent;
    color: var(--Color-Brand-Blue-Core, #08006f);
    font-size: var(--Typeface-Size-Headings-H4, 24px);
    font-style: normal;
    font-weight: 600;
    line-height: var(--Typeface-Size-Line-height-H4, 28px); /* 116.667% */
    border: none;
    text-align: left;
}

.accordion-block .title:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.faq-answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}

/*plus minus*/
.accordion-block .faq-question .title:before,
.accordion-block .faq-question .title:after {
    content: '';
    position: absolute;
    background-color: var(--Color-Brand-Blue-Core, #08006f);
    transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}
.accordion-block .faq-question .title:before {
    top: 50%;
    right: 1rem;
    width: 2px;
    height: 12px;
    margin-right: 5px;
    margin-top: -6px;
}
.accordion-block .faq-question .title:after {
    top: 50%;
    right: 1rem;
    width: 12px;
    height: 2px;
    margin-top: -1px;
}
.accordion-block .faq-question .title.opened:before {
    transform: scaleY(0);
}

.faq-answer .file {
    padding: 0 4.2rem 1.1rem 0;
    border-bottom: 1px solid var(--Color-Brand-Blue-Light, #88b2ff);
    position: relative;
}

.faq-answer .file a {
    text-decoration: none;
}

.faq-answer .file + .file {
    margin-top: 2.4rem;
}

.faq-answer .file-name {
    color: var(--Color-Brand-Blue-Core, #08006f);
    font-size: var(--Typeface-Size-Headings-H4, 24px);
    font-style: normal;
    font-weight: 600;
    line-height: var(--Typeface-Size-Line-height-H4, 28px); /* 116.667% */
}

.faq-answer .file-name .main-name {
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: left bottom 1px;
    background-size: 0% 1px;
    transition: background-size var(--animtime1);
}

.faq-answer .file-name .subname {
    display: block;
    font-family: var(--font-secondary);
    font-size: var(--Typeface-Size-Body-Small, 14px);
    font-weight: 500;
    line-height: var(--Typeface-Size-Line-height-Small, 20px); /* 142.857% */
}

.faq-answer .file svg {
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(0);
    transition: transform var(--animtime1);
}

@media (hover: hover) {
    .faq-answer .file a:hover svg {
        transform: translateY(3px);
    }

    .faq-answer .file a:hover .main-name {
        background-size: 100% 1px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .faq-answer {
        transition: none;
    }
    .faq-answer.show .faq-answer-inner {
        animation: none;
    }
    .accordion-tabpanel.tab-panel-enter {
        animation: none;
    }
    .accordion_tab_item {
        transition: none;
    }
    .accordion-block .faq-question .title:before,
    .accordion-block .faq-question .title:after {
        transition: none;
    }
}

@media screen and (max-width: 1000px) {
    .accordion-top-content {
        text-align: left;
    }

    .faq-answer-inner {
        padding: 2.4rem 1.6rem;
    }
}
