/* Start: Teaser */
.cms_courseTeaser_main { margin: -30px; }
.cms_courseTeaser_main_title { max-width: 770px; }
.cms_courseTeaser_main_title h2 { padding: 0; }
.cms_courseTeaser_main button { display: block; width: auto; margin: 0 auto; }
/* End: Teaser */

/* Start: Box */
.cms_course_flexbox { display: flex; }
.cms_course_box { position: relative; display: flex; flex-direction: column; width: 100%; background: #FFFFFF; box-shadow: 0 0 40px 0 rgba(0,0,0,0.15); }
.cms_course_image_box { position: relative; width: 100%; aspect-ratio: 370 / 240; overflow: clip; }
.cms_course_image { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center; background-size: cover; transition: all .3s ease-in-out; will-change: transform; }
.cms_course_box:hover .cms_course_image { transform: scale(1.05); }
.cms_course_image_box:before { content: ""; position: absolute; z-index: 2; bottom: 0; left: 0; width: 0; height: 5px; background: #00519E; transition: all .3s ease-in-out; }
.cms_course_box:hover .cms_course_image_box:before { width: 100%; }
.cms_course_info { flex: 1; display: flex; flex-direction: column; width: 100%; padding: 20px; }
.cms_course_kk p { font-weight: 700; font-size: 15px; line-height: 23px; color: #000000; }
.cms_course_kb { margin: 6px 0 0 0; }
.cms_course_kb h2,
.cms_course_kb h3 { font-weight: 700; font-size: 24px; line-height: 31px; text-align: left; color: #00519E; padding: 0; }
.cms_course_kb h2:before,
.cms_course_kb h3:before { content: none; }
.cms_course_link { display: flex; align-items: center; gap: 9px; color: #00519E; text-decoration: none; padding: 30px 0 0 0; margin: auto 0 0 auto; }
.cms_course_link > span { font-weight: 700; font-size: 15px; line-height: 23px; }
.cms_course_link > svg { display: flex; width: 18px; height: 13px; transition: all .3s ease-in-out; will-change: transform; }
.cms_course_box:hover .cms_course_link > svg { transform: translateX(5px); }
.cms_course_link > svg > path { stroke: #00519E; }
@media screen and (max-width: 959px) {
    .cms_course_flexbox { width: 50% !important; }
    .cms_course_info { padding: 15px; }
    .cms_course_kk p { font-weight: 700; font-size: 13px; line-height: 20px; }
    .cms_course_kb h2,
    .cms_course_kb h3 { font-weight: 700; font-size: 20px; line-height: 25px; }
    .cms_course_link > span { font-weight: 700; font-size: 13px; line-height: 20px; }
}
@media screen and (max-width: 640px) { .cms_course_flexbox { width: 100% !important; } }
/* End: Box */

/* Start: Listing */
.cms_courseLst_loadBtn button { display: block; width: auto; margin: 0 auto; }
/* End: Listing */

/* Start: Detail */
.cms_courseDet_section { display: flex; flex-direction: column; width: 100%; }
.cms_courseDet_main { display: flex; flex-direction: column; width: 100%; }
.cms_courseDet_part_one,
.cms_courseDet_part_two { width: 100%; padding: 50px 0; }
.cms_courseDet_intro { display: flex; flex-direction: column; width: 100%; }
.cms_courseDet_kk p { font-weight: 700; font-size: 28px; line-height: 42px; color: #252525; }
.cms_courseDet_kb { max-width: 870px; }
.cms_courseDet_left { display: flex; flex-direction: column; gap: 45px; width: 100%; }
.cms_courseDet_wh { width: 100%; padding: 20px; background: rgba(0,81,158,0.1); }
.cms_courseDet_kd_lst { display: flex; flex-direction: column; gap: 30px; width: 100%; }
.cms_courseDet_kd h2 { margin: 0 0 -15px 0; }
.cms_courseDet_ink { width: 100%; padding: 30px; background: #FFFFFF; box-shadow: 0 0 40px 0 rgba(0,0,0,0.15); border-top: 5px solid #00519E; }
.cms_courseDet_section .center { justify-content: flex-start; }
@media screen and (max-width: 959px) {
    .cms_courseDet_part_one,
    .cms_courseDet_part_two { padding: 30px 0; }
    .cms_courseDet_kk p { font-weight: 700; font-size: 25px; line-height: 30px; }
    .cms_courseDet_kb { max-width: none; }
    .cms_courseDet_left { gap: 30px; }
    .cms_courseDet_wh { padding: 15px; }
    .cms_courseDet_ink { padding: 15px; }
}
/* End: Detail */