@charset "UTF-8";

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

    就活準備＆インターンシップ選考対策講座 
    PC版　2024.12 改正

=========================================================== */

#main.l-main {
  min-width: 343px;
  padding: 0 14px 168px
}

@media screen and (min-width:767px) {
  #main.l-main {
    max-width: 1158px;
    padding-bottom: 144px
  }
}


main {
  display: block;
  width: calc(100% - 32px);
  margin: 0 16px;
  padding-top: 50px;
  border-bottom: 1px solid #fff
}

@media screen and (min-width:767px) {
  main {
    width: 830px;
    margin: 0 auto;
    padding-top: 64px
  }
}

    #contents-sarchCourse{
        padding-bottom: 64px;
    }

/* button */
.contents-wrap .button_base,
.contents-wrap .button_or{
    font-size: 14px !important;
}


/*　contents-frame　---------------------------------------------------------*/

.contents-frame {
    max-width: 1130px;
    margin: 2.5px 0 0;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .25);
    -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, .25);
}

/*　mv 　---------------------------------------------------------*/
.mv-wrap{
    height: 240px;
}
.mv-wrap__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1130px;
    height: 240px;
    margin: 0 auto;
}
.mv-wrap h1{
    /*position: absolute;
    left: 50%;
    height: 240px;
    width: auto;
    min-width: 1130px;
    margin: 0 0 0 -565px*/
    flex: 1 0 auto;
}
.mv-wrap img {
    vertical-align: bottom;
    max-width: none;
    margin-left: -395px;
    margin-right: -395px;
}

/* page head 　---------------------------------------------------*/
#contents-pageHead .contents-inner{
    padding-bottom:68px;
    gap:42px;
}
/*area__tit-conts*/
.area__tit-conts{
    gap:24px;
}
    .area__tit-conts h2{
        font-size: 26px;
    }
        .area__tit-conts h2 .txt-l{
            font-size: 31px;
            }
    .area__tit-conts p{
        font-size: 16px;
        text-align: center;
    }

/* frame__feature 　---------------------------------------------------*/
.frame__feature{
    gap: 42px;
}
.frame__feature .contents-inner{
    padding-top: 42px;
}
    .frame__feature h3{
        font-size: 25px;
    }
        .frame__feature h3 .txt-lb{
            font-size: 29px;
        }
        .frame__feature h3 .txt-l{
            font-size: 36px;
        }

.area__detail .unit__fukidashi-detail{
    display: block;
    line-height: 150%;
    }
.area__detail .unit__fukidashi-detail br{
     display:inline;
    }

/*card__feature*/
.frame__feature .card__feature{
    padding: 42px;
    gap: 42px;
    width: 100%;
    align-self:auto;
    max-width: 960px;
}
    .frame__feature .card__feature h4{
        font-size: 26px !important;
    }

    /* unit__fukidashi */
    .frame__feature .unit__fukidashi{
        padding: 16px 42px;
        font-size: 18px;
        max-width: 480px;
        flex-wrap: wrap;
        flex-direction: row;
    }
    #feature-01 .unit__fukidashi{
        margin-left:94px;
        max-width :420px;
    }
    #feature-01 .unit__fukidashi:before{
        width: 84px;
        height:84px;
        left: -94px;
    }

    #feature-02 .unit__fukidashi{
        padding: 16px;
        height: 110px;
        /*子要素折り返し*/
        flex-wrap:nowrap;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    /*group__detail*/
    .frame__feature .group__detail{
        gap: 24px;
    }
    .frame__feature .area__detail{
        gap: 10px;
        max-width: 720px;
    }
    .frame__feature .block__img{
        display: flex;
        gap: 24px;
    }
        /*group__detail*box__img*/
        .frame__feature .box__img{
            padding: 24px;
            flex: 1;
            }
            .frame__feature .box__img:first-child:after{
                background: url("../images/arrow_pc.svg") 0 0 no-repeat;
                background-size: 100% auto;
                width: 70%;
                height: 20%;
                left: 58%;
                margin-top: 5%;
            }
            .frame__feature .box__img h5{
                font-size: 21px;
                letter-spacing: 0%;
            }
            .frame__feature .box__img + .box__img h5{
                position: relative;
                padding: .5em .5em .5em 0;
            }
            .frame__feature .box__img + .box__img h5:before{
                width: 24px;
                height: 24px;
            }
            .frame__feature .box__img + .box__img h5:after{
                position: absolute;
                top:-4px;
                right: -10px;
                width: 20px;
                height: 20px;
            }
            .frame__feature .box__img + .box__img .unit__img{
                width: 62%;
            }
        .area__detail .unit__fukidashi-detail{
                max-width: 560px;
                padding: 21px 42px;
                font-size: 20px;
                align-self: auto;
                border: 6px solid #B2E6F9;
            }
        .area__detail .unit__fukidashi-detail:after{
            top: -24px;
            margin-left: -57px;
            width: 24px;
            height: 24px;
            }
        .area__detail .unit__fukidashi-detail .txt-belt{
            font-size: 24px;
            }

        #feature-02{
            flex-direction: row;
            flex-wrap: wrap;
            gap: 42px 24px;
            width: 100%;
            justify-content: center;
        }
        #feature-02 .unit__tit-feature{
            width: 100%;
        }
        #feature-02 .block__detail{
            padding-top: 0;
            width : calc((100% - 48px)/ 3) ;
            border: none;
            gap:24px;
        }
            #feature-02 .block__detail .box__tit{
                gap: 16px;
            }
                #feature-02 .block__detail h5{
                    width: 7em;
                    font-size: 16px;
                }
                #feature-02 .block__detail .unit__img{
                    width: 94px;
                }

                #feature-02 .block__detail .unit__ans{
                    margin-top: -10px;
                    font-size: 16px;
                }
                #feature-02 .block__detail .unit__ans .txt-belt{
                    font-size: 21px;
                }
                #feature-02 .block__detail .txt__note{
                    font-size: 13px;
                }

            #feature-02 .unit__fukidashi:after{
                width: 18px;
                height:24px;
                top:-22px;
                margin-left: -20px;
            }



/*wrap__nav-course 　---------------------------------------------------*/
.wrap__nav-course{
    padding-top: 64px;
    gap: 48px;
    max-width: 820px;
}

.wrap__nav-course h2{
    font-size: 25px;
}

.wrap__nav-course h3{
    font-size: 18px !important;
    padding-top: 16px;
    padding-bottom: 16px;
}
        .frame__nav-course label{
            width: 25%;
            border-top: none !important;
            border-right: 1px solid #E0DCDC;
            
        }
            .frame__nav-course #courseNav04+label{
                border-right: none;
            }

        .frame__nav-course .nav__course{
            padding: 21px 16px 10px 16px;
            gap:21px;
        }
        .frame__nav-course .nav__course:after{
            content:"";
            width:0;
            height:0;
            border-style:solid;
            border-width: 10px 10px 0 10px;
            border-color: #D9D9D9 transparent transparent transparent;
            transition: all 300ms ease;
            transition: all 0.3s ease-out;
        }
            .frame__nav-course label:hover .nav__course{
                box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.0);
            }
            .frame__nav-course input[type=checkbox]:checked + label{
                background: #D9F4FB;
            }
            .frame__nav-course input[type=checkbox]:checked + label .nav__course{
                border-color: #007AFF;
                box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0);
            }
            .frame__nav-course input[type=checkbox]:checked + label .nav__course:after{
                border-color: #006BCD transparent transparent transparent;
            }
                .frame__nav-course #courseNav04:checked + label .nav__course:after{
                    border-color: #fff transparent transparent transparent;
                }
                .frame__nav-course #courseNav04:checked + label .nav__course:before{
                    position: absolute;
                    transform:translateX(-50%);
                    -moz-transform:translateX(-50%);
                    -webkit-transform:translateX(-50%);
                    left: 50%;
                    bottom: -17px;
                    content:"";
                    width:0;
                    height:0;
                    border-style:solid;
                    border-width: 10px 10px 0 10px;
                    border-color: #006BCD transparent transparent transparent;
                }
            .frame__nav-course .nav__course h4{
                font-size: 17px;
            }
            .frame__nav-course .nav__course li{
                gap: 5px;
                font-size: 12px;
            }
            .frame__nav-course .nav__course li:before{
                width: 16px;
            }

    .frame__sub-nav-course{
        padding:14px 14px 24px;
        gap: 10px 30px;
    }
    .frame__sub-nav-course:after{
        width: 75%;
    }
        .frame__sub-nav-course h4{
            font-size: 14px;
        }
        .frame__sub-nav-course label{
            width : calc((100% - 90px)/ 4);
            font-size: 14px;
        }
        .frame__sub-nav-course label span{
            font-size: 14px;
        }

/*wrap__course 　---------------------------------------------------*/
.wrap__course{
    max-width: 820px;
    padding-left: 0;
    padding-right: 0;
    align-self: auto;
}
/*　box__tit_search 　---------------------------------------------------*/

/*box__tit_search .search_type*/
.box__tit_search .search_type{
    font-size: 16px;
}
.box__tit_search .search_type span{
    font-size: 18px;
}

    /*box__tit_search h3*/
    .box__tit_search h3{
        font-size: 24px;
        line-height: 100%;
        letter-spacing: 0.05em;
    }
    /*box__tit_search h3*/
    .box__tit_search .search_number{
        font-size: 21px;
    }
    .box__tit_search .search_number span{
        font-size: 14px;
    }

/*search_keyword*/
.box__tit_search .search_target,
.box__tit_search .search_prefecture{
    font-size: 18px;
}


/*　frame__course 　---------------------------------------------------*/
.frame__course{
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap:24px;
}
.group__course{
        flex-direction: row;
        align-items: flex-start;
        align-content: flex-start;
        align-self: stretch;
        flex-wrap: wrap;
        gap:48px;
    }
    .group__course .card__course{
        width : calc((100% - 96px)/ 3) ;
        padding: 0;
        border: none;
    }
    /*.group__course .card__course .course_tmb{
        aspect-ratio: 9 / 5;
    }
     .group__course .card__course .course_tmb:has(> .slider_thumb){
        aspect-ratio:auto;
     }*/

        /*box__btn_more*/
        .frame__course .box__btn_more{
            border-top: 1px solid #D9D9D9;
        }

/*　search 　---------------------------------------------------------*/
#fix__search.position_fixSearch{
    bottom: 45px;
    transition: all 200ms ease;
    transition: all 0.2s ease-out;
}

.wrap__search {
    max-width: 820px;
}
.wrap__search h3{
    height: 52px;
    padding: 16px 24px;
    font-size: 18px;

}
.wrap__search h3:after{
    right: 22px;
}
.wrap__search h3.open:after{
    right: 26px;
}

.frame__toggle-search {
    padding: 16px 42px 0;
}

    .wrap__search .box__search {
      padding-bottom: 16px;
    }
    .wrap__search .wrap__checkbox label{
        font-size: 14px;
    }


/*　pagetop 　---------------------------------------------------------*/
#page_conts_top{
    bottom:24px;
    right:52px;
    height:70px;
    width:70px;
    display: block;
}
#page_conts_top.position_foot{
    bottom:70px;
}
#page_conts_top a{
    height:70px;
    width:70px;
}
#page_conts_top a:after,
#page_conts_top a:before{
    height:4px;
    width:22px;
}
#page_conts_top a:before{
	left:-12px;
}
#page_conts_top a:after{
	left:13px;
}
