@charset "UTF-8";

/*----------------------------------------------------
	☆PC
----------------------------------------------------*/

.notice{
    font-size: 0.7em;
    opacity: 0.6;
    margin-top: 0.5em;
}

/*--- mainTitle --*/
#information.new-graduate #mainTitle::before{
    background: url("../images/newgraduate/bg_title.jpg") right bottom / auto 100% no-repeat;
}

/*--- message --*/
#contents .message .image{
    width: 100%;
    background: url("../images/newgraduate/img_01.jpg") center center / cover no-repeat;
    max-height: 500px;
    margin-bottom: 60px;
    height: 46vw;
}
#contents .message .text{
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}


/*--- informationContents --*/
#contents .informationContents{
    padding-bottom: 0;
}

/*--- flow --*/

#contents .flow{
    margin-top: 100px;
}
#contents .flow .flowList {
    max-width: 840px;
    width: 85%;
    margin: 0 auto;
}
#contents .flow .flowList > li{
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    position: relative;
}
#contents .flow .flowList > li:not(:last-child)::before{
    content: "";
    display: block;
    background: url("../images/common/bg_dot_red.svg") center top / contain repeat-y;
    width: 3px;
    height: 20px;
    position: absolute;
    left: calc(11.5% - 1px);
    bottom: -20px;
}
#contents .flow .flowList > li .num{
    width: 23%;
    background: #000;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
}
#contents .flow .flowList > li .en{
    font-size: 40px;
    line-height: 1;
}
#contents .flow .flowList li dl{
    width: 77%;
    padding: 50px;
    border: 1px solid #e6e6e6;
}
#contents .flow .flowList li dl dt{
    font-size: 22px;
    color: #e21b13;
    margin-bottom: 15px;
    line-height: 1.3;
    font-weight: bold;
}
#contents .flow .flowList li dl dd{
    line-height: 1.8;
}
#contents .flow .flowList li dl dd ul.smallList{
    display: flex;
    flex-direction: column;    
}
#contents .flow .flowList li dl dd ul.smallList li{
    padding-top: 5px;
}
#contents .flow .flowList li dl dd ul.smallList li:not(:last-of-type){
    background: url("../images/common/arrow_bottom_red.svg") center bottom / auto 20px no-repeat;
    padding-bottom: 25px;
    display: table;
    width: fit-content;
}


/*--- flow --*/
#contents .faq .faqList dl{
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #d8d8d8;
}
#contents .faq .faqList dl:last-child{
    margin-bottom: 0;
}

#contents .faq .faqList dl dt{
    position: relative;
    font-size: 18px;
    line-height: 1.5;
    font-weight: bold;
    padding: 10px 40px 10px 70px;
    cursor: pointer;
    transition: .3s;
}
#contents .faq .faqList dl dt:hover{
    color: #e21b13;
}
#contents .faq .faqList dl dt::before{
    content: "Q";
    font-family: "Josefin Sans", sans-serif;
    font-weight: 600;
    font-size: 20px;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    color: #fff;
    background: #e21b13;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    padding-top: 0.2em;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 4px;
}

#contents .faq .faqList dl dt .icon{
    width: 20px;
    height: 20px;
    position: absolute;
    right: 0;
    top: 10px;
    display: block;
}
#contents .faq .faqList dl dt .icon::before,
#contents .faq .faqList dl dt .icon::after{
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #e21b13;
    position: absolute;
    left: 0;
    top: calc(50% - 1px);
    transition: .3s;
    transform-origin: center center;
}
#contents .faq .faqList dl dt .icon::after{
    transform: rotate(90deg);
}

#contents .faq .faqList dl dd{
    padding: 40px;
    background: #f2f2f2;
    margin-left: 70px;
}

#contents .faq .info{
    margin-top: 60px;
    font-weight: bold;
}

#contents .faq .faqList dl dt.active .icon::after{
    transform: rotate(90deg) scale(0,1);
}


/*----------------------------------------------------
	☆ANIMATION
----------------------------------------------------*/



/*----------------------------------------------------
	☆901以上　PCのみ & HOVER
----------------------------------------------------*/

@media screen and (min-width:901px) {
}


/*----------------------------------------------------
	☆TOP UNDER 1200
----------------------------------------------------*/

@media screen and (max-width:1200px) {
    
}

/*----------------------------------------------------
	☆TOP UNDER 900
----------------------------------------------------*/

@media screen and (max-width:900px) {    
}


/*----------------------------------------------------
	☆TOP UNDER 600
----------------------------------------------------*/

@media screen and (max-width:600px) {
    
    #contents .message .image{
        margin-bottom: 30px;
    }
    
    #contents .flow{
        margin-top: 60px;
    }
    
    #contents .flow .flowList{
        width: 100%;
    }
    #contents .flow .flowList li dl {
        width: 77%;
        padding: 26px;
    }
    #contents .flow .flowList > li .en {
        font-size: 28px;
    }
    #contents .flow .flowList li dl dt {
        font-size: 17px;
    }
    #contents .flow .flowList li dl dd {
        line-height: 1.5;
        font-size: 13px;
    }
    
    #contents .faq .faqList dl {
        padding-bottom: 14px;
        margin-bottom: 19px;
    }
    #contents .faq .faqList dl dt {
        font-size: 15px;
        padding: 5px 20px 10px 35px;
    }
    #contents .faq .faqList dl dt .icon {
        width: 14px;
        height: 14px;
        top: 8px;
    }
    #contents .faq .faqList dl dt::before {
        font-size: 16px;
        width: 24px;
        height: 24px;
        top: 5px;
    }
    #contents .faq .faqList dl dd {
        padding: 20px;
        margin-left: 0px;
        font-size: 13px;
    }
    
    
}

