@charset "UTF-8";
/*faq
----------------------------------------*/
.faq_contents {
    background: linear-gradient(rgba(255, 255, 255, 0), #ECF0F4);
}
.faq_item_ttl h2 {
    font-size: 3.2rem;
    font-weight: normal;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}
.faq_item {
    padding: 60px 0 70px;
}
.faq_item dl {
    margin-bottom: 35px;
    border-bottom: 1px solid rgba(0,21,43,.15);
}
.faq_item dt {
    font-size: 1.8rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    color: #171717;
    padding-bottom: 20px;
    cursor: pointer;
}
.faq_item dt::before {
    content: "";
    position: absolute;
    width: 24px;
    height: 1px;
    background: #00152B;
    right: 0;
    top: 26px;
}
.faq_item dt::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 24px;
    background: #00152B;
    right: 12px;
    top: 15px;
}
.faq_item dt.open::after {
    display: none;
}
.faq_item dt .en {
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #000;
    margin-right: 20px;
    display: inline-block;
}
.faq_item dd {
    padding: 0 50px 35px;
    display: none;
}
.faq_item dd > * {
    font-size: 1.4rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 2;
}
.faq_item dd::before {
    content: "A";
    color: #64A6E8;
    font-family: "Jost", sans-serif;
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    position: absolute;
    left: 0;
    top: -10px;
}
.faq_item.bg_white {
    background: rgba(255,255,255,0.7);
}

.faq_item_bg01,
.faq_item_bg02 {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
    top: 0;
    left: 0;
    z-index: -1;
}
.faq_item_bg01 span {
    position: absolute;
    width: 742px;
    height: 635px;
    right: 50%;
    margin-right: -89rem;
    top: 50%;
    transform: translateY(-50%);
}
.faq_item_bg02 span:nth-child(1) {
    position: absolute;
    width: 684px;
    height: 756px;
    left: 50%;
    margin-left: -113.6rem;
    top: -39.3rem;
}
.faq_item_bg02 span:nth-child(2) {
    position: absolute;
    width: 742px;
    height: 635px;
    right: 50%;
    margin-right: -120rem;
    bottom: -38rem;
}
@media only screen and (max-width: 768px) {
    .faq_item_ttl h2 {
        font-size: 2.4rem;
        margin-bottom: 2rem;
    }
    .faq_item {
        padding: 4rem 0;
    }
    .faq_item dl {
        margin-bottom: 2rem;
    }
    .faq_item dt {
        font-size: 1.6rem;
        padding-bottom: 2rem;
        padding-left: 3rem;
        padding-right: 3rem;
    }
    .faq_item dt::before {
        width: 2rem;
        top: 1.5rem;
    }
    .faq_item dt::after {
        height: 2rem;
        right: 1rem;
        top: 0.6rem;
    }
    .faq_item dt .en {
        font-size: 2.5rem;
        margin-right: 20px;
        position: absolute;
        left: 0;
        top: -.6rem;
    }
    .faq_item dd {
        padding: 0 0 2.5rem 3rem;
    }
    .faq_item dd::before {
        font-size: 2.5rem;
        top: -.5rem;
    }
    .faq_item_bg01 span {
        position: absolute;
        width: 50rem;
        height: 4.28rem;
        right: auto;
        margin-right: 0;
        left: 7.5rem;
        top: 0;
    }
    .faq_item_bg02 span:nth-child(1) {
        width: 40.6rem;
        height: 45rem;
        margin-left: -38.3rem;
        top: -32rem;
    }
    .faq_item_bg02 span:nth-child(2) {
        width: 63rem;
        height: 54rem;
        right: auto;
        margin-right: 0;
        left: 9rem;
        bottom: -27rem;
    }
}




