@charset "UTF-8";

/* 共通 */
.section_page{
    padding-top: 4%;
    padding-bottom: 3%;
}

.bootcamp_btn{
    background-color: #F20000;
    border: .6vw solid #fff;
    border-radius: 1.4vw;
    box-shadow: 1.1vw 1.1vw .6vw rgba(0, 0, 0, .25);
    color: #fff;
    display: flex;
    align-items: center;
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    font-size: 5.3vw;
    font-weight: 500;
    letter-spacing: .05em;
    margin-left: auto;
    margin-right: auto;
    padding-left: 5vw;
    padding-right: 4vw;
    width: 69vw;
    height: 15vw;
}
.bootcamp_btn::after{
    content: "";
    aspect-ratio: 1 / 1;
    background-color: #fff;
    background-image: url("../images/common/btn_arrow_right_red.svg");
    background-size: 42%;
    background-position: 60% center;
    background-repeat: no-repeat;
    border-radius: 50%;
    display: block;
    margin-left: auto;
    width: 5.4vw;
}
/* .bootcamp_btn.end{
    background-color: #D9D9D9;
} */
.bootcamp_btn.end::after{
    background-image: url("../images/common/btn_arrow_right_end.svg");
}

.bootcamp_section_title_wrap{
    border-bottom: 2.2vw solid #E8E3E5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 2%;
}

.bootcamp_section_title_en{
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    font-size: 7.4vw;
    font-weight: 300;
    line-height: 1.1;
    word-break: keep-all;
}

.bootcamp_section_title_jp{
    font-size: 4vw;
    font-weight: 700;
    margin-top: 3%;
}

.bootcamp_section_title_icon{
    width: 24%;
}
#section_blog .bootcamp_section_title_icon{
    margin-top: 16%;
}

/* application */
.application_wrap{
    background-image: url("../images/bootcamp/application_bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 3%;
    padding-bottom: 3%;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.application_text{
    color: #fff;
    font-size: 3.2vw;
    line-height: 1.7;
    margin-bottom: 3%;
    text-align: center;
}

/* main */
.section_main{
    padding-top: 6%;
}

.end_notice{
    font-size: 4.2vw;
    font-weight: 700;
    margin-top: 4%;
    margin-bottom: 6%;
    text-align: center;
}

.main_container{
    background-image: url(../images/bootcamp/main_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 1.4vw;
    margin-left: auto;
    margin-right: auto;
    padding-top: 7%;
    padding-bottom: 7%;
    width: 88%;
}

.main_logo{
    margin-left: auto;
    margin-right: auto;
    mix-blend-mode: darken;
    width: 53%;
}

.main_head{
    font-size: 3.6vw;
    margin-top: 3%;
    text-align: center;
}

.main_title{
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    font-size: 6.6vw;
    font-weight: 500;
    line-height: 1.1;
    margin-top: 4%;
    text-align: center;
}

.main_subtitle{
    background-color: #F20000;
    border-radius: 1.4vw;
    color: #fff;
    font-size: 3.2vw;
    margin-top: 4%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2%;
    padding-bottom: 2%;
    text-align: center;
    width: 88%;
}

.main_img{
    margin-top: 11%;
}

.main_text{
    font-size: 3.2vw;
    line-height: 1.7;
    margin-top: 7%;
    margin-bottom: 4%;
    text-align: center;
}

/* info */
.section_info{
    background-image: url(../images/bootcamp/application_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 3%;
    padding-bottom: 3%;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.info_container{
    position: relative;
}

.info_head{
    color: #fff;
    font-size: 4.4vw;
    font-weight: 700;
    line-height: 1.65;
    text-align: justify;
}

.info_text{
    color: #fff;
    font-size: 3.2vw;
    line-height: 1.7;
    margin-top: 4%;
    text-align: justify;
}

.info_icon{
    width: 38%;
    position: absolute;
    bottom: -58%;
    right: 2%;
}

/* msg */
.section_msg{
    background-image: url(../images/bootcamp/msg_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 3%;
    padding-bottom: 3%;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.msg_text{
    font-size: 4.2vw;
    font-weight: 700;
    line-height: 1.8;
}

.msg_notice{
    font-size: 3.2vw;
    margin-top: 6%;
}

.msg_img_wrap{
    margin-top: 11%;
}

.msg_img:nth-child(odd){
    width: 74%;
}
.msg_img:nth-child(even){
    margin-left: auto;
    width: 49%;
}
.msg_img:nth-child(n+2){
    margin-top: 8%;
}
.msg_img img{
    border-radius: 1.4vw;
    display: block;
    width: 100%;
}

/* training */


/* skill */


/* flow */
.flow_container{
    position: relative;
}

.flow_held_date{
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 1.2;
    margin-top: 3%;
    margin-bottom: 3%;
}
.flow_held_date .date{
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    font-size: 6.4vw;
    font-weight: 700;
}

.flow_event_wrap{
    border: .6vw solid #000;
    margin-top: 7%;
}

.flow_event_day{
    background-color: #FDFF9F;
    border-bottom: .6vw solid #000;
    font-size: 6.4vw;
    font-weight: 700;
    padding-top: 3%;
    padding-bottom: 3%;
    text-align: center;
}

.flow_event_inner{
    padding-top: 3%;
    padding-bottom: 3%;
}

.flow_event_title{
    font-size: 3.6vw;
    font-weight: 700;
    line-height: 1.7;
    text-align: center;
}

.flow_event_date,
.flow_event_time{
    font-size: 3.0vw;
    font-weight: 700;
    line-height: 1.7;
    text-align: center;
}
.flow_event_date .date{
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    font-size: 6.4vw;
    font-weight: 700;
}

.flow_program_head{
    aspect-ratio: 67/12;
    background-color: #FDFF9F;
    border-left: 1.4vw solid #000;
    display: flex;
    justify-content: center;
    flex-direction: column;
    font-size: 4.2vw;
    font-weight: 700;
    line-height: 1.2;
    margin-top: 3%;
    padding-left: 4%;
    width: 100%;
    height: max(4.2vw, 160px);
}

.flow_program_head .day{
    font-size: 5.3vw;
}

.flow_program_notice{
    font-size: min(2.4vw, 24px);
    line-height: 1.7;
    margin-top: 3%;
    margin-bottom: 4%;
}

.flow_icon1,
.flow_icon2{
    position: absolute;
    right: 0;
}
.flow_icon1{
    width: 38%;
    top: 33.5%;
}
.flow_icon2{
    width: 29%;
    top: 52.5%;
}

.page_program_text{
    margin-top: 3%;
    font-size: 3.6vw;
    line-height: 1.7;
    align-content: center;
}

/* blog */
.blog_info_wrap{
    aspect-ratio: 670/282;
    background-color: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
}

.blog_info_title,
.blog_info_text{
    font-size: 3.2vw;
    line-height: 1.7;
    text-align: center;
}
.blog_info_title{
    font-weight: 700;
}

.blog_info_link{
    display: block;
    font-size: 2.6vw;
    font-weight: 700;
    line-height: 1.7;
    margin-top: 2%;
    text-align: center;
}

/* culture */

.container_culture{
    display: flex;
    gap: 0px;
    width: 100%;
    background-color: #eee;
}

.container_culture .page_section_img{
    width: 59%;
    margin-bottom: 5%;
    margin-left: 5%;
}

.culture_info_wrap{
    width: 70%;
    align-content: center;
    text-align: center;
}

.culture_info_title,
.culture_info_link{
    font-size: 3.2vw;
    font-weight: 700;
    place-content: center;
    line-height: 1.7;
}


/* job */
.job_link_wrap{
    display: block;
    margin-top: 10%;
    width: 100%;
}

.job_link_text{
    background-color: #F20000;
    border-bottom-left-radius: 1.4vw;
    border-bottom-right-radius: 1.4vw;
    color: #fff;
    display: flex;
    align-items: center;
    font-size: 4.8vw;
    padding: 4% 5%;
    width: 100%;
}
.job_link_text::after{
    content: "";
    aspect-ratio: 1 / 1;
    background-color: #fff;
    background-image: url(../images/common/btn_arrow_right_red.svg);
    background-size: 42%;
    background-position: 60% center;
    background-repeat: no-repeat;
    border-radius: 50%;
    display: block;
    margin-left: auto;
    width: 5.4vw;
}

.test_text{
    width: 100%;
    height: 80px;
    background: linear-gradient(to bottom, #f7f7f7, #E8E3E5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    color: #333333;
    margin-top: 2%;
    margin-bottom: 2%;
}

.br {display: none;}

.container_training{
    display: flex;
    gap: 10px;
    margin-top: 2%;
}

.page_table_container_pep{
    margin: 8% auto 27%;
    width: 88%;
}

.page_table_line_pep{
    border-bottom: .3vw solid #9E9E9F;
    color: #4095D3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 4vw;
    font-weight: 700;
    line-height: 1.3;
    padding-top: 3%;
    padding-bottom: 3%;
}
.page_table_line_pep::after{
    content: "";
    aspect-ratio: 24/16;
    background-image: url("../images/common/arrow_bottom_blue.svg");
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    width: 4%;
}

.header_entry_btn {
    opacity: 0;
    visibility: hidden;
}

@media screen and (min-width: 960px){
    /* 共通 */
    .section_page{
        padding-top: 4%;
        padding-bottom: 3%;
    }

    .bootcamp_btn{
        border: 0.3vw solid #fff;
        border-radius: min(.6vw, 10px);
        font-size: min(2.3vw, 36px);
        padding-left: 1vw;
        padding-right: 1vw;
        width: 60%;
        height: min(8vw, 180px);
    }
    .bootcamp_btn::after{
        width: min(3.4vw, 48px);
    }

    .bootcamp_section_title_wrap{
        border-bottom: min(1.1vw, 20px) solid #E8E3E5;
    }

    .bootcamp_section_title_en{
        font-size: min(4.2vw, 64px);
    }

    .bootcamp_section_title_jp{
        font-size: min(2vw, 38px);
    }

    /* application */
    .application_text{
        font-size: min(1.7vw, 32px);
    }

    /* main */
    .section_main{
        padding-top: 6%;
    }

    .end_notice{
        font-size: min(1.7vw, 32px);
    }

    .main_container{
        border-radius: min(.6vw, 10px);
        width: 90%;
        max-width: 920px;
    }

    .main_head{
        font-size: min(2.4vw, 40px);
    }

    .main_title{
        font-size: min(5.2vw, 90px);
    }

    .main_subtitle{
        border-radius: min(.6vw, 10px);
        font-size: min(1.7vw, 32px);
    }

    .main_text{
        font-size: min(1.9vw, 32px);
    }

    /* info */
    .info_head{
        font-size: min(2vw, 38px);
        width: 92%;
    }

    .info_text{
        font-size: min(1.6vw, 30px);
        width: 94%;
    }

    .info_icon{
        width: 32%;
        bottom: -65%;
    }

    /* msg */
    .msg_text{
        font-size: min(1.7vw, 30px);
    }

    .msg_notice{
        font-size: min(.9vw, 16px);
        width: 87%;
    }

    .msg_img_wrap{
        margin-top: 3%;
        width: 87%;
    }

    .msg_img:nth-child(odd){
        width: 74%;
    }
    .msg_img:nth-child(even){
        margin-left: auto;
        width: 49%;
    }
    .msg_img:nth-child(n+2){
        margin-top: 8%;
    }
    .msg_img img{
        border-radius: min(.6vw, 10px);
    }

    /* training */


    /* skill */


    /* flow */
    .flow_held_date{
        font-size: min(1.9vw, 36px);
    }
    .flow_held_date .date{
        font-size: min(3.4vw, 64px);
    }

    .flow_event_wrap{
        border: min(.3vw, 5px) solid #000;
        width: 87%;
    }

    .flow_event_day{
        border-bottom: min(.3vw, 5px) solid #000;
        font-size: min(3.4vw, 64px);
    }

    .flow_event_title{
        font-size: min(1.7vw, 32px);
    }

    .flow_event_date,
    .flow_event_time{
        font-size: min(1.8vw, 28px);
    }
    .flow_event_date .date{
        font-size: min(3.4vw, 64px);
    }

    .flow_program_head{
        border-left: min(.7vw, 13px) solid #000;
        font-size: min(1.7vw, 32px);
        width: 45%;
    }
    .flow_program_head .day{
        font-size: min(2.6vw, 50px);
    }

    .flow_program_notice{
        font-size: min(.8vw, 14px);
    }

    .flow_icon1,
    .flow_icon2{
        right: 13%;
    }
    .flow_icon1{
        width: 31%;
        top: 31.5%;
    }
    .flow_icon2{
        width: 24%;
        top: 55.5%;
    }

    .container_program{
        display: flex;
        gap: 30px;
        /* margin-top: 2%; */
    }

    .page_program_text{
        margin-top: 3%;
        font-size: min(1.4vw, 24px);
        line-height: 1.7;
        align-content: center;
    }

    /* blog */

    .blog_info_wrap{
        width: 59%;
    }

    .blog_info_title,
    .blog_info_text{
        font-size: min(1.3vw, 25px);
    }

    .blog_info_link{
        font-size: min(.9vw, 17px);
    }

    /* culture */

    .container_culture{
        display: flex;
        gap: 0px;
        width: 59%;
        background-color: #eee;
    }

    .culture_info_wrap{
        width: 59%;
        align-content: center;
        text-align: center;
    }

    .culture_info_title,
    .culture_info_link{
        font-size: min(1.3vw, 25px);
        place-content: center;
        line-height: 1.7;
    }

    /* job */

    .container_job {
        display: flex;
        gap: 20px;
    }

    .job_link_wrap{
        width: 59%;
    }

    .job_link_text{
        border-bottom-left-radius: min(.6vw, 10px);
        border-bottom-right-radius: min(.6vw, 10px);
        font-size: min(1.7vw, 22px);
    }
    .job_link_text::after{
        width: min(2.4vw, 48px);
    }

    
    .br {
        display: block; /* 行内のまま */
    }

    /* .page_table_container_pep{
        margin: 8% auto 27%;
        width: 88%;
    } */
    .page_table_container_pep{
        margin: 3% auto 10%;
        width: 90%;
        max-width: 920px;
    }

    .page_table_line_pep{
        border-bottom: .1vw solid #9E9E9F;
        color: #4095D3;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: min(4vw, 24px);
        font-weight: 500;
        line-height: 1.3;
        padding-top: 2%;
        padding-bottom: 2%;
    }
    .page_table_line_pep::after{
        content: "";
        aspect-ratio: 24/16;
        background-image: url("../images/common/arrow_bottom_blue.svg");
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        width: 4%;
    }

}