@charset "utf-8";


.secCmnTit {
    background: url(../img/faq/bgCmnTit.jpg) center top no-repeat;
}

@media only screen and (max-width:767px){
    .secCmnTit {
        background: url(../img/faq/bgCmnTit_sp.jpg) center top / cover;
    }
}

/* secTop */
.secTop{
    margin-top: 46px;
}
.secTop .topList{
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 20px;
}
.secTop .topItem{
    width: calc((100% - 60px) / 4);
}
.secTop .topInner{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border: solid 1px #30353a;
    text-decoration: none;
    color: #30353a;
    height: 88px;
    padding: 10px 10px 20px;
}
.secTop .topInner::after{
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    border-bottom: solid 2px #30353a;
    border-right: solid 2px #30353a;
    bottom: 20px;
    left: calc(50% - 4px);
    transform: rotate(45deg);
}
.secTop .topTxt{
    font-size: 16px;
    line-height: calc(26/16);
    letter-spacing: 0.5px;
    text-align: center;
    font-weight: bold;
}
@media only screen and (max-width:767px){
    .secTop{
        margin-top: 40px;
    }
    .secTop .topList{
        flex-wrap: wrap;
        gap: 15px 9px;
    }
    .secTop .topItem{
        width: calc((100% - 9px) / 2);
    }
    .secTop .topInner{
        height: auto;
        min-height: 73px;
        padding: 9px 5px 18px;
        align-items: normal
    }
    .secTop .topInner::after{
        width: 10px;
        height: 10px;
        border-bottom: solid 2px #30353a;
        border-right: solid 2px #30353a;
        bottom: 15px;
        left: calc(50% - 5px);
    }
    .secTop .topTxt{
        font-size: 12px;
        line-height: calc(16/12);
        height: 32px;
        display: flex;
        align-items: center;
    }
}
@media only screen and (max-width:359px){
    .secTop .topTxt{
        font-size: 11px;
        letter-spacing: normal;
    }
}
/*  secFaq  */
.secFaq .listItem{
    padding-top: 80px;
}
.secFaq .topTit{
    font-size: 32px;
    letter-spacing: 0.5px;
    font-weight: bold;
    text-align: center;
}
.secFaq .subFaqList{
    margin-top: 47px;
}
.secFaq .subFaqList .subFaqItem{
    margin-top: 50px;
}
.secFaq .subFaqList .titBox:hover{
    opacity:0.8;
    cursor: pointer;
}
.secFaq .subFaqList .subFaqItem:first-child{
    margin-top: 0;
}
.secFaq .titBox{
    position: relative;
    padding: 27px 50px 27px 30px;
    background: #f8f7f6;
    border-radius: 5px;
    transition: opacity 0.2s ease-out;
}
.secFaq .titBox::before{
    position: absolute;
    content: "";
    width: 20px;
    height: 2px;
    background: #1a1a1a;
    right: 29px;
    top: calc(50% - 1px);
    transition: opacity 0.2s ease-out;
}
.secFaq .titBox::after{
    position: absolute;
    content: "";
    width: 2px;
    height: 20px;
    background: #1a1a1a;
    right: 37px;
    top: calc(50% - 10px);
    transition: opacity 0.2s ease-out;
}
.secFaq .titBox.active::after{
    display: none;
}
.secFaq .titBox:hover:after,
.secFaq .titBox:hover:before{
    opacity:0.8;
}
.secFaq .mainTit{
    font-size: 18px;
    line-height: calc(26/18);
    font-weight: bold;
    position: relative;
    padding-left: 58px;
}
.secFaq .mainTit::after{
    position: absolute;
    content: "";
    width: 35px;
    height: 35px;
    left: 0;
    top: calc(50% - 17.5px);
}
.secFaq .mainTit.lazyloaded::after{
    background: url(../img/faq/iconQ.png) center top / cover;
}
.secFaq .txtBox{
    padding: 22px 50px 0 30px;
    display: none;
}
.secFaq .txt{
    font-size: 16px;
    line-height: calc(32/16);
    position: relative;
    padding-left: 58px;
}
.secFaq .txt::after{
    content: "";
    width: 35px;
    height: 35px;
    position: absolute;
    left: 0;
    top: -2px;
}
.secFaq .txt.lazyloaded::after{
    background: url(../img/faq/iconA.png) center top / cover;
}
.secFaq .faqInner{
    display: inline-block;
    min-width: 300px;
    padding: 20px 40px 18px 30px;
    border: 1px solid #30353a;
    position: relative;
    font-size: 14px;
    line-height: calc(26/14);
    font-weight: bold;
    text-decoration: none;
    color: #008de9;
    transition: opacity 0.2s ease-out;
    margin: 20px 0 0 58px;
}
.secFaq .faqInner:hover{
    opacity:0.8;
    cursor: pointer;
}
.secFaq .faqInner::after{
    content: "";
    width: 8px;
    height: 12px;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}
.secFaq .faqInner.lazyloaded::after{
    background: url(../img/faq/iconArrow.png) center top / cover;
}
@media only screen and (max-width:767px){
    .secFaq .listItem{
        padding-top: 50px;
    }
    .secFaq .topTit{
        font-size: 18px;
        letter-spacing: 0;
    }
    .secFaq .subFaqList{
        margin-top: 28px;
    }
    .secFaq .subFaqList .subFaqItem{
        margin-top: 30px;
    }
    .secFaq .subFaqList .subFaqItem:first-child{
        margin-top: 0;
    }
    .secFaq .titBox{
        padding: 16px 47px 14px 15px;
    }
    .secFaq .titBox::before{
        width: 14px;
        height: 2px;
        right: 15px;
        top: calc(50% - 1px);
    }
    .secFaq .titBox::after{
        width: 2px;
        height: 14px;
        right: 21px;
        top: calc(50% - 7px);
    }
    .secFaq .mainTit{
        font-size: 12px;
        line-height: calc(22/12);
        padding-left: 40px;
    }
    .secFaq .mainTit::after{
        width: 25px;
        height: 25px;
        top: calc(50% - 12.5px);
    }
    .secFaq .mainTit.lazyloaded::after{
        background: url(../img/faq/iconQ_sp.png) center top / cover;
    }
    .secFaq .txtBox{
        padding: 19px 47px 0 15px;
    }
    .secFaq .txt{
        font-size: 12px;
        line-height: calc(18/12);
        padding-left: 40px;
    }
    .secFaq .txt::after{
        width: 25px;
        height: 25px;
        top: -2px;
    }
    .secFaq .txt.lazyloaded::after{
        background: url(../img/faq/iconA_sp.png) center top / cover;
    }
    .secFaq .faqInner{
        width: calc(100% - 30px);
        min-width: unset;
        padding: 9px 40px 8px 21px;
        font-size: 12px;
        line-height: calc(26 / 12);
        margin: 16px 0 0 30px;
    }
    .secFaq .faqInner::after{
        right: 20px;
    }
}

.secCmnBnrBox{
    margin: 100px 0 100px;
    text-align: center;
}

@media only screen and (max-width:767px){
    .secCmnBnrBox{
        margin: 80px 0 0;
    }
}