@charset "UTF-8";
/*
#page_faq {
    overflow: hidden;
    color: var(--page-black);
}

#page_faq article {
    margin: 0;
}

#page_faq img {
    display: block;
    max-width: 100%;
    height: auto;
}

#page_faq h1,
#page_faq h2,
#page_faq h3,
#page_faq p {
    margin-top: 0;
}
*/

.faq_title{
    font-size: 1.6em;
    margin: 2em;
    color: var(--page-main-color);
}
#page_faq .heart-container {
    width: min(1200px, calc(100% - 40px));
    margin-inline: auto;
    margin: 5em auto
}

#page_faq .heart-heading {
    margin-bottom: 42px;
    color: var(--page-main-color);
    text-align: center;
}

#page_faq .heart-heading p {
    margin-bottom: 7px;
    color: inherit;
    font: italic 16px/1.4 var(--en-font), Georgia, serif;
}

#page_faq .heart-heading h2 {
    margin-bottom: 0;
    color: inherit;
    font: 500 29px/1.5 var(--font-mincho);
    letter-spacing: .08em;
}

@media (min-width: 701px) {
    #page_faq .heart-heading {
        margin-bottom: 65px;
    }

    #page_faq .heart-heading h2 {
        font-size: clamp(32px, 2.6vw, 42px);
    }
}

/* Hero layout is defined in the shared support-hero CSS. */


/* Questions */


#page_faq .heart-faq__list {
    width: min(980px, 100%);
    margin-inline: auto;
}

#page_faq .heart-faq details {
    margin-bottom: 30px;
}

#page_faq .heart-faq summary {
    position: relative;
    padding: 17px 50px 17px 45px;
    border-radius: 3px;
    background: #b8d6ef;
    color: var(--page-main-color);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    list-style: none;
    cursor: pointer;
}

#page_faq .heart-faq summary::-webkit-details-marker {
    display: none;
}

#page_faq .heart-faq summary::before {
    position: absolute;
    top: 50%;
    left: 14px;
    color: #fff;
    font: 700 24px/1 Georgia, serif;
    content: "Q";
    transform: translateY(-50%);
}

#page_faq .heart-faq summary::after {
    position: absolute;
    top: 50%;
    right: 16px;
    color: #fff;
    font-size: 22px;
    content: "+";
    transform: translateY(-50%);
}

#page_faq .heart-faq details[open] summary::after {
    content: "−";
}

#page_faq .heart-faq details > p {
    margin: 25px 0 0;
    font-size: 14px;
    line-height: 2;
}

@media (min-width: 701px) {
    #page_faq .heart-faq summary {
        padding: 18px 60px;
        font-size: 17px;
    }

    #page_faq .heart-faq details > p {
        font-size: 16px;
        color: var(--page-black)
    }
}

/* Shared flow button details */
#page_faq .heart-button {
    margin-top: 15px;
}

#page_faq .heart-button:hover,
#page_faq .heart-button:focus-visible {
    opacity: .8;
}

#page_faq .heart-button .btn__icon {
    width: 25px;
    height: 25px;
    margin-right: .5em;
}

#page_faq .heart-button .btn__icon::before {
    background: url("../img/common/aroow-blue.svg") no-repeat center / contain;
}
