/* visual sub 공통 start */
.sub_visual{
    width:100%;
    min-width:1400px;
    position: relative;
    overflow: hidden;
}
.sub_visual::before{
    position: absolute;
    content: '';
    width:100%;
    height:100%;
    background-color: rgba(0, 0, 0, .4);
    z-index: 1;
}
.sub_visual > img{
    width:100%;
    object-fit: cover;
    height:450px;
    transition: all 3s ease-in-out;
    transform:scale(1.2);
}
.sub_visual > img.zoom{transform:scale(1);}
.sub_visual .sub_typo{
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width:100%;
    z-index: 99;
}
.sub_visual .sub_typo > span.up{opacity:1; transform:translate(0,0);}
.sub_visual .sub_typo span{
    color:#fff;
    display:block;
    opacity:0;
    transform:translate(0,100%);
    transition:all 1s ease-in-out;
    font-family:'GmarketSansMedium';
}
.sub_visual .sub_typo span:first-child{
    font-size:42px;
    transition-delay:0s;
}
.sub_visual .sub_typo span:nth-child(2){
    font-size:18px;
    transition-delay:0.5s;
    font-family:'GmarketSansLight';
}
/* visual sub 공통 end */

/* tab 메뉴 공통 */
.sub_tabmenu{
    position: sticky;
    z-index: 99;
    top:160px;
    transform: translateY(-60px);
    background: rgba(0,0,0,0.6);
    height:60px;
    line-height: 60px;
}
.sub_tabmenu.on{
    position: fixed;
    width:100%;
    top:171px;
    z-index: 99;
    background: rgba(0,0,0,0.7);
}

.sub_tabmenu ul{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}
.sub_tabmenu li{position: relative;}
.sub_tabmenu li a{
    display: block;
    font-size:18px;
    text-align: center;
    color:#fff;
    transition: all .3s ease-in-out;
}
.tabmenu01 li{width:33.333%;}
.tabmenu03 li{width:50%;}
.tabmenu04 li{width:50%;}
.tabmenu06 li{width:33.333%;}

.sub_tabmenu li a:hover{background-color: #012458; color:#fff; transition: all .3s ease-in-out;}

.sub01_01 .sub_tabmenu li:nth-child(1) a{background-color: #012458; color:#fff;}
.sub01_02 .sub_tabmenu li:nth-child(2) a{background-color: #012458; color:#fff;}
.sub01_03 .sub_tabmenu li:nth-child(3) a{background-color: #012458; color:#fff;}

.sub03_01 .sub_tabmenu li:nth-child(1) a{background-color: #012458; color:#fff;}
.sub03_02 .sub_tabmenu li:nth-child(2) a{background-color: #012458; color:#fff;}

.sub04_01 .sub_tabmenu li:nth-child(1) a{background-color: #012458; color:#fff;}
.sub04_02 .sub_tabmenu li:nth-child(2) a{background-color: #012458; color:#fff;}

.sub06_01 .sub_tabmenu li:nth-child(1) a{background-color: #012458; color:#fff;}
.sub06_02 .sub_tabmenu li:nth-child(2) a{background-color: #012458; color:#fff;}
.sub06_03 .sub_tabmenu li:nth-child(3) a{background-color: #012458; color:#fff;}
/* tab 메뉴 공통 */

/* sub 타이틀 공통 */
.sub02 .contents_title,
.sub04 .contents_title,
.sub05 .contents_title{margin-top:60px;}

.contents_title{
    padding:30px 0;
    position: relative;
    width:100%;
    min-width:1224px;
    overflow: hidden;
}
.contents_title h2{
    padding:30px 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: start;
    gap:60px;
}
.contents_title h2 span{
    font-size:40px;
    font-weight:800;
    display: block;
    white-space: nowrap;
}
.contents_title h2 .line{
    width:100%;
    height:3px;
    background-color: #012458;
    animation: bounceInRight 1s both;
}
.contents_title .skate{
    position: relative;
    overflow: hidden;
    z-index: 99;
}
.contents_title .skate img{width:150px!important;}



/* .contents_detail{padding:30px 0;} */
/* sub 타이틀 공통 */

/* image_show_wrap 공통 */
section .image_show_wrap,
section .image_show_wrap2{
    position: relative;
    top: 0px;
    left: 0%;
    width: 100%;
}
section .image_show_wrap{overflow: hidden; animation-duration: 1.4s;}
section .image_show_wrap2{animation-duration: 1.4s;}

section .show_img01{animation-name: show_img01;}
@keyframes show_img01{
    0%{opacity: 0; transform: translate3d(-100%, 0, 0);}
}
section .show_img02{animation-name: show_img02;}
@keyframes show_img02{
    0%{opacity: 0; transform: translate3d(100%, 0, 0);}
}
section .show_img03{animation-name: show_img03;}
@keyframes show_img03{
    0%{opacity: 0; transform: translate3d(100%, 0, 0);}
}
section .show_img04{animation-name: show_img04;}
@keyframes show_img04{
    0%{opacity: 0; transform: translate3d(-100%, 0, 0);}
}
section .show_img05{animation-name: show_img05;}
@keyframes show_img05{
    0%{opacity: 0; transform: translate3d(0, 100%, 0);}
}
section .show_img06{animation-name: show_img06;}
@keyframes show_img06{
    0%{opacity: 0; transform: translate3d(0, -100%, 0);}
}
/* image_show_wrap 공통 */


/* image 확대 공통 */
.clip-animation {
    clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
    animation: clipExpand 1s cubic-bezier(0.770, 0.000, 0.175, 1.000) forwards;
}
    @keyframes clipExpand {
    from {
        clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
    }
    to {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
}
/* image 확대 공통 */

/* ------------------------------------------- sub -------------------------------------------------------- */
/* sub01_01 */
.sub01_01 .greet_intro_sec {
    width: 100%;
    padding: 70px 0 110px;
    background-color: #ffffff;
}

/* 상단 타이틀 */
.sub01_01 .greet_head {
    margin-bottom: 55px;
    padding-bottom: 25px;
    border-bottom: 2px solid #111111;
}

.sub01_01 .greet_head .sub_en {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-accent);
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

.sub01_01 .greet_head .main_tit {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    letter-spacing: -0.02em;
}

.sub01_01 .greet_head .main_tit strong {
    font-size: 34px;
    font-weight: 800;
    color: var(--color-primary);
}

/* 2단 레이아웃 (좌우 높이 강제 일치) */
.sub01_01 .greet_body {
    display: flex;
    justify-content: space-between;
    align-items: stretch; /* 좌우 컬럼의 전체 높이를 동일하게 맞춤 */
    gap: 70px;
}

/* 좌측 사진 & 직함 */
.sub01_01 .greet_visual {
    width: 400px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column; /* 세로 정렬 */
}

.sub01_01 .greet_visual .photo {
    width: 100%;
    background-color: #f4f5f7;
    overflow: hidden;
    margin-bottom: 25px; /* 사진과 하단 보더 간격 */
}

.sub01_01 .greet_visual .photo img {
    display: block;
    width: 100%;
    height: auto;
}

/* 좌측 하단 명패 (우측 서명란과 높이 및 보더 위치 일치) */
.sub01_01 .greet_visual .caption {
    margin-top: auto; /* 최하단으로 밀착 */
    height: 90px; /* 우측 sign_area와 동일한 높이 */
    box-sizing: border-box;
    padding-top: 25px;
    border-top: 1px solid #e5e5e5;
}

.sub01_01 .greet_visual .caption .role {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    color: #666666;
}

.sub01_01 .greet_visual .caption .role strong {
    font-size: 15px;
    font-weight: 600;
    color: #222222;
}

.sub01_01 .greet_visual .caption .name {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    margin-top: 6px;
    letter-spacing: -0.01em;
}

.sub01_01 .greet_visual .caption .name strong {
    font-size: 24px;
    font-weight: 800;
    color: #111111;
}

/* 우측 본문 */
.sub01_01 .greet_content {
    flex: 1;
    display: flex;
    flex-direction: column; /* 세로 정렬 */
}

/* 상단 인용 문구 */
.sub01_01 .quote_area {
    margin-bottom: 35px;
    padding-bottom: 25px;
    border-bottom: 1px solid #e5e5e5;
}

.sub01_01 .quote_area .quote_tit {
    font-size: 25px;
    font-weight: 700;
    line-height: 1.4;
    color: #111111;
    letter-spacing: -0.02em;
}

.sub01_01 .quote_area .quote_tit strong {
    font-size: 25px;
    font-weight: 800;
    color: var(--color-primary);
}

.sub01_01 .quote_area .quote_sub {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: #555555;
    margin-top: 12px;
}

.sub01_01 .quote_area .quote_sub strong {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
}

/* 본문 문단 (18px 규칙 준수) */
.sub01_01 .text_group p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.85;
    color: #444444;
    margin-bottom: 20px;
    word-break: keep-all;
}

.sub01_01 .text_group p:last-child {
    margin-bottom: 0;
}

.sub01_01 .text_group p strong {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
}

/* 우측 하단 서명란 (좌측 caption과 보더 위치 1:1 일치) */
.sub01_01 .sign_area {
    margin-top: auto; /* 최하단으로 밀착 */
    height: 90px; /* 좌측 caption과 동일한 높이 */
    box-sizing: border-box;
    padding-top: 25px;
    border-top: 1px solid #e5e5e5;
    text-align: right;
}

.sub01_01 .sign_area p {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #333333;
}

.sub01_01 .sign_area p strong {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
}
/* sub01_01 */




/* sub01_02 */
.sub01_02 .charter_sec {
    width: 100%;
    padding: 70px 0 120px;
    background-color: #ffffff;
}

/* 상단 타이틀 */
.sub01_02 .charter_head {
    margin-bottom: 60px;
    padding-bottom: 25px;
    border-bottom: 2px solid #111111;
}

.sub01_02 .charter_head .sub_en {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-accent);
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

.sub01_02 .charter_head .main_tit {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    letter-spacing: -0.02em;
}

.sub01_02 .charter_head .main_tit strong {
    font-size: 34px;
    font-weight: 800;
    color: var(--color-primary);
}


/* 장(Chapter) 단위 */
.sub01_02 .charter_chapter {
    padding: 45px 0;
    border-bottom: 1px solid #e5e5e5;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
}

.sub01_02 .charter_chapter .chapter_tit {
    width: 220px;
    flex-shrink: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    color: #111111;
    letter-spacing: -0.01em;
}

.sub01_02 .charter_chapter .article_group {
    flex: 1;
}

/* 조(Article) 단위 */
.sub01_02 .article_item {
    margin-bottom: 30px;
}

.sub01_02 .article_item:last-child {
    margin-bottom: 0;
}

.sub01_02 .article_item .article_tit {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    color: #111111;
    margin-bottom: 8px;
}

/* 본문 p 규격 (18px 규칙 준수) */
.sub01_02 .article_item p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.85;
    color: #444444;
    word-break: keep-all;
}

.sub01_02 .article_item p strong {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
}

/* 번호 매기기 서브 리스트 */
.sub01_02 .sub_num_list {
    margin-top: 8px;
}

.sub01_02 .sub_num_list > li {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.85;
    color: #444444;
    word-break: keep-all;
}

.sub01_02 .sub_num_list > li strong {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
}

/* 세부 원문자 리스트 */
.sub01_02 .sub_circle_list {
    margin-top: 6px;
    padding-left: 20px;
}

.sub01_02 .sub_circle_list li {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.8;
    color: #666666;
}

/* 하단 서명란 */
.sub01_02 .charter_sign {
    margin-top: 50px;
    padding: 40px 0 0;
    display: flex;
    justify-content: flex-end;
    gap: 40px;
}

.sub01_02 .charter_sign .sign_row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sub01_02 .charter_sign .role {
    font-size: 17px;
    font-weight: 500;
    color: #666666;
}

.sub01_02 .charter_sign .name {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
    letter-spacing: 0.1em;
}

/* sub01_02 */




/* sub01_03 */
.sub01_03 .location_sec {
    width: 100%;
    padding: 70px 0 120px;
    background-color: #ffffff;
}

/* 상단 타이틀 */
.sub01_03 .location_head {
    margin-bottom: 55px;
    padding-bottom: 25px;
    border-bottom: 2px solid #111111;
}

.sub01_03 .location_head .sub_en {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-accent);
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

.sub01_03 .location_head .main_tit {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    letter-spacing: -0.02em;
}

.sub01_03 .location_head .main_tit strong {
    font-size: 34px;
    font-weight: 800;
    color: var(--color-primary);
}

/* 지도 영역 */
.sub01_03 .map_area {
    width: 100%;
    height: 500px;
    margin-bottom: 80px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
    background-color: #e2e8f0;
    position: relative;
}

.sub01_03 .map_area::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
    background: transparent;
    pointer-events: auto;
}

.sub01_03 .map_area .cont{display: none;}

/* Ctrl 눌렀을 때 허용: before를 ‘없애는’ 대신 통과만 시킴 */
.sub01_03 .map_area.ctrl-zoom::before {
    pointer-events: none;
}

/* 기본 안내문구 */
.sub01_03 .map_area::after {
    content: "Ctrl + 스크롤로 확대 / 축소";
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0,0,0,0.6);
    color: #fff;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 14px;
    z-index: 11;
    pointer-events: none;   /* 클릭 차단 안 되게 */
    opacity: 1;
    transition: opacity 0.2s ease;
}

/* Ctrl 누른 상태에서는 문구 숨김 */
.sub01_03 .map_area.ctrl-zoom::after {
    opacity: 0;
}

/* 주소 및 주요 정보 라인 */
.sub01_03 .location_info_box {
    border-top: 1px solid #111111;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 60px;
}

.sub01_03 .info_row {
    display: flex;
    align-items: flex-start;
    padding: 24px 0;
    border-bottom: 1px solid #f0f0f0;
}

.sub01_03 .info_row:last-child {
    border-bottom: none;
}

.sub01_03 .info_th {
    width: 180px;
    flex-shrink: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    color: #111111;
}

.sub01_03 .info_td {
    flex: 1;
}

.sub01_03 .info_td p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.7;
    color: #444444;
    word-break: keep-all;
    margin-bottom: 6px;
}

.sub01_03 .info_td p:last-child {
    margin-bottom: 0;
}

.sub01_03 .info_td p strong {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
}

/* sub01_03 */




/* sub02_01 */

/* 1. 누구나 즐기는 생활 속 문화 (PDF 02p 신규) */
.sub02_01 .mission_culture_sec {
    padding: 80px 0 110px;
    background-color: var(--bg-main);
}

.sub02_01 .culture_head {
    margin-bottom: 50px;
}

.sub02_01 .culture_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub02_01 .culture_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub02_01 .culture_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub02_01 .culture_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub02_01 .culture_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub02_01 .culture_body_wrap {
    display: grid;
    grid-template-columns: 520px 1fr;
    gap: 60px;
    align-items: center;
}

/* 9인 인물 포토 그리드 */
.sub02_01 .culture_faces_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.sub02_01 .face_item {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    overflow: hidden;
    background-color: #0b2545;
}

.sub02_01 .face_item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(80%);
    transition: filter 0.3s ease, transform 0.3s ease;
}

.sub02_01 .face_item:hover img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* 우측 다양성 카드 & 슬로건 */
.sub02_01 .diff_card_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

.sub02_01 .diff_card {
    background-color: var(--bg-sub);
    border-radius: 10px;
    padding: 24px 22px;
    display: flex;
    flex-direction: column;
}

.sub02_01 .diff_badge {
    display: inline-block;
    align-self: flex-start;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.sub02_01 .diff_tit {
    color: var(--text-primary);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 6px;
}

.sub02_01 .diff_desc {
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: -0.3px;
    word-break: keep-all;
}

.sub02_01 .culture_quote_box {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-left: 4px solid var(--color-primary);
    border-radius: 0 10px 10px 0;
    padding: 28px 24px;
}

.sub02_01 .quote_tit {
    color: var(--color-primary);
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 8px;
}

.sub02_01 .quote_desc {
    color: var(--text-muted);
    font-size: 16px;
    line-height: 1.7;
    word-break: keep-all;
}


/* 2. 비전 선언문 섹션 (PDF 04p) */
.sub02_01 .mission_vision_sec {
    padding: 100px 0 120px;
    background-color: var(--bg-sub);
    border-top: 1px solid var(--border-color);
}

.sub02_01 .vision_wrap {
    display: grid;
    grid-template-columns: 760px 1fr;
    align-items: stretch;
    gap: 80px;
}

.sub02_01 .vision_txt_box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.sub02_01 .vision_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
}

.sub02_01 .vision_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub02_01 .vision_tit {
    color: var(--text-primary);
    font-size: 48px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -2px;
    margin-bottom: 24px;
    word-break: keep-all;
}

.sub02_01 .vision_tit strong {
    position: relative;
    display: inline-block;
    color: var(--color-primary);
    font-weight: 850;
    z-index: 1;
}

.sub02_01 .vision_tit strong::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 6px;
    width: 100%;
    height: 12px;
    background-color: rgba(222, 5, 26, 0.12);
    z-index: -1;
}

.sub02_01 .vision_desc {
    color: var(--text-muted);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: -0.5px;
    margin-bottom: 48px;
    word-break: keep-all;
}

.sub02_01 .vision_desc strong {
    color: var(--text-primary);
    font-weight: 700;
}

/* 3대 철학 타일 */
.sub02_01 .philo_tile_wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    padding-top: 30px;
    border-top: 2px solid var(--color-primary);
}

.sub02_01 .philo_tile {
    display: flex;
    flex-direction: column;
    padding: 0 24px;
    border-right: 1px solid var(--border-color);
}

.sub02_01 .philo_tile:first-child {
    padding-left: 0;
}

.sub02_01 .philo_tile:last-child {
    padding-right: 0;
    border-right: none;
}

.sub02_01 .tile_badge {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
}

.sub02_01 .tile_tit {
    color: var(--text-primary);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.6px;
    margin-bottom: 8px;
}

.sub02_01 .tile_desc {
    color: var(--text-muted);
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

/* 비전 이미지 박스 */
.sub02_01 .vision_img_box {
    position: relative;
    padding: 0 16px 16px 0;
}

.sub02_01 .vision_img_box::before {
    content: "";
    position: absolute;
    top: 38px;
    right: 0;
    bottom: 0;
    left: 38px;
    border-radius: 120px 12px 12px 12px;
    background-color: #ffffff;
}

.sub02_01 .vision_img_box .img_placeholder {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 500px;
    overflow: hidden;
    border-radius: 120px 12px 12px 12px;
    background-color: #0b2545;
}

.sub02_01 .vision_img_box .img_placeholder img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* 3. 4대 핵심 가치 섹션 (PDF 03p) */
.sub02_01 .mission_core_sec {
    position: relative;
    padding: 105px 0 115px;
    background-color: var(--color-primary);
    overflow: hidden;
}

.sub02_01 .mission_core_sec::after {
    content: "";
    position: absolute;
    top: -200px;
    right: -150px;
    width: 600px;
    height: 600px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.sub02_01 .core_head {
    margin-bottom: 56px;
}

.sub02_01 .core_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fca5a5;
    font-family: 'Raleway', sans-serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub02_01 .core_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #fca5a5;
}

.sub02_01 .core_main_tit {
    color: #ffffff;
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub02_01 .core_main_tit strong {
    font-weight: 850;
    color: #ffffff;
}

.sub02_01 .core_head_desc {
    color: #cbd5e1;
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub02_01 .core_card_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.sub02_01 .core_card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 40px 32px 0;
}

.sub02_01 .core_card:first-child {
    padding-left: 0;
}

.sub02_01 .core_card:last-child {
    padding-right: 0;
}

.sub02_01 .core_card + .core_card::before {
    content: "";
    position: absolute;
    top: 40px;
    bottom: 0;
    left: 0;
    width: 1px;
    background-color: rgba(255, 255, 255, 0.15);
}

.sub02_01 .core_circle_num {
    color: var(--color-secondary);
    font-family: 'Raleway', sans-serif;
    font-size: 48px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 28px;
}

.sub02_01 .core_card_tit {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #ffffff;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -1px;
    margin-bottom: 20px;
    word-break: keep-all;
}

.sub02_01 .core_card_tit span {
    color: #94a3b8;
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

.sub02_01 .core_card_desc {
    color: #e2e8f0;
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: -0.4px;
    word-break: keep-all;
}


/* 4. 4대 실천 과제 섹션 (PDF 05p) */
.sub02_01 .mission_task_sec {
    padding: 120px 0;
    background-color: var(--bg-main);
}

.sub02_01 .mission_task_sec .inner {
    display: grid;
    grid-template-columns: 420px 1fr;
    align-items: start;
    gap: 90px;
}

.sub02_01 .task_head {
    padding-top: 10px;
}

.sub02_01 .task_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub02_01 .task_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub02_01 .task_main_tit {
    color: var(--text-primary);
    font-size: 44px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub02_01 .task_main_tit strong {
    display: block;
    color: var(--color-primary);
    font-weight: 850;
}

.sub02_01 .task_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 22px;
    word-break: keep-all;
}

.sub02_01 .task_block_grid {
    display: grid;
    grid-template-columns: 1fr;
    border-top: 2px solid var(--color-primary);
    counter-reset: mission-cnt;
}

.sub02_01 .task_card {
    position: relative;
    padding: 34px 8px 34px 96px;
    border-bottom: 1px solid var(--border-color);
    counter-increment: mission-cnt;
}

.sub02_01 .task_card::before {
    content: counter(mission-cnt, decimal-leading-zero);
    position: absolute;
    top: 32px;
    left: 0;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -1px;
}

.sub02_01 .task_chip {
    display: block;
    color: var(--color-secondary);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}

.sub02_01 .task_card_tit {
    color: var(--text-primary);
    font-size: 26px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -1px;
    margin-bottom: 12px;
    word-break: keep-all;
}

.sub02_01 .task_card_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: -0.4px;
    word-break: keep-all;
}


/* 5. 성장 플랫폼 3대 역할 섹션 (PDF 06p 신규) */
.sub02_01 .mission_platform_sec {
    padding: 110px 0 120px;
    background-color: var(--bg-sub);
    border-top: 1px solid var(--border-color);
}

.sub02_01 .platform_head {
    margin-bottom: 50px;
}

.sub02_01 .platform_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub02_01 .platform_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub02_01 .platform_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub02_01 .platform_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub02_01 .platform_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub02_01 .platform_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}

.sub02_01 .platform_card {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 38px 30px;
    display: flex;
    flex-direction: column;
}

.sub02_01 .platform_card_top {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.sub02_01 .platform_step {
    font-family: 'Raleway', sans-serif;
    font-size: 32px;
    font-weight: 900;
    color: var(--color-accent);
}

.sub02_01 .platform_card_tit {
    color: var(--text-primary);
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.8px;
    word-break: keep-all;
}

.sub02_01 .platform_card_desc {
    color: var(--text-muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: -0.3px;
    word-break: keep-all;
}

.sub02_01 .platform_slogan_bar {
    background-color: var(--color-primary);
    border-radius: 10px;
    padding: 28px;
    text-align: center;
}

.sub02_01 .platform_slogan_bar p {
    color: #ffffff;
    font-size: 22px;
    letter-spacing: -0.8px;
}

.sub02_01 .platform_slogan_bar p strong {
    color: #fbbf24;
    font-weight: 850;
}


/* 6. 단계별 성장 로드맵 섹션 (PDF 14p 신규) */
.sub02_01 .mission_roadmap_sec {
    padding: 110px 0 120px;
    background-color: var(--bg-main);
    border-top: 1px solid var(--border-color);
}

.sub02_01 .roadmap_head {
    margin-bottom: 50px;
}

.sub02_01 .roadmap_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub02_01 .roadmap_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub02_01 .roadmap_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub02_01 .roadmap_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub02_01 .roadmap_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub02_01 .roadmap_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.sub02_01 .roadmap_card {
    background-color: var(--bg-sub);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 36px 26px;
    display: flex;
    flex-direction: column;
}

.sub02_01 .roadmap_step_num {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 14px;
}

.sub02_01 .roadmap_step_tit {
    color: var(--text-primary);
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -1px;
    margin-bottom: 8px;
}

.sub02_01 .roadmap_sub_tit {
    color: var(--color-primary);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.4px;
    margin-bottom: 20px;
    word-break: keep-all;
}

.sub02_01 .roadmap_list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 18px;
    border-top: 1px solid var(--border-color);
}

.sub02_01 .roadmap_list li {
    position: relative;
    padding-left: 14px;
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: -0.3px;
    word-break: keep-all;
}

.sub02_01 .roadmap_list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--color-primary);
}

/* 4단계 강조 카드 */
.sub02_01 .roadmap_card.highlight {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.sub02_01 .roadmap_card.highlight .roadmap_step_num {
    color: #fbbf24;
}

.sub02_01 .roadmap_card.highlight .roadmap_step_tit {
    color: #ffffff;
}

.sub02_01 .roadmap_card.highlight .roadmap_sub_tit {
    color: #93c5fd;
}

.sub02_01 .roadmap_card.highlight .roadmap_list {
    border-top-color: rgba(255, 255, 255, 0.2);
}

.sub02_01 .roadmap_card.highlight .roadmap_list li {
    color: #e2e8f0;
}

.sub02_01 .roadmap_card.highlight .roadmap_list li::before {
    background-color: #fbbf24;
}


/* 7. 선순환 생태계 섹션 (PDF 15p) */
.sub02_01 .mission_cycle_sec {
    padding: 110px 0 130px;
    background-color: var(--bg-sub);
    border-top: 1px solid var(--border-color);
}

.sub02_01 .cycle_head {
    text-align: center;
    margin-bottom: 60px;
}

.sub02_01 .cycle_sub_en {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub02_01 .cycle_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub02_01 .cycle_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub02_01 .cycle_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub02_01 .cycle_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub02_01 .cycle_flow_wrap {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 44px 1fr 44px 1fr 44px 1fr;
    align-items: stretch;
    padding-bottom: 48px;
}

/* 하단 U자 순환 가이드라인 */
.sub02_01 .cycle_flow_wrap::before {
    content: "";
    position: absolute;
    right: 155px;
    bottom: 0;
    left: 155px;
    height: 48px;
    border: 1px solid var(--border-color);
    border-top: none;
    border-radius: 0 0 22px 22px;
}

.sub02_01 .cycle_flow_wrap::after {
    content: "";
    position: absolute;
    bottom: 37px;
    left: 151px;
    width: 9px;
    height: 9px;
    border-top: 1px solid var(--border-color);
    border-left: 1px solid var(--border-color);
    transform: rotate(45deg);
}

.sub02_01 .flow_card {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    padding: 34px 26px;
    border-top: 3px solid var(--color-primary);
    border-radius: 0 0 10px 10px;
    background-color: #ffffff;
}

.sub02_01 .flow_step_badge {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 22px;
}

.sub02_01 .flow_tit {
    color: var(--text-primary);
    font-size: 28px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -1px;
    margin-bottom: 12px;
    word-break: keep-all;
}

.sub02_01 .flow_sub {
    color: var(--color-primary);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: -0.5px;
    margin-bottom: 12px;
    word-break: keep-all;
}

.sub02_01 .flow_desc {
    color: var(--text-muted);
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: -0.3px;
    word-break: keep-all;
}

/* 4단계 강조 카드 */
.sub02_01 .flow_card.highlight {
    border-top-color: var(--color-accent);
    background-color: var(--color-primary);
}

.sub02_01 .flow_card.highlight .flow_step_badge {
    color: #fbbf24;
}

.sub02_01 .flow_card.highlight .flow_tit {
    color: #ffffff;
}

.sub02_01 .flow_card.highlight .flow_sub {
    color: #93c5fd;
}

.sub02_01 .flow_card.highlight .flow_desc {
    color: #e2e8f0;
}

/* 화살표 */
.sub02_01 .flow_arrow_box {
    position: relative;
    align-self: center;
    width: 44px;
    height: 24px;
}

.sub02_01 .flow_arrow_box i {
    display: none;
}

.sub02_01 .flow_arrow_box::before {
    content: "";
    position: absolute;
    top: 11px;
    left: 10px;
    width: 23px;
    height: 1px;
    background-color: var(--text-muted);
}

.sub02_01 .flow_arrow_box::after {
    content: "";
    position: absolute;
    top: 7px;
    right: 11px;
    width: 9px;
    height: 9px;
    border-top: 1px solid var(--text-muted);
    border-right: 1px solid var(--text-muted);
    transform: rotate(45deg);
}

/* 반응형 */
@media (max-width: 1024px) {
    .sub02_01 .culture_body_wrap { grid-template-columns: 1fr; gap: 40px; }
    .sub02_01 .vision_wrap { grid-template-columns: 1fr; gap: 40px; }
    .sub02_01 .core_card_grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
    .sub02_01 .core_card + .core_card::before { display: none; }
    .sub02_01 .core_card { padding: 24px 0 0 0; }
    .sub02_01 .mission_task_sec .inner { grid-template-columns: 1fr; gap: 40px; }
    .sub02_01 .platform_grid { grid-template-columns: 1fr; gap: 20px; }
    .sub02_01 .roadmap_grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .sub02_01 .cycle_flow_wrap { grid-template-columns: 1fr; gap: 20px; padding-bottom: 0; }
    .sub02_01 .cycle_flow_wrap::before,
    .sub02_01 .cycle_flow_wrap::after { display: none; }
    .sub02_01 .flow_arrow_box { transform: rotate(90deg); margin: 0 auto; }
}

@media (max-width: 768px) {
    .sub02_01 .diff_card_grid { grid-template-columns: 1fr; }
    .sub02_01 .philo_tile_wrap { grid-template-columns: 1fr; gap: 20px; }
    .sub02_01 .philo_tile { border-right: none; padding: 0; }
    .sub02_01 .core_card_grid { grid-template-columns: 1fr; }
    .sub02_01 .roadmap_grid { grid-template-columns: 1fr; }
}
/* sub02_01 */



/* sub03_01 */
/* 1. 협회 사업 체계 총괄 섹션 (PDF 07p) */
.sub03_01 .biz_main_sec {
    padding: 80px 0 110px;
    background-color: var(--bg-main);
}

.sub03_01 .biz_head {
    margin-bottom: 50px;
}

.sub03_01 .biz_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub03_01 .biz_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub03_01 .biz_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub03_01 .biz_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub03_01 .biz_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

/* 6대 체계 그리드 */
.sub03_01 .biz_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 40px;
}

.sub03_01 .biz_card {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 38px 30px;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.sub03_01 .biz_card:hover {
    transform: translateY(-6px);
    border-color: var(--color-primary);
}

.sub03_01 .biz_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.sub03_01 .step_idx {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.sub03_01 .card_icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background-color: var(--bg-sub);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub03_01 .card_icon svg {
    width: 24px;
    height: 24px;
}

.sub03_01 .biz_card_tit {
    color: var(--text-primary);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -1px;
    margin-bottom: 12px;
    word-break: keep-all;
}

.sub03_01 .biz_card_desc {
    color: var(--text-muted);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub03_01 .biz_card_desc strong {
    color: var(--text-primary);
    font-weight: 700;
}

.sub03_01 .biz_slogan_bar {
    background-color: var(--color-primary);
    border-radius: 10px;
    padding: 26px 30px;
    text-align: center;
}

.sub03_01 .biz_slogan_bar p {
    color: #ffffff;
    font-size: 22px;
    letter-spacing: -0.8px;
    line-height: 1.5;
    word-break: keep-all;
}

.sub03_01 .biz_slogan_bar p strong {
    color: #fbbf24;
    font-weight: 850;
}


/* 2. 5대 핵심 사업 세부 운영 섹션 (PDF 09p ~ 13p) */
.sub03_01 .biz_detail_sec {
    padding: 110px 0 120px;
    background-color: var(--bg-sub);
    border-top: 1px solid var(--border-color);
}

.sub03_01 .detail_sec_head {
    margin-bottom: 60px;
}

.sub03_01 .detail_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub03_01 .detail_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub03_01 .detail_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub03_01 .detail_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub03_01 .detail_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

/* 프로그램 스택 카드 */
.sub03_01 .prog_stack {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.sub03_01 .prog_item {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 44px 40px;
}

.sub03_01 .prog_item_head {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 30px;
    padding-bottom: 24px;
    border-bottom: 2px solid var(--color-primary);
}

.sub03_01 .prog_num_box {
    display: flex;
    align-items: center;
    gap: 16px;
}

.sub03_01 .prog_num {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.sub03_01 .prog_item_tit {
    color: var(--text-primary);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -1px;
}

.sub03_01 .prog_item_intro {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

/* 학교 연계 단계 바 (STEP 1~GOAL) */
.sub03_01 .edu_step_bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--bg-sub);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 28px;
}

.sub03_01 .edu_step_cell {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sub03_01 .edu_step_cell .step_tag {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
}

.sub03_01 .edu_step_cell strong {
    color: var(--text-primary);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.sub03_01 .edu_step_cell.highlight strong {
    color: var(--color-primary);
}

.sub03_01 .edu_arrow {
    width: 24px;
    height: 12px;
    position: relative;
}

.sub03_01 .edu_arrow::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 18px;
    height: 2px;
    background-color: var(--border-color);
}

.sub03_01 .edu_arrow::after {
    content: "";
    position: absolute;
    top: 2px;
    right: 2px;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--border-color);
    border-right: 2px solid var(--border-color);
    transform: rotate(45deg);
}

/* 표 형태의 데이터 행 */
.sub03_01 .prog_data_table {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--border-color);
}

.sub03_01 .data_row {
    display: flex;
    align-items: center;
    padding: 20px 10px;
    border-bottom: 1px solid var(--border-color);
}

.sub03_01 .data_th {
    flex: 0 0 280px;
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--text-primary);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.sub03_01 .item_badge {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.5px;
}
.sub03_01 .item_badge.en{
    flex: 0 0 80px;
}

.sub03_01 .data_td {
    flex: 1;
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.75;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub03_01 .prog_quote {
    margin-top: 24px;
    padding: 18px 24px;
    border-radius: 8px;
    background-color: var(--bg-sub);
    color: var(--color-primary);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.5px;
    text-align: center;
    word-break: keep-all;
}


/* 3. 현장 활동 갤러리 섹션 */
.sub03_01 .biz_gallery_sec {
    padding: 110px 0 130px;
    background-color: var(--bg-main);
    border-top: 1px solid var(--border-color);
}

.sub03_01 .gallery_head {
    margin-bottom: 50px;
}

.sub03_01 .gallery_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub03_01 .gallery_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub03_01 .gallery_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub03_01 .gallery_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub03_01 .gallery_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub03_01 .gallery_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.sub03_01 .gallery_item {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.sub03_01 .gallery_item:hover {
    transform: translateY(-6px);
    border-color: var(--color-primary);
}

.sub03_01 .gallery_item .img_box {
    width: 100%;
    height: 240px;
    background-color: #0b2545;
    overflow: hidden;
}

.sub03_01 .gallery_item .img_box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sub03_01 .gallery_item .txt_box {
    padding: 30px 24px;
}

.sub03_01 .gallery_tag {
    display: inline-block;
    color: var(--color-primary);
    background-color: var(--bg-sub);
    border: 1px solid var(--border-color);
    font-size: 16px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 6px;
    margin-bottom: 14px;
}

.sub03_01 .gallery_item .item_tit {
    display: block;
    color: var(--text-primary);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -0.6px;
    margin-bottom: 10px;
    word-break: keep-all;
}

.sub03_01 .gallery_item .item_desc {
    color: var(--text-muted);
    font-size: 17px;
    line-height: 1.7;
    letter-spacing: -0.3px;
    word-break: keep-all;
}

/* 반응형 */
@media (max-width: 1024px) {
    .sub03_01 .biz_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .sub03_01 .edu_step_bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .sub03_01 .edu_arrow {
        transform: rotate(90deg);
        margin-left: 10px;
    }
    .sub03_01 .data_row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .sub03_01 .data_th {
        flex: auto;
    }
    .sub03_01 .gallery_grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .sub03_01 .biz_grid {
        grid-template-columns: 1fr;
    }
    .sub03_01 .prog_item {
        padding: 30px 20px;
    }
    .sub03_01 .biz_slogan_bar p {
        font-size: 19px;
    }
}
/* sub03_01 */




/* sub03_02 */
/* 1. 협회 4대 핵심 역량 섹션 */
.sub03_02 .strength_main_sec {
    padding: 80px 0 120px;
    background-color: var(--bg-main);
}

.sub03_02 .strength_head {
    margin-bottom: 56px;
}

.sub03_02 .strength_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub03_02 .strength_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub03_02 .strength_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub03_02 .strength_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub03_02 .strength_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

/* 4열 역량 카드 그리드 */
.sub03_02 .strength_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.sub03_02 .strength_card {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 38px 26px;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.sub03_02 .strength_card:hover {
    transform: translateY(-6px);
    border-color: var(--color-primary);
}

.sub03_02 .card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.sub03_02 .step_idx {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.sub03_02 .icon_wrap {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background-color: var(--bg-sub);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub03_02 .icon_wrap svg {
    width: 24px;
    height: 24px;
}

.sub03_02 .strength_card_tit {
    color: var(--text-primary);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -1px;
    margin-bottom: 12px;
    word-break: keep-all;
}

.sub03_02 .strength_card_desc {
    color: var(--text-muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub03_02 .strength_card_desc strong {
    color: var(--text-primary);
    font-weight: 700;
}


/* 2. 파트너십 협력 모델 섹션 */
.sub03_02 .partner_sec {
    padding: 110px 0 130px;
    background-color: var(--bg-sub);
    border-top: 1px solid var(--border-color);
}

.sub03_02 .partner_head {
    margin-bottom: 50px;
}

.sub03_02 .partner_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub03_02 .partner_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub03_02 .partner_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub03_02 .partner_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub03_02 .partner_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub03_02 .partner_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.sub03_02 .partner_card {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.sub03_02 .partner_card:hover {
    transform: translateY(-6px);
    border-color: var(--color-primary);
}

.sub03_02 .partner_card .img_box {
    width: 100%;
    height: 240px;
    background-color: #0b2545;
    overflow: hidden;
}

.sub03_02 .partner_card .img_box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sub03_02 .partner_card .txt_box {
    padding: 30px 26px;
}

.sub03_02 .target_badge {
    display: inline-block;
    color: var(--color-accent);
    background-color: var(--bg-sub);
    border: 1px solid var(--border-color);
    font-size: 16px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 12px;
}

.sub03_02 .partner_tit {
    color: var(--text-primary);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.8px;
    margin-bottom: 10px;
    word-break: keep-all;
}

.sub03_02 .partner_desc {
    color: var(--text-muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub03_02 .partner_desc strong {
    color: var(--text-primary);
    font-weight: 700;
}

/* 반응형 */
@media (max-width: 1024px) {
    .sub03_02 .strength_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .sub03_02 .partner_grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .sub03_02 .strength_grid {
        grid-template-columns: 1fr;
    }
}
/* sub03_02 */




/* sub04_01 자격증 신청 */

/* 1. PDF 08p 커리큘럼 및 5단계 육성 체계 섹션 */
.sub04_01 .cert_curri_sec {
    padding: 80px 0 110px;
    background-color: var(--bg-main);
}

.sub04_01 .curri_head {
    margin-bottom: 50px;
}

.sub04_01 .curri_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub04_01 .curri_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub04_01 .curri_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub04_01 .curri_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub04_01 .curri_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

/* 5단계 육성 프로세스 바 */
.sub04_01 .curri_step_bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 24px 30px;
    margin-bottom: 40px;
}

.sub04_01 .step_cell {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sub04_01 .step_badge {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
}

.sub04_01 .step_cell strong {
    color: var(--text-primary);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.sub04_01 .step_cell.highlight strong {
    color: var(--color-primary);
}

.sub04_01 .step_arrow {
    width: 26px;
    height: 12px;
    position: relative;
}

.sub04_01 .step_arrow::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 20px;
    height: 2px;
    background-color: var(--border-color);
}

.sub04_01 .step_arrow::after {
    content: "";
    position: absolute;
    top: 2px;
    right: 2px;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--border-color);
    border-right: 2px solid var(--border-color);
    transform: rotate(45deg);
}

/* 5대 교육 영역 테이블 */
.sub04_01 .curri_table_wrap {
    margin-bottom: 40px;
}

.sub04_01 .curri_table {
    width: 100%;
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
}

.sub04_01 .curri_row {
    display: flex;
    align-items: center;
    padding: 22px 32px;
    border-bottom: 1px solid var(--border-color);
}

.sub04_01 .curri_row:last-child {
    border-bottom: none;
}

.sub04_01 .curri_row.head_row {
    background-color: var(--color-primary);
    border-bottom: none;
    padding: 18px 32px;
}

.sub04_01 .curri_row.head_row .col_area,
.sub04_01 .curri_row.head_row .col_desc {
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
}

.sub04_01 .col_area {
    flex: 0 0 260px;
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--text-primary);
    font-size: 18px;
    font-weight: 800;
}

.sub04_01 .area_badge {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
}

.sub04_01 .col_desc {
    flex: 1;
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub04_01 .curri_slogan_bar {
    background-color: var(--bg-sub);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 24px;
    text-align: center;
}

.sub04_01 .curri_slogan_bar p {
    color: var(--color-primary);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.sub04_01 .curri_slogan_bar p strong {
    color: var(--color-accent);
    font-weight: 850;
}


/* 2. 자격증 신청 폼 섹션 */
.sub04_01 .cert_apply_sec {
    padding: 110px 0 130px;
    background-color: var(--bg-sub);
    border-top: 1px solid var(--border-color);
}

.sub04_01 .apply_head {
    margin-bottom: 50px;
}

.sub04_01 .apply_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub04_01 .apply_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub04_01 .apply_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub04_01 .apply_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub04_01 .apply_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

/* 폼 컨테이너 */
.sub04_01 .apply_form_wrap {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 50px 60px;
}

.sub04_01 .apply_form_wrap .form .AWbbs_input_table .textarea{display: none;}
.sub04_01 .apply_form_wrap .form{
    transition: all .5s ease-in-out;
    position: relative;
    overflow: hidden;
}
.sub04_01 .apply_form_wrap .form .consult_cont{
    margin:0;
    border:0;
    padding:20px;
    border-radius: 20px;
    position: relative;
    background-color: #f9f9f9;
}

.sub04_01 .apply_form_wrap .form .consult_cont table tr{border:0;}
.sub04_01 .apply_form_wrap .form .consult_cont table tr input{width:100%;}
.sub04_01 .apply_form_wrap .form .consult_cont table tr select{background-color: #f7f7f7; width:100%;}
.sub04_01 .apply_form_wrap .form .consult_cont table th{
    font-size:14px;
    color:#1d090a;
    width:20%;
    font-weight: 400;
}
.sub04_01 .apply_form_wrap .form .consult_cont table td{color:#fff;}
.sub04_01 .apply_form_wrap .form .AWbbs_input_table{
    border: 0 !important;
    padding: 0 !important;
}

.sub04_01 .apply_form_wrap .form .only_chk{color:#fff; font-weight: 300;}
.sub04_01 .apply_form_wrap .form .only_chk.font input[type=checkbox] + label{line-height:1.5!important; color:#1d090a;}
.sub04_01 .apply_form_wrap .form .AWbbs_input_table .top10{position: relative; margin: 0 !important;}
.sub04_01 .apply_form_wrap .form .AWbbs_input_table .top10 .personal{
    position: absolute;
    top:22px;
    right:0;
    display: block;
    font-size:18px;
    color:#0B2545;
    font-weight: 600;
    transition: all .3s ease-in-out;
}
.sub04_01 .apply_form_wrap .form .only_chk.font input[type=checkbox]:checked + label::before{background-color: #fff!important;}
.sub04_01 .apply_form_wrap .form .AWbbs_input_table .top10 .personal:hover{color:#a4293d;}

.sub04_01 .apply_form_wrap .form .AW-mem-btn button{
    width:100%;
    background-color: #0B2545;
    color:#fff;
    transition: all .3s ease-in-out;
    border-radius: 10px;
}
.sub04_01 .apply_form_wrap .form .AW-mem-btn button:hover{
    background-color: #B70322;
    color:#fff;
}

/* 반응형 */
@media (max-width: 1024px) {
    .sub04_01 .curri_step_bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .sub04_01 .step_arrow {
        transform: rotate(90deg);
        margin-left: 10px;
    }
    .sub04_01 .curri_row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .sub04_01 .col_area {
        flex: auto;
    }
}
/* sub04_01 */





/* sub04_02 강사 */

/* 1. 공인 지도자 철학 및 3대 핵심 기준 섹션 */
.sub04_02 .teacher_intro_sec {
    padding: 80px 0 110px;
    background-color: var(--bg-main);
}

.sub04_02 .teacher_head {
    margin-bottom: 50px;
}

.sub04_02 .teacher_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub04_02 .teacher_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub04_02 .teacher_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub04_02 .teacher_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub04_02 .teacher_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

/* 3대 핵심 기준 카드 그리드 */
.sub04_02 .teacher_pillar_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.sub04_02 .pillar_card {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 38px 30px;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.sub04_02 .pillar_card:hover {
    transform: translateY(-6px);
    border-color: var(--color-primary);
}

.sub04_02 .pillar_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.sub04_02 .pillar_badge {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.sub04_02 .pillar_icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background-color: var(--bg-sub);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub04_02 .pillar_icon svg {
    width: 24px;
    height: 24px;
}

.sub04_02 .pillar_tit {
    color: var(--text-primary);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -1px;
    margin-bottom: 12px;
    word-break: keep-all;
}

.sub04_02 .pillar_desc {
    color: var(--text-muted);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub04_02 .pillar_desc strong {
    color: var(--text-primary);
    font-weight: 700;
}


/* 2. 공인 지도자 주요 활동 영역 섹션 */
.sub04_02 .teacher_field_sec {
    padding: 110px 0 120px;
    background-color: var(--bg-sub);
    border-top: 1px solid var(--border-color);
}

.sub04_02 .field_head {
    margin-bottom: 50px;
}

.sub04_02 .field_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub04_02 .field_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub04_02 .field_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub04_02 .field_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub04_02 .field_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}

.sub04_02 .field_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.sub04_02 .field_card {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 34px 26px;
    display: flex;
    flex-direction: column;
}

.sub04_02 .field_idx {
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

.sub04_02 .field_tit {
    color: var(--text-primary);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.8px;
    margin-bottom: 12px;
    word-break: keep-all;
}

.sub04_02 .field_desc {
    color: var(--text-muted);
    font-size: 17px;
    line-height: 1.7;
    letter-spacing: -0.4px;
    word-break: keep-all;
}


/* 3. 강사 프로필 갤러리 섹션 (애니위즈 포토갤러리 연동 영역) */
.sub04_02 .teacher_gallery_sec {
    padding: 110px 0 130px;
    background-color: var(--bg-main);
    border-top: 1px solid var(--border-color);
}

.sub04_02 .gallery_sec_head {
    margin-bottom: 50px;
}

.sub04_02 .gallery_sub_en {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-accent);
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.sub04_02 .gallery_sub_en::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.sub04_02 .gallery_main_tit {
    color: var(--text-primary);
    font-size: 46px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -2px;
    word-break: keep-all;
}

.sub04_02 .gallery_main_tit strong {
    color: var(--color-primary);
    font-weight: 850;
}

.sub04_02 .gallery_head_desc {
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
    letter-spacing: -0.4px;
    word-break: keep-all;
}


/* 강사진 탭 메뉴 */
.sub04_02 .teacher_tab_menu {
    display: flex;
    gap: 12px;
    margin-bottom: 40px;
}

.sub04_02 .teacher_tab_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    height: 64px;
    padding: 0;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background-color: #fff;
    color: var(--text-muted);
    font-family: inherit;
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .2s, color .2s, border-color .2s;
}

.sub04_02 .teacher_tab_btn:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.sub04_02 .teacher_tab_btn.active {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: #fff;
    font-weight: 800;
}

.sub04_02 .teacher_tab_btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 4px;
}

.sub04_02 .teacher_tab_panel[hidden] {
    display: none !important;
}




/* 포토갤러리 래퍼 및 애니위즈 페이징 스타일 */
.sub04_02 .teacher_board_wrap {
    width: 100%;
    margin-top: 20px;
}

.sub04_02 .teacher_board_wrap .bbs_paging tr td b {
    background-color: #012458;
}

.sub04_02 .teacher_board_wrap .photo_bbs .thumb {
    padding-top: 110%; /* 강사 프로필 비율 */
}

.sub04_02 .teacher_board_wrap .photo_bbs .thumb img {
    object-fit: cover;
}

.sub04_02 .teacher_board_wrap .photo_bbs .tit a {
    text-align: center;
    font-size: 18px;
    font-weight: 800;
    color: var(--text-primary);
}

/* 반응형 */
@media (max-width: 1024px) {
    .sub04_02 .teacher_pillar_grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .sub04_02 .field_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .sub04_02 .field_grid {
        grid-template-columns: 1fr;
    }
}
/* sub04_02 */




/* sub05_01 갤러리 */
.sub05_01 .gallery_intro_sec {
    width: 100%;
    padding: 70px 0 120px;
    background-color: #ffffff;
}

/* 상단 타이틀 영역 */
.sub05_01 .gallery_head {
    margin-bottom: 50px;
}

.sub05_01 .gallery_head .sub_en {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: #e52528;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}

.sub05_01 .gallery_head .main_tit {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    letter-spacing: -0.02em;
}

.sub05_01 .gallery_head .main_tit strong {
    font-size: 34px;
    font-weight: 800;
    color: #004ea2;
}

.sub05_01 .gallery_head .head_desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.65;
    color: #555555;
    margin-top: 14px;
    word-break: keep-all;
}

.sub05_01 .gallery_head .head_desc strong {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
}

/* 갤러리 게시판 영역 래퍼 */
.sub05_01 .gallery_board_wrap {
    width: 100%;
    margin-top: 20px;
}
.sub05_01 .gallery_board_wrap .bbs_paging tr td b{background-color: #012458;}
.sub05_01 .gallery_board_wrap .photo_bbs .thumb{padding-top:70%;}
.sub05_01 .gallery_board_wrap .photo_bbs .thumb img{object-fit: cover;}
.sub05_01 .gallery_board_wrap .photo_bbs .tit a{text-align: center;}
.sub05_01 .gallery_board_wrap .photo_bbs .date{display: none;}
/* sub05_01 */




/* sub06_01 공지사항 */
.sub06_01 .notice_intro_sec {
    width: 100%;
    padding: 70px 0 120px;
    background-color: #ffffff;
}

/* 상단 타이틀 영역 */
.sub06_01 .notice_head {
    margin-bottom: 50px;
}

.sub06_01 .notice_head .sub_en {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: #e52528;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}

.sub06_01 .notice_head .main_tit {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    letter-spacing: -0.02em;
}

.sub06_01 .notice_head .main_tit strong {
    font-size: 34px;
    font-weight: 800;
    color: #004ea2;
}

.sub06_01 .notice_head .head_desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.65;
    color: #555555;
    margin-top: 14px;
    word-break: keep-all;
}

.sub06_01 .notice_head .head_desc strong {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
}

/* 공지사항 게시판 영역 래퍼 */
.sub06_01 .notice_board_wrap {
    width: 100%;
    margin-top: 20px;
}
.sub06_01 .notice_board_wrap .bbs_paging tr td b{background-color: #012458;}
.sub06_01 .notice_board_wrap .category_pd{display: none;}


/* 카테고리 공통 뱃지 */
.sub06_01 .notice_board_wrap .bbs_badge {
    display: inline-block;
    padding: 3px 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 3px;
    margin-right: 6px;
    vertical-align: middle;
}

/* 1. [공지] - KRSCA 시그니처 레드 */
.sub06_01 .notice_board_wrap .bbs_badge.badge_공지 {
    background-color: #fdf2f2;
    color: #e52528;
    border: 1px solid #fecaca;
}
/* [공지] 뱃지 깜빡임 효과 */
.sub06_01 .notice_board_wrap .bbs_badge.badge_공지 {
    background-color: #fdf2f2;
    color: #e52528;
    border: 1px solid #fecaca;
    animation: noticeTextBlink 1.2s infinite ease-in-out;
}

/* 글자색만 부드럽게 사라졌다 나타나는 효과 */
@keyframes noticeTextBlink {
    0%, 100% {
        color: #e52528;
    }
    50% {
        color: transparent; /* 또는 연한 붉은톤 rgba(229, 37, 40, 0.15) */
    }
}
/* 2. [교육] - KRSCA 시그니처 블루 */
.sub06_01 .notice_board_wrap .bbs_badge.badge_교육 {
    background-color: #eff6ff;
    color: #004ea2;
    border: 1px solid #bfdbfe;
}

/* 3. [안내] - 모던 그레이/네이비 */
.sub06_01 .notice_board_wrap .bbs_badge.badge_안내 {
    background-color: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

/* 4. 기타/기본 뱃지 (지정되지 않은 카테고리) */
.sub06_01 .notice_board_wrap .bbs_badge {
    background-color: #f8fafc;
    color: #64748b;
    border: 1px solid #e2e8f0;
}
@media (max-width: 768px) {
    .sub06_01 .notice_board_wrap .bbs_badge {
        font-size: 11px;
        padding: 2px 6px;
        margin-right: 4px;
        line-height: 1.1;
    }
}
/* sub06_01 */




/* sub06_02 이벤트 */
.sub06_02 .event_intro_sec {
    width: 100%;
    padding: 70px 0 120px;
    background-color: #ffffff;
}

/* 상단 타이틀 영역 */
.sub06_02 .event_head {
    margin-bottom: 50px;
}

.sub06_02 .event_head .sub_en {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: #e52528;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}

.sub06_02 .event_head .main_tit {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    letter-spacing: -0.02em;
}

.sub06_02 .event_head .main_tit strong {
    font-size: 34px;
    font-weight: 800;
    color: #004ea2;
}

.sub06_02 .event_head .head_desc {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
    color: #555555;
    margin-top: 14px;
    word-break: keep-all;
}

.sub06_02 .event_head .head_desc strong {
    font-size: 17px;
    font-weight: 700;
    color: #111111;
}

/* 이벤트 게시판 영역 래퍼 */
.sub06_02 .event_board_wrap {
    width: 100%;
    margin-top: 20px;
}
.sub06_02 .event_board_wrap .bbs_paging tr td b{background-color: #012458;}
/* sub06_02 */




/* sub06_03 질문게시판 */
.sub06_03 .qna_intro_sec {
    width: 100%;
    padding: 70px 0 120px;
    background-color: #ffffff;
}

/* 상단 타이틀 영역 */
.sub06_03 .qna_head {
    margin-bottom: 50px;
}

.sub06_03 .qna_head .sub_en {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: #e52528;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}

.sub06_03 .qna_head .main_tit {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    letter-spacing: -0.02em;
}

.sub06_03 .qna_head .main_tit strong {
    font-size: 34px;
    font-weight: 800;
    color: #004ea2;
}

.sub06_03 .qna_head .head_desc {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
    color: #555555;
    margin-top: 14px;
    word-break: keep-all;
}

.sub06_03 .qna_head .head_desc strong {
    font-size: 17px;
    font-weight: 700;
    color: #111111;
}

/* 질문게시판 영역 래퍼 */
.sub06_03 .qna_board_wrap {
    width: 100%;
    margin-top: 20px;
}
.sub06_03 .qna_board_wrap .bbs_paging tr td b{background-color: #012458;}



/* 처리현황 칩 공통 스타일 (알약 형태) */
.sub06_03 .qna_board_wrap .bbs_chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 9px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 12px;
    margin-right: 6px;
    vertical-align: middle;
    letter-spacing: -0.02em;
    box-sizing: border-box;
}

/* 1. 답변대기 / 접수 (ready) */
.sub06_03 .qna_board_wrap .bbs_chip.ready {
    background-color: #f1f5f9;
    color: #64748b;
    border: 1px solid #cbd5e1;
}

/* 2. 답변완료 (end) - 블루 포인트 + 깜빡임 애니메이션 */
.sub06_03 .qna_board_wrap .bbs_chip.end {
    background-color: #004ea2;
    color: #ffffff;
    border: 1px solid #004ea2;
    animation: chipBlink 1.4s infinite ease-in-out;
}

/* 깜빡깜빡 점멸 효과 (부드러운 페이드 & 외곽 발광) */
@keyframes chipBlink {
    0%, 100% {
        opacity: 1;
        box-shadow: 0 0 0 0 rgba(0, 78, 162, 0.4);
    }
    50% {
        opacity: 0.25;
        box-shadow: 0 0 6px 2px rgba(0, 78, 162, 0.25);
    }
}
/* sub06_03 */



/* sub07_01 */
.sub07_01 .contents_title{margin-top:40px;}

/* 상단 타이틀 영역 */
.sub07_01 .partner_head {
    margin-bottom: 50px;
}

.sub07_01 .partner_head .sub_en {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: #e52528;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}

.sub07_01 .partner_head .main_tit {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    color: #111111;
    letter-spacing: -0.02em;
}

.sub07_01 .partner_head .main_tit strong {
    font-size: 34px;
    font-weight: 800;
    color: #004ea2;
}

.sub07_01 .partner_head .head_desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.65;
    color: #555555;
    margin-top: 14px;
    word-break: keep-all;
}

.sub07_01 .partner_head .head_desc strong {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
}

.sub07_01 .partner_intro_sec {
    width: 100%;
    padding: 70px 0 120px;
    background-color: #ffffff;
}



.sub07_01 .partner_intro_sec .member{margin-top:60px;}

/* ------------------------------------------- sub -------------------------------------------------------- */
