.ll-faq-section,
.ll-faq-section *{
    box-sizing:border-box;
}

.ll-faq-section{
    width:100%;
    position:relative;
    overflow:hidden;
    padding:72px 24px 72px;
    background:#fff;
    color:#07162d;
    font-family:inherit;
}

.ll-faq-inner{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    display:grid;
    grid-template-columns:300px minmax(0, 1fr);
    gap:48px;
    align-items:start;
}

.ll-faq-title{
    width:100%;
}

.ll-faq-title h2{
    margin:0;
    color:#000;
    font-size:40px;
    line-height:1.35;
    font-weight:900;
    letter-spacing:-0.055em;
    word-break:keep-all;
}

.ll-faq-list{
    width:100%;
    border-top:0;
}

.ll-faq-item{
    width:100%;
    border-bottom:1px solid #cfd5df;
}

.ll-faq-question{
    width:100%;
    min-height:113px;
    padding:0 0;
    border:0;
    background:transparent;
    display:flex;
    align-items:center;
    gap:22px;
    text-align:left;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}

.ll-faq-question:focus{
    outline:none;
}

.ll-faq-question:focus-visible{
    outline:2px solid rgba(8,105,249,.32);
    outline-offset:4px;
    border-radius:10px;
}

.ll-faq-question-text{
    display:block;
    flex:1;
    min-width:0;
    color:#071b3a;
    font-size:30px;
    line-height:1.35;
    font-weight:900;
    letter-spacing:-0.05em;
    word-break:keep-all;
}

.ll-faq-arrow{
    position:relative;
    flex:0 0 50px;
    width:50px;
    height:50px;
    display:block;
}

.ll-faq-arrow:before,
.ll-faq-arrow:after{
    content:"";
    position:absolute;
    top:50%;
    width:13px;
    height:3px;
    background:#000;
    border-radius:999px;
    transition:transform .28s cubic-bezier(.22,.61,.36,1);
}

.ll-faq-arrow:before{
    left:14px;
    transform:translateY(-50%) rotate(45deg);
}

.ll-faq-arrow:after{
    right:14px;
    transform:translateY(-50%) rotate(-45deg);
}

.ll-faq-item.is-open .ll-faq-arrow:before{
    transform:translateY(-50%) rotate(-45deg);
}

.ll-faq-item.is-open .ll-faq-arrow:after{
    transform:translateY(-50%) rotate(45deg);
}

.ll-faq-answer{
    height:0;
    overflow:hidden;
    opacity:0;
    transform:translateY(-6px);
    transition:
        height .36s cubic-bezier(.22,.61,.36,1),
        opacity .22s ease,
        transform .3s cubic-bezier(.22,.61,.36,1);
    will-change:height, opacity, transform;
}

.ll-faq-item.is-open .ll-faq-answer{
    opacity:1;
    transform:translateY(0);
}

.ll-faq-answer-inner{
    padding:0 0 34px 72px;
    max-width:760px;
    color:rgba(7,27,58,.72);
    font-size:17px;
    line-height:1.78;
    font-weight:500;
    letter-spacing:-0.035em;
    word-break:keep-all;
}

/* PC */
@media (min-width:1200px){
    .ll-faq-section{
        padding-top:78px;
        padding-bottom:78px;
    }
}

/* 태블릿 */
@media (max-width:1024px){
    .ll-faq-section{
        padding:64px 28px;
    }

    .ll-faq-inner{
        grid-template-columns:260px minmax(0, 1fr);
        gap:36px;
    }

    .ll-faq-title h2{
        font-size:34px;
    }

    .ll-faq-question{
        min-height:96px;
        gap:18px;
    }

    .ll-faq-question-text{
        font-size:25px;
    }

    .ll-faq-arrow{
        flex-basis:42px;
        width:42px;
        height:42px;
    }

    .ll-faq-arrow:before{
        left:11px;
    }

    .ll-faq-arrow:after{
        right:11px;
    }

    .ll-faq-answer-inner{
        padding-left:60px;
    }
}

/* 모바일 */
@media (max-width:768px){
    .ll-faq-section{
        padding:18px 22px 54px;
    }

    .ll-faq-inner{
        display:block;
        max-width:100%;
    }

    .ll-faq-title{
        margin-bottom:24px;
    }

    .ll-faq-title h2{
        font-size:28px;
        line-height:1.32;
        letter-spacing:-0.055em;
    }

    .ll-faq-question{
        min-height:76px;
        gap:12px;
    }

    .ll-faq-question-text{
        font-size:19px;
        line-height:1.42;
        letter-spacing:-0.045em;
    }

    .ll-faq-arrow{
        flex:0 0 34px;
        width:34px;
        height:34px;
    }

    .ll-faq-arrow:before,
    .ll-faq-arrow:after{
        width:10px;
        height:2.4px;
    }

    .ll-faq-arrow:before{
        left:9px;
    }

    .ll-faq-arrow:after{
        right:9px;
    }

    .ll-faq-answer-inner{
        padding:0 0 24px 46px;
        font-size:15px;
        line-height:1.7;
    }
}

/* 작은 모바일 */
@media (max-width:420px){
    .ll-faq-section{
        padding-left:18px;
        padding-right:18px;
    }

    .ll-faq-title h2{
        font-size:25px;
    }

    .ll-faq-question{
        min-height:70px;
    }

    .ll-faq-question-text{
        font-size:17px;
    }

    .ll-faq-answer-inner{
        padding-left:44px;
        font-size:14px;
    }
}