.fontT {font-size:20px;}
.fontT2 {font-size:20px;font-family: 'Batang';}
.font01 {font-weight: 100;}
.font02 {font-weight: 200;}
.font03 {font-weight: 300;}
.font04 {font-weight: 400;}
.font05 {font-weight: 500;}
.font06 {font-weight: 600;}
.font07 {font-weight: 700;}
.font08 {font-weight: 800;}
.font09 {font-weight: 900;}

.coming{z-index:99;position: relative;width:100%;height:100%;overflow:hidden;/*background: #1B4075;*/background-image: url("../images/back_img_pc.png");background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;}
.coming{display: flex;align-items: center;justify-content: center;}
.timerBox {position: relative;width:400px;height:400px;display:block;border:1px solid rgba(255,255,255,0.2);z-index:9}
.backDiv{position: absolute;width:80%;height:150%;top:0%;margin-top: -10%;left:0;margin-left:-10%;display:block;background: #080C0B;opacity:0.6;transform: rotate(10deg);}
.backBDiv{position: absolute;width:60%;height:150%;top:0%;margin-top: -10%;right:0;margin-right:-20%;display:block;background: #1B4075;opacity:0.5;transform: rotate(10deg);}
.backCDiv{position: absolute;width:60px;height:150%;top:0;margin-top: -10%;left:50%;margin-left: 280px;display:block;background: #1B4075;transform: rotate(10deg);}
.comingTit{position: absolute;display:flex;width:100%;height:100%;align-items: center;justify-content: center;flex-direction:column;top:0%;right:00%;;color:rgba(255,255,255,0.9);font-size: 150px;font-weight: 800;}
.mainTit{font-size: 100px;font-weight: 800;letter-spacing: 50px;padding-top:80px;}
.mainTit02{font-size: 120px;font-weight: 100;margin-top:-40px;letter-spacing: 4.2px;}
.mainTit2{font-size: 17px;font-weight: 200;letter-spacing: 0.2px;;color:rgba(255,255,255,0.9);text-align: center;padding-top:200px;z-index:99}
.logo{position: absolute;display: inline-block;top:60px;left:100px;}
.addBox{position: absolute;color:#888;display: inline-block;left:100px;bottom:50px;}
.addCopy{font-size: 13px;color:#888;font-weight: 300;margin-top:40px;}
.addCopy span{color:#1B4075;font-weight: 900; background: rgba(255,255,255,0.8);padding:0 4px;}
.aa{background:#652A46 ;background:#39797E;background: #979699;}
.comingSoonBox{position: absolute;display: inline-block;top:00%;display:flex;width:100%;height:100%;align-items: center;justify-content: center;flex-direction: column;}
.clock{
    width:400px;
    height:400px;
    display:flex;
    justify-content: center;
    align-items: center;

    background-size: cover;
    border: 1px solid #fcfcfc;
    z-index:999;
    border-radius: 4px;
    opacity:0.5
}

.clock:before {
    content: '';
    position: absolute;
    width:15px;
    height:15px;
    background:#fff;
    border-radius: 50%;
    z-index : 10;
}

.clock .hour,
.clock .min,
.clock .sec{
    position: absolute;
}

.clock .hour .hr{
    width : 260px;
    height : 260px;
}

.clock .min .mn{
    width : 330px;
    height : 330px;
}

.clock .sec .sc{
    width : 150px;
    height : 150px;
}

.hr, .mn, .sc{
    display:flex;
    justify-content: center;
    /* position: absolute; */
    border-radius: 50%;
}

.hr:before{
    content: '';
    position: absolute;
    width:4px;
    height:180px;
    background:#fff;
    z-index : 10;
    border-radius: 6px 6px 0 0;
}

.mn:before{
    content: '';
    position: absolute;
    width:2px;
    height:240px;
    background:#fff;
    z-index : 10;
    border-radius: 6px 6px 0 0;
}

.sc:before{
    content: '';
    position: absolute;
    width:1px;
    height:380px;
    background:#fff;
    z-index : 10;
    border-radius: 6px 6px 0 0;
}
#section{}
.wrap{width:1100px;margin: 0 auto;}
.wrap .item{float:left;width: 33.3%;text-align:center;height:200px;}
.wrap2{width:1100px;margin: 20px auto;display:flex;align-items: center;justify-content: center;}
.wrap2 .item{flex:1;height:200px;}
.item01{background-color: black;}
.item02{background-color: blue;}
.item03{background-color: chocolate;}
.test{width:1100px;margin: 20px auto;display:flex;align-items: center;justify-content: center;gap:10px;}
.box1{}
.box2{}

.boardWarp{}
.listType{}
.boardBox{width:1400px;margin:0 auto;}
.boardBox{}
.boardBox ul{display:grid;grid-template-columns: 1fr 1fr 1fr 1fr;justify-content: center;gap:20px;align-items: baseline;}
.boardBox .listItem{
    position: relative;
    width:100%;    height: 300px /*calc(100% * 3.5)*/;
    display: block;overflow: hidden;cursor: pointer;
    background: #303E6D;
}
.boardBox .listItem .imgBg{
    transition: 0.5s;
    position: absolute;
    width:100%;height:100%;
    background-image: url(../images/test.jpg);
    background-position: center center;
    background-size: cover;
}
.boardBox .listItem:hover .imgBg {
    transform: scale(1.2);/*opacity: 0.6;*/
}
.boardBox .listItem .txtBox{
    transition: 0.3s;
    position: absolute;
    left:0;
    bottom:0px;
    width:100%;
    background:rgba(255,255,255,0.8);
    padding:20px;
    min-height: 3.2em; /* 두 줄 기준 높이 고정 */
}
.boardBox .listItem:hover .txtBox{
    background:rgba(255,255,255,0.9);
    bottom:0px;
}
.boardBox .listItem .txtBox > p{
    width:100%;
    font-size: 18px;
    font-weight: 500;
    /*line-height: 30px;*/
    line-height: 1.6em; /* 줄간격 */
    color:#222;
    text-align: left;

    /* 두 줄 고정 및 말줄임 처리 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 3.2em; /* 두 줄 높이 */
}
.boardBox .listItem .txtBox > dl{
    transition: 0.3s;
    display: none;grid-template-columns: 0.2fr 1fr;gap: 10px;
    font-size: 18px;line-height: 16px;
    margin-top:20px;
}
.boardBox .listItem:hover .txtBox > dl{
    display:none;
}
.boardBox .listItem .txtBox dt {
    position: relative;
    display: flex;
    color: #222;
}
.boardBox .listItem .txtBox dt:after{
    position: absolute;
    content:":";
    right:0;
}
.boardBox .listItem .txtBox dd{
    display: flex;
    color:#222;
}
.dimmedPopup {
    position: fixed;left:0;top:0;z-index: 99999;
    width:100%;height:100%;
    display: none;justify-content: center;align-items: center;
    background: rgba(0,0,0,0.7);
}
.dimmedPopup .dimCon{
    position: relative;
    display: grid;grid-template-columns: 1fr 0.8fr;gap: 20px;
    width:1400px;height:600px;
    background: #fff;
    padding:30px;
}
.dimmedPopup .dimCon .closeBtn{
    position: absolute;top:-40px;right:0;
    width:30px;height: 30px;
    display: block;

}
.dimmedPopup .dimCon .closeBtn .btnBox{
    position: relative;
    width:100%;height:100%;display:block;
}
.dimmedPopup .dimCon .closeBtn .btnBox:before{
    position: absolute;top: -5px;left: 14px;
    transform: rotate(45deg);
    content: "";
    width:2px;height:40px;display:block;background: #fff;
}
.dimmedPopup .dimCon .closeBtn .btnBox:after{
    position: absolute;top: -5px;right: 14px;
    transform: rotate(-45deg);
    content: "";
    width:2px;height:40px;display:block;background: #fff;
}

.dimmedPopup .dimCon .dimImg{
    width:100%;height:100%;
    background-position: center;
    background-size: contain;
}
.dimmedPopup .dimCon .dimText{
    border-top:2px solid #444;
    border-bottom:1px solid #e8e8e8;
    padding:10px 0 0 0;
}
.dimmedPopup .dimCon .dimText > p{
    width:100%;
    font-size: 28px;font-weight: 500;line-height: 34px;color:#222;text-align: left;
}
.dimmedPopup .dimCon .dimText > dl{
    display:grid;grid-template-columns: 0.4fr 1fr;gap: 10px;
    font-size: 24px;line-height: 26px;
    margin-top:20px;padding-top:20px;border-top:1px solid #e8e8e8;
}
.dimmedPopup .dimCon .dimText dt {
    position: relative;
    display: flex;
    color: #888;
}
.dimmedPopup .dimCon .dimText dt:after{
    position: absolute;
    content:":";
    color:#888;
    right:0;
}
.dimmedPopup .dimCon .dimText dd{
    display: flex;
    color:#888;
}

.mapInfomation{
    width:1400px;
    display: flex;align-items: center;
    justify-items: start;
    background: #fff; border: 1px solid #e0e0e0;border-top:0;
    padding:40px;margin: 0 auto;}
.mapInfomation .infoBox{
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: end;}
.mapInfomation .linkBox{display: flex;}
.mapInfomation .linkBox a{display: block;
    font-size: 20px;
    text-align: left;
    width: 260px;
    height: 130px;
    background: url(../images/location_plus.png) no-repeat #303E6D right 30px bottom 30px;
    color: #fff;
    margin-left: 30px;
    padding: 28px;}

.mapInfomation .map_address{width: 100%;display:grid;grid-template-columns: 1fr;flex: 1;}
.mapInfomation .map_address.Item02{grid-template-columns: 0.5fr 1fr;}
.mapInfomation .map_address li{display: flex;align-items: flex-start;    align-items: center;
    justify-items: start;
    text-align: left;
    padding-top:10px;}
.mapInfomation .map_address li:first-child{margin-right:20px;}
.mapInfomation .map_address img{width:20px;height:20px;margin-right:10px;display:block;filter: invert(21%) sepia(7%) saturate(6084%) hue-rotate(192deg) brightness(93%) contrast(85%);}
.mapInfomation h1{width: 100%;flex: 1;text-align: left;font-size:28px;font-weight: 600;margin-bottom:10px;}
.trapicBoxWrap{width:1400px;
    display: flex;align-items: center;
    flex-direction: column;
    justify-content: start;
    padding:40px 0 60px 0;margin: 0 auto;}
.trapicBoxWrap > h1{width:100%;text-align: left;font-size: 22px;font-weight: 600}
.trapicBoxWrap .trapicBox{width:100%;display: flex;gap:30px;width:100%;border-top:1px solid #e0e0e0;padding-top:20px;margin-top:20px;}
.trapicBoxWrap .trapicItem{display: flex;flex-direction: column;flex: 1;
    text-align: left;}
.trapicBoxWrap .trapicItem h2{font-size: 18px;font-weight: 600;margin-bottom:10px;}
.trapicBoxWrap .trapicItem p{width:100%;text-align: left}



.srboardTop{display:flex; justify-content:space-between; align-items:center; margin-bottom:40px;}
.srboardTop .total{color:#222; font-size:16px; font-weight:600; position:relative; padding-left:30px;}
.srboardTop .total::after{content: ''; width: 20px; height: 24px; background: url(/images/sub/total_icon.png) no-repeat; position: absolute; left: 0;}
.srboardTop .total span{vertical-align:baseline;color:#3574f2;}
.srboardTop .total em{color:#3574f2;}
.srboardTop .selArea{position:relative; background:#fff;}
.srboardTop .selArea > form{display: flex;
    flex-direction: row;
    gap: 10px;}
.srboardTop .selArea div.dv-select{width:100%;height:60px; line-height:60px; border:none; margin:0; position:relative;}
.srboardTop .selArea div.dv-select::after{content: ''; width: 5px; height: 5px; border-top: 1px solid #3d3d40; border-right: 1px solid #3d3d40; transform: rotate(135deg); position: absolute; top:50%; right: 20px; margin-top:-4px; z-index: 2;}
.srboardTop .selArea .dv-select > label{height:60px; line-height:60px; border:none}
.srboardTop .selArea .dv-select > span.spn-sel-arrow{height:60px;}
.srboardTop .selArea select{height:60px; line-height:60px; border:none; margin:0; font-size:16px; font-weight:500; background-color:#f7f7f7;}
.srboardTop .selArea input{height:60px; line-height:60px; border:none;  margin:0; font-size:16px; padding-right:40px; padding-left:20px; white-space: nowrap; overflow:hidden; text-overflow:ellipsis; -o-text-overflow: ellipsis; -ms-text-overflow: ellipsis; background-color:#f7f7f7;}
.srboardTop .selArea input::placeholder{font-size:16px; color:rgb(0,0,0,.5);}
.srboardTop .selArea span.input{margin-right: 80px;}
.srboardTop .selArea span.search{position:absolute; right:0; margin:0; }
.srboardTop .selArea span.search input{background:url('/images/btn/btn_search.png') no-repeat center center; text-indent:-9999px;}
.selArea .search button.btnBlue {
    height: 60px;
    padding: 0 20px;
    background-color: #3b476d;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s ease;
}
.selArea .search button.btnBlue:hover {
    background-color: #565B6EFF;
}

/* select box setting */
div.dv-select {display:inline-block;*display: inline;zoom:1;position:relative;width:100%;height:35px;padding:0;border: 1px solid #d8d8d8;background:#fff;box-sizing:border-box;overflow:hidden;}
div.dv-select > label {display:inline-block; opacity:0; *display: inline;zoom:1;position:absolute;top:0;right:0;width:100%;line-height:35px;margin:0;padding:0 35px 0 10px;font-size:12px;color:#666; background:transparent;box-sizing:border-box;cursor:pointer;}
div.dv-select > span.spn-sel-arrow {display:block;position:absolute;top:-1px;right:-1px;width:35px;height:35px;margin:0;padding:0;background:url(/images/board/sel-arrow.png) no-repeat;background-size:20px;background-position:center;box-sizing:border-box;cursor:pointer;}
div.dv-select > select {position:relative;width:100%;height:35px;padding:0 20px;border:none;background:none;outline:none; -webkit-appearance:none;filter:alpha(opacity=0);z-index:1; color:#666; font-weight:300; font-size:13px; /* font-family: 'Noto Sans KR','GmarketSansMedium',Dotum,Helvetica,AppleGothic,Gulim,'굴림',Sans-serif;*/}





.srboardList{width:1400px;margin:0 auto;}

.srboardList .listUl{border-top:2px solid #111;}
.srboardList .listUl .listWrap{
    width:100%;
    display:flex;justify-content: center;align-items: center;flex-direction: column;
}
.srboardList .listUl li{
    width:100%;

}
.srboardList .listUl .listWrap .ulItem{
    width:100%;
    display:flex;justify-content: center;align-items: center;
    padding:20px 0 20px 20px;gap:30px;
}
.srboardList .listUl .listWrap .ulItem .imgBox{
    width:150px;height:150px;
    transition: background-size 0.3s ease-in;
}
.srboardList .listUl .listWrap .ulItem .imgBox.item01{
    background: url(../images/sample_0101.png) center center;background-size: 100%;
}
.srboardList .listUl .listWrap .ulItem .imgBox.item02{
    background: url(../images/sample_0102.png) center center;background-size: 100%;
}
.srboardList .listUl .listWrap .ulItem .imgBox.item03{
    background: url(../images/sample_0103.png) center center;background-size: 100%;
}
.srboardList .listUl .listWrap .ulItem .imgBox.item04{
    background: url(../images/sample_0104.png) center center;background-size: 100%;
}
.srboardList .listUl .listWrap .ulItem:hover .imgBox{
    background-size: 110%;
}

.srboardList .listUl .listWrap .ulItem .txtTit{
    flex:1;display: flex;flex-direction: row;    justify-content: space-between;
}
.srboardList .listUl .listWrap .ulItem .txtTit > p{
    font-size: 26px;font-weight: 500;color:#222;
}
.srboardList .listUl .listWrap .ulItem .txtTit > span{
    font-size: 20px;font-weight: 400;color:#999;
}
.srboardList .listUl .listWrap li{
    border-bottom:1px solid #ddd; width:100%;
}

.srboardList .listTable ul{border-top:2px solid #111;}
.srboardList .listTable ul li{border-bottom:1px solid #ddd; }
.srboardList .listTable ul li a{ padding:60px; display:block;  position:relative; overflow:hidden;}
.srboardList .listTable .title{float:right; width:calc(100% - 420px); padding-top:20px;}
.srboardList .listTable .title h3{font-size:27px; margin:0 0 15px; color:#111; line-height:1.2; white-space: nowrap; overflow:hidden; text-overflow:ellipsis; -o-text-overflow: ellipsis; -ms-text-overflow: ellipsis;}
.srboardList .listTable .title p{font-size:18px; overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;}
.srboardList .listTable .title p.date{font-size:15px; color:#aaa; margin:20px 0 0;   display: flex;  align-items: center;}
.srboardList .listTable .title p.date i{margin-right:5px;}
.srboardList .listTable .thumb{width:347px; height:195px; background-size:cover; background-repeat:no-repeat; background-position:center center;  border-radius:5px;float:left; }

.srboardList .btnGray{background:#111; border-color:#111; font-size:16px; padding: 15px 50px;}


/* 리스트 테이블 영역 */
.srboardList .listTable {width:100%;}

.srboardList .listTable p.total {display:block;width:96%;max-width:1280px;margin:-20px auto 10px;padding:0;font-size:13px;color:#666;text-align:right;}
.srboardList .listTable p.total span {display:inline-block;margin:0 2px 0 5px;color:#ea2125;font-weight:bold;}

.srboardList .listTable .colTbl {width:100%;font-size:15px;table-layout:fixed;border-bottom:1px solid #ddd;}
.srboardList .listTable .colTbl th {border-top:2px solid #000;padding:20px 0;color:#222; font-size:18px; font-weight:700;}
.srboardList .listTable .colTbl td {border-top:1px solid #ddd;padding:20px 00px 20px; font-size: 16px;color:#707070;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:300;}
.srboardList .listTable .colTbl td.title {text-align:left; font-weight:500;width:100%; position:relative; }
.srboardList .listTable .colTbl td.title a{color:#222; font-size:18px; position:relative;}
.srboardList .listTable .colTbl td.title .file_icon{width: 15px; height: 17px; background: url(/images/sub/file_icon.png) no-repeat center; display:inline-block; vertical-align: middle; margin-left:12px;}
.srboardList .listTable .colTbl tr td{transition:background ease .3s; color:#888; font-weight:500;}
.srboardList .listTable .colTbl tr td .recruit_btn01{width:74px; height:36px; text-align: center; line-height: 36px; color:#fff; border-radius: 6px; background-color:#0460d9; margin:0 auto;}
.srboardList .listTable .colTbl tr td .recruit_btn02{width:74px; height:36px; line-height: 36px;  text-align: center; color:#fff; border-radius: 6px; background-color:#ccc; margin:0 auto;}
/*.srboardList .listTable .colTbl tr:hover td{background:#f7fafc;}*/
.srboardList .listTable .colTbl tr:hover td.title a{ color:#0460d9; font-weight:500; text-decoration:underline; }

.background-bk .srboardList .listTable p.total {color:#fff;}
.background-bk .srboardList .listTable .colTbl {border-bottom:1px solid #626262;}
.background-bk .srboardList .listTable .colTbl th {border-top:2px solid #ea2125;color:#fff;background:#333;}
.background-bk .srboardList .listTable .colTbl td {border-top:1px solid #626262;color:#f1f1f1;}
.background-bk .srboardList .listTable .colTbl td.title{text-align:left;}

/*************pager************/
.pager {width:100%;  margin:40px auto 100px; text-align:center; display: inline-block;}
.pager-body { display:inline-block; }
.pager-body a {width:46px; height:46px; line-height:46px; color:#666; font-size:16px; font-weight:500; float:left; margin:0 2px; display:block; box-sizing:border-box; position:relative;}
.pager-body a img{position:absolute; max-width:100%; max-height:100%; width:auto; height:auto; margin:auto; top:0; bottom:0; left:0; right:0;}
.pager-body a.on{ color:#fff; border:none; background-color:#303E6D;}
/******************************/

.cycle-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.cycle-container .cycle {
    position: relative;
    width: 180px;
    height: 180px;
    border: 8px solid;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px;
    font-weight: bold;
    font-size: 18px;
    box-sizing: border-box;
}

.cycle-container .cycle::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -58px;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 20px solid #dbdbdb;
    transform: translateY(-50%);
}

.cycle-container .cycle:last-child::after {
    display: none;
}

.cycle-container .color1 { border-color: #4c6ca0; color: #4c6ca0; }
.cycle-container .color2 { border-color: #8cc5cf; color: #388188; }
.cycle-container .color3 { border-color: #d8c1ac; color: #9f7d54; }
.cycle-container .color4 { border-color: #d4d9f4; color: #9fa7d4; }
.cycle-container .color5 { border-color: #002f5f; color: #002f5f; }

.container01 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.container01 .flow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.container .box {
    background: linear-gradient(to bottom, #004080, #0050a0);
    color: #fff;
    padding: 12px 20px;
    border-radius: 5px;
    font-weight: bold;
    text-align: center;
    min-width: 100px;
    font-size: 14px;
}

.container01 .side-label {
    background: #e0e0e0;
    color: #333;
    padding: 10px 16px;
    font-weight: bold;
    border-radius: 5px;
    min-width: 60px;
    text-align: center;
}

.container01.arrow {
    font-size: 20px;
    margin: 0 10px;
    color: #888;
}

.container01 .top-info, .bottom-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 900px;
    font-size: 12px;
    color: #555;
}

.container01 .bottom-info {
    border-top: 1px dashed #999;
    padding-top: 10px;
}

.container01 .label-left, .label-right {
    flex: 1;
}

.container01 .text-center {
    text-align: center;
    flex: 2;
}

.conT01 .title {
    font-weight: bold;
    margin-bottom: 10px;
}

.conT01 .subtitle {
    font-size: 12px;
    color: #666;
    margin-bottom: 30px;
}

.conT01 .circle-container {
    position: relative;
    width: 500px;
    height: 500px;
    margin: 0 auto;
    border-radius: 50%;
}

.conT01 .circle-item {
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: linear-gradient(to bottom, #004080, #0050a0);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
    padding: 10px;
}

/* 위치 각도에 따라 배치 */
.conT01 .i1 { top: 0%; left: 50%; transform: translate(-50%, 0); }
.conT01 .i2 { top: 15%; left: 85%; transform: translate(-50%, 0); }
.conT01 .i3 { top: 45%; left: 100%; transform: translate(-50%, -50%); }
.conT01 .i4 { bottom: 15%; left: 85%; transform: translate(-50%, 0); }
.conT01 .i5 { bottom: 0%; left: 50%; transform: translate(-50%, 0); }
.conT01 .i6 { bottom: 15%; left: 15%; transform: translate(-50%, 0); }
.conT01 .i7 { top: 45%; left: 0%; transform: translate(-50%, -50%); }
.conT01 .i8 { top: 15%; left: 15%; transform: translate(-50%, 0); }

.conT01 .cm-label,
.conT01 .cmg-label {
    background: #eee;
    color: #333;
    display: inline-block;
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: bold;
    margin: 10px;
}

.conT01 .bottom-info {
    font-size: 12px;
    margin-top: 30px;
    border-top: 1px dashed #999;
    padding-top: 10px;
    color: #444;
}

.cont02 {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 20px;
    margin: 50px auto 80px;
    width:1400px;
    font-family: 'Arial', sans-serif;
    font-size: 14px;
}

.cont02 .step-box {
    flex: 1;
    border: 1px solid #e0e0e0;
    padding: 30px 0 20px 0 ;
    box-sizing: border-box;
    background: #fff;
}

.cont02 .step-box h3 {
    margin-top: 0;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    border-bottom: 1px solid #000;
    padding-bottom: 8px;
}

.cont02 .step-box ul {
    padding-top: 20px;
    margin: 0;
}

.cont02 .step-box ul li {
    margin: 6px 0;
    line-height: 1.4;
}


.cont02 .step-box02 {
    flex: 1;
    border: 1px solid #e0e0e0;
    padding: 30px 0 20px 0 ;
    box-sizing: border-box;
    background: #fff;
}

.cont02 .step-box02 h3 {
    margin-top: 0;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    border-bottom: 1px solid #000;
    padding-bottom: 8px;
}

.cont02 .step-box02 ul {

    margin: 0;
}

.cont02 .step-box02 ul li {
    margin: 6px 0;
    line-height: 1.4;
    font-size: 18px;font-weight: 900;color:#222;
}

.cont03 {
    max-width: 1200px;
    margin:140px auto 80px;
}

.cont03 .top-box {
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
}

.cont03  box {
    flex: 1;
    padding: 20px;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    border-radius: 10px;
    height: 140px;
    box-sizing: border-box;
}

.cont03 .box ul {
    margin-top: 10px;
    padding-left: 20px;
    font-weight: normal;
    font-size: 14px;
}

.cont03  .left {
    min-width: 40%;
    border: 2px solid #e0e0e0;
    color: #222;
    padding: 30px;;
    font-size: 18px;
    font-weight: 900;
    margin-right: 40px;
}

.cont03  .right {
    min-width: 40%;
    color:#222;
    margin-left: 40px;
    border: 2px solid #e0e0e0;
    color: #222;
    font-size: 18px;
    font-weight: 900;
    padding: 30px;
}

.cont03  .diamond {
    position: absolute;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    background-color: #ffffff;
    border: 8px solid #1B4075;
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    color: #444;
    font-size: 20px;
    text-align: center;
    line-height: 1.4;
    z-index: 2;
}

.cont03  .bottom-box {
    margin: 70px auto 0;
    border:2px solid  #e0e0e0; /* 모노톤 베이지 */
    color: #333;
    width:80%;
    padding: 40px;
    font-size: 18px;
    line-height: 1.6;
}

.conT04 {
    max-width: 1200px;
    margin: 40px auto 40px;
    font-family: sans-serif;
    border-top: 2px dotted #33477d;
}

.conT04 .timeline {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: -40px;
    padding: 40px 0;

}

.conT04 .step {
    text-align: center;
    width: 180px;
    position: relative;
}

.conT04 .dot {
    width: 16px;
    height: 16px;
    background-color: #33477d;
    border-radius: 50%;
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.conT04 .desc {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.5;
    color: #33477d;
}

.conT04 .desc.blue { color: #88a4af; }
.conT04 .desc.brown { color: #b08d73; }

.conT04 .image-placeholder {
    margin-top: 10px;
    width: 100%;

    background-color: #eee;
    /* border: 1px dashed #aaa; */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #666;
}

.conT04 .label {
    margin-top: 6px;
    font-size: 13px;
    font-weight: bold;
    color: #000;
}

.conT04 .underline {
    width: 60%;
    height: 2px;
    margin: 4px auto 0;
}
.conT04 .underline.blue { background-color: #88a4af; }
.conT04 .underline.darkblue { background-color: #33477d; }
.conT04 .underline.brown { background-color: #b08d73; }

.conT020101 {
    max-width: 1200px;
    margin: 40px auto;
    font-family: sans-serif;
    text-align: center;
}

.conT020101 h2 {
    font-size: 24px;
    margin-bottom: 10px;
}

.conT020101 .desc {
    font-size: 14px;
    color: #444;
    margin-bottom: 30px;
}

.conT020101 .boxes {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.conT020101 .box {
    flex: 1 1 18%;
    border-top: 3px solid #ccc;
    border-radius: 10px;
    padding: 20px 10px;
    box-sizing: border-box;
    background-color: #f9f9f9;
}

.conT020101 .icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 10px;

    /*background: rgba(255,0,0,0.2);*/

}
.conT020101 .icon > img{
    width: 100%;
    opacity: 0.5;

}

.conT020101 .title {
    font-weight: bold;
    font-size: 18px;color:#222;font-weight: 900;
    margin-bottom: 6px;
}

.conT020101 .part {
    margin: 10px 0 6px;
    font-weight: bold;
    font-size: 13px;
    color: #333;
}

.conT020101 .content {
    font-size: 13px;
    color: #555;
    line-height: 18px;

}

/* 색상 강조 (선택적 적용) */
.conT020101 .box:nth-child(1) { border-top-color: #4a6ea9; }
.conT020101 .box:nth-child(2) { border-top-color: #8ec8d5; }
.conT020101 .box:nth-child(3) { border-top-color: #d9c8a3; }
.conT020101 .box:nth-child(4) { border-top-color: #b7cae4; }
.conT020101 .box:nth-child(5) { border-top-color: #b5a6db; }

.conT020102 {
    display: flex;
    max-width: 1400px;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;
    margin:0 auto;
    background-color: #f9f9f9;
}

.conT020102 .method {
    flex: 1;
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-align: center;
    padding: 16px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.conT020102 .method h3 {
    font-size: 18px;
    margin-bottom: 12px;
    color: #003366;
}

.conT020102 .img-box {
    width: 100%;
    height: auto;
    border: 1px dashed #ccc;
    padding: 8px;
}

.conT020102 .img-box img {
    max-width: 100%;
    height: auto;
}

.conT020201 {
    background-color: #f0f0f0;
    padding: 30px;
    border-radius: 8px;
    font-family: 'Noto Sans KR', sans-serif;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.conT020201 .item {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #fff;
    border-left: 8px solid #bbb;
    padding: 20px;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.conT020201 .item.mid {
    border-left-color: #999;
}

.conT020201 icon-box {
    width: 60px;
    height: 60px;
    border: 2px dashed #ccc;
    border-radius: 50%;
    min-width: 60px;
}

.conT020201 .content h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    color: #333;
}

.conT020201 .content ul {
    margin: 0;
    padding-left: 20px;
    color: #555;
    font-size: 14px;
    line-height: 1.6;
}

.noListData{
    width:1400px;height:400px;
    margin:40px auto 60px;
    border: 1px solid #e0e0e0;
    display: flex;justify-content: center;align-items: center;
    font-size: 18px;
}

.comCon01{width:1300px;margin:30px auto;display: flex;justify-content: space-between;align-items: start;gap:30px}
.comCon01 .video{width: 560px}
.comCon01 .overview{flex:1;}
.comCon01 .overview > p{
    width:100%;
    font-size:20px;color:#222;line-height: 29px;
}
.comCon01 .overview > p:after{
    content: '';
    display: inline-block;
    width: 100%;
}
.logoBox{
    display:flex;justify-content: center;align-items: center;gap:30px;
    margin:40px auto 80px !important

}
.logoBox .logoItem{
    flex:1;display:flex;justify-content: center;align-items: center;
    height:138px;background: #fff;

}
.logoBox .logoItem.logo01{}
.logoBox .logoItem.logo02{    width: 80%;}
.logoBox .logoItem.logo03{}
.logoBox .logoItem.logo04{color:#104a8c;font-size: 36px;
    font-weight: 600;}
.logoBox .logoItem.logo05{    width: 80%;}
.logoBox .logoItem >img{
    width:70%;

}

.orgBoxWrap {    position: relative;
    width: 1400px;
    margin: 0 auto 40px;
    min-height: 100px;
    border: 1px solid #e0e0e0;
    padding: 60px 30px ;}
.orgBoxWrap .noitem{flex:1;display: flex;justify-content: center;align-items: center;}
.orgBoxWrap .noitem > p{    width: 200px;
    padding: 20px;}
.orgBoxWrap .item{position: relative;flex:1;display: flex;justify-content: center;align-items: center;}
.orgBoxWrap .item > p{    width: 200px;
    padding: 20px;font-size:20px;}

.orgBoxWrap .leftLine:before{
    position: absolute;content:"";
    left:0;top:50%;width:235px;height:1px;display: block;background: #e0e0e0;
}
 .orgBoxWrap .rightLine:before{
     position: absolute;content:"";
     right:0;top:50%;width:235px;height:1px;display: block;background: #e0e0e0;
 }
.orgBoxWrap .topLine:before{
    position: absolute;content:"";
    left:50%;top:-40px;width:1px;height:40px;display: block;background: #e0e0e0;
}

 .orgBoxWrap .topLine .color01 {border:1px solid #6D8DB2;background: #6D8DB2;color:#fff}


.orgBoxWrap .orgTop02.boLine:before{
    position: absolute;content:"";
    left:50%;top:-40px;width:1px;height:40px;display: block;background: #e0e0e0;
}

.orgBoxWrap .boLine:before{
    position: absolute;content:"";
    left:50%;bottom:-40px;width:1px;height:40px;display: block;background: #e0e0e0;
}
.orgBoxWrap .orgTop01{
    width:100%;
    display: flex;justify-content: center;align-items: center;
    padding-bottom: 40px;
}
.orgBoxWrap .orgTop02{
    position: relative;
    width:100%;
    display: flex;justify-content: center;align-items: center;
    padding-bottom: 40px;
}
.orgBoxWrap .orgCenter{
    position: relative;
    width:100%;
    padding-bottom: 40px;padding-top:40px;
    display: flex;justify-content: center;align-items: center;
}
.orgBoxWrap .orgCenter:after{
    position: absolute;content:"";
    left:50%;margin-left:-535px;top:0px;width:1070px;height:1px;display: block;background: #e0e0e0;
}
.orgBoxWrap .orgCenter:before{
    position: absolute;content:"";
    left:50%;top:-110px;width:1px;height:110px;display: block;background: #e0e0e0;
}

.orgBoxWrap .orgBottom{
    width:100%;
    padding-bottom: 40px;
    display: flex;justify-content: center;align-items: center;
}
.orgBoxWrap .color01{border:1px solid #6D8DB2;background: #6D8DB2;color:#fff}
.orgBoxWrap .color02{border:1px solid #6D8DB2;background: #8DA066;color:#fff}
.orgBoxWrap .color03{border:1px solid #6D8DB2;background: #fff;color:#fff}
.orgBoxWrap .color04{font-size:22px;font-weight:500;border:1px solid #6D8DB2;background: #fff;color:#6D8DB2}
.orgBoxWrap .color05{font-size:22px;font-weight:500;border:1px solid #6D8DB2;background: #6D8DB2;color:#fff}


.chart01Box{    width: 1200px !important;display: grid;grid-template-columns: 0.8fr 1fr 0.8fr;gap:30px;margin:0 auto 50px !important; }
.chart01Box .chart01_Left {
    height:100%;
    display: flex;flex-direction: column;gap:20px;    justify-content: center;
}
.chart01Box .chart01_Left > div{position: relative;;border: 1px solid #e0e0e0;padding:20px;font-size: 18px;font-weight: 500;color:#222;}
.chart01Box .chart01_Left > div::before{
    position: absolute;top:50%;right:-91px;    transform: translateY(-50%);
    content: "";width:91px;height: 1px;background:#e0e0e0;
}

.chart01Box .chart01_Center{}


.chart01Box  .imgIcon01{
    width:220px;height:220px;
    display: flex;justify-content: center;align-items: center;
    background: #fff;border-radius: 150px;margin:00px auto}
.chart01Box .cInner{
    width:320px;
    margin:0 auto 00px;
    padding: 40px 0 40px 0;
    display: flex;flex-direction: column;justify-content: center;align-items: center;
    background: #fff;border: 1px solid #e0e0e0;
}
.chart01Box .tit001{font-size: 22px;font-weight: 900;color:#222;}
.chart01Box .pLine{position: relative;width:200px;height:2px;background: #002f5f;display: block;margin:20px auto 20px;}
.chart01Box .pLine::before{
    position: absolute;top:-5px;left:-2px;
    content: "";width:10px;height: 10px;background: #fff;border: 2px solid #002f5f;
}
.chart01Box .pLine::after{
    position: absolute;top:-5px;right:-2px;
    content: "";width:10px;height: 10px;background: #fff;border: 2px solid #002f5f;
}
.chart01Box  .imgIcon01 > img{width:180px;}
.chart01Box .chart01_Right{
    height:100%;
    display: flex;flex-direction: column;gap:20px;    justify-content: center;
}
.chart01Box .chart01_Right > div{position: relative;border: 1px solid #e0e0e0;padding:20px;font-size: 18px;font-weight: 500;color:#222;}
.chart01Box .chart01_Right > div::before{
    position: absolute;top:50%;left:-91px;    transform: translateY(-50%);
    content: "";width:91px;height: 1px;background:#e0e0e0;
}
.chart01Box .chart01_Right .rdiv01::after{
    position: absolute;top:61px;left:-31px;
    content: "";width:1px;height: 50px;background:#e0e0e0;
}
.chart01Box .chart01_Right .rdiv02::before{
    position: absolute;top:50%;left:-31px;
    content: "";width:60px;height: 1px;background:#e0e0e0;

}
.chart01Box .chart01_Right .rdiv03::after{
    position: absolute;top:-84px;left:-31px;
    content: "";width:1px;height: 50px;background:#e0e0e0;
}

.chart01Box{    width: 1200px !important;display: grid;grid-template-columns: 0.8fr 1fr 0.8fr;gap:30px;margin:0 auto 50px !important; }
.chart01Box .chart01_Left {
    height:100%;
    display: flex;flex-direction: column;gap:20px;    justify-content: center;
}
.chart01Box .chart01_Left > div{position: relative;;border: 1px solid #e0e0e0;padding:20px;font-size: 18px;font-weight: 500;color:#222;}
.chart01Box .chart01_Left > div::before{
    position: absolute;top:50%;right:-91px;    transform: translateY(-50%);
    content: "";width:91px;height: 1px;background:#e0e0e0;
}


.chart02Box{    width: 1200px !important;display: grid;grid-template-columns: 1fr 0.4fr 1fr;gap:60px;margin:0 auto 50px !important; }
.chart02Box .chart01_Left {
    height:100%;
    display: flex;flex-direction: column;gap:20px;    justify-content: center;
}
.chart02Box .chart01_Left > div{position: relative;;border: 1px solid #e0e0e0;padding:20px;font-size: 18px;font-weight: 500;color:#222;
    width: 100%;
    display: flex
;
    flex-direction: column;
    justify-content: center;
    font-weight: 500;
    align-items: stretch;}
.chart02Box .chart01_Left > div::before{
    position: absolute;top:50%;right:-31px;
    content: "";width:31px;height: 1px;background:#e0e0e0;

}
.chart02Box .chart01_Left .ldiv01::after{
    position: absolute;top:61px;right:-31px;
    content: "";width:1px;height: 148px;background:#e0e0e0;
}
.chart02Box .chart01_Left .ldiv02::before{
    position: absolute;top:50%;right:-61px;
    content: "";width:60px;height: 1px;background:#e0e0e0;

}
.chart02Box .chart01_Left .ldiv03::after{
    position: absolute;top:-84px;right:-31px;
    content: "";width:1px;height: 148px;background:#e0e0e0;
}
.chart02Box .chart01_Left > div > p.tit{font-size:20px;font-weight:700;margin-bottom:10px;}
.chart02Box .chart01_Left > div > p.stit{height:50px;font-size:18px;color:#888;text-align: center}
.chart02Box .chart01_Center{display: flex
;
    width: 100%;
    align-items: center;}


.chart02Box  .imgIcon01{
    width:220px;height:220px;
    display: flex;justify-content: center;align-items: center;
    background: #fff;border-radius: 150px;margin:00px auto}
.chart02Box .cInner{
    width:190px;
    height:190px;
    border-radius: 50%;

    padding: 40px 0 40px 0;
    display: flex;flex-direction: column;justify-content: center;align-items: center;
    background: #fff;border: 1px solid #e0e0e0;
}
.chart02Box .tit001{font-size: 22px;font-weight: 900;color:#222;}
.chart02Box .pLine{position: relative;width:200px;height:2px;background: #002f5f;display: block;margin:20px auto 20px;}
.chart02Box .pLine::before{
    position: absolute;top:-5px;left:-2px;
    content: "";width:10px;height: 10px;background: #fff;border: 2px solid #002f5f;
}
.chart02Box .pLine::after{
    position: absolute;top:-5px;right:-2px;
    content: "";width:10px;height: 10px;background: #fff;border: 2px solid #002f5f;
}
.chart02Box  .imgIcon01 > img{width:180px;}
.chart02Box .chart01_Right{
    height:100%;
    display: flex;flex-direction: column;gap:20px;    justify-content: center;
}
.chart02Box .chart01_Right > div{position: relative;border: 1px solid #e0e0e0;padding:20px;font-size: 18px;font-weight: 500;color:#222;
    width: 100%;
    display: flex
;
    flex-direction: column;
    justify-content: center;
    font-weight: 500;
    align-items: stretch;}

.chart02Box .chart01_Right > div::before{
    position: absolute;top:50%;left:-31px;
    content: "";width:30px;height: 1px;background:#e0e0e0;

}
.chart02Box .chart01_Right .rdiv01::after{
    position: absolute;top:61px;left:-31px;
    content: "";width:1px;height: 148px;background:#e0e0e0;
}
.chart02Box .chart01_Right .rdiv02::before{
    position: absolute;top:50%;left:-61px;
    content: "";width:60px;height: 1px;background:#e0e0e0;

}
.chart02Box .chart01_Right .rdiv03::after{
    position: absolute;top:-84px;left:-31px;
    content: "";width:1px;height: 148px;background:#e0e0e0;
}

.chart02Box .chart01_Right > div > p.tit{font-size:20px;font-weight:700;margin-bottom:10px;}
.chart02Box .chart01_Right > div > p.stit{height:50px;font-size:18px;color:#888;text-align: center}

.conT0103 {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    box-sizing: border-box;
    padding-top: 8px;
}
.conT0103 .backLine{
    position: absolute;
    display: block;
    left:50%;margin-left:-41%;
    top:50px;
    border-radius: 30px 30px 0 0;
    width:82%;height:318px;border:10px solid #e5f0fd;border-bottom:0;

}

.conT0103 .box {
    width: 100%;
    height: 80px;
    background-color: #e5f0fd;
    border: 1px solid #153c65;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: bold;
    box-sizing: border-box;
}

.conT0103 .title-box {
    position: absolute;
    top:0;left:50%;margin-left:-80px;
    width: 160px;
    height: 80px;
    background-color: #fff;
    border: 4px solid #153c65;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #195fb2;

}

.conT0103 .grid {
    display: grid;
    grid-template-columns: repeat(3, 180px);
    grid-template-rows: repeat(3, auto);
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: relative;
    margin-top:100px;
}

.conT0103 .grid .arrow {
    font-size: 24px;
    color: #153c65;
    text-align: center;
    height: 40px;
    line-height: 40px;
}

.conT0103 .side-boxes {
    position: absolute;
    top: 160px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    padding: 0 10px;
    box-sizing: border-box;
}

.conT0103 .side-boxes .side {
    width: 180px;
    background: #f4f4f4;
    padding: 10px;
    color: #555;
    font-weight: normal;
    border: 1px solid #ccc;
    line-height: 1.4;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;

}

.conT0103 .bottom-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
    padding: 0 15px;
    box-sizing: border-box;
}

.conT0103 .bottom-labels .label {
    width: 160px;
    height: 80px;
    background-color: #fff;
    border: 4px solid #153c65;
    color: #195fb2;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
}
.cont100 {
    width: 100%;
    border: 2px solid #003366;
    font-family: 'Segoe UI', sans-serif;
}

.cont100 .sps-title {
    background-color: #003366;
    color: white;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 20px 0;
}

.cont100 .sps-box-wrap {
    display: flex;
    justify-content: space-around;
    padding: 30px 0;
    background-color: white;
}

.cont100 .sps-box {
    text-align: center;
    border: 1px solid #ccc;
    padding: 20px 30px;
    border-radius: 4px;
    min-width: 140px;
}

.cont100 .badge {
    font-weight: bold;
    color: white;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    margin: 0 auto 15px;
    line-height: 60px;
    display:flex;
    font-size: 24px;
    justify-content: center;
    align-items: center;
}

.cont100 .badge-blue {
    background-color: #003366;
}

.cont100 .badge-beige {
    background-color: #00c6be;
}

.cont100 .badge-sky {
    background-color: #50aaff;
}

.cont100 .desc {
    font-size: 20px;
    font-weight: 700;
    color: #333;
}
.historyBox{width:800px;margin:50px auto 30px;}
.historyBox .historyList{}
.historyBox .historyList li{
    position: relative;
    padding: 10px 0px 60px 0;
    display: flex;justify-items: center;align-items: center;
}
.historyBox .historyList li:after{
    position: absolute;top:40px;left:50px;
    content:"";width:2px;height:60px;
    display: block;background: #e7e7e7;
}
.historyBox .historyList li:last-child::after{
    display:none;
}
.historyBox .historyList li > p{font-size:22px;font-weight: 900;color:#303E6D}
.historyBox .historyList li > span{padding:0px 0 0 30px;font-size:24px;font-weight: 400;color:#222}

.conT0301 {
    position: relative;
    width: 600px;
    height: 400px;
    margin: 100px auto;
}

.conT0301 .hexagon {
    width: 80px;
    height: 92px;
    background-color: #ccc;
    clip-path: polygon(
            50% 0%, 100% 25%, 100% 75%,
            50% 100%, 0% 75%, 0% 25%
    );
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
}

.conT0301 .icon-box {
    width: 40px;
    height: 40px;
    /*background-color: rgba(255,0,0,0.2);*/

}
.conT0301 .icon-box > img {width: 40px;
    height: 40px;}


/* 색상 클래스 */
.conT0301 .hex-purple    { background-color: #c3b4e3; }
.conT0301 .hex-lightblue { background-color: #b2cdea; }
.conT0301 .hex-sky       { background-color: #98c2ca; }
.conT0301 .hex-beige     { background-color: #dec7b3; }
.conT0301 .hex-mint      { background-color: #b5dad4; }
.conT0301 .hex-navy      { background-color: #5f81aa; }
.conT0301 .hex-purple-b    {border:1px solid #c3b4e3;background: #FFF; color:#222}
.conT0301 .hex-lightblue-b { border:1px solid #b2cdea;background: #FFF;  color:#222}
.conT0301 .hex-sky-b       { border:1px solid #98c2ca;background: #FFF;  color:#222}
.conT0301 .hex-beige-b     { border:1px solid #dec7b3;background: #FFF;  color:#222}
.conT0301 .hex-mint-b      { border:1px solid #b5dad4;background: #FFF;  color:#222}
.conT0301 .hex-navy-b      { border:1px solid #5f81aa;background: #FFF;  color:#222}
.conT0301 .txtBox{
    position: absolute;
    width:160px;display: flex;justify-content: center;align-items: center;padding:10px;
    font-size:18px;font-weight: 700;
}

/* 위치 클래스 (원형 배치) */
.conT0301 .pos.top         {position: absolute; top: 0%;   left: 50%; transform: translate(-50%, 0); }
.conT0301 .pos.top-right   {position: absolute; top: 30%;  left: 75%; transform: translate(-50%, -50%); }
.conT0301 .pos.bottom-right{position: absolute; top: 65%;  left: 75%; transform: translate(-50%, -50%); }
.conT0301 .pos.bottom      {position: absolute; bottom: 0; left: 50%; transform: translate(-50%, 0); }
.conT0301 .pos.bottom-left {position: absolute; top: 65%;  left: 25%; transform: translate(-50%, -50%); }
.conT0301 .pos.top-left    {position: absolute; top: 30%;  left: 25%; transform: translate(-50%, -50%); }

.conT0301 .txt_top{ top: -10%;   left: 50%; transform: translate(-50%, 0); }
.conT0301 .txt_tLeft{top: 30%;      left: 28px; transform: translate(-50%, -50%); }
.conT0301 .txt_tRight{ top: 30%;      right: -132px; transform: translate(-50%, -50%); }
.conT0301 .txt_bLeft{ top: 65%;      left: 28px; transform: translate(-50%, -50%);}
.conT0301 .txt_bRight{top: 65%;      right: -132px; transform: translate(-50%, -50%);}
.conT0301 .txt_bottom{bottom: -10%; left: 50%; transform: translate(-50%, 0); }


.conT030101 {
    width:1100px;
    display: flex;justify-content: center;gap: 20px;
    margin: 50px auto;
    font-family: 'Arial', sans-serif;
}

.conT030101 .step-box {
    position: relative;
    width: 140px;
    padding-top: 40px;
    padding-bottom: 60px;
    border-radius: 0px 0 0 0px;
    clip-path: polygon(0 0, 100% 20px, 100% 100%, 0% 100%);
    color: white;
    text-align: center;
}

.conT030101 .circle {
    margin: 0 auto;
    background: white;
    color: #5580a0;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-weight: bold;
    border: 2px solid #5580a0;
}

.conT030101 .title {
    font-size: 16px;
    font-weight: bold;
    padding-top: 10px;
    margin-bottom: 8px;
    border-bottom: 1px dotted rgba(255,255,255,0.5);
    padding-bottom: 5px;
}

.conT030101 .desc {
    font-size: 14px;
    line-height: 1.4;
}

.conT030101 .step1 {
    background-color: #b9d2ea;
    color: #0a2f55;
    border-radius: 0 0  10px 10px;
}

.conT030101 .step2 {
    background-color: #a3d1cd;
    color: #0b3c3f;
    border-radius: 0 0  10px 10px;
}

.conT030101 .step3 {
    background-color: #5a83aa;
    color: #ffffff;
    border-radius: 0 0  10px 10px;
}
.conT030101 .step4 {
    background-color: #5a83aa;
    color: #ffffff;
    border-radius: 0 0  10px 10px;
}

.conT030102 {
    align-items: baseline;
    width:1400px;
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 50px auto 80px;
    font-family: 'Arial', sans-serif;
}

.conT030101 .step-box {
    position: relative;
    width: 140px;
    padding-top: 40px;
    padding-bottom: 60px;
    border-radius: 0px 0 0 0px;
    clip-path: polygon(0 0, 100% 20px, 100% 100%, 0% 100%);
    color: white;
    text-align: center;
}

.conT030102 .circle {
    margin: 0 auto;
    background: white;
    color: #5580a0;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-weight: bold;
    border: 2px solid #5580a0;
}

.conT030102 .title {
    font-size: 20px;
    font-weight: bold;
    padding-top: 15px;
    margin-bottom: 8px;
    border-bottom: 1px dotted rgba(255,255,255,0.5);
    padding-bottom: 15px;
}

.conT030102 .desc {
    font-size: 18px;
    line-height: 1.4;
}
.conT030102 .desc > ul{
    font-size: 18px;
    line-height: 1.4;
}
.conT030102 .desc > ul li{
    font-size: 18px;
    padding:5px 20px;
    text-align: left;
    color:#222;
    line-height: 1.4;
}
.conT030102 .step1 .title{background-color: #D9C6B7;
    color: #ffffff;}
.conT030102 .step2 .title{background-color: #A3C8D1;
    color: #ffffff;}
.conT030102 .step3 .title{background-color: #B4C9E6;
    color: #ffffff;}
.conT030102 .step4 .title{background-color: #003273;
    color: #ffffff;}
.conT030102 .step1 {
    flex: 1;
    border: 1px solid #D9C6B7;
    border-radius: 0 0  10px 10px;
}

.conT030102 .step2 {
    flex: 1;
    border: 1px solid #A3C8D1;
    border-radius: 0 0  10px 10px;
}

.conT030102 .step3 {
    flex: 1;
    border: 1px solid #B4C9E6;
    border-radius: 0 0  10px 10px;
}
.conT030102 .step4 {
    flex: 1;
    border: 1px solid #003273;
    border-radius: 0 0  10px 10px;
}

.conT02041 {
    width: 500px;
    font-size: 18px;
    text-align: left;
}

.conT02041 .circle-box {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

.conT02041 .circle {
    min-width: 80px;
    height: 80px;
    border-radius: 50%;
    font-weight: bold;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
}

.conT02041 .circle.light {
    background-color: #d5e1f5;
    color: #2a4b7c;
}

.conT02041 .circle.mid {
    background-color: #a5c7e0;
    color: #1e4063;
}

.conT02041 .circle.dark {
    background-color: #002a57;
    color: white;
}

.conT02041 .text p {
    font-size: 18px;
    font-weight: 500;
    margin: 0;
    color: #333;
}

.conT02041 .text span {
    font-size: 18px;
    color: #888;
    height: 80px;
    display: flex;
    flex-direction: column;
}

.blockBoxWrap{
    width:1000px;
    display: flex;flex-direction: column;
    margin:0 auto;padding:40px 0 40px 0}
.blockBoxWrap .blockBox{
    width: 100%;flex:1;width:100%;display: flex;justify-content: center;align-items: center;gap:50px
}
.blockBoxWrap .blockBox .blockItem{
    position: relative;
    flex:1;display: flex;flex-direction: column;justify-content: center;align-items: flex-start;
    margin-bottom:30px ;
}
.blockBoxWrap .blockBox .next:after{
    position: absolute;top:50%;right:-35px;margin-top:0px;
    content:"";width:20px;height:30px;display: block;background:#002a57 ;clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.blockBoxWrap .blockBox .stepbox{font-size:18px;padding:10px 15px;text-align: left;background: repeating-linear-gradient(45deg, #002a57, #002a57 10px, #305285 0, #305285 20px);
    color: white;margin-bottom:5px}
.blockBoxWrap .blockBox img{width: 100%;border:1px solid #cbc19e;}
.blockBoxWrap .blockBox .txt{width:100%;color: white;font-size:16px;padding:10px 10px;text-align: left;}
.blockBoxWrap .blockBox .txt{background: #103053 url("../images/bg_tit3.png") right center no-repeat ;     background-blend-mode: overlay;background-size:contain }
/*bg_tit.png*/
.contM01 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    font-family: "Arial", sans-serif;
}

.contM01 .left-box,
.contM01 .right-box {
    display: flex;

    align-items: center;
    text-align: center;
}

.contM01 .left-box ul{
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    font-size: 20px;
    line-height: 1.6;
    text-align: left;
}
.contM01 .right-box ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    font-size: 20px;
    line-height: 1.6;
    text-align: right;

}

.contM01 .circle {
    width: 170px;
    height: 170px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 10px;
}

.contM01 .left-circle {
    border: 3px solid #003366;

    background: #fff;
    color: #003366;
}

.contM01 .right-circle {
    border: 3px solid #50aaff;
    background-color: #50aaff;

    color: #fff;
}

/* 화살표 */
.contM01 .arrow {
    width: 60px;
    height: 60px;
    position: relative;
    background: transparent;
}

.contM01 .arrow::before
{
    content: "";
    position: absolute;
    width: 60px;
    height: 20px;
    background: #d6c7b5;
    border-radius: 10px;
    margin-top: -5px;
    opacity: 0.5;
    top: 50%;
    left: 0;
    transform-origin: left center;
}
.contM01 .arrow::after {
    content: "";
    position: absolute;
    width: 60px;
    height: 20px;
    background: #d6c7b5;
    border-radius: 10px;
    margin-top: 7px;
    opacity: 0.5;
    top: 50%;
    left: 0;
    transform-origin: left center;
}

.contM01 .arrow::before {
    transform: rotate(45deg);
}

.contM01 .arrow::after {
    transform: rotate(-45deg);
}

/* 강조 애니메이션 */
.contM01 .arrow {
    animation: arrow-blink 1.2s infinite;
}

/* ------  ------  ------  ------  ------  ------  ------  ------  ------  ------ */

.subCon .tableBodWrap .bodViewTop {
    width: 100%;
    border: 0;
    margin: 0 0 0 0;
    background: #FAFAFA;
    padding: 20px;
    border-top: 2px solid #3c3f51;
    border-bottom: 1px solid #e8e8e8;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.subCon .tableBodWrap {
    font-family: 'Spoqa Han Sans Neo';
}
.subCon .tableBodWrap .bodViewTop {
    width: 100%;
    border: 0;
    /*margin: 0 0 0 0;*/
    background: #FAFAFA;
    padding: 20px;
    border-top: 2px solid #3c3f51;
    border-bottom: 1px solid #e8e8e8;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.3;     /* 줄 간격 증가 */
    margin-bottom: 12px;  /* 제목과 정보줄 사이 간격 생성 */
    word-break: keep-all; /* 단어가 중간에 잘리지 않도록 */
 }
.subCon .tableBodWrap .bodViewTop .bodIfon {
    display: flex;
    align-items: start;
    justify-content: space-between;
    font-size: 15px;
    color: #888;
}
.subCon .tableBodWrap .bodViewTop .codeDept {
    font-size: 15px;
    color: #888;
}
.subCon .tableBodWrap .bodViewCon {
    max-width: 100%;
    display: block;
    overflow: hidden;
    font-size: 1.6rem;
    padding: 20px;
    border-bottom: 1px solid #e8e8e8;
    box-sizing: border-box;

    word-break: break-all;       /* 긴 단어(영문/URL)도 줄바꿈 */
    overflow-wrap: break-word;   /* 표준 속성 (브라우저 호환성 좋음) */
    line-height: 1.8;
    color: #333;
}

/* 에디터 내 이미지/표/iframe 대응 */
.subCon .tableBodWrap .bodViewCon img,
.subCon .tableBodWrap .bodViewCon iframe,
.subCon .tableBodWrap .bodViewCon table {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 10px auto;
}
.subCon .tableBodWrap .bodViewTop .bodTitle {
    font-size: 30px;
    color: #222;
    font-weight: 500;
    margin-bottom: 5px;
}
.subCon .tableBodWrap .bodViewTop .codeDept {
    font-size: 15px;
    color: #888;
}
.bodInfoRow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #888;
    margin-top: 8px;
}
.bodInfoRow .left {
    display: flex;
    align-items: center;
    gap: 4px; /* 등록자와 이름 간격 */
}
.bodInfoRow .right {
    text-align: right;
}
.bodInfoRow .label {
    font-weight: 600;
    margin-right: 4px;
}
.bodInfoRow .value {
    font-weight: 600;
}

.bodInfoRow .date {
    font-size: 15px;
}
.recruit-link {
    color: #007acc;
    text-decoration: none;
    font-weight: 500;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}
.recruit-link:hover {
    text-decoration: underline;
}
.boardList.fixed {
    border-left: 4px solid #3b476d;
}

/* ------  ------  ------  ------  ------  ------  ------  ------  ------  ------ */
/* 전체 레이어 팝업 래퍼: 화면 전체 덮기 */
.layer-popup-wrapper {
    position: fixed;
    inset: 0; /* top:0; right:0; bottom:0; left:0; */
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 딤 영역 (배경 어둡게) */
.layer-popup-dim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}

/* 팝업 컨테이너 */
.layer-popup-container {
    position: relative;
    z-index: 10000;
    background: #fff;
    border-radius: 8px;
    max-width: 520px;
    width: 90%;
    max-height: 80vh;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    display: flex;
    flex-direction: column;
}

/* 슬라이드 영역 */
.layer-popup-slide {
    position: relative;
    flex: 1;
    overflow: hidden;
}

/* 각 팝업 아이템 */
.popup-item {
    display: none;              /* JS에서 active만 보이게 함 */
    padding: 16px;
    text-align: center;
}

/* 현재 활성화된 팝업 */
.popup-item.active {
    display: block;
}

/* 이미지 */
.popup-image {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 12px;
}

/* 네비 버튼 */
.popup-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: rgba(0,0,0,0.4);
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    line-height: 32px;
    text-align: center;
    z-index: 10001;
}

.popup-prev {
    left: 8px;
}

.popup-next {
    right: 8px;
}

/* 푸터 영역 */
.popup-footer {
    border-top: 1px solid #eee;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    background: #fafafa;
}

.popup-hide-today {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.popup-pagination {
    font-weight: bold;
}

/* 닫기 버튼 */
.popup-close {
    border: none;
    background: #444;
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    cursor: pointer;
}

.conT0301 .mobile-img,
.biz01_03 .grayBg .mobile-img {
    display: none;
}

/* 반응형 (모바일) */
@media (max-width: 768px) {
    .layer-popup-container {
        width: 94%;
        max-width: 420px;
        max-height: 80vh;
    }
}


/* ------  ------  ------  ------  ------  ------  ------  ------  ------  ------ */

/* ============================= */
/* Responsive (style.css) */
/* ============================= */

/* 1200px 이하 */
@media screen and (max-width: 1200px) {
    .boardBox ul { grid-template-columns: 1fr 1fr 1fr; }
    .comCon01 { gap: 20px; }
}

/* 992px 이하 (태블릿) */
@media screen and (max-width: 992px) {
    .boardBox ul { grid-template-columns: 1fr 1fr; }
    .comCon01 { flex-direction: column; gap: 20px; }
    .logoBox { flex-wrap: wrap; gap: 15px; }
    .logoBox .logoItem { flex: 1 1 40%; }
}

/* 768px 이하 (스마트폰) */
@media screen and (max-width: 768px) {
    body { font-size: 14px; }

    /* 메인 비주얼 텍스트 */
    .mainvisual .vis_txt span.mo {
        font-size: 28px;
        letter-spacing: 1px;
    }

    .boardBox ul { grid-template-columns: 1fr; }
    .logoBox .logoItem img { width: 60%; }
    .comCon01 { gap: 15px; }
}

/* 480px 이하 (작은 스마트폰) */
@media screen and (max-width: 480px) {
    body { font-size: 12px; }

    .mainvisual .vis_txt span.mo {
        font-size: 20px;
        letter-spacing: 0;
    }

    .boardBox ul { gap: 10px; }
}


/* ======  ======  ======  ======  ======  ======  ======  ======  ======  ====== */

/* styles.css - 메인 스타일 (반응형) */

.fontT {font-size:20px;}
.font01 {font-weight: 100;}
.font02 {font-weight: 200;}
.font03 {font-weight: 300;}
.font04 {font-weight: 400;}
.font05 {font-weight: 500;}
.font06 {font-weight: 600;}
.font07 {font-weight: 700;}
.font08 {font-weight: 800;}
.font09 {font-weight: 900;}

/* Board */
.boardBox{width:1400px;margin:0 auto;}
.boardBox ul{display:grid;grid-template-columns: 1fr 1fr 1fr 1fr;gap:20px;}
.boardBox .listItem{position: relative;width:100%;height: 300px;cursor: pointer;background: #303E6D;}
.boardBox .listItem .imgBg{transition: 0.5s;position: absolute;width:100%;height:100%;background-size: cover;}
.boardBox .listItem:hover .imgBg {transform: scale(1.2);}
.boardBox .listItem .txtBox{transition: 0.3s;position: absolute;left:0;bottom:0;width:100%;background:rgba(255,255,255,0.8);padding:20px;}
.boardBox .listItem .txtBox > p{font-size: 18px;font-weight: 500;line-height: 30px;color:#222;}

/* SR Board */
.srboardTop{display:flex; justify-content:space-between; align-items:center; margin-bottom:40px;}
.srboardList{width:1400px;margin:0 auto;}
.srboardList .listUl{border-top:2px solid #111;}
.srboardList .listUl .listWrap .ulItem{width:100%;display:flex;padding:20px 0 20px 20px;gap:30px;}
.srboardList .listUl .listWrap .ulItem .imgBox{width:150px;height:150px;}
.srboardList .listUl .listWrap .ulItem .txtTit {
    flex:1;
    display: flex;
    justify-content: space-between;
}
/* 제목 2줄 말줄임 (…) */
.srboardList .listUl .listWrap .ulItem .txtTit p {
    display: -webkit-box;
    -webkit-line-clamp: 2;      /* 최대 2줄 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    line-height: 1.4;
    flex: 1;
}

/* 날짜 */
.srboardList .listUl .listWrap .ulItem .txtTit span {
    white-space: nowrap;
    margin-left: 12px;
    flex-shrink: 0; /* 말줄임 때문에 날짜가 밀리지 않게 함 */
}

/* List Table */
.srboardList .listTable .colTbl,
.srboardList .listTable2 .colTbl {width:100%;font-size:15px;border-bottom:1px solid #ddd;}
.srboardList .listTable .colTbl th,
.srboardList .listTable2 .colTbl th {
    border-top:2px solid #000;padding:20px 0;color:#222; font-size:18px;
}
.srboardList .listTable .colTbl td,
.srboardList .listTable2 .colTbl td {
    border-top:1px solid #ddd;padding:20px 0; font-size: 16px;color:#707070;
}

/* Pager */
.pager {width:100%;margin:40px auto 100px; text-align:center;}
.pager-body a {width:46px; height:46px; line-height:46px; color:#666; font-size:16px;}
.pager-body a.on{ color:#fff; background-color:#303E6D;}

/* Map */
.mapInfomation{width:1400px;display: flex;background: #fff; border: 1px solid #e0e0e0;padding:40px;margin: 0 auto;}

/* History */
.historyBox{width:800px;margin:50px auto 30px;}
.historyBox .historyList li{position: relative;padding: 10px 0px 60px 0;display: flex;}

/* Logo */
.logoBox{display:flex;gap:30px;margin:40px auto 80px !important}
.logoBox .logoItem{flex:1;display:flex;justify-content: center;align-items: center;height:138px;background: #fff;}

/* Organization */
.orgBoxWrap {position: relative;width: 1400px;margin: 0 auto 40px;border: 1px solid #e0e0e0;padding: 60px 30px;}

/* Chart */
.chart01Box { width: 1200px !important;margin: 0 auto 50px !important;display: grid;grid-template-columns: 0.8fr 1fr 0.8fr;gap: 30px;}

/* Section */
.section {overflow: hidden;position: relative;}
.section .stepRow01 {display: flex;gap: 50px;margin: 120px auto 80px;}
.section .stepRow01 li {flex: 1;padding: 50px 0 20px 0;background: #fff;border: 3px solid #e0e0e0;}

.section .chartBox01 {display: grid;grid-template-columns: 0.8fr 1fr 0.8fr;gap: 30px;margin: 80px auto 0px;}

/* ========================================
   태블릿 (768px ~ 1024px)
======================================== */
@media screen and (min-width:768px) and (max-width:1024px) {
    .boardBox { width: 100%; padding: 0 20px; }
    .boardBox ul { grid-template-columns: 1fr 1fr; gap: 15px; }
    .srboardList { width: 100%; padding: 0 20px; }
    .srboardTop { flex-direction: column; gap: 15px; }
    .srboardList .listUl .listWrap .ulItem { flex-direction: column; }
    .srboardList .listUl .listWrap .ulItem .imgBox { width: 100%; height: 200px; }
    .mapInfomation { width: 100%; padding: 30px 20px; flex-direction: column; }
    .historyBox { width: 100%; padding: 0 20px; }
    .logoBox { flex-wrap: wrap; }
    .orgBoxWrap { width: 100% !important; padding: 40px 20px; }
    .chart01Box { width: 100% !important; padding: 0 20px; grid-template-columns: 1fr; }
    .section .stepRow01 { flex-direction: column; gap: 30px; padding: 0 20px; }
    .section .stepRow01 li:before, .section .stepRow01 li:after { display: none; }
    .section .chartBox01 { grid-template-columns: 1fr; padding: 0 20px; }
}

/* ========================================
   모바일 (320px ~ 767px)
======================================== */
@media screen and (max-width:767px) {
    .fontT { font-size: 14px; }
    .boardBox { width: 100%; padding: 0 15px; }
    .boardBox ul { grid-template-columns: 1fr; gap: 15px; }
    .boardBox .listItem { height: 250px; }
    .srboardList { width: 100%; padding: 0 15px; }
    .srboardTop { flex-direction: column; gap: 15px; }
    .srboardList .listUl .listWrap .ulItem { flex-direction: column; padding: 15px; gap: 15px; width: 100%; }
    .srboardList .listUl .listWrap .ulItem .imgBox { width: 100%; height: 180px; }
    .srboardList .listTable .colTbl { font-size: 13px; }
    .srboardList .listTable .colTbl th { font-size: 14px; padding: 15px 5px; }
    .pager { margin: 30px auto 60px; }
    .pager-body a { width: 36px; height: 36px; line-height: 36px; font-size: 14px; }
    .mapInfomation { width: 100%; padding: 20px 15px; flex-direction: column; }
    .historyBox { width: 100%; padding: 0 15px; }
    .historyBox .historyList li { flex-direction: column; padding: 10px 0 30px 0; }
    .logoBox { flex-direction: column; gap: 15px; }
    .logoBox .logoItem { height: 100px; }
    .orgBoxWrap { width: 100% !important; padding: 40px 15px; }
    .chart01Box { width: 100% !important; padding: 0 15px; grid-template-columns: 1fr; gap: 15px; }
    .section .stepRow01 { flex-direction: column; gap: 20px; padding: 0 15px; }
    .section .stepRow01 li { padding: 40px 15px 15px 15px; }
    .section .stepRow01 li:before, .section .stepRow01 li:after { display: none; }
    .section .chartBox01 { grid-template-columns: 1fr; gap: 15px; padding: 0 15px; }
}

/* ==============================
   📱 회사개요 (Overview) 반응형 대응
   ============================== */
@media (max-width: 1200px) {
    .section.section03.subServise h3 {
        font-size: 28px;
    }
    .section.section03.subServise h4 {
        font-size: 18px;
    }
    .comCon01 {
        width: 100%;
    }
    .comCon01 .overview p {
        width: 90%;
        font-size: 16px;
        line-height: 30px;
    }
    .fullBg p {
        width: 90% !important;
        font-size: 18px !important;
        line-height: 32px !important;
        padding: 100px 0 !important;
    }
    .historyBox {
        width: 90%;
        margin: 0 auto;
    }
    .historyBox .historyList li > span{
        line-height: normal;
    }
}

@media (max-width: 992px) {
    .innderTypeX {
        max-width: 100%;
    }
    .bodyContent,
    .section.section03.subServise {
        padding: 60px 20px;
    }
    .section.section03.subServise h3 {
        font-size: 24px;
        text-align: center;
    }
    .section.section03.subServise h4 {
        font-size: 16px;
        text-align: center;
    }
    .comCon01 {
        width: 100%;
    }
    .comCon01 .overview p {
        width: 90%;
        font-size: 15px;
        line-height: 28px;
        padding: 0 15px;
    }
    .fullBg {
        background-size: cover;
        background-position: center;
        margin-bottom: 10% !important;
    }
    .fullBg p {
        width: 100% !important;
        font-size: 16px !important;
        padding: 80px 10px !important;
    }

    .historyBox {
        width: 100%;
        padding: 0 10px;
    }
    .historyList li {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 12px 0;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .historyList li p {
        font-size: 15px;
        font-weight: 600;
        margin-bottom: 5px;
    }
    .historyList li span {
        font-size: 14px;
        line-height: 22px;
    }

    .imgesBoxWrap.logoBox {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 20px;
        width: 90%;
        margin: 50px auto;
    }
    .imgesBoxWrap.logoBox .logoItem {
        text-align: center;
    }
    .imgesBoxWrap.logoBox img {
        max-width: 100%;
        height: auto;
    }
    .imgesBoxWrap.logoBox .logo04 {
        font-size: 13px;
        color: #104a8c;
        font-weight: 600;
    }
}

@media (max-width: 576px) {
    .bodyContent,
    .section.section03.subServise {
        padding: 40px 15px;
    }
    .section.section03.subServise h3 {
        font-size: 20px;
    }
    .section.section03.subServise h4 {
        font-size: 14px;
    }
    .comCon01 {
        width: 100%;
    }
    .comCon01 .overview p {
        width: 90%;
        font-size: 14px;
        line-height: 26px;
        text-align: center;
    }
    .fullBg p {
        width: 100%;
        padding: 60px 15px !important;
        font-size: 15px !important;
        line-height: 26px !important;
    }
    .historyList li {
        padding: 10px 0;
    }
    .historyList li p {
        font-size: 14px;
    }
    .historyList li span {
        font-size: 13px;
    }
    .imgesBoxWrap.logoBox {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .imgesBoxWrap.logoBox .logo04 {
        font-size: 13px;
        color: #104a8c;
    }
}

/* ==============================
   💻 PC / 📱 모바일 조직도 분리 표시
   ============================== */

/* 기본: PC 보임 / 모바일 숨김 */
.pc-org { display: block; }
.mobile-org { display: none; }

/* 모바일 전용 (≤768px) */
@media (max-width: 768px) {
    .pc-org { display: none; }
    .mobile-org { display: block; }

    .mobile-org {
        width: 90%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 25px;
    }

    .mobile-org .item {
        display: block;
        width: 100%;
        max-width: 320px;
        text-align: center;
        padding: 10px;
        border-radius: 8px;
        border: 1px solid #ddd;
        background: #fff;
        font-weight: 500;
        font-size: 17px;
        margin: 0 auto;
    }

    /*.mobile-org .color01 { background: #2C3E71; color: #fff; font-weight: 600; }*/
    /*.mobile-org .color02 { background: #4A70B3; color: #fff; }*/
    /*.mobile-org .color05 { background: #e8ecf6; color: #1a1a1a; }*/

    .mobile-org .color01 { background: #6D8DB2; color: #fff; font-weight: 600; }
    .mobile-org .color02 { background: #8DA066; color: #fff; }
    .mobile-org .color05 { background: #6D8DB2; color: #fff; }

    .mobile-org .sub-level {
        width: 100%;
        text-align: center;
        align-items: center;
    }

    .mobile-org .sub-items {
        list-style: none;
        padding: 5px 0 10px 0;
        margin: 0;
        align-items: center;
    }

    .mobile-org .sub-items li {
        font-size: 14px;
        color: #333;
        background: #fafafa;
        margin: 4px auto;
        width: 85%;
        padding: 8px 0;
        border-radius: 6px;
        border: 1px solid #e2e2e2;
    }
}

/* ==============================
   📱 조직도 하단 인원표 (srboardList)
   ============================== */

/* 모바일 전용 (≤768px) */
@media (max-width: 768px) {
    .srboardList {
        width: 95%;
        margin: 0 auto 60px auto;
    }

    .recruit-table .colTbl {
        border: 0 !important;
    }

    /* 테이블을 카드형으로 변환 */
    .srboardList .listTable table.colTbl,
    .srboardList .listTable thead,
    .srboardList .listTable tbody,
    .srboardList .listTable th,
    .srboardList .listTable td,
    .srboardList .listTable tr {
        display: block;
        width: 100%;
    }

    /* 테이블 헤더 숨김 */
    .srboardList .listTable thead {
        display: none;
    }

    /* 각 행을 카드처럼 */
    .srboardList .listTable tr {
        margin-bottom: 15px;
        border: 1px solid #e0e0e0;
        border-radius: 10px;
        padding: 10px 15px;
        background: #fff;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    }

    /* 각 셀을 개별 줄로 표시 */
    .srboardList .listTable td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 6px 0;
        font-size: 14px;
        border: none;
    }

    /* 라벨 추가 (thead 대신) */
    .srboardList .listTable td:nth-child(1)::before {
        content: "이름";
        font-weight: 600;
        color: #555;
    }
    .srboardList .listTable td:nth-child(2)::before {
        content: "소속";
        font-weight: 600;
        color: #555;
    }
    .srboardList .listTable td:nth-child(3)::before {
        content: "직급";
        font-weight: 600;
        color: #555;
    }
    .srboardList .listTable td:nth-child(4)::before {
        content: "전화번호";
        font-weight: 600;
        color: #555;
    }
    .srboardList .listTable td:nth-child(5)::before {
        content: "주요업무";
        font-weight: 600;
        color: #555;
    }

    /* 라벨과 값 간격 */
    .srboardList .listTable td::before {
        flex: 0 0 35%;
        text-align: left;
    }

    .srboardList .listTable td {
        flex-wrap: wrap;
    }

    /* 값 부분 (오른쪽 정렬) */
    .srboardList .listTable td span,
    .srboardList .listTable td {
        text-align: right;
        flex: 1;
    }

    /* 마지막 줄 하단 여백 */
    .srboardList .listTable tr:last-child {
        margin-bottom: 0;
    }
}

/* 초소형 (≤480px) */
@media (max-width: 480px) {
    .srboardList .listTable tr {
        padding: 8px 12px;
    }
    .srboardList .listTable td {
        font-size: 13px;
    }
    .srboardList .listTable td::before {
        flex: 0 0 40%;
        font-size: 13px;
    }
}

/* ==============================
   📱 오시는 길 (Location)
   ============================== */
@media (max-width: 1024px) {
    .kakaomapWrap {
        width: 95% !important;
        height: 500px !important;
        margin: 40px auto 0 !important;
    }

    .mapInfomation {
        width: 95%;
        margin: 25px auto 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .mapInfomation .infoBox {
        width: 100%;
        padding: 10px;
    }

    .mapInfomation h1 {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .mapInfomation ul.map_address {
        margin-bottom: 10px;
    }

    .mapInfomation ul.map_address li {
        font-size: 15px;
        line-height: 1.6;
    }

    .mapInfomation ul.map_address li img {
        width: 16px;
        vertical-align: middle;
        margin-right: 5px;
    }
    .mapInfomation .map_address.Item02 {
        display: block !important; /* grid 제거 */
        grid-template-columns: none !important; /* 명시적으로 무효화 */
    }

    .mapInfomation .map_address.Item02 li {
        display: flex;
        align-items: flex-start;
        margin-bottom: 8px;
    }

    .mapInfomation .map_address.Item02 li img {
        width: 16px;
        margin-bottom: 4px;
    }

    .mapInfomation .linkBox {
        margin-top: 15px;
        text-align: center;
    }

    .mapInfomation .linkBox a {
        display: inline-block;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 15px;
    }

    .trapicBoxWrap {
        width: 95%;
        margin: 40px auto 80px auto;
        text-align: center;
    }

    .trapicBoxWrap h1 {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .trapicBox {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .trapicBox .trapicItem {
        width: 100%;
        background: #f8f8f8;
        border-radius: 8px;
        padding: 20px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    }

    .trapicBox .trapicItem h2 {
        font-size: 18px;
        color: #333;
        margin-bottom: 10px;
    }

    .trapicBox .trapicItem p {
        font-size: 14px;
        line-height: 1.6;
        color: #555;
    }
}

/* =========================================
   📱 작은 모바일 (가로 480px 이하)
   ========================================= */
@media (max-width: 480px) {
    .kakaomapWrap {
        width: 100% !important;
        height: 360px !important;
    }

    .mapInfomation h1 {
        font-size: 20px;
    }

    .mapInfomation ul.map_address li {
        font-size: 13px;
        text-align: left;
        display: flex;
        align-items: flex-start;
    }

    /*.mapInfomation .linkBox a {*/
    /*    font-size: 14px;*/
    /*    padding: 8px 16px;*/
    /*}*/

    .trapicBoxWrap h1 {
        font-size: 20px;
    }

    .trapicBox .trapicItem {
        padding: 16px;
    }

    .trapicBox .trapicItem h2 {
        font-size: 16px;
    }

    .trapicBox .trapicItem p {
        font-size: 13px;
    }
}

/* ==============================
   📱 CM(건설사업관리) 반응형
   ============================== */

/* 태블릿 이하 */
@media (max-width: 1024px) {
    .pageTopTit {
        padding: 60px 20px;
        text-align: center;
    }

    .pageTopTit h3 {
        font-size: 26px;
    }

    .pageTopTit h4 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .pageTopTit .tit01 {
        font-size: 15px;
        line-height: 1.6;
    }

    .innerWrap00 {
        width: 95%;
        margin: 0 auto;
    }

    /* 단계별 프로세스 (stepRow01) */
    .stepRow01 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    .stepRow01 li {
        flex: 1 1 calc(50% - 10px);
        max-width: 45%;
        margin-bottom: 10px;
        background: #fff;
        border-radius: 8px;
        text-align: center;
        padding: 15px 10px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    }

    .stepRow01 .step span {
        font-size: 20px;
    }

    .stepRow01 .stepTit span.tit {
        display: block;
        font-size: 16px;
        font-weight: 600;
    }

    .stepRow01 .stepTit span:not(.tit) {
        font-size: 14px;
        color: #555;
    }

    /* 중간 문단 */
    .section.fullBg p {
        width: 90% !important;
        padding: 50px 0 !important;
        font-size: 16px !important;
        line-height: 1.7;
    }

    /* subBoxList: 카드 3개 → 1열 */
    .subBoxList {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 95%;
        margin: 0 auto 20px;
        gap: 10px;
    }

    .subBoxList .subBox {
        width: 100%;
        text-align: center;
        border: 1px solid #ddd;
        border-radius: 8px;
        padding: 15px 10px;
        background: #fafafa;
    }

    .subBoxList .subBox p {
        font-size: 15px;
        line-height: 1.6;
    }

}

@media (max-width: 768px) {
    /* 부모 영역 세로 정렬 */
    .subChart01 {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 15px;
        padding: 40px 0;
        height: auto !important;
        overflow: visible !important;
    }

    /* PC absolute 포지션 무효화 */
    .chCenter,
    .chTop,
    .chBottomL,
    .chBottomR,
    .chInfo01,
    .chInfo02,
    .chInfo03 {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        margin: 0 auto !important;
        transform: none !important;
    }

    /* 순서 재정렬 */
    .chCenter { order: 1; }
    .chTop { order: 2; }
    .chInfo01 { order: 3; }
    .chBottomL { order: 4; }
    .chInfo02 { order: 5; }
    .chBottomR { order: 6; }
    .chInfo03 { order: 7; }

    /* 공통 원 스타일 */
    .chCenter {
        width: 300px;
        height: 150px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 15px;
        text-align: center;
        font-weight: 600;
    }

    .chTop,
    .chBottomL,
    .chBottomR {
        width: 200px;
        height: 100px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 15px;
        text-align: center;
        font-weight: 600;
    }

    /* chCenter만 색상 유지 */
    .chCenter {
        background: #303E6D;
        border: 6px solid #929cbb;
        color: #fff;
        font-size: 20px;
        font-weight: 800;
    }

    /* 나머지는 회색 원 */
    .chTop,
    .chBottomL,
    .chBottomR {
        background: #e7e7e7;
        color: #333;
    }

    /* 정보 박스 */
    .chInfo01,
    .chInfo02,
    .chInfo03 {
        width: 90%;
        max-width: 400px;
        background: #fff;
        border: 1px solid #e7e7e7;
        border-radius: 8px;
        padding: 15px;
        text-align: center;
        font-size: 14px;
        line-height: 1.6;
        align-content: center;
    }
}


/* ==============================
   📱 작은 모바일 (≤480px)
   ============================== */
@media (max-width: 480px) {
    .section .stepRow01 {
        flex-direction: column;
        align-items: center;
    }

    .section .stepRow01 li {
        position: relative;
        margin-bottom: 30px;
        width: 85%;
    }

    .section .stepRow01 li::before,
    .section .stepRow01 li::after {
        content: none !important;
        display: none !important;
    }

    .pageTopTit h3 {
        font-size: 22px;
    }

    .pageTopTit h4 {
        font-size: 16px;
    }

    .pageTopTit .tit01 {
        font-size: 14px;
    }

    .stepRow01 li {
        flex: 1 1 100%;
        max-width: 100%;
        padding: 12px;
    }

    .section.fullBg p,
    .section.fullBg ul li {
        font-size: 14px !important;
        line-height: 1.6;
    }

    .subBoxList .subBox p {
        font-size: 16px;
    }
}

/* ===========================
   📱 반응형 도시정비사업관리 페이지
   =========================== */
@media (max-width: 1024px) {
    .section .chartBox01 {
        display: flex !important;
        flex-direction: column !important;
        align-items: center;
        justify-content: center;
        gap: 25px;
        width: 100%;
        max-width: 100%;
        margin: 40px auto 0 !important;
        padding: 0 15px;
        box-sizing: border-box;
    }

    .section .chartBox01 > div {
        width: 100%;
        text-align: center;
    }

    .chart01_Left div,
    .chart01_Right div {
        font-size: 15px;
        margin: 8px 0;
    }

    .chart01_Center img {
        width: 70%;
        max-width: 220px;
        height: auto;
    }

    .copyCon {
        width: 95%;
        margin: 30px auto;
        font-size: 14px;
        line-height: 1.7;
        text-align: justify;
    }
    .chartBox04 {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center;
        gap: 20px;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        margin: 0 auto;
        padding: 0 15px;
        box-sizing: border-box;
    }

    .chartBox04 .step-box {
        flex: 1 1 calc(50% - 20px); /* 2단 구조 */
        min-width: 260px;
        background: #fff;
        border: 1px solid #e7e7e7;
        border-radius: 10px;
        padding: 20px;
        box-sizing: border-box;
    }

    .chartBox04 .step-box h3 {
        text-align: center;
        color: #2C3E71;
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 10px;
    }

    .chartBox04 .step-box ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .chartBox04 .step-box ul li {
        font-size: 14px;
        line-height: 1.6;
        color: #333;
        margin-bottom: 5px;
        text-align: left;
    }

}

/* 더 작은 화면 (스마트폰 480 이하) */
@media (max-width: 480px) {
    .chartBox01 {
        gap: 15px;
    }

    .chart01_Center img {
        width: 85%;
    }

    .chart01_Left div,
    .chart01_Right div {
        font-size: 14px;
    }
    .chartBox04 {
        flex-direction: column !important;
        gap: 15px;
    }

    .chartBox04 .step-box {
        flex: none;
        width: 100%;
        min-width: unset;
        padding: 15px;
    }

    .chartBox04 .step-box h3 {
        font-size: 15px;
    }

    .chartBox04 .step-box ul li {
        font-size: 13px;
    }

    .section .chartBox04 .step-box ul li {
        font-size: 17px;
    }
}

/* ===========================
   📱 반응형 CS감리 페이지
   =========================== */
@media (max-width: 1024px) {
    .section .chartBox02 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 60px auto;
        padding: 0 15px;
        box-sizing: border-box;
    }

    /* 전체 구조: 세로형 */
    .section .chartBox02 .grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center;
        gap: 15px;
        padding-top: 20px !important;
        position: relative;
    }

    /* 중앙 라인 & 화살표 제거 */
    .section .chartBox02 .backLine,
    .section .chartBox02 .grid .arrow {
        display: none !important;
    }

    /* 상단 타이틀 */
    .section .chartBox02 .title-box {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        margin: 0 auto 15px auto !important;
        width: 140px;
        height: 60px;
        border-width: 3px;
        font-size: 16px;
    }

    /* 개별 박스 */
    .section .chartBox02 .box {
        width: 100% !important;
        max-width: 400px !important;
        height: auto !important;
        min-height: 60px;
        font-size: 14px;
        padding: 10px;
        background: #f3f8fe;
        border: 1px solid #b8cee8;
        border-radius: 8px;
    }

    /* 양쪽 사이드 → 세로 정렬 */
    .section .chartBox02 .side-boxes {
        position: relative !important;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        top: auto !important;
        width: 100% !important;
        padding: 0 !important;
        font-size: 14px;
    }

    .section .chartBox02 .side-boxes .side {
        width: 90% !important;
        max-width: 400px !important;
        padding: 10px;
        border: 2px solid #ccc;
        background: #fff;
        font-size: 13px;
        text-align: center;
        line-height: 1.5;
        border-radius: 6px;
    }

    /* 하단 라벨 → 가운데 정렬 */
    .section .chartBox02 .bottom-labels {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        padding: 0 !important;
        margin-top: 20px;
    }

    .section .chartBox02 .bottom-labels .label {
        width: 150px !important;
        height: 60px !important;
        font-size: 15px;
        border-width: 3px;
        border-radius: 8px;
    }

    .cycle-container {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        overflow: visible !important;
        gap: 30px !important;
    }

    .cycle-container .cycle {
        width: 90% !important;
        max-width: 300px !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important; /* 정사각형 유지 */
        font-size: 25px !important;
        padding: 10px !important;
        line-height: 1.4;
    }

    .cycle-container .cycle::after {
        display: none !important;
        content: none !important;
    }

    .warrpper .imgesBoxWrap01 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 20px !important;
        box-sizing: border-box;
    }
}

/* 스마트폰 (480px 이하) */
@media (max-width: 480px) {
    .section .chartBox02 {
        margin: 40px auto;
    }

    .section .chartBox02 .title-box {
        width: 120px;
        height: 50px;
        font-size: 15px;
    }

    .section .chartBox02 .box,
    .section .chartBox02 .side-boxes .side {
        font-size: 13px;
        padding: 8px;
    }

    .section .chartBox02 .bottom-labels .label {
        width: 130px;
        height: 50px;
        font-size: 14px;
    }

    .section .chartBox02 .grid {
        padding-top: 20px !important;
    }
    .cycle-container {
        gap: 20px !important;
    }

    .cycle-container .cycle {
        width: 90% !important;
        max-width: 170px !important;
        font-size: 18px !important;
        padding: 8px !important;
    }

    .cycle-container .cycle::after {
        display: none !important;
        content: none !important;
    }

    .warrpper .imgesBoxWrap01 {
        padding: 0 10px !important;
    }
}

/* ==============================
📱 지하안전영향평가 + 부동산 개발사업
============================== */
/* ===== 1️⃣ timeline (지하안전영향평가) ===== */
@media (max-width: 1024px) {
    .timeline {
        display: flex;
        flex-direction: column !important;
        align-items: center;
        gap: 50px;
        position: relative;
        width: 100%;
        margin: 0 auto;
    }

    .timeline .step {
        width: 90% !important;
        max-width: 400px;
        text-align: center;
        position: relative;
    }

    .timeline .desc {
        font-size: 16px !important;
        margin-bottom: 15px;
    }

    .timeline .image-placeholder {
        width: 100%;
        height: auto;
    }

    /* 🔽 step 간 화살표 */
    .timeline .step::after {
        display: none !important;
        content: none !important;
    }
    .section .stepRow02 {
        max-width: 100%;
        margin: 40px auto;
        border-top: none !important;
        padding: 0 20px;
        box-sizing: border-box;
    }

    /* 전체 타임라인 세로로 정렬 */
    .section .stepRow02 .timeline {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 60px;
        margin-top: 0;
        padding: 20px 0 40px;
        position: relative;
        max-width: 300px;
    }

    /* 각 단계 박스 */
    .section .stepRow02 .step {
        width: 90%;
        max-width: 400px;
        text-align: center;
        position: relative;
        padding-top: 30px;
        border-top: 2px dotted #33477d;
    }

    /* 상단 점(dot) 위치 조정 */
    .section .stepRow02 .dot {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 14px;
        height: 14px;
        background-color: #33477d;
        border-radius: 50%;
    }

    /* 설명 텍스트 */
    .section .stepRow02 .desc {
        font-size: 16px;
        line-height: 1.4;
        color: #222;
        margin: 20px 0 10px 0;
    }

    /* 이미지 */
    .section .stepRow02 .image-placeholder {
        margin-top: 10px;
        background: none;
        width: 100%;
    }
}
/* ===== 3️⃣ 모바일 최적화 (≤480px) ===== */
@media (max-width: 480px) {
    .timeline {
        gap: 35px;
    }

    .timeline .step {
        width: 95% !important;
        max-width: 320px !important;
    }

    .timeline .desc {
        font-size: 14px !important;
    }

    .chartBox03 .diamond {
        width: 100px;
        height: 100px;
    }

    .chartBox03 .diamond > div {
        font-size: 12px;
    }

    .chartBox03 .box {
        font-size: 14px;
    }

    .chartBox03 .bottom-box {
        font-size: 13px;
    }
    .section .stepRow02 {
        margin: 20px auto;
        padding: 0 10px;
    }

    .section .stepRow02 .timeline {
        gap: 40px;
    }

    .section .stepRow02 .step {
        width: 95%;
        max-width: 340px;
        padding-top: 25px;
    }

    .section .stepRow02 .desc {
        font-size: 14px;
    }

    .section .stepRow02 .step::after {
        bottom: -35px;
        border-top: 14px solid #33477d;
    }
}

/* ===== 2️⃣ chartBox03 (부동산 개발사업) ===== */
@media (max-width: 1024px) {
    .dimmedPopup .dimCon{
        max-width: 300px;
    }
    .section .chartBox03 {
        max-width: 100%;
        margin: 60px auto !important;
        padding: 0 20px;
        box-sizing: border-box;
    }

    /* 상단 박스 세로 정렬 */
    .section .chartBox03 .top-box {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        position: static !important;
        gap: 25px !important;
        width: 100%;
    }

    /* 다이아몬드 중앙 정렬 */
    .section .chartBox03 .diamond {
        position: static !important;
        transform: translateX(0) rotate(45deg) !important;
        width: 140px;
        height: 140px;
        border: 6px solid #1B4075;
        background: #fff;
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin: 30px auto !important;
    }

    .section .chartBox03 .diamond > div {
        transform: rotate(-45deg);
        font-size: 17px;
        font-weight: 700;
        color: #333;
        text-align: center;
        line-height: 1.4;
    }

    /* 왼쪽 박스 */
    .section .chartBox03 .left {
        width: 100% !important;
        max-width: 500px !important;
        background: #fff;
        border: 2px solid #e0e0e0;
        border-radius: 10px;
        font-size: 16px;
        font-weight: 700;
        color: #222;
        padding: 25px 20px;
        text-align: center;
        margin: 0 !important;
    }

    /* 오른쪽 박스 */
    .section .chartBox03 .right {
        width: 100% !important;
        max-width: 500px !important;
        background: #fff;
        border: 2px solid #e0e0e0;
        border-radius: 10px;
        font-size: 16px;
        font-weight: 700;
        color: #222;
        padding: 25px 20px;
        text-align: center;
        margin: 0 !important;
    }

    /* 리스트 */
    .section .chartBox03 .left ul,
    .section .chartBox03 .right ul {
        list-style: disc;
        padding-left: 20px;
        margin-top: 10px;
        text-align: left;
        font-weight: normal;
        font-size: 14px;
    }

    /* 하단 설명 */
    .section .chartBox03 .bottom-box {
        width: 95%;
        margin: 40px auto 0;
        padding: 25px 15px;
        background: #fff;
        border: 2px solid #e0e0e0;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.5;
        text-align: center;
    }
}

/* ===== 3️⃣ 모바일 최적화 (≤480px) ===== */
@media (max-width: 480px) {
    .section .chartBox03 .diamond {
        width: 110px;
        height: 110px;
        border-width: 4px;
    }

    .section .chartBox03 .diamond > div {
        font-size: 14px;
    }

    .section .chartBox03 .left,
    .section .chartBox03 .right {
        max-width: 95%;
        font-size: 14px;
        padding: 20px 15px;
    }

    .section .chartBox03 .bottom-box {
        font-size: 14px;
        padding: 20px 10px;
    }
}

/* ==============================
📱 주요 실적
============================== */
@media (max-width: 1024px) {
    .dimmedPopup .dimCon {
        display: flex !important;
        flex-direction: column !important; /* 세로 정렬 */
        width: 90%;
        max-width: 600px;
        height: auto;
        padding: 20px;
        box-sizing: border-box;
    }

    /* 이미지 위로 */
    .dimmedPopup .dimCon .dimImg {
        width: 100%;
        height: 260px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        border: 1px solid #ddd;
        border-radius: 6px;
    }

    /* 텍스트 아래로 */
    .dimmedPopup .dimCon .dimText {
        width: 100%;
        border: none;
        border-top: 2px solid #444;
        margin-top: 20px;
        padding: 15px 0 0 0;
    }

    .dimmedPopup .dimCon .dimText > p {
        font-size: 20px;
        font-weight: 600;
        line-height: 1.4;
        color: #222;
        text-align: center;
    }

    .dimmedPopup .dimCon .dimText > dl {
        display: grid;
        grid-template-columns: 0.6fr 1fr;
        gap: 8px 10px;
        font-size: 15px;
        line-height: 1.6;
        margin-top: 15px;
        padding-top: 15px;
        border-top: 1px solid #e8e8e8;
    }

    .dimmedPopup .dimCon .dimText dt {
        font-weight: bold;
        color: #333;
        margin-top: 12px;
    }

    .dimmedPopup .dimCon .dimText dt:after {
        display: none; /* ":" 제거 */
    }

    .dimmedPopup .dimCon .dimText dd {
        margin-top: 4px;
        margin-left: 0;
        color: #555;
        padding-bottom: 8px;
        border-bottom: 1px dashed #eee;
    }
    .dimmedPopup .dimCon .closeBtn .btnBox {
        position: absolute;
        top: 25px;
        left: -40px;
        z-index: 10;
    }

    .dimmedPopup .dimCon .closeBtn .btnBox:before {
        top: 45px;
        left: 14px;
        height: 25px;
        background: #222;
    }
    .dimmedPopup .dimCon .closeBtn .btnBox:after {
        top: 45px;
        right: 14px;
        height: 25px;
        background: #222;
    }



    .conT020101 .boxes .box {
        position: static !important;
    }

    .contM01 {
        flex-direction: column;
        gap: 16px;
    }
}

/* ==============================
   📱 작은 화면 (모바일 ≤480px)
   ============================== */
@media (max-width: 480px) {
    .dimmedPopup .dimCon {
        width: 90%;
        max-width: 400px;
        padding: 15px;
    }

    .dimmedPopup .dimCon .dimImg {
        height: 200px;
    }

    .dimmedPopup .dimCon .dimText > p {
        font-size: 18px;
    }

    .dimmedPopup .dimCon .dimText > dt {
        font-size: 15px;
        line-height: 1;
        grid-template-columns: 1fr;
    }

    .dimmedPopup .dimCon .dimText > dd {
        font-size: 14px;
        grid-template-columns: 1fr;
    }

    .dimmedPopup .dimCon .dimText dt:after {
        display: none; /* 세로형에서는 ':' 제거 */
    }

    .dimmedPopup .dimCon .dimText dd {
        margin-bottom: 6px;
    }

    .dimmedPopup .dimCon .closeBtn .btnBox {
        top: 10px;
        left: -30px;
        /*right: 14px;*/
        height: 25px;
        z-index: 10;
    }

    .dimmedPopup .dimCon .closeBtn .btnBox:before {
        top: 45px;
        left: 27px;
        height: 25px;
        background: #222;
    }
    .dimmedPopup .dimCon .closeBtn .btnBox:after {
        top: 45px;
        right: 14px;
        height: 25px;
        background: #222;
    }


    .conT020101 .boxes .box {
        position: static !important;
    }


    .contM01 {
        flex-direction: column;
        gap: 16px;
    }

    .parkTit{
        width: 100% !important;
    }

    .srboardList .listUl .listWrap .ulItem .txtTit{
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
    }

    .srboardList .listUl .listWrap .ulItem .txtTit span {
        margin-left: 0 !important;
    }

    .section .stepRow02 .desc {
        margin-top: -13px !important;
    }

    .section .conT0301 > div,
    .biz01_03 .grayBg > div {
        display: none;
    }
    .section .conT0301,
    .biz01_03 .grayBg {
        display: block;
        width: 100%;
        padding: 0;
        margin: 0;
        height: 300px;
    }

    .biz01_03 .grayBg {
        height: 400px;
    }

    .conT0301 .mobile-img,
    .biz01_03 .grayBg .mobile-img {
        display: block;
        width: 100%;
        height: auto;
        background: white;
    }
}
@media (max-width: 768px) {
    .selArea {
        overflow-x: auto;
        padding-bottom: 4px;
        width: 100%;
    }

    .selArea form {
        flex-wrap: nowrap !important;
        justify-content: flex-start;
        min-width: max-content;
    }


    .sps-box-wrap {
        flex-direction: column;
        gap: 15px;
    }

    .sps-box-wrap .sps-box {
        width: 100%;
        min-width: 100%;
    }



    .conT020101 .boxes .box {
        position: static !important;
    }


    .contM01 {
        flex-direction: column;
        gap: 16px;
    }

    .parkTit{
        width: 100% !important;
    }

    .srboardList .listUl .listWrap .ulItem .txtTit{
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
    }

    .srboardList .listUl .listWrap .ulItem .txtTit span {
        margin-left: 0 !important;
    }

    .contM01 .arrow::after {
        transform: rotate(135deg) !important;
        margin-top: -5px !important;
        left: 15px !important;
    }
    .contM01 .arrow {
        width: 0 !important;
        margin-bottom: 12% !important;
    }

    .title-ellipsis {
        display: inline-block;
        max-width: 90%;        /* 셀 안에서 말줄임이 보이도록 */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        vertical-align: middle;
    }

    .section .conT0301 > div,
    .biz01_03 .grayBg > div {
        display: none;
    }
    .section .conT0301,
    .biz01_03 .grayBg {
        display: block;
        width: 100%;
        padding: 0;
        margin: 0;
        height: 300px;
    }

    .biz01_03 .grayBg {
        height: 400px;
    }

    .conT0301 .mobile-img,
    .biz01_03 .grayBg .mobile-img {
        display: block;
        width: 100%;
        height: auto;
        background: white;
    }

}

/* ==============================
   📱 반응형: chart02Box 내부 3개 컬럼 모두 세로 정렬
   ============================== */
@media (max-width: 1024px) {

    /* chart02Box 전체를 column 으로 */
    .snb_wrap_t01.chart02Box {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 20px;
    }

    /* 3개 컬럼 세로 배치 */
    .snb_wrap_t01.chart02Box .chart01_Left,
    .snb_wrap_t01.chart02Box .chart01_Center,
    .snb_wrap_t01.chart02Box .chart01_Right {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 20px;
    }

    /* 내부 div도 자동으로 전체폭 */
    .snb_wrap_t01.chart02Box .chart01_Left > div,
    .snb_wrap_t01.chart02Box .chart01_Center > div,
    .snb_wrap_t01.chart02Box .chart01_Right > div {
        width: 100% !important;
        display: block !important;
        float: none !important;
    }


    .warrpper .img-text-div,
    .h3-div {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 20px !important;
    }
    .warrpper .img-text-div > ul {
        /*width: 90% !important;*/
        text-align: center !important;
    }
    .warrpper .p-text {
        width: 100% !important;
    }

    .section .h3-div .conT02041,
    .section .conT030102,
    .section .conT030102 {
        width: 100% !important;
        display: grid !important;
    }

    .section .conT0301 .hexagon,
    .subServise .stepList01 li:before,
    .subServise .stepList01 li:after,
    .historyBox .historyList li:after {
        display: none !important;
        content: none !important;
    }

    .conT0301 .txtBox {
        font-size: 13px !important;
    }

    .contM01 .arrow::after {
        transform: rotate(135deg) !important;
        margin-top: -5px !important;
        left: 15px !important;
    }
    .contM01 .arrow {
        width: 0 !important;
        margin-bottom: 8% !important;
    }
}

.recruit-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
}

.recruit-table th,
.recruit-table td {
    padding: 14px 10px;
    /*border-bottom: 1px solid #e0e0e0;*/
    border-bottom: 0 !important;
    text-align: center;
}

.title-ellipsis {
    display: -webkit-box;
    -webkit-line-clamp: 2;       /* 2줄 말줄임 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
    max-height: 2.8em;
}

@media(max-width:768px) {

    /* PC 전용 요소 숨김 */
    .pc-only,
    .recruit-table .data-body td:nth-child(1)::before {
        display: none !important;
    }

    .recruit-table table,
    .recruit-table thead,
    .recruit-table tbody,
    .recruit-table tr,
    .recruit-table td,
    .recruit-table th {
        display: block;
        width: 100%;
    }

    /* 테이블 헤더 삭제 */
    .recruit-table thead {
        display: none;
    }

    /* 각 행을 카드처럼 */
    .recruit-table tr {
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 12px;
        margin-bottom: 16px;
        padding: 12px 16px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.08);
        cursor: pointer;
    }

    /* 각 셀은 label + value 형태 */
    .recruit-table .data-body td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 6px 0;
        border: 0 !important;
    }
    .recruit-table .nodata-body td {
        text-align: center;
        align-content: center;
        border-top: 0 !important;
    }

    /* 라벨 자동 추가 */
    .recruit-table .data-body td:nth-child(1)::before {
        content: "번호";
        font-weight: 600;
        color: #444;
    }

    .recruit-table td:nth-child(2)::before {
        content: "제목";
        font-weight: 600;
        color: #444;
    }

    .recruit-table td:nth-child(3)::before {
        content: "모집기간";
        font-weight: 600;
        color: #444;
    }

    .recruit-table td::before {
        flex: 0 0 35%;
        text-align: left;
        font-size: 14px;
    }

    .recruit-table td > div,
    .recruit-table td {
        font-size: 14px;
        text-align: right;
        flex: 1;
    }

    /* 제목 2줄 말줄임 */
    .title-ellipsis {
        max-height: 3em;
        line-height: 1.4;
        -webkit-line-clamp: 2;
        font-size: 16px;
    }

    .srboardList .listUl .listWrap .boardList {
        width: 100% !important;
    }

    .srboardList .listUl .listWrap .ulItem {
        width: 100% !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }

    .srboardList .listUl .listWrap .ulItem .txtTit {
        width: 100% !important;
    }
}


/* =============================== */
/* 📱 모바일 반응형 (768px 이하) */
/* =============================== */
@media (max-width: 768px) {

    .recruit-table table,
    .recruit-table thead,
    .recruit-table tbody,
    .recruit-table th,
    .recruit-table td,
    .recruit-table .data-body tr {
        display: block;
        width: 100%;
    }
    .recruit-table table {
        table-layout: fixed !important;
        width: 100%;
    }

    /* 헤더는 숨김 */
    .recruit-table thead {
        display: none;
    }

    /* 각 행은 하나의 카드처럼 */
    .recruit-table tr {
        padding: 15px 10px;
        /*border-bottom: 1px solid #ddd;*/
        border-bottom: 0 !important;
        margin-bottom: 8px;
        background: #fff;
        text-align: left !important;
    }

    /* 번호 숨김 (원하면 살릴 수도 있음) */
    .recruit-table .data-body td:nth-child(1) {
        display: none;
    }

    .recruit-table .title-ellipsis {
        display: block;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2; /* 2줄 말줄임 */
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.4;
        font-size: 16px;
    }

    /* 번호 한 줄 */
    /*.recruit-table tbody tr td:nth-child(1) {*/
    /*    display: block;*/
    /*    font-weight: 600;*/
    /*    padding: 0 0 10px 0;*/
    /*    font-size: 16px;*/
    /*    text-align: left !important;*/
    /*}*/

    /* 제목 블록 */
    .recruit-table tbody tr td:nth-child(2) {
        display: flex;
        padding: 10px 0;
        /*border-top: 1px solid #e5e5e5;*/
        border-top: 0 !important;
        border-bottom: 0 !important;
        /*border-bottom: 1px solid #e5e5e5;*/
        justify-content: space-between;
        align-items: center;
        font-size: 15px;
        text-align: left !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    /* 모집기간 블록 */
    .recruit-table tbody tr td:nth-child(3) {
        display: flex;
        padding: 10px 0 0 0;
        justify-content: space-between;
        align-items: center;
        font-size: 15px;
        text-align: left !important;
    }

    .chart01_Center .cInner {
        align-content: center;
    }

    .serviseList2 ul a h3 {
        font-size: 15px;
    }
    .serviseList2 ul a .link_line {
        font-size: 11px;
    }
}