@charset "utf-8";

/*--certificate_programs.css--*/
/* ##########PC########## */
.page_nav>ul>li>a .lbl_program {
    margin-right: 0.3em;
}

.page_body p,
.page_body ul,
.page_body ol,
.page_body table {
    margin-left: 1.3em;
    margin-right: 1.3em;
}

.page_body .target_list {
    list-style: none;
    counter-reset: target_num 0;
}

.page_body .target_list li {
    position: relative;
    padding-left: 1.5em;
    margin-left: 0;
}

.page_body .target_list li::before,
.page_body .target_num {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    width: 1.25rem;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: rgba(61, 41, 175, 0.75);
    color: #fff;
    font-size: 0.84em;
}

.page_body .target_list li::before {
    counter-increment: target_num 1;
    content: counter(target_num);
    position: absolute;
    top: 0.4em;
    left: 0;
}

.page_body hr {
    border: none;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
    margin: 5em 0;
}

.page_body h4 .notes {
    font-size: 0.84em;
    font-weight: normal;
}



/*トップ*/
.intro_msg {
    display: flex;
    justify-content: center;
    margin-bottom: 4em;
}

.page_body .intro_msg p {
    text-align: center;
    font-size: 1.4em;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    font-weight: 600;
}

.intro_msg p strong {
    color: #3d29af;
    display: inline-block;
    position: relative;
    z-index: 0;
    padding: 0 0.2em;
}

.intro_msg p strong::before {
    content: "";
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0.2em;
    left: 0;
    z-index: -1;
    border-bottom: 0.5rem solid rgba(255, 236, 103, 0.75);
}

.cp_news_box {
    box-sizing: border-box;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    padding: 1em;
    background: #fff;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
}

.cp_news_box>.box_header {
    width: 13.5rem;
    min-height: 10rem;
    display: flex;
    flex-direction: column;
    background: rgba(60, 40, 175, 0.05);
}

.cp_news_box>.box_header h3 {
    flex: 1;
    padding: 1em 0 0 1em;
    margin: 0;
    font-size: 1em;
}

.cp_news_box>.box_header h3 .lbl_ja {
    color: #222;
    font-weight: 600;
    font-size: 1.2em;
}

.cp_news_box>.box_header .more {
    height: 2.5em;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 0.75em;
}

.cp_news_box>.box_header .more a {
    color: #222;
    text-decoration: none;
    font-size: 0.9em;
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    transition: .3s all ease;
}

.cp_news_box>.box_header .more a::after {
    content: "";
    display: inline-block;
    width: 1rem;
    aspect-ratio: 48 / 44;
    background-image: url(../shared/icon_arr_blue_r.png);
    background-repeat: no-repeat;
    background-size: contain;
    transition: .3s all ease;
}

.cp_news_box>.box_header .more a:hover {
    color: rgba(60, 40, 175, 1);
}

.cp_news_box>.box_header .more a:hover::after {
    transform: translateX(0.3em);
}


.cp_news_box>.box_inner {
    flex: 1;
    margin-left: 1.5rem;
}

.entry_list_box {}

.entry_list_box>ul {
    margin: 0;
    padding: 0;
}

.entry_list_box>ul>li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin: 0;
    padding: 0;
}

.entry_list_box>ul>li:last-child {
    border-bottom: none;
}

.entry_list_box>ul>li::before {
    content: none;
}

.entry_list_box ul li a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    line-height: 1.4;
    padding: 1em 2.75rem 1em 0.9em;
    color: #222;
    position: relative;
}

.entry_list_box ul li a:hover {
    color: #222;
}

.entry_list_box ul li a:after {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.375rem;
    background-image: url("../shared/icon_arr_blue_r.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    position: absolute;
    top: 2rem;
    right: 0.75rem;
    transition: .3s all ease;
    filter: grayscale(1);
    opacity: 0.25;
}

.entry_list_box ul li a:hover:after {
    filter: grayscale(0);
    opacity: 1;
}

.entry_list_box ul li .entry_date_cat {
    display: flex;
    align-items: center;
    margin-bottom: 0.4em;
}

.entry_list_box ul li .entry_date {
    font-size: 0.88rem;
    font-weight: 700;
    color: #666;
    margin-right: 1.5em;
}

.entry_list_box ul li .entry_cat {
    display: flex;
}

.entry_list_box ul li .entry_title {
    width: 100%;
}

.entry_list_box ul li.new .entry_title:after {
    content: "NEW";
    display: inline-block;
    font-size: 0.8em;
    margin-left: 0.5em;
    color: #c40026;
}

.cp_news_box>.box_footer {
    display: none;
}

.haikei_mokuteki_list {
    margin-top: 2em;
    margin-left: 1em;
    margin-right: 1em;
}

.haikei_mokuteki_list ul {
    background: rgba(60, 40, 175, 0.05);
    padding: 1.5em;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75em;
}

.haikei_mokuteki_list ul li {
    background: #fff;
    margin: 0;
    padding: 0.8em 2em 0.8em 3em;
    font-size: 1.05em;
    font-weight: 500;
    line-height: 1.5;
}

.haikei_mokuteki_list ul li::before {
    font-family: FontAwesome;
    content: "\f058";
    width: auto;
    height: auto;
    display: inline-block;
    background: none;
    top: 0.5em;
    left: 0.8em;
    font-weight: normal;
    color: #02ad97;
    font-size: 1.3em;
}

.shutoku_gijutsu {
    padding: 0 1em;
    margin-top: 2em;
}

.shutoku_gijutsu ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1em 3em;
}

.shutoku_gijutsu ul li {
    box-sizing: border-box;
    width: calc((100% - 3em) / 2);
    border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
    padding-left: 1.7em;
    padding-right: 1em;
    padding-bottom: 0.5em;
    line-height: 1.5;
    font-weight: 500;
}

.shutoku_gijutsu ul li::before {
    font-family: FontAwesome;
    content: "\f111";
    width: auto;
    height: auto;
    display: inline-block;
    background: none;
    top: 0;
    left: 0.3em;
    color: #3d29af;
    font-weight: normal;
}


/*募集要項*/
.page_body table.apply_info tbody th,
.page_body table.apply_info tbody td {
    padding: 0.8em;
}


.page_body table.apply_info tbody th {
    width: 8em;
    text-align: center;
    border-bottom-color: rgba(0, 0, 0, 0.15);
}

.page_body table.apply_info tbody td ol {
    margin-left: 0.5em;
    margin-bottom: 0;
}

.goto_apply_form {
    display: flex;
    justify-content: center;
    margin-top: 3em;
}

.goto_apply_form a {
    box-sizing: border-box;
    height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(61, 41, 175, 1);
    border: 2px solid rgba(61, 41, 175, 1);
    color: #fff;
    font-size: 1.2em;
    text-decoration: none;
    padding: 0 4em;
    border-radius: 100vh;
    position: relative;
    transition: .3s all ease;
}

.goto_apply_form a:hover {
    background: #fff;
    color: rgba(61, 41, 175, 1);
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2);
}

.goto_apply_form a::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: calc(50% - (1.5rem / 48 * 44 / 2));
    right: 1em;
    width: 1.5rem;
    aspect-ratio: 48 / 44;
    background-image: url(../shared/icon_arr_blue_r.png);
    background-size: contain;
    background-repeat: no-repeat;
    filter: brightness(0) invert(1);
    transition: .3s all ease;
}

.goto_apply_form a:hover::after {
    filter: brightness(1) invert(0);
}

.kougi_fukei {
    margin: 2em 0;
}

.kougi_fukei ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em;
    margin: 0 5em;
}

.kougi_fukei ul li {
    box-sizing: border-box;
    margin: 0;
    padding: 0.5em;
    width: calc((100% - 3em) / 3);
    box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.1);
}

.kougi_fukei ul li::before {
    content: none;
}

/* 20260218追加 */
.kougi_button_box {
    text-align: center;
}

.kougi_button_box>p {
    margin: 0.8em;
}

.kougi_button_box .kougi_button a {
    display: inline-block;
    border: 1px solid rgba(60, 40, 175, 1);
    padding: 0.7em 2em;
    text-decoration: none;
    transition: .3s all ease;
    color: #212121;
    background: #fff;
    font-size: 1.1em;
    box-shadow: 2px 2px 0 0 rgba(0,0,0,0.15);
    line-height: 1.3;
}

.kougi_button_box .kougi_button a:hover {
    background: rgba(60, 40, 175, 0.1);
    color: #212121;
    border-color: rgba(60, 40, 175, 0);
}

.kougi_button_box .kougi_button a .button_lbl {
    display: flex;
}

.kougi_button_box .kougi_button a .button_lbl .lbl_1 {
    display: block;
    padding-right: 1rem;
}

.kougi_button_box .kougi_button a .button_lbl .lbl_2 {
    display: block;
}




/*カリキュラム*/
.youtube_imgs {
    display: flex;
    justify-content: center;
}

.youtube_imgs ul {
    display: flex;
    margin: 0;
    gap: 2em;
}

.youtube_imgs ul li {
    padding: 0;
    margin: 0;
    width: 24rem;
}

.subject_list {}

.subject_list table tbody tr td:nth-child(1) {
    text-align: center;
}

.page_body .syllabus {
    margin-bottom: 2em;
}

.syllabus .c_no {
    width: 4em;
}

.syllabus .c_cat {
    width: 5em;
}

.syllabus .c_subject {}

.syllabus .c_hours {
    width: 5em;
}

.syllabus thead td {
    padding: 0.5em;
}

.syllabus thead td:last-child {
    border-right-color: rgba(255, 255, 255, 0);
}

.syllabus thead tr td:nth-child(1),
.syllabus thead tr td:nth-child(2),
.syllabus thead tr td:nth-child(4) {
    text-align: center;
}

.page_body .syllabus tbody th {
    text-align: center;
    border-right-color: rgba(0, 0, 0, 0.15);
    border-bottom-color: rgba(0, 0, 0, 0.15);
}

.page_body .syllabus tbody td p,
.page_body .syllabus tbody td ul,
.page_body .syllabus tbody td ol {
    margin: 0;
}

.page_body .syllabus tbody td ul li::before {
    width: 0.25rem;
    height: auto;
    aspect-ratio: 1 / 1;
    top: 0.65em;
    left: 0.2em;
}


@media screen and (min-width:1px) and (max-width:1400px) {}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px) {
    .page_nav>ul>li>a .lbl_program {
        display: none;
    }

    /*カリキュラム*/
    .youtube_imgs {
        margin-left: 3em;
        margin-right: 3em;
    }

    .youtube_imgs ul {
        gap: 1em;
    }

    .youtube_imgs ul li {
        width: calc((100% - 1em) / 2);
    }

    .subject_list table tbody tr td:nth-child(1) {
        text-align: center;
    }

}

/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {

    .page_body p,
    .page_body ul,
    .page_body ol,
    .page_body table {
        margin-left: 1em;
        margin-right: 1em;
    }

    .page_body hr {
        margin: 2.5em 0;
    }

    /*トップ*/
    .intro_msg {
        margin-bottom: 2em;
    }

    .page_body .intro_msg p {
        font-size: 1.1em;
        line-height: 1.5;
    }

    .page_body .intro_msg p strong {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .page_body .intro_msg p strong::before {
        content: none;
    }

    .page_body .intro_msg p strong .lbl1,
    .page_body .intro_msg p strong .lbl2 {
        position: relative;
    }

    .page_body .intro_msg p strong .lbl1::before,
    .page_body .intro_msg p strong .lbl2::before {
        content: "";
        display: block;
        width: 100%;
        position: absolute;
        bottom: 0.2em;
        left: 0;
        z-index: -1;
        border-bottom: 0.5rem solid rgba(255, 236, 103, 0.75);
    }

    .haikei_mokuteki_list {
        margin-left: 0;
        margin-right: 0;
    }

    .haikei_mokuteki_list ul {
        padding: 1em;
    }

    .shutoku_gijutsu {
        padding: 0;
    }

    .shutoku_gijutsu ul {
        flex-direction: column;
    }

    .shutoku_gijutsu ul li {
        width: 100%;
    }

    .cp_news_box {
        padding: 0.5em;
        flex-direction: column;
    }

    .cp_news_box>.box_header {
        box-sizing: border-box;
        min-height: auto;
        min-height: initial;
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
        padding: 0.4em;
    }

    .cp_news_box>.box_header h3 {
        padding: 0;
    }

    .cp_news_box>.box_header h3 .lbl_ja {
        font-size: 1em;
    }

    .cp_news_box>.box_header .more {
        height: auto;
    }

    .cp_news_box>.box_inner {
        margin-left: 0;
    }

    .page_body .cp_news_box>.box_inner ul {
        margin-left: 0;
        margin-right: 0;
    }



    /*募集要項*/
    .page_body .kougi_fukei ul {
        margin: 0 1em;
        gap: 1em;
    }

    .page_body .kougi_fukei ul li {
        width: calc((100% - 1em) / 2);
    }

    .goto_apply_form a {
        padding-left: 3em;
        padding-right: 3em;
    }

    /* 20260218追加 */
    .kougi_button_box .kougi_button a .button_lbl {
        flex-direction: column;
    }

    .kougi_button_box .kougi_button a .button_lbl .lbl_1 {
        padding-right: 0;
    }


    /*カリキュラム*/
    .youtube_imgs {
        margin-left: 1em;
        margin-right: 1em;
    }

    .subject_list thead tr th:nth-child(3) {
        width: 3em;
    }

    .subject_list thead tr th:nth-child(4) {
        width: 2em;
    }

    .subject_list tbody tr td:nth-child(3),
    .subject_list tbody tr td:nth-child(4) {
        text-align: center;
    }

    .page_body .syllabus {
        margin-bottom: 1em;
    }

    .syllabus .c_no {
        width: 2.5em;
    }

    .syllabus .c_cat {
        width: 3em;
    }


}


/* ##########印刷用########## */
@media print {}