@charset "UTF-8";


#modal .modal-content{
    background: #EDECE6;
    max-width: 75rem;
}

#modal .modal-body{
    padding: 5rem 7.5rem;
}

#modal.logic_modal .modal-content{
    background: #fff;
    max-width: 52rem;
}

#modal.logic_modal .modal-body{
    padding: 5rem 4rem;
}
/* ---------------------------------- */

.support_btn,
.c-list1_btn{
    position: static;
}

.support_btn .l-head_btns,
.c-list1_btn .l-head_btns{
    padding: 0.5rem 2.4rem 0.5rem 4.3rem;
}

/* sp */
@media only screen and (max-width: 1000px) {
    .support_btn .l-head_btns,
    .c-list1_btn .l-head_btns{
        padding: 0.5rem 2.4rem 0.5rem 3.3rem;
    }    
}

/* ---------------------------------- */

.p-package_cat{
    text-align: center;
    font-size: var(--f14);
}
.p-package_cat span{
    display: inline-block;
    border: 1px solid #555555;
    border-radius: 100px;
    padding: 0.4rem 1.4rem;
    color: #555555;
    line-height: 1;
}
.p-package_ttl{
    text-align: center;
    font-size: var(--f32);
    margin-bottom: 0.5rem;
}
.p-package_mes{
    line-height: 2;
}
.p-package_amount{
    display: flex;
    align-items:center;
    justify-content:flex-end;
    margin-top: 1.3rem;
    margin-bottom: 2.3rem;
}
.p-package_amount + .p-package_amount{
    margin-top: -4rem;
}
.p-package_set{
    font-size: var(--f14);    
}
.p-package_price{
    font-size: var(--f26);
    letter-spacing: 0.02em;
    font-weight: 400;
    margin-left: 4.5rem;
    position: relative;
    z-index: 1;
}
.p-package_price:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: #BDBCB7;
    width: 1px;
    height: 2rem;
    top:0;
    bottom: 0;
    left: -2.3rem;
    margin: auto;
}
.p-package_box{
    padding: 40px 48px;

    background: #F7F7F7;
    border-top: 1px solid #252421;
    border-bottom: 1px solid #252421;

}
.p-package_box_ttl{
    font-weight: 500;
    font-size: var(--f22);
    line-height: 1.8;
    letter-spacing: 0.02em;
    text-align: center;
    margin-bottom: 1.3rem;
}
.p-package_box_list{}
.p-package_box_list li{
    position: relative;
    z-index: 1;
    padding: 0.7rem 0;
    padding-left: 8rem;
}
.p-package_box_list li:nth-child(n+2){
    border-top: 1px dashed #DEDDDD;    
}

.p-package_box_no{
    position: absolute;
    z-index: 1;
    font-size: var(--f15);
    letter-spacing: 0.03em;
    left: 0;
    font-weight: 400;
}

.p-package_box2{}

.p-package_box2 + .p-package_box2{
    margin-top: 3rem;
}

.p-package_box2_ttl{
    font-weight: 700;
    font-size: var(--f18);    
    line-height: 1.5;
    margin-bottom: 1rem;
}
.p-package_box2_list{
    font-size: var(--f15);    
    line-height: 1.5;
    letter-spacing: 0.03em;
    display: grid;
    gap: 0.8rem 0;
}
.p-package_box2_list li{
    position: relative;
    z-index: 1;
    padding-left: 24px;
}

.p-package_box2_list li:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: #000;
    width: 4px;
    height: 4px;
    top: 9px;
    left: 8px;
}

.p-package_box2_mes{
    line-height: 1.8;
}



/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    #modal .modal-content{}
    #modal .modal-body{
    padding: 3rem 2rem;
}

    #modal.logic_modal .modal-content{}

    #modal.logic_modal .modal-body{
    padding: 3rem 2rem;
}



    .p-package_cat{
    font-size: 1.2rem;
}
    .p-package_cat span{}
    .p-package_ttl{
    font-size: 2rem;
    margin-bottom: 0;
}
    .p-package_mes{
    line-height: 1.8;
}
    .p-package_amount{
    margin-top: 1.3rem;
    margin-bottom: 1.3rem;
}
    .p-package_amount + .p-package_amount{
    margin-top: -3rem;
}
    .p-package_set{
    font-size: 1.2rem;
}
    .p-package_price{
    font-size: 2rem;
    margin-left: 2.5rem;
}
    .p-package_price:before{
    left: -1.5rem;
}
    .p-package_box{
    padding: 2rem 2rem;
}
    .p-package_box_ttl{
    font-size: 1.8rem;
    margin-bottom: 1rem;
}
    .p-package_box_list{}
    .p-package_box_list li{
    padding: 0.7rem 0;
    padding-left: 4rem;
}
    .p-package_box_list li:nth-child(n+2){}
    .p-package_box_no{
    font-size: 1.3rem;
}
    .p-package_box2{}
    .p-package_box2 + .p-package_box2{
    margin-top: 2rem;
}
    .p-package_box2_ttl{
    font-size: 1.6rem;
}
    .p-package_box2_list{
    font-size: 1.3rem;
}
    .p-package_box2_list li{
    padding-left: 2rem;
}
    .p-package_box2_list li:before{
    width: .4rem;
    height: .4rem;
    top: .9rem;
    left: .4rem;
}
    .p-package_box2_mes{}
}



/*　
---------------------------------------------------------*/

.mainv{}
.mainv_inner{
    position: relative;
    z-index: 1;
    padding-top: 42rem;
    padding-bottom: 23rem;
}
.mainv_ttl{
    margin-bottom: 30rem;
    position: relative;
    z-index: 5;
    mix-blend-mode: plus-lighter;
}
.mainv_ttl_ja{
    font-size: var(--f28);
    line-height: 1;
    display: block;
}
.mainv_ttl_en{
    display: block;
    margin-top: 3.4rem;
    width: 64.8%;
}

.mainv .c-anc_list{
    position: absolute;
    top: 3rem;
    left: 0;
    flex-direction: column;
    gap: 1.2rem 2rem;
}

.mainv_ttl2{
    position: relative;
    z-index: 5;
}
.mainv_ttl2_txt1{
    font-size: var(--f32);
    line-height: 2;
    font-weight: 400;
}
.mainv_ttl2_txt2{
    font-size: var(--f56);
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.03em;
    display: block;
    margin-top: 0rem;
}
.mainv_mes{
    font-size: var(--f18);
    line-height: 2;
    margin-top: 0;
    display: grid;
    gap: 1.6rem 0;
    margin-top: 4.4rem;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 5;
}
.mainv_image{
    position: absolute;
    z-index: 1;
    width: 44.1%;
    top: 3rem;
    right: 0;
    bottom: 23rem;
}

.mainv_image_inner{
    position: sticky;
    left: 0;
    top: 5rem;
}
.mainv_img{
    width: 100%;
}
.mainv_img1{
    position: relative;
    z-index: 5;
}
.mainv_img2{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
}

.mainv_logo{
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 27%;
}


/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .mainv{}
    .mainv_inner{
    padding-top: 31rem;
    padding-bottom: 8rem;
}
    .mainv_ttl{
    margin-bottom: 13rem;
}
    .mainv_ttl_ja{
    font-size: 2rem;
}
    .mainv_ttl_en{
    margin-top: 2.4rem;
    width: 89.8%;
}
    .mainv .c-anc_list{
}
    .mainv_ttl2{}
    .mainv_ttl2_txt1{
    font-size: 2rem;
}
    .mainv_ttl2_txt2{
    font-size: 3.7rem;
}
    .mainv_mes{
    font-size: 1.5rem;
}
    .mainv_image{
    width: 58.1%;
}
    .mainv_image_inner{}
    .mainv_img{}
    .mainv_img1{}
    .mainv_img2{}
    .mainv_logo{}
}

/*　
---------------------------------------------------------*/

.about{}
.about_inner{
    padding-top: 12rem;
    padding-bottom: 16rem;
}
.about_head{
    margin-top: 14rem;
    margin-bottom: 8.5rem;
}
.about_ttl{
    font-size: var(--f42);
    margin-bottom: 2.1rem;
}
.about_mes{}
.about_zu{
    background: #e8e7e1;
    border-radius: 10px;
    padding: 7rem 0 4rem;
}
.about_zu_ttl{
    text-align: center;
    margin-bottom: 0.4rem;
}

.about_zu_ttl_txt1{
    display: inline-block;
    font-size: var(--f16);
    letter-spacing: 0.05em;
    position: relative;
    z-index: 1;
}
.about_zu_ttl_txt1:after,
.about_zu_ttl_txt1:before {
    content: "";
    z-index: 1;
    position: absolute;
    background: url(../img/common/kakko.png) 0 0 no-repeat;
    background-size: cover;
    width: .6rem;
    height: 1.8rem;
    top: 0;
    bottom: 0;
    left: -2rem;
    margin: auto;
}
.about_zu_ttl_txt1:after {
    left: auto;
    right: -2rem;
    transform: scale(-1, 1);
}


.about_zu_ttl_txt2{
    display: block;
    font-size: var(--f28);
    margin-top: 1rem;
}
.about_zu_img{margin: 0 2.3%;position: relative;z-index: 1;}

.about_zu2,
.about_zu1{
    position: absolute;
    z-index: 5;
    display: block;
    border-radius: 1000px;
    width: 39%;
    height: 86%;
}

.about_zu1{
    top: 7%;
    left: 3.4%;
}
.about_zu2{
    top: 7%;
    right: 3.4%;
}
.about_zu_txt1{
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 2vw;
    text-align: center;
    font-size: 1vw;
}


/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .about{}
    .about_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}
    .about_head{
    margin-top: 0;
    margin-bottom: 3.5rem;
}
    .about_ttl{
    font-size: 2.5rem;
    margin-bottom: 1.1rem;
}
    .about_mes{}
    .about_zu{}
    .about_zu_ttl{}
    .about_zu_ttl_txt1{
    font-size: 1.4rem;
}
    .about_zu_ttl_txt1:after,
    .about_zu_ttl_txt1:before {}
    .about_zu_ttl_txt1:after {}
    .about_zu_ttl_txt2{
    font-size: 2rem;
}
    .about_zu_img{}
    .about_zu2,
    .about_zu1{
    width: 86%;
    height: 39%;
}
    .about_zu1{
    top: 3.5%;
    left: 6.4%;
}
    .about_zu2{
    top: 57.5%;
    left: 6.4%;
}
    .about_zu_txt1{
    font-size: 1.2rem;
    bottom: 1.8rem;
}

}


/*　
---------------------------------------------------------*/

.features{}
.features_inner{
    padding-top: 12rem;
    padding-bottom: 17.4rem;
}

.features_top .c-list1_box:first-child{
    border-top: 1px dashed #252421;
    padding-top: 10rem;
}

.features_top2 .c-list1_box_head{
    width: 1px;
    margin-top: 2.3rem;
}
.features_top2 .c-list1_box{
    align-items: flex-start;
}
.features_top2 .c-list1_ttl{
    font-size: var(--f42);
    margin-bottom: 2.1rem;
}




.features_sub .c-list1_box:first-child{
    padding-top: 3.5rem;
}



/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .features{}
    .features_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}
    .features_top .c-list1_box:first-child{
    padding-top: 5rem;
}

    .features_top2 .c-list1_box_head{
        margin-top: 0;
        margin-bottom: 0;
        height: 3rem;
    }
    .features_top2 .c-list1_box{}

    .features_top2 .c-list1_ttl{
            font-size: 2.5rem;
            margin-bottom: 1.1rem;
    }
    

    .features_sub .c-list1_box:first-child{}

}

/*　
---------------------------------------------------------*/

.process{}
.process_inner{
    padding-top: 10.3rem;
    padding-bottom: 10rem;
}


.process_phase{
    position: relative;
    z-index: 1;
    /* margin: 0 8rem; */
    display: grid;
    gap: 3.5rem 0;
}
/*.process_phase:before{
    content: "";
    z-index: 1;
    position: absolute;
    background:url(../img/service/process_arrow2.svg) 0 100% no-repeat, linear-gradient(180deg, #228B9B 0%, #9B5E9E 50%, #D4765A 100%);
    background-size: 100% auto;

    width: 7rem;
    top:0;
    bottom: 0;
    left: 0;
}
*/



.process_phase_box1{
    position: relative;
    z-index: 1;
}

.process_phase_box1_head{
    padding: 0.7rem 5.6rem;
    color: #fff;
    display: flex;
    align-items:center;

    margin-bottom: 1.2rem;
    border-radius: 5px;
}
.process_phase_box1_head.-color1{
    background: url(../img/service/process_arrow3.svg) calc(100% + 2px) 0 no-repeat, linear-gradient(-90deg, #7E699D 0.27%, #26899B 100%);
    background-size: auto 100%;
}
.process_phase_box1_head.-color2{
    background: url(../img/service/process_arrow3.svg) calc(100% + 2px) 0 no-repeat, linear-gradient(-90deg, #B96B7A 0.27%, #7E699D 100%);
    background-size: auto 100%;
}
.process_phase_box1_head.-color3{
    background: url(../img/service/process_arrow3.svg) calc(100% + 2px) 0 no-repeat, linear-gradient(-90deg, #D3765B 0.27%, #B96B7A 100%);
    background-size: auto 100%;
}

.process_phase_box1_no{
    font-size: var(--f18);
    width: 13.2rem;
    position: relative;
    z-index: 1;
}
.process_phase_box1_no:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: #fff;
    opacity: 0.5;
    width: 1px;
    height: 2rem;
    top:0;
    bottom: 0;
    right: 3rem;
    margin: auto;
}

.process_phase_box1_head_ttl{
    font-size: var(--f20);
}







/*.process_phase_box1:nth-child(n+2):before{
    content: "";
    z-index: 2;
    position: absolute;
    background:url(../img/service/process_arrow1.svg) 0 100% no-repeat;
    background-size: 100% auto;
    width: 7rem;
    height: 5rem;
    top:0;
    bottom: 0;
    right:0;
    left: 0;
    transform: translate(0px, -50%);
}*/

.process_phase_box2{
    border-top: 1px dashed #252421;
    /* margin-left: 10.5rem; */
    position: relative;
    z-index: 1;
    padding: 2.5rem 5rem 2.5rem 19rem;
}
.process_phase_box1_head + .process_phase_box2{
    border-top: none;
}


/*.process_phase_box1:last-child .process_phase_box2:last-child{ 
    border-bottom: 1px dashed #252421;
}*/


.process_phase_box2.-color0{
    background: #EEEEEE;
}
.process_phase_box2.-color1{
    background: #EDECE6;
}


.process_phase_no{
    background: #FFFFFF;
    border-radius: 100px;
    line-height: 2.7rem;
    height: 2.7rem;
    display: inline-block;
    padding: 0 1.3rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 5.5rem;
    width: 7rem;
    text-align: center;
}
.process_phase_main{}

.process_phase_box3 + .process_phase_main{
    border-top: 1px dashed #CACAC9;
    margin-top: 2.4rem;
    padding-top: 1.3rem;
}

.process_phase_ttl{font-weight: 500;font-size: var(--f18);line-height: 1.7;letter-spacing: 0.03em;margin-bottom: 0.5rem;}
.process_phase_mes{
    font-size: var(--f15);
    color: #555555;
}
.process_phase_box3{padding: 1.3rem 4rem;background: #DEDDD7;border-radius: .5rem;display: flex;align-items:center;margin-top: 0.5rem;}
.process_phase_box3_ttl{
    font-weight: 700;
    font-size: var(--f14);
    width: 16.6rem;
}
.process_phase_box3_data{
    flex: 1;
    display: grid;
    gap: 0.3rem 0;
}
.process_phase_box3_data dl{
    display: flex;
    line-height: 1.5;
}
.process_phase_box3_data dt{
    font-size: var(--f12);
    width: 7.9rem;
    position: relative;
    z-index: 1;
}
.process_phase_box3_data dt:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: #CDCDC7;
    width: 1px;
    top: 4px;
    bottom: 4px;
    right: 1.6rem;
    margin: auto;
}
.process_phase_box3_data dd{
    flex: 1;
    font-size: var(--f14);
}


.process_phase.-simple:before{
    display: none;
}
.process_phase.-simple .process_phase_box2{
    margin-left: 0;
}


.process_phase_box2:nth-child(odd){
    background: #EEEEEE;
}
.process_phase_box2:nth-child(even){
    background: #EDECE6;
}




/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .process{}
    .process_inner{}
    .process_phase{
    margin: 0 1rem;
}
/*    .process_phase:before{
    width: 3rem;
}*/
    .process_phase_box1{}

    .process_phase_box1_head{
    display: block;
    padding: 1rem 1.6rem;
    line-height: 1.3;
}    
    .process_phase_box1_no{
    /* left: -3.5rem; */
    /* top: 7%; */
    font-size: 1.6rem;
    display: block;
}
    .process_phase_box1_no:before{
    display: none;
}
    .process_phase_box1_head_ttl{
    font-size: 1.7rem;
    display: block;
}

/*    .process_phase_box1:nth-child(n+2):before{
    width: 3rem;
    height: 2.4rem;
}*/
    .process_phase_box2{
    padding: 5.5rem 2rem 2.5rem 2rem;
    /* margin-left: 4.5rem; */
}
    .process_phase_box1:last-child .process_phase_box2:last-child{}
    .process_phase_box2.-color0{}
    .process_phase_box2.-color1{}
    .process_phase_no{
    bottom: auto;
    left: 2rem;
    top: 1.5rem;
    font-size: 1.2rem;
    padding: 0 1rem;
}
    .process_phase_main{}
    .process_phase_box3 + .process_phase_main{}
    .process_phase_ttl{
    font-size: 1.6rem;
}
    .process_phase_mes{
    font-size: 1.3rem;
}
    .process_phase_box3{
    display: block;
    padding: 1rem 2rem;
}
    .process_phase_box3_ttl{
    width: auto;
    text-align: center;
    margin-bottom: 1rem;
}
    .process_phase_box3_data{}
    .process_phase_box3_data dl{}
    .process_phase_box3_data dt{
    font-size: 1rem;
    width: 6.9rem;
}
    .process_phase_box3_data dt:before{}
    .process_phase_box3_data dd{
    font-size: 1.2rem;
}

}


/*　
---------------------------------------------------------*/

.support{
    border-top: 1px dashed #252421;
    padding-top: 10rem;
    margin-top: 12rem;
}
.support_ttl{
    text-align: center;
    margin-bottom: 5.6rem;
}
.support_ttl_txt1{
    display: inline-block;
    border-bottom: solid 1px var(--color-black);
    width: 22.4rem;
    padding-bottom: 1.1rem;
}
.support_ttl_txt2{
    display: block;
    font-weight: 400;
    font-size: var(--f32);
    margin-top: 1.5rem;
    padding-left: 3rem;    
}
.support_bnr{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 3rem;
}
.support_box{
    display: block;
    background: #000;
    color: #fff;
    border-radius: 1rem;
    overflow: hidden;
    padding-top: .5rem;

}
.support_box_inner0{
    position: relative;
    z-index: 5;
    border-radius: 1rem;
    overflow: hidden;
    display: flex;
    align-items:center;
    justify-content:center;
    min-height: 67.5rem;
}
.support_box_inner{
    position: relative;
    z-index: 5;
    text-align: center;
    margin-bottom: 2.6rem;
}
.support_box_no{
    position: absolute;
    z-index: 5;
    top: 1.5rem;
    left: 2rem;
    font-size: var(--f12);
    /* opacity: 0.5; */
    padding-left: 20px;
    color: rgba(255,255,255,0.5);
}
.support_box_no:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: 0 0 no-repeat;
    background-size: contain;
    width: 1.1rem;
    height: 1.1rem;
    top: 0px;
    left: 0rem;
    bottom: 0;
    margin: auto;
}


.support_head{
    text-align: center;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.support_ttl2{
    font-size: var(--f14);
    padding: 0.4rem 1.3rem;
    line-height: 1;
    margin-bottom: 2.6rem;
    border-radius: 100px;
}

.support_box.-color1,
.-color1 .support_ttl2{
    background: linear-gradient(90deg, #6759B5 0%, #49A96D 50%, #3292AA 100%);    
}
.support_box.-color2,
.-color2 .support_ttl2{
    background: linear-gradient(90deg, #BC4683 0%, #DB8553 50%, #CC4247 100%);
}

.-color1 .support_box_no:before{
    background-image: url(../img/common/dotto04.png);
}
.-color2 .support_box_no:before{
    background-image: url(../img/common/dotto05.png);
}





.support_name_en{
    width: 19.4rem;
    height: 6rem;
}
.support_name_en img{
}
.support_name_ja{
    font-size: var(--f26);
}
.support_mes{
    text-align: center;s
    margin-top: 5rem;
    line-height: 2;
}
.support_btn{
    text-align: center;
    margin-top: 3rem;
    position: static;
    justify-content: center;
}

.support_bg{
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
}

.support_bnr.-bnr2{
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 2rem;
}
.support_bnr.-bnr2 .support_box{
    padding-top: 0;
    padding-bottom: .5rem;
}

.support_bnr.-bnr2 .support_box_inner0{
    min-height: 43.5rem;
    align-items: flex-end;
}

.support_bnr.-bnr2 .c-line_un {
    --line-color: rgba(247, 247, 247, 0.5);
}
.support_bnr.-bnr2 .c-plus1{
    width: 1rem;
    height: 1rem;
    margin-left: .5rem;
}
.support_bnr.-bnr2 .c-plus1:after,
.support_bnr.-bnr2 .c-plus1:before{
    background: #fff;
    height: 1px;    
}

.support_bnr2_name{
    font-size: var(--f26);
    margin-bottom: 1.8rem;
}

.support_bnr2_txt{
    font-size: var(--f14);
}
.support_bnr2_type{
    font-size: var(--f14);
    line-height: 1;
    margin-bottom: 1.4rem;
}
.support_bnr2_type span{
    display: inline-block;
    border: 1px solid #999999;
    border-radius: 100px;
    opacity: 0.5;
    padding: 0.4rem 1.4rem;
}


/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .support{
    padding-top: 6rem;
    margin-top: 7rem;
}
    .support_ttl{
    margin-bottom: 3.6rem;
}
    .support_ttl_txt1{
    width: 17.5rem;
}
    .support_ttl_txt2{
    font-size: 2rem;
    padding-left: 1.6rem;
}
    .support_bnr{
    grid-template-columns: 1fr;
    gap: 2rem 0;
}
    .support_box{}
    .support_box_inner0{
    min-height: 53.5rem;
}
    .support_box_inner{}
    .support_box_no{}
    .support_box_no:before{}
    .support_head{}
    .support_ttl2{}
    .support_box.-color1,
    .-color1 .support_ttl2{}
    .support_box.-color2,
    .-color2 .support_ttl2{}
    .-color1 .support_box_no:before{}
    .-color2 .support_box_no:before{}
    .support_name_en{
    width: 16.4rem;
    height: 4rem;
}
    .support_name_en img{}
    .support_name_ja{
    font-size: 2rem;
}
    .support_mes{}
    .support_btn{}
    .support_bg{}
    .support_bnr.-bnr2{
    grid-template-columns: 1fr;
    gap: 2rem 0;
}
    .support_bnr.-bnr2 .support_box{}
    .support_bnr.-bnr2 .support_box_inner0{
    min-height: 37.5rem;
}
    .support_bnr.-bnr2 .c-line_un {}
    .support_bnr.-bnr2 .c-plus1{}
    .support_bnr.-bnr2 .c-plus1:after,
    .support_bnr.-bnr2 .c-plus1:before{}
    .support_bnr2_name{}
    .support_bnr2_txt{}
    .support_bnr2_type{}
    .support_bnr2_type span{}

}
/*　
---------------------------------------------------------*/

.mainv2{}
.mainv2_inner{
    padding-top: 2rem;
}


.mainv2_box{
    display: block;
    background: #000;
    color: #fff;
    border-radius: 1rem;
    overflow: hidden;
    padding-left: .5rem;
}
.mainv2_box_inner0{
    position: relative;
    z-index: 5;
    border-radius: 1rem;
    overflow: hidden;
    display: flex;
    align-items:center;
    /* justify-content:center; */
    min-height: 36rem;
}
.mainv2_box_inner{
    position: relative;
    z-index: 5;
    padding-left: 11rem;
}
.mainv2_box_no{
    position: absolute;
    z-index: 5;
    top: 1.5rem;
    left: 2rem;
    font-size: var(--f12);
    /* opacity: 0.5; */
    padding-left: 20px;
    color: rgba(255,255,255,0.5);
}
.mainv2_box_no:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: 0 0 no-repeat;
    background-size: contain;
    width: 1.1rem;
    height: 1.1rem;
    top: 0px;
    left: 0rem;
    bottom: 0;
    margin: auto;
}


.mainv2_head{
    /* text-align: center; */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.mainv2_ttl2{
    font-size: var(--f14);
    padding: 0.4rem 1.3rem;
    line-height: 1;
    margin-bottom: 2.6rem;
    border-radius: 100px;
}

.mainv2_box.-color1{
    background: linear-gradient(0deg, #6759B5 0%, #49A96D 50%, #3292AA 100%);    
}

.-color1 .mainv2_ttl2{
    background: linear-gradient(90deg, #6759B5 0%, #49A96D 50%, #3292AA 100%);    
}
.mainv2_box.-color2{
    background: linear-gradient(0deg, #BC4683 0%, #DB8553 50%, #CC4247 100%);
}
.-color2 .mainv2_ttl2{
    background: linear-gradient(90deg, #BC4683 0%, #DB8553 50%, #CC4247 100%);
}

.-color1 .mainv2_box_no:before{
    background-image: url(../img/common/dotto04.png);
}
.-color2 .mainv2_box_no:before{
    background-image: url(../img/common/dotto05.png);
}





.mainv2_name_en{
    /* height: 6rem; */
    width: 22.4rem;
}
.mainv2_name_en img{
}
.mainv2_name_ja{
    font-size: var(--f26);
}
.mainv2_mes{
    text-align: center;s
    margin-top: 5rem;
    line-height: 2;
}
.mainv2_btn{
    text-align: center;
    margin-top: 3rem;
}

.mainv2_bg{
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
}



/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .mainv2{}
    .mainv2_inner{}
    .mainv2_box{}
    .mainv2_box_inner0{
    min-height: 26rem;
    padding-top: 5rem;
}
    .mainv2_box_inner{
    padding-left: 3rem;
}
    .mainv2_box_no{}
    .mainv2_box_no:before{}
    .mainv2_head{}
    .mainv2_ttl2{
    font-size: 1.2rem;
    margin-bottom: 2rem;
}
    .mainv2_box.-color1{}
    .-color1 .mainv2_ttl2{}
    .mainv2_box.-color2{}
    .-color2 .mainv2_ttl2{}
    .-color1 .mainv2_box_no:before{}
    .-color2 .mainv2_box_no:before{}
    .mainv2_name_en{
    width: 19.4rem;
}
    .mainv2_name_en img{}
    .mainv2_name_ja{
    font-size: 2rem;
}
    .mainv2_mes{}
    .mainv2_btn{}
    .mainv2_bg{}

}

/*　
---------------------------------------------------------*/

.curriculum{}
.curriculum_inner{
    padding-top: 12rem;
    padding-bottom: 16rem;
}
.curriculum_head{}
.curriculum_kouza{
    background: #FFFFFF;
    border: 1px solid rgba(37, 36, 33, 0.24);
    display: flex;
    width: 100%;
    margin-top: 5.3rem;
    padding: 1rem 1rem;
    margin-bottom: 9rem;
}
.curriculum_kouza_ttl{
    background: #555555;
    font-size: var(--f18);
    line-height: 1.35;
    color: #F7F7F7;
    display: flex;
    align-items:center;
    justify-content:center;
    width: 6.4rem;
}
.curriculum_kouza_list{
    display: flex;
    flex: 1;
}
.curriculum_kouza_box{
    flex: 1;
    text-align: center;
    padding-top: 2.7rem;
    padding-bottom: 3rem;
    position: relative;
    z-index: 1;
}


.curriculum_kouza_box + .curriculum_kouza_box:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: rgba(37, 36, 33, 0.24);
    width: 1px;
    top: 18px;
    bottom: 18px;
    left: 0;
}

.curriculum_kouza_mes1{
    line-height: 1.5;
}
.curriculum_kouza_mes2{
    font-size: var(--f26);
}
.curriculum_kouza_mes2 span{
    position: relative;
    z-index: 1;



}
.curriculum_kouza_mes2 span:before {
    content: "";
    z-index: 1;
    position: absolute;
    background-image: linear-gradient(90deg, #6759B5 0%, #49A96D 50%, #3292AA 100%);
    height: 2px;
    bottom: -4px;
    right: 1.4rem;
    left: 1.3rem;
    transform-origin: left top;
    transition: transform 1.2s cubic-bezier(0.26, 0.06, 0, 1);
}

.curriculum_box{}
.curriculum_box + .curriculum_box{
    margin-top: 10rem;
}

.curriculum_box_ttl{
    position: relative;
    z-index: 1;

    font-weight: 500;
    font-size: var(--f24);
    line-height: 1.5;

    padding-left: 3.3rem;
    margin-bottom: 2rem;
}
.curriculum_box_ttl:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: var(--color-black);
    width: 10px;
    height: 10px;
    top: 14px;
    left: 0.4rem;
}

.curriculum_box_mes{
    margin-bottom: 2.6rem;
}


/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .curriculum{}
    .curriculum_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}
    .curriculum_head{}
    .curriculum_kouza{
    display: block;
    margin-bottom: 6rem;
    margin-top: 3.3rem;
}
    .curriculum_kouza_ttl{
    width: auto;
    padding: 1rem 1rem;
    font-size: 1.6rem;
}
    .curriculum_kouza_ttl br{
        display: none;
    }
    .curriculum_kouza_list{
    display: block;
}
    .curriculum_kouza_box{
    padding-top: 1.7rem;
    padding-bottom: 2rem;
}
    .curriculum_kouza_box + .curriculum_kouza_box:before{
    width: auto;
    height: 1px;
    bottom: auto;
    right: 2rem;
    left: 2rem;
    top: 0;
}
    .curriculum_kouza_mes1{}
    .curriculum_kouza_mes2{
    font-size: 2rem;
}
    .curriculum_kouza_mes2 span{}
    .curriculum_kouza_mes2 span:before {}
    .curriculum_box{}
    .curriculum_box + .curriculum_box{
    margin-top: 6rem;
}
    .curriculum_box_ttl{
    font-size: 2rem;
    padding-left: 2.3rem;
    margin-bottom: 1.3rem;
}
    .curriculum_box_ttl:before{
    width: .8rem;
    height: .8rem;
    top: 1.2rem;
}
    .curriculum_box_mes{
    margin-bottom: 2rem;
}

}


/*　
---------------------------------------------------------*/

.course{
    background: #EDECE6;
    border-radius: 10px;
    padding: 6rem 7rem;
}
.course_ttl{
    font-weight: 400;
    font-size: var(--f26);    
    text-align: center;
    margin-bottom: 6rem;
}
.course_tab{
    display: flex;
    flex-wrap: wrap;
    gap: 16px 10px;
    margin-bottom: 5rem;
}
.course_tab a{
    position: relative;
    z-index: 1;
    line-height: 1;
    letter-spacing: 0.03em;
    padding: .7rem 2.9rem;
    border-radius: 5rem;

    background: linear-gradient(90deg, #6759B5 0%, #49A96D 50%, #3292AA 100%);    
}
/*
.course_tab a:before{
    content: "";
    z-index: -10;
    position: absolute;
    
    background: #fff;

    top:2px;
    bottom: 2px;
    right:2px;
    left: 2px;
    border-radius: 10rem;
}*/

.course_tab a:after{
    content: "";
    z-index: -1;
    position: absolute;
    
    border: 1px solid rgba(37, 36, 33, 0.24);
    background: #F7F7F7;

    top:0px;
    bottom: 0px;
    right:0px;
    left: 0px;
    border-radius: 10rem;
    opacity: 1;
    transition: opacity 400ms cubic-bezier(0.26, 0.06, 0, 1);
}
.course_tab .on{
    color: #fff;
}
.course_tab .on:after{
    opacity: 0;
}
.course_data{
    padding: 5rem 6.5rem 7.8rem;
    background: #F7F7F7;
    border-radius: 15px;
}
.course_data_inner{
    position: relative;
    z-index: 1;
}
.course_data .p-package_ttl{
    text-align: left;
}

.course_box{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    pointer-events: none;
    opacity: 0;
}
.course_box.on{
    pointer-events: auto;
    position: static;
    display: block;
    opacity: 1;
}

.course_main{
    background: #FFFFFF;
    border-top: 1px dashed #252421;
    border-bottom: 1px dashed #252421;
    position: relative;
    z-index: 1;
}
.course_slide{
    overflow: hidden;
}

.course_slide-prev,
.course_slide-next{
    z-index: 1;
    position: absolute;
    background: url(../img/common/arrow4.svg) 0 0 no-repeat;
    background-size: contain;
    width: 1.4rem;
    height: 3.7rem;
    top: 0px;
    left: 0rem;
    bottom: 0;
    margin: auto;

}
.course_slide-prev.swiper-button-disabled,
.course_slide-next.swiper-button-disabled{
    opacity: 0.3;
}

.course_slide-prev{
    right: calc(100% + 2rem);
    left: auto;
    transform: scale(-1,1);
}
.course_slide-next{
    left: calc(100% + 2rem);
}
.course_slide-scrollbar{
    position: absolute;
    top: calc(100% + 3rem);
    left: 0;
    right: 0;
    display: flex;
    justify-content:center;
    gap: 0 1rem;
}

.course_slide-scrollbar .swiper-pagination-bullet{
    border: 1px solid rgba(37, 36, 33, 0.24);
    background: none;
    opacity: 1;
    width: 5px;
    height: 5px;
    line-height: 0;
}
.course_slide-scrollbar .swiper-pagination-bullet-active{
    border: 1px solid rgba(37, 36, 33, 0.24);
    background: #252421;    
}
.course_slide-scrollbar .swiper-button-disabled{
    opacity: 0.2;
    cursor: auto;
}















.course_list{}
.course_list li.swiper-slide{
    padding: 4.6rem 5.7rem;
}
.course_list_head{
    display: flex;
    align-items:center;
    justify-content:space-between;
    padding: 10px 20px;
    background: #DEDDD7;
    margin-bottom: 5rem;
}
.course_list_ttl{
    font-size: var(--f15);
    line-height: 1.5;
    padding-left: 22px;
    position: relative;
    z-index: 1;
}
.course_list_ttl:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: url(../img/common/dotto04.png) 0 0 no-repeat;
    background-size: contain;
    width: 1.1rem;
    height: 1.1rem;
    top: 0px;
    left: 0rem;
    bottom: 0;
    margin: auto;
}
.course_list_cat{
    font-size: var(--f14);
    line-height: 1;
    background: #F7F7F7;
    border-radius: 100px;
    padding: 3px 12px;
}
.course_list_ttl2{
    position: relative;
    z-index: 1;
    padding-left: 8rem;
    margin-bottom: 3rem;
}
.course_list_no{
    position: absolute;
    z-index: 1;
    width: 6.1rem;
    height: 2.9rem;
    border: 1px solid #555555;
    display: flex;
    align-items:center;
    justify-content:center;
    left: 0;
    top: 1.5rem;
}
.course_list_name{
    font-weight: 500;
    font-size: var(--f26);
    letter-spacing: 0.03em;
}

.course_come{
    margin-top: 1rem;
    font-size: var(--f13);    
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #555555;
}
.course_come li{}
.course_come li:before{
    content: "※";
    z-index: 1;
    
}


/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .course{
    padding: 3.5rem 1rem 2.5rem;
}
    .course_ttl{
    font-size: 2rem;
    margin-bottom: 2.5rem;
}
    .course_tab{
    gap: .8rem .5rem;
    margin-bottom: 2rem;
}
    .course_tab a{
    padding: .6rem 1.6rem;
}
    .course_tab a:before{}
    .course_tab a:after{}
    .course_tab .on:after{}
    .course_data{
    padding: 1rem 1.4rem 4.8rem;
}
    .course_data_inner{}
    .course_data .p-package_ttl{}
    .course_box{}
    .course_box.on{}
    .course_main{}
    .course_slide{}
    .course_slide-prev,
    .course_slide-next{
    bottom: auto;
    top: 2rem;
}
    .course_slide-prev.swiper-button-disabled,
    .course_slide-next.swiper-button-disabled{}
    .course_slide-prev{}
    .course_slide-next{}
    .course_slide-scrollbar{
    top: calc(100% + 2rem);
}
    .course_slide-scrollbar .swiper-pagination-bullet{}
    .course_slide-scrollbar .swiper-pagination-bullet-active{}
    .course_slide-scrollbar .swiper-button-disabled{}
    .course_list{}
    .course_list li.swiper-slide{
    padding: 2rem 1.5rem;
}
    .course_list_head{
    position: relative;
    z-index: 1;
    padding: 1rem 1.5rem;
}
    .course_list_ttl{
    font-size: 1.3rem;
    padding-left: 1.6rem;
}
    .course_list_ttl:before{
    width: .8rem;
    height: .8rem;
}
    .course_list_cat{
    font-size: 1.2rem;
    position: absolute;
    top: calc(100% + 1rem);
    right: 0;
    background: #ebebeb;
}
    .course_list_ttl2{
    padding-left: 0;
    margin-bottom: 2rem;
}
    .course_list_no{
    width: 4rem;
    height: 2.4rem;
    top: -4rem;
}
    .course_list_name{
    font-size: 1.8rem;
    line-height: 1.4;
}
    .course_come{
    font-size: 1.1rem;
}
    .course_come li{}
    .course_come li:before{}

}


/*　
---------------------------------------------------------*/

.event{}
.event_inner{
    padding-top: 11rem;
    padding-bottom: 16rem;
}
.event_list{}
.event_btn{
    margin-top: 5.5rem;
    text-align: center;
}

/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .event{}
    .event_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}
    .event_list{}
    .event_btn{
    margin-top: 4rem;
}

}



/*　
---------------------------------------------------------*/

.schedule{}
.schedule_inner{
    padding-top: 12rem;
    padding-bottom: 15rem;
}


/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .schedule{}
    .schedule_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}

}

/*　
---------------------------------------------------------*/



.about2{}
.about2_inner{
    padding-top: 12rem;
    padding-bottom: 15rem;
}
.about2_head{
    margin-top: 14rem;
    /* margin-bottom: 8.5rem; */
}
.about2_ttl{
    font-size: var(--f36);
    margin-bottom: 1.8rem;
}
.about2_mes{}


/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
    .about2{}
    .about2_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}
    .about2_head{
    margin-top: 0;
}
    .about2_ttl{
    font-size: 2.2rem;
    margin-bottom: 1.1rem;
}
    .about2_mes{}

}



/*　
---------------------------------------------------------*/

.process2{}
.process2_inner{
    padding-top: 12rem;
    padding-bottom: 15rem;
}
.process2_head{
    margin-top: 13rem;
    margin-bottom: 2.3rem;
}
.process2_head_ttl{
    font-weight: 400;
    font-size: var(--f36);
    line-height: 1.7;
    letter-spacing: 0.03em;
    margin-bottom: 1.1rem;
}
.process2_head_ttl2{
    font-weight: 400;
    font-size: var(--f24);
    line-height: 1.7;
    letter-spacing: 0.03em;
    margin-bottom: 2rem;
}
.process2_head_mes{}
.process2_zu{
    background: #fff;
    padding: 5rem 4rem;
}
.process2_zu_img{}
.process2_zu_foot{
    margin-top: 3.6rem;
}
.process2_zu_txt1{
    text-align: center;
}
.process2_zu_txt1 span{
    position: relative;
    z-index: 1;
}

.process2_zu_txt1 span:after,
.process2_zu_txt1 span:before{
    content: "";
    z-index: 1;
    position: absolute;
    
    width: 10px;
    height: 1px;
    background: #A3A194;

    top: 0;
    bottom: 0;
    margin: auto;
}
.process2_zu_txt1 span:after{
    left: -20px;
}
.process2_zu_txt1 span:before{
    right: -20px;
}
.process2_zu_txt2{
    font-size: var(--f18);
    text-align: center;
}
.process2_zu_txt_line{
    position: relative;
    z-index: 1;
}
.process2_zu_txt_line:before{
    content: "";
    z-index: 1;
    position: absolute;
    
    background: linear-gradient(90deg, #BC4683 0%, #DB8553 50%, #CC4247 100%);

    height: 2px;

    bottom: -5px;
    right:0;
    left: 0;
}



.process2_mes{
    margin-top: 3rem;
}


.process2_map{
    margin-top: 7rem;
}
.process2_map_main{
    display: none;
}
.process2_map_inner{
    position: relative;
    z-index: 1;
}
.process2_map_btn{
    position: absolute;
    z-index: 1;
    background: #FFFFFF;
    border-radius: .5rem;
    box-shadow: 0 0 0 0px rgba(0, 0, 0, 0);
    transition: box-shadow 0.3s;
    cursor: pointer;
}


.process2_map_btn.-btn1_1{
    top: 51.4%;
    left: 25.1%;
}
.process2_map_btn.-btn1_2{
    top: 37.4%;
    left: 22%;
}
.process2_map_btn.-btn1_3{
    top: 23.6%;
    left: 28.4%;
}
.process2_map_btn.-btn1_4{
    top: 17%;
    left: 49.9%;
}
.process2_map_btn.-btn1_5{
    top: 23.6%;
    left: 71.1%;
}
.process2_map_btn.-btn1_6{
    top: 37.4%;
    left: 77.7%;
}
.process2_map_btn.-btn1_7{
    top: 51.4%;
    left: 74.5%;
}


.process2_map_btn.-btn2_1{
    top: 76%;
    left: 25.5%;
}
.process2_map_btn.-btn2_2{
    top: 76%;
    left: 39.5%;
}
.process2_map_btn.-btn2_3{
    top: 76%;
    left: 53.5%;
}
.process2_map_btn.-btn2_4{
    top: 76%;
    left: 67.7%;
}
.process2_map_btn.-btn2_5{
    top: 76%;
    left: 81.7%;
}

.process2_map_no{
    border-radius: 100px;
    display: flex;
    align-items:center;
    justify-content:center;
    font-weight: 700;
    color: #F7F7F7;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 12px;
    transform: translate(-38%, -36%);
}


.process2_map_icon{}

.process2_map_name{
    flex: 1;
    text-align: center;
    line-height: 1.4;
    font-size: min(1.11vw, 16px);
}

.process2_map_btn .c-arrow.-arrow2{
    background: #E4E4E4;
    border-radius: 999px;
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    transform: translate(-20%, -20%) rotate(-45deg);
}
.process2_map_btn .c-arrow.-arrow2:before {
    top: 20%;
    bottom: 20%;
    right: 20%;
    left: 20%;
}


.process2_map_btn.-type1{
    width: 18.46%;
    height: 9.27%;
    display: flex;
    align-items:center;
}
.process2_map_btn.-type2{
    width: 10.9%;
    height: 17.8%;
}

.process2_map_btn.-type1 .process2_map_no{
    width: 13%;
    height: 35.5%;
    background: linear-gradient(56.46deg, #6252C0 4.21%, #4D92B8 83.52%);
}

.process2_map_btn.-type2 .process2_map_no{
    width: 21.7%;
    height: 18.81%;
    background: linear-gradient(57.52deg, #BD2773 5.88%, #E3735A 82.74%);
}
.process2_map_btn.-type1  .c-arrow.-arrow2{
    width: 7.9%;
    height: 22.3%;
}
.process2_map_btn.-type2  .c-arrow.-arrow2{
    width: 13.4%;
    height: 11.6%;
}

.process2_map_btn.-type1 .process2_map_icon{
    width: 19.5%;
    margin-left: 8%;
}
.process2_map_btn.-type2 .process2_map_icon{
    width: 33.5%;
    margin: 13% auto 0;
}

.process2_map_btn.-type1 .process2_map_name{
    margin-right: 8%;    
}
.process2_map_btn.-type2 .process2_map_name{
    display: flex;
    align-items:center;
    justify-content:center;

    height: 50%;
    width: 100%;
    text-align: center;
}



/* hover  */
@media (hover: hover) and (pointer: fine) {

    .process2_map_btn:hover {
        box-shadow: 0 21px 21px -15px rgba(0, 0, 0, 0.5);
    }

}

/* sp */
@media only screen and (max-width: 1000px) {
    .process2{}
    .process2_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}
    .process2_head{
    margin-top: 0;
    margin-bottom: 2.3rem;
}
    .process2_head_ttl{
    font-size: 2.5rem;
}
    .process2_head_ttl2{
    font-size: 1.8rem;
}
    .process2_head_mes{}
    .process2_zu{
    padding: 3rem 2rem;
}
    .process2_zu_img{}
    .process2_zu_foot{
    margin-top: 2.6rem;
}
    .process2_zu_txt1{}
    .process2_zu_txt1 span{
    display: inline-block;
    line-height: 1.3;
}
    .process2_zu_txt1 span:after,
    .process2_zu_txt1 span:before{}
    .process2_zu_txt1 span:after{}
    .process2_zu_txt1 span:before{}
    .process2_zu_txt2{
    margin-top: 2rem;
    line-height: 2;
    font-size: 1.6rem;
}
    .process2_zu_txt_line{}
    .process2_zu_txt_line:before{}
    .process2_mes{}

    .process2_map{
    overflow: scroll;
}
    .process2_map_main{}
    .process2_map_inner{
    width: 75rem;
}
    .process2_map_btn{}
    .process2_map_btn.-btn1_1{}
    .process2_map_btn.-btn1_2{}
    .process2_map_btn.-btn1_3{}
    .process2_map_btn.-btn1_4{}
    .process2_map_btn.-btn1_5{}
    .process2_map_btn.-btn1_6{}
    .process2_map_btn.-btn1_7{}
    .process2_map_btn.-btn2_1{}
    .process2_map_btn.-btn2_2{}
    .process2_map_btn.-btn2_3{}
    .process2_map_btn.-btn2_4{}
    .process2_map_btn.-btn2_5{}
    .process2_map_no{}
    .process2_map_icon{}
    .process2_map_name{
    font-size: 1.2rem;
}
    .process2_map_btn .c-arrow.-arrow2{}
    .process2_map_btn .c-arrow.-arrow2:before {}
    .process2_map_btn.-type1{}
    .process2_map_btn.-type2{}
    .process2_map_btn.-type1 .process2_map_no{}
    .process2_map_btn.-type2 .process2_map_no{}
    .process2_map_btn.-type1  .c-arrow.-arrow2{}
    .process2_map_btn.-type2  .c-arrow.-arrow2{}
    .process2_map_btn.-type1 .process2_map_icon{}
    .process2_map_btn.-type2 .process2_map_icon{}
    .process2_map_btn.-type1 .process2_map_name{}
    .process2_map_btn.-type2 .process2_map_name{}

}


/*　
---------------------------------------------------------*/

.process2_topics{
    padding: 11rem 6rem 6rem;
    position: relative;
    background: #EEEEEE;
    border-radius: 1rem;
    overflow: hidden;
    margin-top: 10.1rem;
}
.process2_topics_ttl{
    padding: .8rem 3.2rem;
    gap: 1.4rem;
    position: absolute;
    left: 0px;
    top: 0px;
    background: #252421;
    border-radius: 0 0 10px 0;
    color: #F7F7F7;
    line-height: 1.5;
    font-size: var(--f20);
    font-weight: 500;
    display: flex;
    align-items:center;
}
.process2_topics_ttl_en{}
.process2_topics_ttl_ja{}

.process2_topics_head{
    margin-bottom: 4.5rem;
}
.process2_topics_head_ttl{
    font-weight: 400;
    font-size: var(--f26);
    line-height: 1.5;
    margin-bottom: 1rem;
}
.process2_topics_head_ttl span{
    color: #C9495A;    
    position: relative;
    z-index: 1;
}
.process2_topics_head_ttl span:before{
    content: "";
    z-index: 1;
    position: absolute;
    
    background: #C9495A; 

    height: 2px;

    bottom: 0;
    right:0;
    left: 0;
}
.process2_topics_head_mes{}
.process2_topics_zu{
    display: flex;
    align-items:center;
}
.process2_topics_zu_img{
    flex: 1;
}
.process2_topics_zu_arrow{
    width: 8.2rem;
}
.process2_topics_zu_arrow_img{margin: 0 23%;}
.process2_topics_zu_arrow_no{
    text-align: center;
}
.process2_topics_zu_arrow_no span{
    background: #C9495A;
    color: #fff;
    border-radius: .3rem;
    padding: 1px 4px;
}
.process2_topics_zu_arrow_txt{
    font-size: 1.2rem;
    text-align: center;
}

/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {


    .process2_topics{
    padding: 7rem 2rem 2rem;
    margin-top: 7rem;
}
    .process2_topics_ttl{
    font-size: 1.7rem;
    padding: .8rem 2rem;
}
    .process2_topics_ttl_en{}
    .process2_topics_ttl_ja{}
    .process2_topics_head{}
    .process2_topics_head_ttl{
    font-size: 2.2rem;
}
    .process2_topics_head_ttl span{}
    .process2_topics_head_ttl span:before{}
    .process2_topics_head_mes{}
    .process2_topics_zu{
    display: block;
}
    .process2_topics_zu_img{}
    .process2_topics_zu_arrow{
    margin: 0rem auto 2rem;
}
    .process2_topics_zu_arrow_img{
    transform: rotate(90deg);
}
    .process2_topics_zu_arrow_no{}
    .process2_topics_zu_arrow_no span{}
    .process2_topics_zu_arrow_txt{}
}
/*　
---------------------------------------------------------*/

.value{}
.value_inner{
    padding-top: 12rem;
    padding-bottom: 22rem;
}


.value_head{
    margin-top: 13rem;
    margin-bottom: 9rem;
}
.value_head_ttl{
    font-weight: 400;
    font-size: var(--f36);
    line-height: 1.7;
    letter-spacing: 0.03em;
    margin-bottom: 1.4rem;
}
.value_head_mes{}

.value_list{
    border-top: dashed 1px #252421;
  counter-reset: li 0;
}
.value_list li{
    border-bottom: dashed 1px #252421;
    padding: 6rem 3.3rem 6rem 11rem;
    position: relative;
    z-index: 1;
    cursor: pointer;

      transition: opacity var(--duration-main) var(--easing-opacity), 
                  transform var(--duration-main) var(--easing-transform),
                  color var(--duration-main) var(--easing-color),
                  background-color var(--duration-main) var(--easing-color),
                  border-color var(--duration-main) var(--easing-color),
                  box-shadow var(--duration-main) var(--easing-opacity);

}


.value_list li:before{
  content: "(0" counter(li) ")";
  counter-increment: li;
  position: absolute;
  z-index: 1;
  top: 6.5rem;
  left: 3.3rem;
  font-family: var(--font-family-en);
  font-size: var(--f14);
  color: #555555;
 }


.value_list .on{
    background: #EEEEEE;
}
.value_list_ttl{
    font-weight: 400;
    font-size: var(--f26);
    line-height: 1.7;
    letter-spacing: 0.03em;
    position: relative;
    z-index: 1;
}
.value_list_ttl:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: #252421;
    opacity: 0.2;
    width: 2px;
    height: 2rem;
    top: 0;
    bottom: 0;
    right: 4.3rem;
    margin: auto;
}


.value_list_mes{
    padding-top: 2.1rem;
    display: none;
}
.value .c-plus{
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {

    .value{}
    .value_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}
    .value_head{
    margin-top: 0;
    margin-bottom: 6rem;
}
    .value_head_ttl{
    font-size: 2.2rem;
}
    .value_head_mes{}
    .value_list{}
    .value_list li{
    padding: 2rem 1rem 2rem 4rem;
}
    .value_list li:before{
    top: 1.8rem;
    left: 0.5rem;
}
    .value_list .on{}
    .value_list_ttl{
    font-size: 1.6rem;
    padding-right: 5rem;
}
    .value_list_ttl:before{}
    .value_list_mes{}
    .value .c-plus{}

}


/*　
---------------------------------------------------------*/

.implementation{}
.implementation_inner{
    padding-top: 11.5rem;
    padding-bottom: 22rem;
}

/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {

    .implementation{}
    .implementation_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}
}


/*　
---------------------------------------------------------*/


.logic_modal_icon{
    width: 6.1rem;
    position: absolute;
    top: 1.5rem;
    right: 2rem;
}
.logic_modal_head{
    display: flex;
    align-items:center;
    margin-bottom: 2rem;
}
.logic_modal_no{
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #F7F7F7;
    font-size: 12px;
    background: #ccc;
    width: 4rem;
    height: 4rem;
    margin-right: 2rem;
}
.logic_modal_head.-type1 .logic_modal_no{
    background: linear-gradient(56.46deg, #6252C0 4.21%, #4D92B8 83.52%);    
}
.logic_modal_head.-type2 .logic_modal_no{
    background: linear-gradient(57.52deg, #BD2773 5.88%, #E3735A 82.74%);
}

.logic_modal_name{
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.5;
    flex: 1;
    padding-right: 5rem;
}
.logic_modal_name br{
    display: none;
}
.logic_modal_main{}
.logic_modal_ttl{
    font-size: var(--f16);
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 1rem;
}
.logic_modal_mes{
    font-size: 1.4rem;
    line-height: 1.5;
}

/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {

    .logic_modal_icon{
    width: 4rem;
    right: 1rem;
}
    .logic_modal_head{
    margin-bottom: 1rem;
}
    .logic_modal_no{
    width: 3rem;
    height: 3rem;
    margin-right: 1rem;
    font-size: 1.2rem;
}
    .logic_modal_head.-type1 .logic_modal_no{}
    .logic_modal_head.-type2 .logic_modal_no{}
    .logic_modal_name{
    font-size: 1.8rem;
    padding-right: 4rem;
}
    .logic_modal_name br{}
    .logic_modal_main{}
    .logic_modal_ttl{
    margin-bottom: .5rem;
}
    .logic_modal_mes{
    font-size: var(--f14);
}


}



/*　
---------------------------------------------------------*/

.price{}
.price_inner{
    padding-top: 11rem;
    padding-bottom: 17rem;
}
.price_head{
    /* padding-bottom: 17rem; */
}
.price_mes{
    text-align: center;
    margin-bottom: 3rem;
}
.price_data{
    background: #FFFFFF;
    border-radius: 1rem;
    max-width: 79rem;
    margin: 0 auto;
    display: flex;
    padding: 3.4rem 0;
    margin-bottom: 5.2rem;
}
.price_data_box1{
    flex: 1;
    text-align: center;
    line-height: 1;
}
.price_data_box2{
    width: 3rem;

    display: flex;
    align-items:center;
    justify-content:center;
}
.price_data_box2 .c-plus1{
    width: 3rem;
    height: 3rem;
}
.price_data_box2 .c-plus1:after,
.price_data_box2 .c-plus1:before{
    background: #555;
    height: 1px;
}


.price_data_ttl{}
.price_data_ttl span{
    display: inline-block;
    width: 18rem;
    padding: 0.7rem 0;
    border-radius: 100px;
    /* margin-bottom: 2rem; */
}
.price_data_ttl .-color1{}
.price_data_ttl .-color2{}

.price_data_ttl.-color1 span{
    background: #DEDEDE;
    /* width: 18rem; */
    /* padding: 0.7rem 0; */
    /* border-radius: 100px; */
    /* margin-bottom: 2rem; */
}
.price_data_ttl.-color2 span{
    background: #CECCC0;
}

.price_data_txt1{
  font-size: var(--f28);
  margin-bottom: 1.7rem;
  margin-top: 2rem;
}
.price_data_txt2{}
.price_data_txt3{
    margin-top: 2.6rem;
    margin-bottom: 1.5rem;
}
.price_data_txt4{
  font-size: var(--f22);    
}
.price_ttl{
    line-height: 1.5;
    text-align: center;
    margin-bottom: 1rem;
}
.price_ttl_txt1{
    font-weight: 500;
    font-size: var(--f26);  
    letter-spacing: 0.03em;
}
.price_ttl_txt2{
    font-weight: 400;
    letter-spacing: 0.03em;
}
.price_mes2{
    text-align: center;
}

.price_table{
    line-height: 1.35;
    margin: 1.8rem 8rem 0;
}


.price_table table{
    width: 100%;
    border-top: 1px solid #a5a49a;
    border-left: 1px solid #a5a49a;
}
.price_table td,
.price_table th{
    padding: 4px 4px;
    border-bottom: 1px solid #a5a49a;
    border-right: 1px solid #a5a49a;
    vertical-align: middle;
    height: 4rem;
}
.price_table td{
    font-size: var(--f11); 
    text-align: right; 
    background: #fff;
}
.price_table th{
    font-size: var(--f12);
    font-weight: 500;
    text-align: center;
    background: #EEEEEE;
    width: 8%;
    border-top: #000 solid 1px;
    border-bottom-color: #000;
}


.price_table td:nth-child(6),
.price_table td:nth-child(7),
.price_table th:nth-child(6),
.price_table th:nth-child(7){
    background: #EDECE6;
}

.price_table td:nth-child(8),
.price_table th:nth-child(8){
    background: #CECCC0;
    font-weight: 700;
}

.price_table td:nth-child(6),
.price_table td:nth-child(7),
.price_table th:nth-child(6),
.price_table th:nth-child(7),
.price_table td:nth-child(8),
.price_table th:nth-child(8){
    width: 11%;
    position: relative;
    z-index: 1;
}

.price_table td:nth-child(6):before,
.price_table td:nth-child(7):before,
.price_table th:nth-child(6):before,
.price_table th:nth-child(7):before,
.price_table td:nth-child(8):before,
.price_table th:nth-child(8):before{
    content: "";
    z-index: 1;
    position: absolute;
    

    top:-3px;
    bottom: -3px;
    right:-3px;
    left: -3px;
}

.price_table th:nth-child(6):before,
.price_table th:nth-child(7):before,
.price_table th:nth-child(8):before{
    border-top:3px solid #000;
}

.price_table td:nth-child(6):before,
.price_table th:nth-child(6):before{
      border-left:3px solid #000;  
}
.price_table td:nth-child(8):before,
.price_table th:nth-child(8):before{
      border-right:3px solid #000;      
}

.price_table tr:last-child td:nth-child(6):before,
.price_table tr:last-child td:nth-child(7):before,
.price_table tr:last-child td:nth-child(8):before{
      border-bottom:3px solid #000;  
}





/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {

    .price{}
    .price_inner{
    padding-top: 8rem;
    padding-bottom: 9rem;
}
    .price_head{}
    .price_mes{}
    .price_data{display: block;}
    .price_data_box1{}
    .price_data_box2{
    width: auto;
    margin: 2rem 0;
}
    .price_data_box2 .c-plus1{
    width: 2.5rem;
    2.5rem: 3rem;
}
    .price_data_box2 .c-plus1:after,
    .price_data_box2 .c-plus1:before{}
    .price_data_ttl{}
    .price_data_ttl span{}
    .price_data_ttl .-color1{}
    .price_data_ttl .-color2{}
    .price_data_ttl.-color1 span{}
    .price_data_ttl.-color2 span{}
    .price_data_txt1{}
    .price_data_txt2{}
    .price_data_txt3{}
    .price_data_txt4{}
    .price_ttl{}
    .price_ttl_txt1{}
    .price_ttl_txt2{}
    .price_mes2{}
    .price_table{
    margin: 0;
    overflow: scroll;
    padding: 1rem 0;
}
    .price_table table{
    width: 85rem;
}
    .price_table td,
    .price_table th{}
    .price_table td{}
    .price_table th{}
    .price_table td:nth-child(6),
    .price_table td:nth-child(7),
    .price_table th:nth-child(6),
    .price_table th:nth-child(7){}
    .price_table td:nth-child(8),
    .price_table th:nth-child(8){}
    .price_table td:nth-child(6),
    .price_table td:nth-child(7),
    .price_table th:nth-child(6),
    .price_table th:nth-child(7),
    .price_table td:nth-child(8),
    .price_table th:nth-child(8){}
    .price_table td:nth-child(6):before,
    .price_table td:nth-child(7):before,
    .price_table th:nth-child(6):before,
    .price_table th:nth-child(7):before,
    .price_table td:nth-child(8):before,
    .price_table th:nth-child(8):before{}
    .price_table th:nth-child(6):before,
    .price_table th:nth-child(7):before,
    .price_table th:nth-child(8):before{}
    .price_table td:nth-child(6):before,
    .price_table th:nth-child(6):before{}
    .price_table td:nth-child(8):before,
    .price_table th:nth-child(8):before{}
    .price_table tr:last-child td:nth-child(6):before,
    .price_table tr:last-child td:nth-child(7):before,
    .price_table tr:last-child td:nth-child(8):before{}


}


/*　
---------------------------------------------------------*/

/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 1000px) {
}


