.gap_func_sub .section_main{
    gap: 64px;
}

@media screen and (max-width:780px) {
    /* .gap_func_sub .section_main {
        gap: 32px;
    } */
}

.gap_func_sub_v2 .section_main{
    gap: 64px;
}

@media screen and (max-width:780px) {
    .gap_func_sub_v2 {
        padding-top: 112px;
    }
    .gap_func_sub_v2 .section_main {
        gap: 32px;
    }
}


.section_sub_title{

}
.section_sub_title p{
    margin: 0;
    color: #0E203B;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    line-height: 170%; /* 23.8px */
}

/* subpage title custom  */
.section_title{

}
.section_title span{
    
}
.section_title h2{
    
}
.section_title h2 .sp_br{
    display: none;
}

@media screen and (max-width:780px) {
    .section_title h2{
        font-size: 28px;
        line-height: 160%; /* 44.8px */
        letter-spacing: 2.24px;
    }
}

@media screen and (max-width:600px) {
    .section_title h2 .sp_br{
        display: block;
    }
}


/* subpage title custom v2 */
.section_title_v2{

}
.section_title_v2 h2{
    font-feature-settings: unset;
}
.section_title_v2 h2 .sp_br{
    display: none;
}

@media screen and (max-width:880px) {
    .section_title_v2 h2 .sp_br{
        display: block;
    }
}

@media screen and (max-width:780px) {
    .section_title_v2 h2 {
        font-size: 20px;
        line-height: 160%; /* 32px */
    }
    .m_opt_margin{
        margin-top: 50px;
    }
}


/* fv */
.func_sub_fv .cont_main{
    max-width: 1440px;
}
.func_sub_fv .cont_main .fv_cols{
    max-width: 1220px;
    gap: 64px;
}
.func_sub_fv .cont_main .fv_cols .fv_imgbox{
    max-width: 602px;
}
.func_sub_fv .cont_main .fv_cols .fv_imgbox .monitor_div img{
    max-width: 602px;
}
.func_sub_fv .cont_main .fv_cols .fv_imgbox .fv_main_img{
    max-width: 602px;
}
.func_sub_fv .cont_main .fv_cols .fv_imgbox .bg_img{
    max-width: 500px;
    top: -68px;
    z-index: 0;
}

.func_sub_fv .cont_main .fv_cols .fv_txtbox > h1{
    margin: 0;
    font-size: 34px;
    line-height: 160%; /* 54.4px */
    letter-spacing: 1.02px;
}
.func_sub_fv .cont_main .fv_cols .fv_txtbox > p{
    margin: 0;

    color: #0E203B;
    font-size: 16px;
    font-weight: 400;
    line-height: 170%; /* 27.2px */

    font-feature-settings: unset;
}

.fv_imgbox{
    display: flex;
    gap: 5px;
    align-items: center;
    align-self: center;
    flex-direction: column-reverse;
}
.fv_imgbox .mimg{
    display: flex;
    max-width: 680px;
    width: 100%;
    position: relative;
    justify-content: center;
}
.fv_imgbox .mimg img{
    display: block;
    width: 100%;
    height: auto;
}
.fv_imgbox .mimg video{
    display: block;
    width: 100%;
    height: auto;
    margin: 0 !important;
}

.fv_imgbox .mimg .monitor_div{
    z-index: 1;
}

.fv_imgbox .mimg .monitor_div img{

}

.fv_imgbox .mimg .video_div{
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: center;
    align-self: center;
    z-index: 1;
}

.fv_imgbox .mimg .video_div video{
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    margin: 0 !important;
}

.fv_imgbox .mimg .video_div .video_area{
    position: relative;
    width: 86.6%;
    display: flex;
    align-self: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 451 / 254.95;
}
.fv_imgbox .mimg .video_div .video_area img{
    display: block;
    width: 86%;
    height: auto;
}
.fv_imgbox .mimg .fv_bg_circles{
    position: absolute;
    right: -5%;
    z-index: 3;
    top: 0;
    height: 75%;
    align-self: anchor-center;
    display: flex;
    align-items: flex-start;
    width: 100%;
    justify-content: flex-end;
}
.fv_imgbox .mimg .fv_bg_circles img{
    display: block;
    width: 17%;
    height: auto;
    max-width: 104px !important;
    aspect-ratio: 104 / 104;
}
.fv_imgbox .mimg .fv_bg_lines{

}
.fv_imgbox .mimg .fv_bg_lines img{
    display: block;
    width: 100%;
    height: auto;
}
.fv_imgbox .mimg .circle2{
    right: unset;
    left: 0%;
    align-items: self-end;
    justify-content: left;
}
.fv_imgbox .mimg .circle2 img{
    max-width: 109px !important;
    aspect-ratio: 109 / 72;
}


@media screen and (max-width:880px) {
    .func_sub_fv {
        padding-bottom: 48px;
    }
    .func_sub_fv .cont_main .fv_cols .fv_txtbox > h1 {
        font-size: 30px;
        line-height: 160%;
        letter-spacing: 0.9px;
    }
}
@media screen and (max-width:780px) {
    .func_sub_fv .cont_main .fv_cols{
        gap: 32px;
    }
    .func_sub_fv .cont_main .fv_cols .fv_txtbox > h1 {
        text-align: center;
    }
    .func_sub_fv .cont_main .fv_cols .fv_txtbox > p br{
        display: none;
    }
    .func_sub_fv .cont_main .fv_cols .fv_txtbox .blue_btn_n {
        align-self: center;
    }
    /* .fv_imgbox .mimg .fv_bg_circles img{
        max-width: 60px !important;
        aspect-ratio: 60 / 60;
    } */
}
@media screen and (max-width:500px) {
    .func_sub_fv .cont_main .fv_cols .fv_txtbox > h1 {
        font-size: 22px;
        letter-spacing: 0.66px;
    }
    .func_sub_fv .cont_main .fv_cols .fv_txtbox > p {
        font-size: 14px;
        line-height: 170%; /* 23.8px */
    }
    .func_sub_fv .cont_main .fv_cols .fv_txtbox > p .sp_br{
        display: block;
    }
}

.func_sub_cols{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    width: 100%;
    max-width: 1200px;
    gap: 48px;
}
.func_sub_cols .func_sub_col_itm{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 32px 24px;
    gap: 24px;
    border-radius: 12px;
    background: #FFF;
    box-shadow: 0px 0px 18px 0px rgba(42, 87, 154, 0.15);
    position: relative;
}
.func_sub_cols .func_sub_col_itm .imgbox{
    
}
.func_sub_cols .func_sub_col_itm .imgbox img{
    max-width: 200px;
}
.func_sub_cols .func_sub_col_itm .txtbox{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.func_sub_cols .func_sub_col_itm .txtbox h3{
    margin: 0;
    color: #0E203B;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 160%; /* 28.8px */
}
.func_sub_cols .func_sub_col_itm .txtbox p{
    margin: 0;
    color: #0E203B;
    text-align: justify;
    font-size: 14px;
    font-weight: 400;
    line-height: 170%; /* 23.8px */
    font-feature-settings: unset;
}
.func_sub_cols .func_sub_col_itm svg{
    position: absolute;
    bottom: -40px;
}

/* bluetype cols item */
.func_sub_col_itm_blue{
    border-radius: 12px;
    background: #2A579A;
    box-shadow: 0px 0px 18px 0px rgba(42, 87, 154, 0.15);

    display: flex;
    gap: 24px;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px;
    padding-top: 0;

    position: relative;
}
.tf_page3_custom{
    position: relative;
    margin-top: 40px;
}
.tf_page3_custom .tf_page3_step_lbl{
    color: #2A579A;
    text-align: center;
    font-family: Overpass;
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: 130%; /* 20.8px */
    position: absolute;
    top: -40px;
}
.tf_page3_custom .tf_page3_step_lbl span{
    color: #2A579A;
    font-family: Overpass;
    font-size: 30px;
    font-weight: 800;
    line-height: 130%;
}
.func_sub_col_itm_blue > span{
    color: #2A579A;
    font-size: 13px;
    font-weight: 900;
    line-height: normal;

    border-radius: 0px 0px 8px 8px;
    background: #FFF;

    display: flex;
    max-width: 270px;
    height: 36px;
    justify-content: center;
    align-items: center;
    gap: 16px;
    width: 100%;
}
.func_sub_col_itm_blue .imgbox{
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    overflow: hidden;
}
.func_sub_col_itm_blue .txtbox {
    display: flex;
    flex-direction: column;
    gap: 24px;
    color: #FFF;
}
.func_sub_col_itm_blue .txtbox h3{
    margin: 0;
    text-align: center;
    font-size: 19px;
    font-weight: 700;
    line-height: 160%; /* 32px */
}
.func_sub_col_itm_blue .txtbox p{
    margin: 0;
    text-align: justify;
    font-size: 14px;
    font-weight: 400;
    line-height: 170%; /* 23.8px */
    text-align: left;
    font-feature-settings: unset;
}

@media screen and (max-width:1020px) {
    .func_sub_cols{
        gap: 24px;
    }
}

@media screen and (max-width:880px) {
    .func_sub_cols{
        grid-template-columns: repeat(1,1fr);
    }
    .func_sub_cols .func_sub_col_itm svg {
        display: none;
    }
    .func_sub_cols .func_sub_col_itm:nth-child(3) svg {
        display: block;
        bottom: -80px;
    }
}


.func_sub_cols_v2{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    width: 100%;
    max-width: 1200px;
    gap: 32px;
}
.func_sub_cols_v2 .func_sub_col_itm{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 32px 24px;

    gap: 24px;
    border-radius: 12px;
    background: #FFF;
    box-shadow: 0px 0px 18px 0px rgba(42, 87, 154, 0.15);
}
.func_sub_cols_v2 .func_sub_col_itm .imgbox{
    display: flex;
    justify-content: center;
    align-items: center;
}
.func_sub_cols_v2 .func_sub_col_itm .imgbox img{
    max-width: 72px;
}
.func_sub_cols_v2 .func_sub_col_itm .txtbox{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.func_sub_cols_v2 .func_sub_col_itm .txtbox h3{
    margin: 0;
    color: #0E203B;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 160%; /* 28.8px */
}
.func_sub_cols_v2 .func_sub_col_itm .txtbox p{
    margin: 0;
    color: #0E203B;
    text-align: justify;
    font-size: 14px;
    font-weight: 400;
    line-height: 170%; /* 23.8px */
    font-feature-settings: unset;
}

@media screen and (max-width:1023px) {
    .func_sub_cols_v2{
        grid-template-columns: repeat(2,1fr);
        gap: 24px;
    }
}
@media screen and (max-width:600px) {
    .func_sub_cols_v2{
        grid-template-columns: repeat(1,1fr);
    }
}


.func_section_list_cols{
    display: flex;

    width: 100%;
    max-width: 1200px;

    border-radius: 18px;
    background: #FFF;

    padding-top: 80px;
    padding-bottom: 80px;
    justify-content: center;
}
.func_section_list_cols .func_section_list_cols_main{
    display: flex;
    width: 93.334%;
}
.func_section_list_cols .func_section_list_cols_main .func_section_list_title{
    width: 100%;
    display: flex;
    flex-direction: column;
    max-width: 198px;
    gap: 16px;
}
.func_section_list_cols .func_section_list_cols_main .func_section_list_title h2{
    color: #0E203B;
    font-size: 30px;
    font-weight: 900;
    line-height: 160%; /* 48px */
    letter-spacing: 2.4px;
    margin: 0;
}
.func_section_list_cols .func_section_list_cols_main .func_section_list_title span{
    color: #0E203B;
    font-size: 13px;
    font-weight: 400;
    line-height: 170%; /* 22.1px */
    max-width: 169px;
    font-feature-settings: unset;
}
.func_section_list_cols .func_section_list_cols_main .ul_func_lists{
    display: flex;
}

.func_section_list_cols .func_section_list_cols_main ul{
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
    margin: 0;
    padding: 0;
    width: 100%;
}
.func_section_list_cols .func_section_list_cols_main ul li{
    display: flex;
    border-radius: 12px;
    background: #EAF0F7;
    padding: 8px;
    gap: 16px;
    align-items: center;
}
.func_section_list_cols .func_section_list_cols_main ul li > div{
    display: flex;
    border-radius: 8px;
    background: #FFF;
    align-items: center;
    width: 70px;
    height: 70px;
    justify-content: center;
}
.func_section_list_cols .func_section_list_cols_main ul li > div img{
    max-width: 40px;
}
.func_section_list_cols .func_section_list_cols_main ul li > span{
    color: #0E203B;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 160%; /* 25.6px */
}

@media screen and (max-width:880px) {
    .func_section_list_cols .func_section_list_cols_main {
        flex-direction: column;
        gap: 32px;
    }

    .func_section_list_cols .func_section_list_cols_main .ul_func_lists{

    }
    .func_section_list_cols .func_section_list_cols_main ul li{
        width: 253px;
    }
    .func_section_list_cols .func_section_list_cols_main ul {
        width: 922px;
        overflow: scroll;
    }
}

.func_sub_cols_v3{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    width: 100%;
    max-width: 1200px;
    gap: 32px;

    list-style: none;
    margin: 0;
    padding: 0;
}
.func_sub_cols_v3 li{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    justify-content: center;
    gap: 24px;
    border-radius: 12px;
    height: 100px;
    background: #FFF;
    box-shadow: 0px 0px 18px 0px rgba(42, 87, 154, 0.15);
}
.func_sub_cols_v3 li img{
    width: revert-layer;
}

@media screen and (max-width:880px) {
    .func_sub_cols_v3{
        grid-template-columns: repeat(3,1fr);
        gap: 32px;
    }
}
@media screen and (max-width:580px) {
    .func_sub_cols_v3{
        gap: 8px;
    }
    .func_sub_cols_v3 li{
        height: 44px;
    }
    .func_sub_cols_v3 li img {
        width: 50%;
    }
}


/* よくある質問 */
.faq_cols{
    display: flex;
    width: 100%;
    justify-content: center;
    max-width: 1200px;
    gap: 48px;
}
.faq_cols .faq_cols_title{
    
}
.faq_cols .faq_cols_title h2{
    color: #0E203B;
    font-size: 30px;
    font-weight: 900;
    line-height: 160%; /* 48px */
    margin: 0;
}

.faq_cols_lists {
    display: flex;
    max-width: 942px;
    width: 100%;
    justify-content: center;
    flex-direction: column;
}

.faq_cols_lists .ques{
    border-bottom:  1px solid rgba(14, 32, 59, 0.10);
}

.faq_cols_lists .ques .quesdiv{ 
    display: flex;
    padding: 24px;
    align-items: center;
    gap: 16px;
    align-self: stretch;
    border-radius: 5px;
    position: relative;
    cursor: pointer;
}
.faq_cols_lists .ques:nth-child(1) .quesdiv{
    padding-top: 0px;
}

.faq_cols_lists .ques .quesdiv .qb{
    display: flex;
    align-self: center;
}

.faq_cols_lists .ques .quesdiv .qb span{

    color: #488DDF;
    font-family: Overpass;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 20.8px */
}

.faq_cols_lists .ques .quesdiv .qbt{
    width: 80%;

    color: #0E203B;
    font-size: 14px;
    font-weight: 400;
    line-height: 160%; /* 22.4px */
}

.faq_cols_lists .ques .quesdiv .arr{
    position: absolute;
    right: 24px;
    width: 24px;
    /* top: 24px;*/
    height: 24px; 
    background-image: url(../images/tabler-icon-plus.png);
    background-size: contain;
}

.faq_cols_lists .ques .quesdiv .arr.active{
    /* position: absolute; */
    right: 24px;
    width: 24px;
    /* top: 24px; */
    height: 24px;
    background-image: url(../images/tabler-icon-minus.png);
    background-size: contain;
}

.faq_cols_lists .ques .quesval{ 
    display: none;
    /* display: block; */
    border-radius: 5px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    /* transition: all .3s;
    transform: translateY(0px); */
    overflow: hidden;
    /* padding: 24px; */
    height: auto;
    /* padding-top: 8px; */
    
}
.faq_cols_lists .ques .quesval .quesval_inner{
    display: flex;
    padding: 24px;
    padding-top: 0;
    gap: 16px;
}

.faq_cols_lists .ques .quesval .abtt{
    /* position: absolute; */
}
.faq_cols_lists .ques .quesval .abtt span{
    color: #3BC7B4;
    font-family: Overpass;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 20.8px */
}

.faq_cols_lists .ques .quesval > span{ 
    color: #62656B;
    text-align: justify;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 170%; /* 27.2px */
    letter-spacing: 0.48px;

    display: block;
    padding: 24px;
    padding-top: 8px;
}
.faq_cols_lists .ques .quesval .quesval_inner .lgr_abtlist{
    display: flex;
    flex-direction: column;
    width: 89.263%;
}
.faq_cols_lists .ques .quesval .quesval_inner > span{
    width: 89.263%;
}
.faq_cols_lists .ques .quesval .quesval_inner > span,
.faq_cols_lists .ques .quesval .quesval_inner .lgr_abtlist span,
.faq_cols_lists .ques .quesval .quesval_inner .lgr_abtlist ul li{
    color: #0E203B;
    font-size: 14px;
    font-weight: 400;
    line-height: 150%; /* 21px */
}

@media screen and (max-width:880px) {
    .faq_cols {
        gap: 64px;
        flex-direction: column;
    }
}

@media screen and (max-width: 700px){
    .faq_cols_lists .ques .quesdiv span {
        font-size: 16px;
    }
    .faq_cols_lists .ques .quesval > span{ 
        font-size: 14px;
        line-height: 170%;
    }
    .faq_cols_lists .ques .quesdiv .qbt{
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 150%; /* 24px */
        letter-spacing: 0.48px;
    }
    .faq_cols_lists .ques .quesdiv .arr,
    .faq_cols_lists .ques .quesdiv .arr.active {
        width: 20px;
        top: 28px;
        height: 20px;
    }
}

/* 機能の活用事例をご紹介 */
/* slick slider company card custom ..  */
.feature_sub_case_section{
    padding-bottom: 0;
}
.feature_sub_case_section .section_main{
    width: 100%;
}
.feature_sub_case_section .slick-next, .slick-prev{
    display: none !important;
}
.feature_sub_case_section .slider-container {
    max-width: 1250px;
    width: 100%;
    /* padding: 0 15px;   */
    box-sizing: border-box;
    /* margin-top: 64px;
    margin-bottom: 104px; */
}
.feature_sub_case_section .slick-slide {
    width: 340px;
    max-width: 100%;
    box-sizing: border-box;
}
.feature_sub_case_section .slick-slide > .item {
    margin: 0 15px;  
}
.feature_sub_case_section .feature_usecase_slider .item {
    display: flex;
    width: 100%;
    margin: 20px 24px;
    flex-direction: column;
    gap: 24px;
    /* max-width: 340px; */
}
.feature_sub_case_section .feature_usecase_slider .item .use_imgbox{
    border-radius: 12px;
    aspect-ratio: 368 / 207;
    background: #CFCFCF;
    box-shadow: 0px 0px 18px 0px rgba(42, 87, 154, 0.15);
}
.feature_sub_case_section .feature_usecase_slider .item .use_imgbox img {
    border-radius: 12px;
    object-fit: cover;
    /* min-height: 208px; */
    aspect-ratio: 368 / 207;
}

.feature_sub_case_section .feature_usecase_slider .item .optcl_re_size{
    overflow: hidden;
    background: unset;
}
.feature_sub_case_section .feature_usecase_slider .item .optcl_re_size img{
    aspect-ratio: 351 / 218;
}

.feature_sub_case_section .feature_usecase_slider .item .optcustomlogo_re_size{
    overflow: hidden;
    background: #fff;
    align-content: center;
    justify-items: center;
}
.feature_sub_case_section .feature_usecase_slider .item .optcustomlogo_re_size img{
    object-fit: contain;
    width: 90%;
}


.feature_sub_case_section .feature_usecase_slider .item .use_txtbox{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.feature_sub_case_section .feature_usecase_slider .item .use_txtbox > div{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.feature_sub_case_section .feature_usecase_slider .item .use_txtbox > div span{
    color: rgba(14, 32, 59, 0.50);
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 12px;
    font-weight: 700;
    line-height: 130%; /* 15.6px */
}
.feature_sub_case_section .feature_usecase_slider .item .use_txtbox > div h3{
    margin: 0;

    color: #0E203B;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 16px;
    font-weight: 700;
    line-height: 160%; /* 25.6px */
}
.feature_sub_case_section .feature_usecase_slider .item .use_txtbox > p{
    margin: 0;

    color: #0E203B;
    font-size: 14px;
    font-weight: 400;
    line-height: 170%; /* 23.8px */
    font-feature-settings: unset;
    text-align: justify;
}

@media (max-width: 1020px) {
    .feature_sub_case_section .slick-slide {
        width: 300px;  
    }
    .feature_sub_case_section .feature_usecase_slider .item {
        margin: 20px 12px;
    }
}
@media (max-width: 720px) {
    .feature_sub_case_section .slick-slide > .item {
        margin: 0 0px;  
    }
    .feature_sub_case_section .slick-list {
        margin-left: 0px;  
        padding: 0px 16px;
    }
}