/*---------------------------------

  共通

---------------------------------*/


@media screen and (max-width:1023px){

}
@media screen and (max-width:767px){

}

/*---------------------------------

  bloc_faq_detail

---------------------------------*/

.bloc_faq_detail{
    padding: 130px 0;
}
.bloc_faq_detail .title{
    width: 100%;
    max-width: 1000px;
    padding: 20px;
    margin: auto;
    border-bottom: 5px dashed var(--main);
    font-size: 32px;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: .05em;
}

.bloc_faq_detail .box{
    width: 100%;
    max-width: 1000px;
    padding: 40px 60px;
    margin: 50px auto 0;
    background: #fff;
    border-radius: 30px;
}

.bloc_faq_detail .btn_index{
    margin: 60px auto 0;
}

@media screen and (max-width:767px){

    .bloc_faq_detail{
        padding: 65px 0;
    }
    .bloc_faq_detail .title{
        width: 100%;
        max-width: 1000px;
        padding: 15px;
        margin: auto;
        border-bottom: 3px dashed var(--main);
        font-size: 24px;
    }
    .bloc_faq_detail .box{
        padding: 40px 5%;
        margin: 50px auto 0;
        border-radius: 30px;
    }    

}

/*---------------------------------

  detail

---------------------------------*/

/*大見出し*/
.detail .detail_title{
    margin: 0;
    font-size: 32px;
}
/*中見出し*/
.detail .detail_sub_title{
    color: var(--main);
    font-size: 24px;
    font-weight: 700;
}

/*文章*/
.detail .text{

}

/*リスト1*/
.detail .list1 li{
    position: relative;
    padding: 0px 0 0px 20px;
}
.detail .list1 li::before{
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    background: var(--main);
    border-radius: 50%;
}

/*リスト2*/
.detail .list2 dt{
    position: relative;
    padding: 0 0 0 20px;
    font-size: 20px;
}
.detail .list2 dt::before{
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    background: var(--main);
    border-radius: 50%;
}
.detail .list2 dd{
    margin: 16px 0 0;
}

/*画像*/
.detail .sub_img{
    margin: 0 auto;
    max-width: 600px;
}

/*文章+画像*/
.detail .text_img{
    gap: 40px;
    flex-direction: row-reverse;
}
.detail .text_img .pic{
    width: calc(30% - 20px);
}
.detail .text_img .txt{
    width: calc(70% - 20px);
}

.detail .links a{
    color: var(--main);
}


.detail * + .detail_title,
.detail * + .detail_sub_title,
.detail * + .text,
.detail * + .text_free,
.detail * + .list1,
.detail * + .list2,
.detail * + .sub_img,
.detail * + .movie,
.detail * + .text_img,
.detail * + .links{
    margin-top: 48px;
}

@media screen and (max-width:767px){
 
    /*大見出し*/
    .detail .detail_title{
        font-size: 26px;
    }
    /*中見出し*/
    .detail .detail_sub_title{
        font-size: 20px;
    }
    
    /*リスト2*/
    .detail .list2 dt{
        font-size: 18px;
    }
    
    .detail * + .detail_title,
    .detail * + .detail_sub_title,
    .detail * + .text,
    .detail * + .text_free,
    .detail * + .list1,
    .detail * + .list2,
    .detail * + .sub_img,
    .detail * + .movie,
    .detail * + .text_img,
    .detail * + .links{
        margin-top: 28px;
    }
    
}


/*---------------------------------

  bloc_faq

---------------------------------*/

.bloc_faq{
    padding: 130px 0 300px;
}
.bloc_faq .inner + .inner{
    margin-top: 150px;
}
.bloc_faq .faq_list dt{
    position: relative;
    display: block;
    padding: 30px 20px 30px 100px;
    scroll-margin-top: 80px; /* ずらしたい分 */
    background: #fff;
    border: 1px solid var(--text);
    border-radius: 20px;
}

.bloc_faq .faq_list dt:not(:first-of-type){
    margin-top: 60px;
}
.bloc_faq .faq_list dt .en{
    position: absolute;
    top: calc(50% - 28px);
    left: 20px;
    color: var(--main);
    font-size: 48px;
    line-height: 1;
}
.bloc_faq .faq_list dd{
    padding: 30px 20px 30px 100px;
    background: #fff;
    border: 1px solid var(--text);
    border-top: none;
    border-radius: 0 0 20px 20px;
}
@media screen and (max-width:767px){
    
    .bloc_faq{
        padding: 65px 0 150px;
    }

    .bloc_faq .faq_list dt{
        padding: 30px 20px 30px 70px;
        scroll-margin-top: 100px; /* ずらしたい分 */
    }

    .bloc_faq .faq_list dt .en{
        font-size: 40px;
    }
    .bloc_faq .faq_list dd{
        padding: 30px 20px 30px 70px;
    }
    
}
