/*=====해상도 3가지 구분=====*/
/*+++++
768이하
768~1440(컨텐츠는 1400 / 스크롤때문에 여유있게 작업)
1440 이상
+++++*/

@charset "UTF-8"; 

/*구글폰트 import*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

/*모바일 웹 폰트 크기 자동조정 문제*/
html {
-webkit-text-size-adjust: none; /*Chrome, Safari, newer versions of Opera*/
-moz-text-size-adjust: none; /*Firefox*/
-ms-text-size-adjust: none;  /*Ie*/
-o-text-size-adjust: none; /*old versions of Opera*/
}
/*html,body{width: 100%; height:100%; } 가로스크롤 짤림방지 위해 미디어쿼리에 나눔*/

body { font-family: "Noto Sans KR", "Noto Sans", sans-serif;  color:#000000; line-height:1.5; letter-spacing:-0.03em;   }
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, big, cite, code,
del, dfn, em, font, img, ins, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, 
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, 
caption, tbody, tfoot, thead, tr, th, td 
{ margin:0; padding:0; border:0;   }

/*>>default style */
html,body{ /*overflow-y:scroll;*/  } /*y스크롤 안보이게 처리*/
html { overflow-y:scroll }
table {border-spacing:0; border-collapse:collapse; }
td,th {}
input { }
textarea { }
dd,dt,ol,dl,ul,li {list-style:none;margin:0;padding:0;}
form {display:inline; width: 100%;}
label {display:none; }
label.show {display:block; font-size: 13px;}
address, caption, cite, code, dfn, em, strong, th, var {font-style:normal;}
legend,caption, .hide {display:none; height:0; width:0; font-size:0;}
img,fieldset {vertical-align:top; border:0;}
p {margin:0;}
button {margin:0; padding:0; border-spacing:0; cursor:pointer; border:0; background:none;}
blockquote, q {quotes: none;}
ins {text-decoration: none;}
del {text-decoration: line-through;}
hr {display: none;}
a	{ color:#000000; text-decoration: none; }
a, a:hover, a:focus, a:active{text-decoration: none;color: inherit}
a:hover		{  /* text-decoration: underline;*/  }
/*table.nowrap th, table.nowrap td		{ white-space:nowrap; }*/
.clear, .clear:after, .clear:before	{ clear:both; }
.skip, .blind, caption, legend  { position:absolute; width:0; height:0; margin:0 !important; padding:0 !important; font-size:0; line-height:0; text-indent:-3000px; border:none; overflow:hidden;  }
/*.hidden {position:absolute;left:-1000%;top:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden;}*/
.hidden { display:none}

 /*박스 크기 고정(패딩값 영향없음)*/
*, *:before, *:after {-moz-box-sizing: border-box;box-sizing: border-box;}
:after, :before {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}

/* 폰트정의*/
.t_300 { font-weight:300 !important; }
.t_400 { font-weight:400 !important; }
.t_500 { font-weight:500 !important; }
.t_600 { font-weight:600 !important; }
.t_700 { font-weight:700 !important; }
.t_800 { font-weight:800 !important; }
.t_900 { font-weight:800 !important; }

.f10				    {  font-size:10px; }
.f11				    {  font-size:11px; }
.f12				    {  font-size:12px; }
.f13				    {  font-size:13px; }
.f14				    {  font-size:14px; }
.f15				    {  font-size:15px; }
.f16				    {  font-size:16px; }
.f17				    {  font-size:17px; }
.f18				    {  font-size:18px; }
.f20				    {  font-size:20px; }
.f22				    {  font-size:22px; }
.f24				    {  font-size:24px; }
.f26				    {  font-size:26px; }
.f28				    {  font-size:28px; }
.f30				    {  font-size:30px; }
.f32				    {  font-size:32px; }
.f34				    {  font-size:34px; }
.f42				    {  font-size:42px; }
.f44				    {  font-size:44px; }
.f46				    {  font-size:46px; }

/*폰트 굵기 및 색상*/
.t_white { color:#ffffff !important; }
.t_deepblue { color:#0084E9 !important; }
.t_deepgreen { color:#0389a5 !important; }
.t_blue { color:#0066ff !important; }
.t_red { color:#EB1729 !important; }
.t_green { color:#009556 !important; }
.t_emerald { color:#16b6c6 !important; }
.t_deepemerald { color:#118f9d !important; }
.t_orange { color:#ff8800 !important; }
.t_pink { color:#D94F96 !important; }
.t_brown { color:#c85c1b !important; }
.t_purple  { color:#330099 !important; }
.t_gray {  color:#8f8f8f !important; }
.t_deepgray {  color:#808080 !important; }
.t_yellow {  color:#ffdf00 !important; }
.t_main {  color:#0084E9 !important; }

.t_bold { font-weight:600; }
.t_normal { font-weight:400; }


/********** INPUT,SELECT 및 가로사이즈 지정 **********/
.w5 { width:5% !important;  }
.w10 { width:10% !important;  }
.w15 { width:15% !important;  }
.w20 { width:20% !important;  }
.w25 { width:25% !important;  }
.w30 { width:30% !important;  }
.w31 { width:31% !important;  }
.w32 { width:32% !important;  }
.w33 { width:33% !important;  }
.w34 { width:34% !important;  }
.w35 { width:35% !important;  }
.w40 { width:40% !important;  }
.w45 { width:45% !important;  }
.w50 { width:50% !important;  }
.w55 { width:55% !important;  }
.w60 { width:60% !important;  }
.w65 { width:65% !important;  }
.w70 { width:70% !important;  }
.w75 { width:75% !important;  }
.w80 { width:80% !important;  }
.w85 { width:85% !important;  }
.w90 { width:90% !important;  }
.w95 { width:95% !important;  }
.w100 { clear:both;width:100% !important;  }

/*테이블 width값(col속성 웹접근성위해 추가)*/
.tbl_w1 {width:1%;}
.tbl_w2 {width:2%;}
.tbl_w3 {width:3%;}
.tbl_w4 {width:4%;}
.tbl_w5 {width:5%;}
.tbl_w6 {width:6%;}
.tbl_w7 {width:7%;}
.tbl_w8 {width:8%;}
.tbl_w9 {width:9%;}
.tbl_w10 {width:10%;}
.tbl_w11 {width:11%;}
.tbl_w12 {width:12%;}
.tbl_w13 {width:13%;}
.tbl_w14 {width:14%;}
.tbl_w15 {width:15%;}
.tbl_w16 {width:16%;}
.tbl_w17 {width:17%;}
.tbl_w18 {width:18%;}
.tbl_w19 {width:19%;}
.tbl_w20 {width:20%;}
.tbl_w21 {width:21%;}
.tbl_w22 {width:22%;}
.tbl_w23 {width:23%;}
.tbl_w24 {width:24%;}
.tbl_w25 {width:25%;}
.tbl_w26 {width:26%;}
.tbl_w27 {width:27%;}
.tbl_w28 {width:28%;}
.tbl_w29 {width:29%;}
.tbl_w30 {width:30%;}
.tbl_w31 {width:31%;}
.tbl_w32 {width:32%;}
.tbl_w33 {width:33%;}
.tbl_w34 {width:34%;}
.tbl_w35 {width:35%;}
.tbl_w36 {width:36%;}
.tbl_w37 {width:37%;}
.tbl_w38 {width:38%;}
.tbl_w39 {width:39%;}
.tbl_w40 {width:40%;}
.tbl_w41 {width:41%;}
.tbl_w42 {width:42%;}
.tbl_w43 {width:43%;}
.tbl_w44 {width:44%;}
.tbl_w45 {width:45%;}
.tbl_w46 {width:46%;}
.tbl_w47 {width:47%;}
.tbl_w48 {width:48%;}
.tbl_w49 {width:49%;}
.tbl_w50 {width:50%;}
.tbl_w51 {width:51%;}
.tbl_w52 {width:52%;}
.tbl_w53 {width:53%;}
.tbl_w54 {width:54%;}
.tbl_w55 {width:55%;}
.tbl_w56 {width:56%;}
.tbl_w57 {width:57%;}
.tbl_w58 {width:58%;}
.tbl_w59 {width:59%;}
.tbl_w60 {width:60%;}
.tbl_w61 {width:61%;}
.tbl_w62 {width:62%;}
.tbl_w63 {width:63%;}
.tbl_w64 {width:64%;}
.tbl_w65 {width:65%;}
.tbl_w66 {width:66%;}
.tbl_w67 {width:67%;}
.tbl_w68 {width:68%;}
.tbl_w69 {width:69%;}
.tbl_w70 {width:70%;}
.tbl_w71 {width:71%;}
.tbl_w72 {width:72%;}
.tbl_w73 {width:73%;}
.tbl_w74 {width:74%;}
.tbl_w75 {width:75%;}
.tbl_w76 {width:76%;}
.tbl_w77 {width:77%;}
.tbl_w78 {width:78%;}
.tbl_w79 {width:79%;}
.tbl_w80 {width:80%;}
.tbl_w81 {width:81%;}
.tbl_w82 {width:82%;}
.tbl_w83 {width:83%;}
.tbl_w84 {width:84%;}
.tbl_w85 {width:85%;}
.tbl_w86 {width:86%;}
.tbl_w87 {width:87%;}
.tbl_w88 {width:88%;}
.tbl_w89 {width:89%;}
.tbl_w90 {width:90%;}
.tbl_w91 {width:91%;}
.tbl_w92 {width:92%;}
.tbl_w93 {width:93%;}
.tbl_w94 {width:94%;}
.tbl_w95 {width:95%;}
.tbl_w96 {width:96%;}
.tbl_w97 {width:97%;}
.tbl_w98 {width:98%;}
.tbl_w99 {width:99%;}
.tbl_w100 {width:100%;}

.space5 {float:left; width:100%; height:5px;}
.space10 {float:left; width:100%; height:10px;}
.space20 {float:left; width:100%; height:20px;}
.space30 {float:left; width:100%; height:30px;}
.space40 {float:left; width:100%; height:40px;}
.space50 {float:left; width:100%; height:50px;}
.space60 {float:left; width:100%; height:60px;}
.space70 {float:left; width:100%; height:70px;}
.space80 {float:left; width:100%; height:80px;}
.space90 {float:left; width:100%; height:90px;}
.space100 {float:left; width:100%; height:100px;}
.space110 {float:left; width:100%; height:110px;}
.space120 {float:left; width:100%; height:120px;}
.space130 {float:left; width:100%; height:130px;}
.space140 {float:left; width:100%; height:140px;}
.space150 {float:left; width:100%; height:150px;}
.space160 {float:left; width:100%; height:160px;}
.space170 {float:left; width:100%; height:170px;}
.space180 {float:left; width:100%; height:180px;}
.space190 {float:left; width:100%; height:190px;}
.space200 {float:left; width:100%; height:200px;}
.space210 {float:left; width:100%; height:210px;}
.space220 {float:left; width:100%; height:220px;}
.space230 {float:left; width:100%; height:230px;}
.space240 {float:left; width:100%; height:240px;}
.space250 {float:left; width:100%; height:250px;}

.mg10 { margin-bottom:10px !important }
.mg20 { margin-bottom:20px !important }
.mg30 { margin-bottom:30px !important }
.mg40 { margin-bottom:40px !important }
.mg50 { margin-bottom:50px !important }
.mg60 { margin-bottom:60px !important }
.mg70 { margin-bottom:70px !important }
.mg80 { margin-bottom:80px !important }
.mg90 { margin-bottom:90px !important }
.mg100 { margin-bottom:100px !important }

.lmr0 {margin-left:0px;}
.lmr1 {margin-left:1px;}
.lmr2 {margin-left:2px;}
.lmr3 {margin-left:3px;}
.lmr4 {margin-left:4px;}
.lmr5 {margin-left:5px;}
.lmr10 {margin-left:10px;}
.lmr15 {margin-left:15px;}

.rmr0 {margin-right:0px;}
.rmr1 {margin-right:1px;}
.rmr2 {margin-right:2px;}
.rmr3 {margin-right:3px;}
.rmr4 {margin-right:4px;}
.rmr5 {margin-right:5px;}
.rmr10 {margin-left:10px;}
.rmr15 {margin-left:15px;}


/*:::::::::::::::::::::::::::콤보박스 setting::::::::::::::::::::::::: */
input[type='text'],input[type='password'],input[type='image'],input[type='search'] {-webkit-appearance:none;-webkit-border-radius:0}
input[type='radio'], input[type='checkbox']  { /*position:relative;top:6px; left:-4px;*/  }

input[type="checkbox"]{width: 15px;  height: 15px; margin-right: 4px; }
input[type="radio"]{width:15px; height:15px; margin-right:4px;  }
input[type="radio"].top{position:relative;top:5px;  }

 /*크롬 input, select 색상지우기*/
input:-webkit-autofill { box-shadow: 0 0 0 1000px white inset !important; }
input {outline:none !important; }
select:-webkit-autofill { box-shadow: 0 0 0 1000px white inset !important; }
select {outline:none !important; }

input:focus, select:focus, option:focus, textarea:focus, button:focus{ outline: none; }

input, select  { background:transparent;  }
input {/* outline: none;-webkit-appearance:none;*/}
input[type="submit"], input[type="button"] {cursor: pointer !important;}
textarea{outline: none;resize:none; }

/*placeholder 색상변경*/
input[type=text]{ime-mode:active;}
input[type=text]::-webkit-input-placeholder{color: rgb(0,0,0,.7);}
input[type=text]::-moz-placeholder{color: rgb(0,0,0,.7);}
input[type=text]:-ms-input-placeholder{color: rgb(0,0,0,.7);}

/*메인탑검색용*/
input.black[type=text]::-webkit-input-placeholder{color: rgb(0,0,0,.7);}
input.black[type=text]::-moz-placeholder{color: rgb(0,0,0,.7);}
input.black[type=text]:-ms-input-placeholder{color: rgb(0,0,0,.7);}

input[type=password]{}
input[type=password]::-webkit-input-placeholder{color: rgb(0,0,0,.7);}
input[type=password]::-moz-placeholder{color: rgb(0,0,0,.7);}
input[type=password]:-ms-input-placeholder{color: rgb(0,0,0,.7);}

textarea::placeholder{color:rgb(0,0,0,.7);}
textarea::-webkit-input-placeholder{color:rgb(0,0,0,.7);}
textarea:-ms-input-placeholder{color:rgb(0,0,0,.7);}

/*disabled 색상변경*/
input[type=radio]:disabled {background: none;}
/*input:read-only { color:rgb(0,0,0,.7); background: #f9f9f9  !important; cursor: default !important;}*/
input:disabled { color:rgb(0,0,0,.7); background: #f9f9f9  !important; cursor: default !important;}

select:readonly { color:rgb(0,0,0,.7); background:#f9f9f9  !important; cursor: default !important;}
select:disabled { color:rgb(0,0,0,.7); background: #f9f9f9  !important; cursor: default !important;}

button:disabled { color:rgb(0,0,0,.7); background: #f9f9f9  !important; cursor: default !important;}

/********** INPUT **********/
input {
    font-size: 15px;
    height: 40px;
    padding: 0px 10px;
    border: 1px #d3d3d3 solid !important;
    border-radius: 8px !important;
}

select{
    font-size: 15px;
    height: 40px;
    padding: 0px 10px;
    border: 1px #d3d3d3 solid !important;
    border-radius: 8px !important;
    background: #ffffff url('../images/sub/select_arrow.svg') no-repeat right 10px center !important;
    background-size: 10px !important;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}


input.none_brd {padding:0px 5px 0px 8px;  border:0px !important; letter-spacing:-0.04em;} /*헤더용*/

input.base_readonly { background: #f9f9f9; }
input.right { text-align:right}
input.center { text-align:center}

input.w5 { width:5%  }
input.w10 { width:10%  }
input.w15 { width:15%  }
input.w20 { width:20%  }
input.w30 { width:30%  }
input.w40 { width:40%  }
input.w50 { width:50%  }
input.w60 { width:60%  }
input.w70 { width:70%  }
input.w80 { width:80%  }
input.w90 { width:90%  }
input.w100 { width:100%  }

input.wp50_wm100 { width:50%  }
input.wp50_wm50 { width:50%  }
input.wp50_wm70 { width:50%  }
input.wp25_wm100 { width:25%  }

select.wp50_wm100 { width:50%  }
select.wp50_wm50 { width:50%  }
select.wp50_wm70 { width:50%  }

/********** select **********/


select.none_brd   { border:0px !important; letter-spacing:-0.04em;} /*헤더용*/

select.w5 { width:5%  }
select.w10 { width:10%  }
select.w20 { width:20%  }
select.w30 { width:30%  }
select.w40 { width:40%  }
select.w50 { width:50%  }
select.w60 { width:60%  }
select.w70 { width:70%  }
select.w80 { width:80%  }
select.w90 { width:90%  }
select.w100 { width:100%  }

.left10 { float:left; width:10%}
.left20 { float:left; width:20%}
.left30 { float:left; width:30%}
.left40 { float:left; width:40%}
.left50 { float:left; width:50%}

/********** textarea **********/
textarea {  width:100%; padding: 5px 10px; font-size: 15px; color:#000000; border:1px solid #d3d3d3; border-radius:8px; }




/*:::::::::::::::::::::::::::여기부터 작업:::::::::::::::::::::::::::*/
body {
    font-size: 16px;
}

.line_break {
    display: block;
}

/*#wrap {position: absolute;}*/

/*#wrap>#ft {display: none}
#ct {padding-top: 0}*/

.main-visual>.btn {
    position: absolute;
    right: 30px;
    bottom: 7.222rem;
    z-index: 10
}

/*섹션*/
#section1 {
    background: transparent;
}

#section2 {
    background: #ffffff;
}

/*배경이미지 줌애니메이션 적용*/
#section3 {
    position: relative;
    overflow: hidden;
}

#section3::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('../images/main/section3_bg.png') no-repeat center;
    background-size: cover;
    animation: bg_zoom 12s linear infinite;/*bg_zoom 사용*/
}

@keyframes bg_zoom {

    /* 시작 */
    0% {
        transform: scale(1);
    }

    /* 3초 - 줌인 */
    25% {
        transform: scale(1.1);
    }

    /* 3초 - 멈춤 */
    50% {
        transform: scale(1.1);
    }

    /* 3초 - 줌아웃 */
    75% {
        transform: scale(1);
    }

    /* 3초 - 멈춤 */
    100% {
        transform: scale(1);
    }
}

#section4 {
    background: url('../images/main/section4_bg.png') no-repeat center;
    background-size: cover;
}

#section5 {
    position: relative;
    background: #f7f7f7;
}

.direction_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 30px;
}

img.direction_p {}

img.direction_m {
    display: none;
}

.direction_wrap2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 4%;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0px 0px 10px 0px rgb(0, 0, 0, .2);
}

/*섹션타이틀*/
.section_title {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin: 0px 0px 60px 0px;
    padding: 0px 0px;
    text-align: center;
    z-index: 1;
    border: 0px solid red;
}

.section_title.pad {
    padding: 0px 15px;
}

.section_title h1 {
    font-size: 17px;
    color: #0084E9;
}

.section_title h2 {
    font-size: 55px;
}

.section_title h3 {
    margin-top: 20px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    word-break: keep-all;
}

.section_title h3.wh {
    color: rgb(255, 255, 255, .6)
}

.section_title h3.gr {
    color: rgb(0, 0, 0, .6)
}

.section_title h3.bk {
    color: rgb(0, 0, 0, 1);
    font-weight: 500;
    word-break: keep-all;
}

.section_title h4 {
    margin-top: 15px;
    font-size: 17px;
    font-weight: 400;
    color: rgb(0, 0, 0, .6);
    line-height: 1.3;
    word-break: keep-all;
}


.section_title.copy {
    display: flex;
    align-items: flex-start;
    margin: 0px 0px 0px 0px !important;
    text-align: left;
}

.section_title.copy2 {
    display: flex;
    align-items: flex-start;
    width: auto;
    margin: 50px 0px 0px 0px !important;
    text-align: left;
}

/*margin: 100px 0px 0px 0px*/

/*home*/
/*메인비주얼*/
.section-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 35px;
}

.section-title h3 {
    margin-bottom: -18px;
    line-height: 1.45;
    font-size: 56px;
    color: #111;
    font-weight: bold;
    letter-spacing: -0.0625em;
}

.section-title h3+.text {
    margin-top: 34px;
    font-size: 20px;
}

.section-main-visual {
    height: 100vh !important;
}

.section-main-visual .swiper {
    height: 100%;
}

.section-main-visual .background {
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover !important;
    transform: scale(1.5);
}

/*animation.asp에서 gsap.set 값이 동일해야함 현재:1.5 */

/*pc용이미지*/
.section-main-visual .background.bg1 {
    background: url('../images/main/section1_bg1.png') no-repeat center;
}

.section-main-visual .background.bg2 {
    background: url('../images/main/section1_bg2.png') no-repeat center;
}

/*메인비주얼이너*/
.section-main-visual .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 55%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    width: 80%;
    /*max-width:1400px;*/
    margin: auto;
    padding: 0px 0px;
    text-align: center;
    border: 0px solid red
}

.section-main-visual .text-wrap {
    display: inline-block;
    text-align: center;
}

.section-main-visual .text-wrap .title {
    margin-bottom: 40px;
    font-size: 67px;
    color: #ffffff;
    font-weight: 500;
    line-height: 140%;
}

.section-main-visual .text-wrap .text {
    margin-bottom: 120px;
    font-size: 30px;
    color: #ffffff;
    font-weight: 500;
    word-break: keep-all;
}

.section-main-visual .text-wrap .view {
    display: flex;
    justify-content: center;
}

.section-main-visual .control {
    z-index: 2;
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 140px;
    left: 0;
    right: 0;
    margin: auto;
    /* max-width: 1500px; */
    width: 100%;
    align-items: center;
    /*background: blue;*/
}


.section-main-visual .control-wrap {
    display: flex;
    /* align-items: center; */
    /* max-width: 100%; */
    width: 100%;
    justify-content: center;
}

.section-main-visual .control .toggle {
    display: block;
    position: relative;
    margin-right: 0px;
    width: 35px;
    height: 35px;
    border-radius: 100%;
}

.section-main-visual .control .toggle::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 16px;
    height: 16px;
    background: url('../images/main/icon-pause.svg') no-repeat center / auto 100%;
    pointer-events: none;
}

.section-main-visual .control .toggle[data-state="pause"]::before {
    background-image: url('../images/main/icon-play.svg');
}

.section-main-visual .control .toggle svg {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
}

.section-main-visual .control .toggle .path {
    display: block;
    transform: rotateZ(-90deg);
    transform-origin: center;
    stroke-dasharray: 250;
}

.section-main-visual .pager-container {
    display: flex;
    align-items: center;
}

.swiper_arrow_wrap {
    width: 82%;
    position: absolute;
    top: 50%;
    margin: auto;
    left: 0;
    right: 0;
}

.section-main-visual .swiper-button-prev {
    position: absolute;
    left: 0%;
    top: 0;
    margin: 0;
    width: 55px;
    height: 55px;
}

.section-main-visual .swiper-button-next {
    position: absolute;
    right: 0%;
    top: 0;
    margin: 0;
    width: 55px;
    height: 55px;
}

.section-main-visual .swiper-button-next::after,
.section-main-visual .swiper-button-prev::after {
    content: none;
}

.section-main-visual .swiper-button-next {
    background: rgb(0, 0, 0, .2) url('../images/main/arrow_next.svg') no-repeat center;
    border-radius: 100%;
    background-size: 30%;
}

.section-main-visual .swiper-button-prev {
    background: rgb(0, 0, 0, .2) url('../images/main/arrow_prev.svg') no-repeat center;
    border-radius: 100%;
    background-size: 30%;
}

.section-main-visual .swiper-pagination {
    position: static;
    margin: 0 6px;
    width: 64px;
    text-align: center;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 600;
}

.section-main-visual .swiper-pagination-current {
    color: rgba(255, 255, 255, 1);
}

/*스크롤애니 아이콘*/
.scroll-icon {
    position: absolute;
    bottom: 50px;
    right: 0;
    left: 0;
    margin: auto;
    width: 20px;
    height: 35px;
    z-index: 1;
}

.scroll-icon span {
    display: block;
}

.scroll-icon>span {
    width: 20px;
    height: 35px;
    border-radius: 100px;
    border: 2px solid rgba(255, 255, 255, 0.8);
    margin: 0px;
}

.scroll-icon>span>span {
    width: 2px;
    height: 6px;
    border-radius: 100px;
    margin: 6px auto 0;
    background: rgba(255, 255, 255, 0.7);
    animation: scroll-on 2s infinite;
}

@keyframes scroll-on {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(8px);
    }

    100% {
        transform: translateY(0px);
    }
}

a.more {
    display: flex;
    width: 120px;
    font-size: 18px;
    color: #ffffff;
    font-weight: 500;
    background: url('../images/main/ar_more.svg') no-repeat right 13px;
    z-index: 1;
    transition: all 0.2s;
}

a.more:hover {
    width: 126px;
}



/*이전 Our Service*/


.m_ar2 {
    display: none;
}

/*이전 News & Insight*/
.section4_con {
    display: flex;
    justify-content: space-between;
    /*border:1px solid red;*/
}

.section4_con .item {
    position: relative;
    width: 30%;
    /*height:450px;*/
    height: 45vh;
    border-radius: 15px;
    box-shadow: 15px 15px #E5E9F2;
}

.img_area img {
    width: 100%;
    /*height:450px;*/
    height: 45vh;
    object-fit: cover;
    border-radius: 15px;
}

.section4_con .item .text {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 0px 40px 40px 40px;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}

.section4_con .item .text::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: -1;
    opacity: 0;
    transition: all 0.3s;
    transform: translate(-50%, -50%);
    border-radius: 15px;
}

.section4_con .item .text * {
    color: #ffffff;
}

.section4_con .item h5 {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 10px;
}

.section4_con .item p {
    font-size: 18px;
    height: 80px;
    font-weight: 300;
    line-height: 1.4;
    word-break: keep-all;
}

.section4_con .arrow {
    flex-shrink: 0;
    margin: 0px 0px 0px 0px;
    opacity: 0;
    transition: all 0.3s;
}

.section4_con .item:hover .text::before {
    opacity: 1;
}

.section4_con .item:hover .arrow {
    margin: 35px 0 0;
    opacity: 1;
}

.more_color {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 80px;
    height: 30px;
    padding: 0px 12px;
    background: #0084E9;
    border-radius: 100px;
}

.more_color span.more {
    position: relative;
    top: -2px;
    font-size: 16px;
}

.more_color img {
    width: 15px
}

/*이전 Client&Location*/
.Client_Location_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    float: left;
    width: 100%;
    height: 100%;
}

.client_wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-top: 10vh;
    background: url('../images/section5_client_bg.png') no-repeat center;
    background-size: cover;
}

.location_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-top: 10vh;
    background: url('../images/section5_location_bg.png') no-repeat center;
    background-size: cover;
}

.client_area {
    width: 580px;
    margin-right: 60px;
    margin-left: 15px;
}

.location_area {
    width: 580px;
    margin-left: 60px;
    margin-right: 15px;
}

.line_title {
    width: 100%;
    margin-bottom: 5vh;
}

.wh_top_line {
    width: 65px;
    height: 1px;
    margin-bottom: 1vh;
    background: #ffffff
}

.line_title h3 {
    font-size: 50px;
    color: #ffffff;
    font-weight: 500;
    text-align: left;
}

.client_box {
    width: 100%;
    height: 32vh;
    margin-bottom: 10px;
    background: #ffffff;
    border-radius: 20px
}

ul.box_bot_txt {
    display: flex;
    flex-direction: column;
    width: 100%;
}

ul.box_bot_txt li {
    display: flex;
    width: 100%;
    text-align: left;
}

ul.box_bot_txt li span {
    display: flex;
    align-items: center;
    margin-top: 0px;
    line-height: 1.5;
}

ul.box_bot_txt li span.space {
    width: 100%;
    height: 24px
}

ul.box_bot_txt li a span.client {
    padding-right: 45px;
    font-size: 20px;
    font-weight: 500;
    color: #ffffff;
    background: url('../images/wh_ar_long.svg') no-repeat right 13px;
}

ul.box_bot_txt li span.txt1 {
    width: 110px;
    font-weight: 500;
}

ul.box_bot_txt li span.txt2 {
    width: calc(100% - 110px);
    font-weight: 300;
}



/*이전 메인찾아오시는길*/
.map_wrap {
    float: left;
    width: 100%;
    height: 32vh !important;
    margin-bottom: 10px;
    background: #ffffff;
    border-radius: 20px;
}

/*카카오맵 외부CSS속성 강제로 height:32vh 설정(상하반응형)*/
.root_daum_roughmap {
    width: 100% !important;
    height: 100% !important;
    border-radius: 20px;
}

/*카카오맵 외부CSS속성 강제로 height:32vh 설정(상하반응형)*/

/*사이드SNS*/
.side_btn_wrap {
    position: fixed;
    right: 20px;
    bottom: 40px;
    display: flex;
    flex-direction: column;
    z-index: 20
}

a.side_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    margin-top: 10px;
    cursor: pointer;
}

a.sns1 {
    background: #1877F2 url('../images/include/facebook.svg') no-repeat center;
    border-radius: 100%;
}

a.sns2 {
    background: #2CB24A url('../images/include/naver.svg') no-repeat center;
    border-radius: 100%;
}

a.sns3 {
    background: #f7a225 url('../images/include/question.svg') no-repeat center;
    border-radius: 100%;
}

a.top_btn {
    background: rgb(255, 255, 255, 1) url('../images/include/top_arrow.svg') no-repeat center;
    background-size: 24px;
    border-radius: 100%;
    border: 1px solid rgb(0, 0, 0, .2)
}




/*반응형 wrap*/
.res_wrap {
    width: 1400px;
    z-index: 1;
    border: 0px solid blue
}

.res_wrap100 {
    width: 100%;
    /*background:red*/
}

/*사이드파랄렉스네비*/
.is-wheel {
    overflow: hidden
}

#lnb {
    position: fixed;
    top: 50%;
    right: 45px;
    z-index: 99;
    transform: translateY(-50%)
}

#lnb .nav-link {
    position: relative;
    display: block;
    width: 12px;
    height: 12px;
    margin: 10px 0;
    padding: 0;
    border-radius: 100%;
    border: 2px solid #bdbdbd;
    background: none;
    font-size: 20px;
    outline: 0
}

#lnb .nav-link.active {
    height: 20px;
    background: #0084E9;
    border-radius: 20px;
    border: 2px solid #0084E9;
}

#lnb span {
    position: absolute;
    top: 45%;
    right: 100%;
    margin-right: 10px;
    white-space: nowrap;
    line-height: 1;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity .4s;
    font-size: 13px;
    font-weight: 700;
    color: #0084E9
}

#lnb .active span {
    opacity: 1
}

/*구역별로 색깔 다르게 입히기
[data-theme="primary"] #lnb .nav-link {border-color: #0084E9}
[data-theme="primary"] #lnb .nav-link.active {background: #0084E9}
[data-theme="primary"] #lnb span {color: #0084E9}
[data-target="#ft"] {width: 0;height: 0;visibility: hidden;margin: 0}*/

/* 콘텐츠는 위로 */
.swiper_vh {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    width: 100%;
    height: 100vh;
    padding-top: 0%;
    z-index: 1;
}

.section_top {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    position: relative;
    width: 100%;
    height: 100vh;
    padding: 16vh 0px 0px 0px;
    border: 0px solid blue;
}

/*수직 상단 정렬*/


/*기본화면*/
.con_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    /*margin-top:100px*/
}

.sub_area {
    display: flex;
    flex-direction: column;
    width: 1400px;
    padding: 60px 0px 100px;
    border: 0px solid red;
}

/*서브상단비주얼*/
.sub_common {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 400px;
    padding-top: 1.5%;
}

.sub_common a {
    /*display: flex; width:170px;*/
}

/*.sub_visual_01 { background: url('../images/include/sub_visual_01.png') no-repeat center; background-size:cover;  }
.sub_visual_02 { background: url('../images/include/sub_visual_02.png') no-repeat center; background-size:cover;  } 
.sub_visual_03 { background: url('../images/include/sub_visual_03.png') no-repeat center; background-size:cover;  } 
.sub_visual_04 { background: url('../images/include/sub_visual_04.png') no-repeat center; background-size:cover;  } 
.sub_visual_05 { background: url('../images/include/sub_visual_05.png') no-repeat center; background-size:cover;  } */

/* 서브상단비주얼 기본 설정 */
.sub_visual_01,
.sub_visual_02,
.sub_visual_03,
.sub_visual_04,
.sub_visual_05,
.sub_visual_06 {
    position: relative;
    overflow: hidden;
    /* 확대된 가상요소가 넘치지 않도록 */
}

/* 서브상단비주얼 가상요소에 배경 이미지 넣기 (원래 배경 대체) */
.sub_visual_01::before {
    content: "";
    position: absolute;
    inset: 0;
    transform-origin: center center;
    will-change: transform;
    transform: scale(1.15);
    animation: bg-zoom-out 2s ease-in-out forwards;
}

.sub_visual_02::before {
    content: "";
    position: absolute;
    inset: 0;
    transform-origin: center center;
    will-change: transform;
    transform: scale(1.15);
    animation: bg-zoom-out 2s ease-in-out forwards;
}

.sub_visual_03::before {
    content: "";
    position: absolute;
    inset: 0;
    transform-origin: center center;
    will-change: transform;
    transform: scale(1.15);
    animation: bg-zoom-out 2s ease-in-out forwards;
}

.sub_visual_04::before {
    content: "";
    position: absolute;
    inset: 0;
    transform-origin: center center;
    will-change: transform;
    transform: scale(1.15);
    animation: bg-zoom-out 2s ease-in-out forwards;
}

.sub_visual_05::before {
    content: "";
    position: absolute;
    inset: 0;
    transform-origin: center center;
    will-change: transform;
    transform: scale(1.15);
    animation: bg-zoom-out 2s ease-in-out forwards;
}

.sub_visual_06::before {
    content: "";
    position: absolute;
    inset: 0;
    transform-origin: center center;
    will-change: transform;
    transform: scale(1.15);
    animation: bg-zoom-out 2s ease-in-out forwards;
}

.sub_visual_01::before {
    background: url('../images/include/sub_visual_01.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.sub_visual_02::before {
    background: url('../images/include/sub_visual_02.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.sub_visual_03::before {
    background: url('../images/include/sub_visual_03.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.sub_visual_04::before {
    background: url('../images/include/sub_visual_04.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.sub_visual_05::before {
    background: url('../images/include/sub_visual_05.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.sub_visual_06::before {
    background: url('../images/include/sub_visual_06.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* 서브상단비주얼 keyframes: 크게 → 정상 크기 */
@keyframes bg-zoom-out {
    0% {
        transform: scale(1.15);
    }

    100% {
        transform: scale(1);
    }

    /* 정상 크기 */
}


.sub_visual_txt {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.visual_tit_wrap {
    display: flex;
    flex-direction: column;
}

h1.visual_tit {
    margin: 0 auto;
    font-size: 50px;
    color: #ffffff;
    font-weight: 600;
    text-align: center;
    word-break: keep-all;
    z-index: 1;
}

p.sub_tit {
    /*display:none;*/
    width: 100%;
    margin-top: 10px;
    padding: 0px 15px;
    font-size: 16px;
    color: rgb(255, 255, 255, .9);
    font-weight: 300;
    text-align: center;
    word-break: keep-all;
    z-index: 1;
}


/*서브네이게이션 양쪽 화살표*/
a span.black_one_prev {
    float: left;
    width: 54px;
    height: 54px;
    background: rgba(0, 0, 0, .15) url('../images/include/sv_ar_prev.svg') no-repeat center;
    border-radius: 100%;
    transition: all 0.3s;
}

a:hover span.black_one_prev {
    background: rgba(0, 0, 0, .3) url('../images/include/sv_ar_prev.svg') no-repeat center;
}

a span.black_one_next {
    float: right;
    width: 54px;
    height: 54px;
    background: rgba(0, 0, 0, .15) url('../images/include/sv_ar_next.svg') no-repeat center;
    border-radius: 100%;
    transition: all 0.3s;
}

a:hover span.black_one_next {
    background: rgba(0, 0, 0, .3) url('../images/include/sv_ar_next.svg') no-repeat center;
}

span.s_nav_txt_left {
    float: left;
    padding: 0px 15px;
    font-size: 18px;
    font-weight: 500;
    color: #ffffff;
    line-height: 54px;
}

span.s_nav_txt_right {
    float: right;
    padding: 0px 15px;
    font-size: 18px;
    font-weight: 500;
    color: #ffffff;
    line-height: 54px;
}

/*페이지타이틀*/
.page_title_wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0px 0px;
}

.page_title_area {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 70px 10px 0px 10px;
    text-align: center;
    word-break: keep-all;
}

.page_title_area h1.title {
    padding-top: 15px;
    font-size: 50px;
    line-height: 1.3;
    font-weight: 500;
    text-align: center;
    background: url('../images/sub/page_line.svg') no-repeat center top;
}


/*=====new푸터=====*/
footer {
    display: flex;
    flex-direction: column;
    width: 100%;
    font-size: 15px;
    background: #000000;
}

.ft_center {
    display: flex;
    width: 1720px;
    padding: 0px 1%;
}

/*상단*/
.ft_top {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 0px;
}

/*왼쪽*/
.ft_top_left {
    display: flex;
    flex-direction: column;
    width: calc(100% - 200px);
}

a.bottom_logo {
    display: inline-block;
    width: 107px;
    height: 38px;
    margin-bottom: 25px;
    background: url('../images/include/logo_wh.svg') no-repeat center;
    background-size: cover;
}

.ft_info_wrap {
    display: flex;
    flex-direction: column;
}

.ft_info_wrap .line2 {
    display: flex;
}

.ft_info_wrap .line2 .area {
    display: flex;
}

dl.ft_info {
    display: flex;
    align-items: center;
    height: 13px;
    margin: 13px 20px 0px 0px;
    padding-right: 20px;
    color: #ffffff;
    border-right: 1px solid rgb(255, 255, 255, .4);
    white-space: nowrap;
    word-break: keep-all;
}

dl.ft_info.none {
    margin: 13px 0px 0px 0px;
    padding-right: 0px;
    border-right: none;
}

dl.ft_info dt {
    margin-right: 20px;
    font-weight: 500;
}

dl.ft_info dd {
    color: rgb(255, 255, 255, .6)
}

/*오른쪽*/
.ft_top_right {
    display: flex;
    align-items: center;
    width: 200px;
}

/* 하단 Contact Us 버튼 */
a.btn_round_us {
    position: relative;
    display: flex;
    align-items: center;
    width: 200px;
    height: 50px;
    padding-left: 30px;
    font-size: 15px;
    color: #ffffff;
    background: #0084E9 url('../images/include/icon_contact.svg') no-repeat right 30px center;
    border-radius: 100px;
    overflow: hidden;
    transition: padding-left 0.3s, background-position 0.3s;
}

/* 45도 화이트 그라데이션 */
a.btn_round_us::before {
    content: "";
    position: absolute;
    top: 0%;
    left: -200%;
    width: 200%;
    /* 버튼보다 크게 */
    height: 100%;
    /* 45도 대각선 이동 위해 확대 */
    background: linear-gradient(-45deg,
            rgba(255, 255, 255, 0.0) 0%,
            rgba(255, 255, 255, 0.35) 50%,
            rgba(255, 255, 255, 0.0) 100%);
    transform: translateX(0);
    transition: transform 0.7s ease;
    pointer-events: none;
}

/* hover 시 오른쪽 대각선으로 지나감 */
a.btn_round_us:hover::before {
    transform: translateX(200%);
}

a.btn_round_us:hover {
    padding-left: 25px;
    background: #0084E9 url('../images/include/icon_contact.svg') no-repeat right 25px center;
}


/*하단*/
.ft_bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 13px 0px;
    border-top: 1px solid rgb(255, 255, 255, .2);
}

p.copy {
    width: 100%;
    color: rgb(255, 255, 255, .6);
}

/*new서브비주얼+서브메뉴*/
.sub_top_wrap {
    position: relative;
    width: 100%;
}

.sub_top_wrap .dimmed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0, .1);
}

/* 서브 3depth 탭 */
ul.depth3_tab {
    display: flex;
    width: 100%;
    margin-bottom: 50px;
    padding: 0px 0px 0px 0px;
}

ul.depth3_tab li {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    height: 50px;
    margin: 0px 0px 5px 5px;
    color: #999999;
    font-weight: 500;
    background: #ffffff;
    border: 1px solid #D9D9D9;
    border-radius: 100px;
    cursor: pointer;
}

ul.depth3_tab li:first-child {
    margin: 0px 0px 5px 0px;
}

ul.depth3_tab li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0px 10px;
    text-align: center;
}

/*ul.depth3_tab li.on {
	color:#0084E9;
	background: #ffffff;
	border:1px solid #0084E9;
}*/

ul.depth3_tab li.on {
    color: #ffffff;
    background: #0084E9;
    border: 1px solid #0084E9;
    transition: all 0.3s;
}

ul.depth3_tab li a:hover {
    background: rgb(0, 0, 0, .03);
    border-radius: 100px;
}

/*인사말*/
.ceo_top_wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    padding-bottom: 50px;
}

.ceo_top_wrap h2 {
    font-size: 48px;
    font-weight: 600;
    margin-bottom: 10px;
    z-index: 1;
}

.ceo_top_wrap p {
    font-size: 22px;
    z-index: 1;
}

.ceo_top_wrap span {
    position: absolute;
    right: 0;
    bottom: -10px;
    font-size: 160px;
    font-weight: 700;
    color: #f6f6f6;
    line-height: 1;
    letter-spacing: -0.06em;
    z-index: 0;
}

.ceo_mid_wrap {
    position: relative;
    margin-bottom: 50px;
    padding: 70px;
    background: #f6f6f6;
    border-radius: 15px;
}

.ceo_mid_txt {
    display: flex;
    flex-direction: column;
    width: auto;
}

.ceo_mid_txt h3 {
    margin-bottom: 10px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
}

.ceo_mid_txt p {}

.ceo_mid_img img {
    position: absolute;
    bottom: 0px;
    right: 5%;
    width: 400px;
}

.ceo_bot_wrap {
    display: flex;
    flex-direction: column;
}

.ceo_bot_wrap p {
    margin-bottom: 20px;
}

.ceo_bot_wrap span.name {
    margin-left: 10px;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

/*회사개요*/
.world_map {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 900px;
    margin: 50px 0px 100px;
    background: url('../images/sub/world_map.png') no-repeat center top;
    background-size: cover;
}

ul.overview_bnr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    bottom: 5%;
    width: 1400px;
}

ul.overview_bnr li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20%;
    border: 0px solid red;
}

ul.overview_bnr li .circle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 260px;
    height: 260px;
    background: #ffffff;
    border-radius: 260px;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.10);
}

ul.overview_bnr li .ic {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;
}

ul.overview_bnr li .ic.icon1 {
    background: url('../images/sub/icon_overview01.svg') no-repeat center;
    background-size: cover;
}

ul.overview_bnr li .ic.icon2 {
    background: url('../images/sub/icon_overview02.svg') no-repeat center;
    background-size: cover;
}

ul.overview_bnr li .ic.icon3 {
    background: url('../images/sub/icon_overview03.svg') no-repeat center;
    background-size: cover;
}

ul.overview_bnr li .ic.icon4 {
    background: url('../images/sub/icon_overview04.svg') no-repeat center;
    background-size: cover;
}

ul.overview_bnr li span.grtxt {
    margin-bottom: 10px;
    font-size: 16px;
    color: #5E5E5E;
    font-weight: 500;
}

ul.overview_bnr li p.figure {
    font-size: 55px;
    font-weight: 700;
    line-height: 1;
}

/*문구*/
.overview_wrap {
    display: flex;
    justify-content: flex-end;
    position: relative;
    top: 9vw;
    width: 1400px;
}

.overview_area {
    display: flex;
    flex-direction: column;
}

.overview_area h1 img {
    width: 160px;
}

.overview_area h2 {
    font-size: 54px;
    font-weight: 700;
    margin-top: 20px;
    word-break: keep-all;
}

.overview_area p {
    font-size: 18px;
    color: #5E5E5E;
    margin-top: 30px;
    font-weight: 500;
    word-break: keep-all;
}

/*서브찾아오시는길*/
.sub_map_wrap {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    float: left;
    width: 100%;
    height: 500px;
    margin-bottom: 50px;
}

.address_txt {
    position: absolute;
    bottom: 0;
    /* 부모의 하단 기준 */
    transform: translate(0%, 50%);
    /* 가로 가운데 + 세로 50% 아래 */
    width: 95%;
    padding: 15px;
    font-size: 20px;
    font-weight: 500;
    color: #ffffff;
    text-align: center;
    background: #22355d;
    border-radius: 100px;
    word-break: keep-all;
    z-index: 1;
}

.contact_wrap {
    float: left;
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 40px;
}

.contact_wrap .box {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    width: 32.5%;
    padding: 20px 10px;
    font-size: 18px;
    border: 1px solid #d3d3d3;
    border-radius: 5px;
    text-align: center;
}

.contact_wrap .box p.icon {
    width: 65px;
    height: 65px;
    margin-bottom: 0px;
}

.contact_wrap .box p.bg1 {
    background: url('../images/sub/tel.svg') no-repeat center;
    background-size: 100%;
}

.contact_wrap .box p.bg2 {
    background: url('../images/sub/fax.svg') no-repeat center;
    background-size: 100%;
}

.contact_wrap .box p.bg3 {
    background: url('../images/sub/mail.svg') no-repeat center;
    background-size: 100%;
}

/*지도 강제 적용*/
.root_daum_roughmap .cont {
    display: none;
}

.root_daum_roughmap {
    border-radius: 5px;
    border: 0;
}

.roughmap_maker_label .roughmap_lebel_text {
    padding: 7px 10px !important;
    font-size: 12px !important;
    border: 1px solid #22355d;
    border-radius: 100px !important;
    color: #000000 !important;
    background: #ffffff !important;
}

.roughmap_maker_label:after {
    background: none !important;
}

.roughmap_maker_label a {
    text-decoration: none !important;
}

/*연혁*/
.history_main_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    padding: 30px 7%;
    color: #ffffff;
    background: url('../images/sub/bg_line_history.png') center/cover no-repeat, linear-gradient(145deg, #0084E9, #004D9A);
    border-radius: 1000px;
}

.history_title {
    display: flex;
    flex-direction: column;
    width: 410px;
}

.history_title h3 {
    color: rgb(255, 255, 255, .4);
    font-size: 40px;
    font-weight: 800;
}

.history_title h2 {
    padding-left: 15%;
    font-size: 70px;
    font-weight: 800;
}

ul.history_text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

ul.history_text li {
    display: flex;
    align-items: flex-start;
    font-size: 16px;
    word-break: keep-all;
}

ul.history_text li p {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    top: -1px;
    width: 90px;
    margin-right: 10px;
    padding: 0px 10px;
    font-size: 15px;
    line-height: 28px;
    background: rgb(0, 0, 0, .25);
    border-radius: 100px;
}

/*연혁상세*/
/*년도*/
.his_left {
    display: flex;
    align-items: flex-start;
    position: relative;
    width: 30%;
    /*background:pink;*/
}

.his_left h2 {
    width: 250px;
    color: #0084E9;
    font-size: 58px;
    font-weight: 700;
    /*background: orange;*/
}

.his_left .circle {
    flex-shrink: 0;
    position: relative;
    top: 7px;
    width: 61px;
    height: 61px;
    background: url('../images/sub/year_circle.svg') no-repeat center;
    background-size: cover;
    border-radius: 100px;
    z-index: 1;
}

.his_left .line {
    position: absolute;
    right: 30px;
    width: 1px;
    height: 100%;
    background: #D9D9D9;
}

.his_left .line.first {
    top: 30px;
}

/*연혁내용*/
.his_right {
    width: 100%;
    padding: 20px 0px;
}

ul.his_list {
    display: flex;
    flex-direction: column;
}

ul.his_list li {
    display: flex;
    gap: 5%;
    margin-bottom: 30px;
    word-break: keep-all;
}

ul.his_list li p {
    flex-shrink: 0;
    width: 30px;
    font-size: 22px;
    font-weight: 600;
}

ul.his_text li {
    position: relative;
    padding: 5px 0px 5px 10px;
    margin-bottom: 0px;
    font-size: 18px;

}

ul.his_text li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 19px;
    width: 5px;
    height: 1px;
    background: rgb(0, 0, 0, .4);
}

/*연혁리스트*/
.history_tab_wrap {
    display: flex;
    width: 100%;
    position: sticky;
    top: 100px;
    /* 상단에서 100px 지점에 고정 */
    padding-top: 50px;
    background: #ffffff;
    z-index: 1;
}

.history_tab_wrap.pad_top_none {
    padding-top: 0px;
}

.history_list_wrap {
    display: flex;
    flex-direction: column;
    margin-top: 50px;
    z-index: 0;
}

.history_area {
    display: flex;
    gap: 5%;
    width: 100%;
    padding-top: 0px;
    scroll-margin-top: 250px;
}

/*연혁탭*/
ul.history_tab {
    display: flex;
    width: 100%;
    gap: 5px;
}

ul.history_tab li {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    height: 50px;
    color: #999999;
    font-weight: 500;
    background: #ffffff;
    border: 1px solid #D9D9D9;
    border-radius: 100px;
    cursor: pointer;
}

ul.history_tab li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0px 10px;
    text-align: center;
}

ul.history_tab li.on {
    color: #ffffff;
    background: #0084E9;
    border: 1px solid #0084E9;
    transition: all 0.3s;
}

ul.history_tab li a:hover {
    background: rgb(0, 0, 0, .03);
    border-radius: 100px;
}

.history_select {
    display: none;
}

/*주요인증*/
ul.certificate {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

ul.certificate li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 60px) / 3);
    /* 3개 기준 (gap 30px × 2 = 60px) */
    margin-bottom: 20px;
    font-weight: 500;
    text-align: center;
    line-height: 1.3;
    word-break: keep-all;
}

ul.certificate li .img_box {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    padding: 30px 0px;
    background: rgb(0, 0, 0, .04);
    border-radius: 15px;
}

ul.certificate li .img_box img {
    width: 55%;
    border: 0px solid rgb(0, 0, 0, .15);
    border-radius: 10px;
}

ul.certificate li span {
    font-size: 18px;
    color: #0084E9;
}

ul.certificate li p {
    font-size: 24px;
}

/*조직도*/
/*상단*/
.organization1 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.box1 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 230px;
    margin-bottom: 30px;
    padding-top: 0px;
    color: #ffffff;
    text-align: center;
    height: 80px;
    font-weight: 500;
    font-size: 18px;
    background: #0084E9;
    border-radius: 50px;
    z-index: 1;
}

span.dot_circle_ceo {
    /*display:none;*/
    position: absolute;
    bottom: -5px;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #0084E9;
    border: 2px solid #ffffff;
}

.box1 img {
    height: 30px
}

.box2 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 170px;
    height: 65px;
    text-align: center;
    line-height: 1.3;
    font-weight: 500;
    font-size: 18px;
    /*color:#3d5374;*/
    background: #e6effc;
    border-radius: 8px;
    z-index: 1;
}

span.dot_circle_le {
    /*display:none;*/
    position: absolute;
    left: -5px;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #9d9d9d;
    border: 2px solid #ffffff;
}

span.dot_circle_ri {
    /*display:none;*/
    position: absolute;
    right: -5px;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #9d9d9d;
    border: 2px solid #ffffff;
}

.mid_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.mid_area {
    display: flex;
    justify-content: space-between;
    width: 50%;
    padding: 10px 0px;
}

.mid_area .left {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 50%;
}

.mid_area .right {
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 50%;
}

.wl {
    position: absolute;
    width: 100%;
    height: 2px;
    background: #d3d3d3;
}

.hl_wrap {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
}

.hl_wrap2 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
}

.hl {
    display: flex;
    width: 2px;
    height: 100%;
    background: #d3d3d3;
}

/*.space_line {  display:flex; align-items: center; width:87.7%; margin-top: 40px; background:#ffffff;   }*/
.space_line {
    display: flex;
    align-items: center;
    width: 76.2%;
    margin-top: 40px;
    /*padding-left:0.1%;*/
    background: #ffffff;
}

.space_line .gr {
    width: 100%;
    height: 2px;
    background: #d3d3d3;
}

/*하단*/
.organization2 {
    position: relative;
    display: flex;
    width: 100%;
}

/*ul.box3 {  display:flex; flex-wrap: wrap; width:100%;  }
ul.box3 li {  display:flex; flex-direction: column; width: calc(86% / 7); margin:0px 1%; border:1px solid green;  }*/
ul.box3 {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

ul.box3 li {
    display: flex;
    flex-direction: column;
    width: 24%;
    margin: 0px 0%;
}

p.s_tit {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    height: 140px;
    padding-top: 30px;
    text-align: center;
    letter-spacing: -0.08em;
    font-weight: 500;
    font-size: 19px;
    background: #ffffff;
    border: 1px solid #0084E9;
    border-bottom: 0px;
    border-radius: 8px 8px 0px 0px;
    z-index: 1;
}

p.s_tit .icon1 {
    width: 65px;
    height: 65px;
    margin-bottom: 20px;
    background: url('../images/sub/icon_group01.svg') no-repeat center;
    background-size: cover;
}

p.s_tit .icon2 {
    width: 65px;
    height: 65px;
    margin-bottom: 20px;
    background: url('../images/sub/icon_group02.svg') no-repeat center;
    background-size: cover;
}

p.s_tit .icon3 {
    width: 65px;
    height: 65px;
    margin-bottom: 20px;
    background: url('../images/sub/icon_group03.svg') no-repeat center;
    background-size: cover;
}

p.s_tit .icon4 {
    width: 65px;
    height: 65px;
    margin-bottom: 20px;
    background: url('../images/sub/icon_group04.svg') no-repeat center;
    background-size: cover;
}

p.s_tit.etc {
    border: 1px solid #9460A4 !important;
    border-bottom: 0px !important;
}

span.dot_circle {
    /*display:none;*/
    position: absolute;
    top: -5px;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #9d9d9d;
    border: 2px solid #ffffff;
}

ul.s_sub {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 140px;
    padding: 15px 10px;
    border: 1px solid #0084E9;
    border-top: 0px;
    border-radius: 0px 0px 8px 8px;
    text-align: center;
}

ul.s_sub.etc {
    border: 1px solid #9460A4;
    border-top: 0px;
}

ul.s_sub li {
    width: 100% !important;
    margin-right: 0px !important;
    padding: 2px 0px 2px 0px;
    color: rgb(0, 0, 0, .7);
    line-height: 1.5;
    /*background:url('../images/sub/dot3.svg') no-repeat left 55%; border:0;*/
}

/*pc,ta,mo 이미지 노출*/
img.pc {
    display: block;
}

img.mo {
    display: none;
}

/*주요고객*/
h3.subtop_copy {
    display: inline-block;
    width: 100%;
    padding: 0px 10px;
    font-size: 34px;
    text-align: center;
    word-break: keep-all;
}

h3.subtop_copy p {
    padding: 0px 0px 1.5vw 0px;
    color: rgb(0, 0, 0, .6);
    font-weight: 500;
}

h3.subtop_copy .line_wrap {
    display: flex;
    justify-content: center;
    padding: 10px 0px 0px 0px;
}

h3.subtop_copy .line_wrap .line {
    display: inline-block;
    width: 1px;
    height: 50px;
    background: rgb(0, 0, 0, .7);
}

/*주요고객목록*/
ul.client {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    width: 100%;
}

ul.client li {
    display: flex;
    width: calc((100% - 90px) / 4);
}

ul.client li p {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 5%;
    border: 1px solid #d3d3d3;
    border-radius: 5px;
}

ul.client li p img {
    width: 90%;
}

.space_top {
    width: 100%;
    height: 3.5vw;
}

/*구축사례*/
.performance_wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.performance_wrap h3 {
    color: #0084E9;
    font-size: 58px;
    font-weight: 700;
}

ul.performance {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    width: 100%;
    margin-bottom: 50px;
}

ul.performance li {
    position: relative;
    display: flex;
    flex-direction: column;
    width: calc((100% - 90px) / 4);
    /* 4개 기준 (gap 30px × 3 = 90px) */
    padding-bottom: 20px;
    font-weight: 500;
    text-align: center;
    line-height: 1.3;
    word-break: keep-all;
    border: 1px solid #D9D9D9;
    border-radius: 15px;
}

ul.performance li .img_box {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    padding: 20px;
    background: rgb(255, 255, 255, 1);
    border-bottom: 1px solid #D9D9D9;
    border-radius: 15px 15px 0px 0px;
}

ul.performance li .img_box img {
    width: 80%;
    border: 0px solid rgb(0, 0, 0, .15);
    border-radius: 5px;
}

ul.performance li span {
    padding: 0px 10px;
    font-size: 17px;
    color: #0084E9;
}

ul.performance li p {
    padding: 0px 10px;
    font-size: 17px;
}

/*메인 View More 버튼*/
.btn_more_wrap_center {
    position: absolute;
    bottom: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-bottom: 30px;
}

/*서브하단 가운데 버튼*/
.btn_more_area_center {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 50px;
}

/*중앙정렬*/
.btn_more_wrap_left {
    position: absolute;
    bottom: 0px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}

/*왼쪽정렬*/

a.btn_round {
    position: relative;
    display: flex;
    align-items: center;
    width: 200px;
    height: 50px;
    padding-left: 30px;
    font-size: 15px;
    color: #ffffff;
    background: #0084E9 url('../images/main/plus_wh.svg') no-repeat right 30px center;
    border-radius: 100px;
    overflow: hidden;
    transition: padding-left 0.3s, background-position 0.3s;
    z-index: 1;
}

/* 45도 화이트 그라데이션 */
a.btn_round::before {
    content: "";
    position: absolute;
    top: 0%;
    left: -200%;
    width: 200%;
    /* 버튼보다 크게 */
    height: 100%;
    /* 45도 대각선 이동 위해 확대 */
    background: linear-gradient(-45deg,
            rgba(255, 255, 255, 0.0) 0%,
            rgba(255, 255, 255, 0.35) 50%,
            rgba(255, 255, 255, 0.0) 100%);
    transform: translateX(0);
    transition: transform 0.7s ease;
    pointer-events: none;
}

/* hover 시 오른쪽 대각선으로 지나감 */
a.btn_round:hover::before {
    transform: translateX(200%);
}

a.btn_round:hover {
    padding-left: 25px;
    background: #0084E9 url('../images/main/plus_wh.svg') no-repeat right 25px center;
}

/*섹션상세*/
.section_detail {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 20px;
    color: orange;
    text-align: center;
    border: 1px solid red;
}

/*=Our service=*/
ul.bnr_service {
    display: flex;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

ul.bnr_service li {
    flex: 1;
    border-right: 1px solid rgb(0, 0, 0, .1);
}

ul.bnr_service li:last-child {
    flex: 1;
    border-right: 0;
}

ul.bnr_service li a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding-bottom: 80px;
    text-align: center;
    word-break: keep-all;
}

ul.bnr_service li a:hover {
    background: rgb(0, 0, 0, .02);
    transition: all 0.3s;
}

ul.bnr_service li a .title {
    margin-bottom: 5vh;
    transition: all 0.3s;
}

ul.bnr_service li a:hover .title {
    padding-bottom: 10px;
}

ul.bnr_service li a h3 {
    margin-bottom: 15px;
    padding: 0px 10px;
    font-size: 27px;
    transition: all 0.3s;
}

ul.bnr_service li a:hover h3 {
    color: #0084E9;
}

ul.bnr_service li a p {
    padding: 0px 10px;
    font-size: 17px;
    color: rgb(0, 0, 0, .5);
}

ul.bnr_service li a .bg_wrap {
    position: relative;
    width: 100%;
    height: 26vh;
    margin-bottom: 1.5vw;
}

ul.bnr_service li a .bg_area {
    width: 100%;
    height: 26vh;
}

ul.bnr_service li a .bg_area.bg1 {
    background: url('../images/main/section2_bg1.png') no-repeat center;
    background-size: cover;
    overflow: hidden;
}

ul.bnr_service li a .bg_area.bg2 {
    background: url('../images/main/section2_bg2.png') no-repeat center;
    background-size: cover;
    overflow: hidden;
}

ul.bnr_service li a .bg_area.bg3 {
    background: url('../images/main/section2_bg3.png') no-repeat center;
    background-size: cover;
    overflow: hidden;
}

ul.bnr_service li a .bg_area.bg4 {
    background: url('../images/main/section2_bg4.png') no-repeat center;
    background-size: cover;
    overflow: hidden;
}

ul.bnr_service li a .bg_area.bg5 {
    background: url('../images/main/section2_bg5.png') no-repeat center;
    background-size: cover;
    overflow: hidden;
}


/* 밝기효과를 위한 오버레이 */
ul.bnr_service li a .bg_area.bg1::after,
ul.bnr_service li a .bg_area.bg2::after,
ul.bnr_service li a .bg_area.bg3::after,
ul.bnr_service li a .bg_area.bg4::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 26vh;
    background: rgba(0, 0, 0, 0);
    /* 처음에는 투명 */
    transition: background 0.3s ease;
}

/* 마우스 오버 → 오버레이가 어두워짐 */
ul.bnr_service li a:hover .bg_area.bg1::after,
ul.bnr_service li a:hover .bg_area.bg2::after,
ul.bnr_service li a:hover .bg_area.bg3::after,
ul.bnr_service li a:hover .bg_area.bg4::after {
    background: rgba(0, 0, 0, 0.3);
    /* 밝기 정도 조절 */
}

/*SVG버튼*/
ul.bnr_service li a .bg_area .more {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute; 
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    background: transparent;
    border: 2px solid rgb(255, 255, 255, 1);
    border-radius: 100px;
    z-index: 1;
    opacity: 0; /* 추가 */
    transition: all 0.3s;
}

ul.bnr_service li a:hover .bg_area .more {
    opacity: 1; /* 추가 */
}

ul.bnr_service li a .bg_area .more svg.plus {
    width: 15px;
    height: 15px;
    transition: transform 0.3s ease, fill 0.3s ease;
    transform-origin: center center;
    fill: black;
}

/*SVG 기본 상태*/
ul.bnr_service li a:hover .bg_area .more svg.plus {
    transform: rotate(270deg);
    fill: #ffffff;
}

/*hover → SVG 2회전 + 색상 화이트, 360deg × 2바퀴*/
ul.bnr_service li a:hover .bg_area .more svg.plus rect {
    fill: #ffffff;
}

/*fill 강제적용*/

/*=Solution Supply=*/
.solution {
    display: flex;
    justify-content: space-between;
}

.solution ul {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.solution ul li {
    position: relative;
    width: auto;
    padding: 0px 0px;
    text-align: center;
}

.solution ul li a {
    display: block;
    padding-top: 0;
}

/* 아이콘 */
.solution_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 1.5vh;
    width: 250px;
    height: 250px;
    border-radius: 250px;
    box-shadow: 0px 0px 10px rgb(0, 0, 0, 0.3);
}

.solution_icon.bg1 {
    background: url('../images/main/section3_bg1.png') no-repeat center;
    background-size: cover;
}

.solution_icon.bg2 {
    background: url('../images/main/section3_bg2.png') no-repeat center;
    background-size: cover;
}

.solution_icon.bg3 {
    background: url('../images/main/section3_bg3.png') no-repeat center;
    background-size: cover;
}

.solution_icon.bg4 {
    background: url('../images/main/section3_bg4.png') no-repeat center;
    background-size: cover;
}

/* 제목 */
.solution_tit {
    font-size: 27px;
    padding-bottom: 2vh;
    color: rgb(255, 255, 255, 1);
}

/*.solution ul li:hover .solution_tit {  color:#0084E9;  }*/

/* 텍스트 */
.solution_text {
    width: 100%;
    height: 100px;
    font-size: 17px;
    color: rgb(255, 255, 255, .8);
    word-break: keep-all;
}

/* MORE 버튼 */
.more_brd {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 80px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid #ffffff;
    border-radius: 100px;
}

.more_brd span.more {
    color: #ffffff;
}

.more_brd img {
    width: 13px;
}

/* Hover 시 위로 이동 */
.solution ul li:hover .solution_icon,
.solution ul li:hover .solution_tit,
.solution ul li:hover .solution_text {
    transform: translateY(-30px);
}

.solution ul li:hover .solution_more {
    opacity: 1;
    transform: translateY(-30px);
    visibility: visible;
    cursor: pointer;
}

/* 공통 transition */
.solution_icon,
.solution_tit,
.solution_text {
    position: relative;
    transition: all 0.4s;
}

/* solution_more 버튼 */
button.solution_more {
    visibility: hidden;
    margin: 0 auto;
    transform: translateY(0);
    transition: all 0.4s;
    opacity: 0;
}

/*Infra Implement=*/
/*배경이미지 줌애니메이션 적용*/
.infra_top_bg {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 48vh;
    overflow: hidden;
}

/* 배경 애니메이션 */
.infra_top_bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('../images/main/section5_bg.png') no-repeat center top;
    background-size: cover;
    animation: bg_zoom 12s linear infinite;/*bg_zoom 사용*/
    z-index: -1;
}

ul.bnr_infra {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

ul.bnr_infra li {
    /*flex: 1;*/
    width: 23%;
    background: #ffffff;
    border: 0px solid rgb(0, 0, 0, .1);
    border-radius: 20px;
    box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.10);
}

ul.bnr_infra li a {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding-bottom: 0px;
    text-align: center;
    word-break: keep-all;
}

ul.bnr_infra li a .title {
    margin-bottom: 0vh;
    padding: 32px 0px;
}

ul.bnr_infra li a h3 {
    margin-bottom: 15px;
    padding: 0px 10px;
    font-size: 27px;
    transition: all 0.3s;
}

ul.bnr_infra li a:hover h3 {
    color: #0084E9;
}

ul.bnr_infra li a p {
    padding: 0px 10px;
    font-size: 17px;
    color: rgb(0, 0, 0, .5);
    word-break: keep-all;
    overflow-wrap: break-word;
}

ul.bnr_infra li a p.small {
    letter-spacing: -0.08em;
}

ul.bnr_infra li a .bg_area {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 23vh;
    border-radius: 18px 18px 0px 0px;
    overflow: hidden;
}

ul.bnr_infra li a .bg_area.bg1 {}

ul.bnr_infra li a .bg_area.bg2 {}

ul.bnr_infra li a .bg_area.bg3 {}

ul.bnr_infra li a .bg_area.bg4 {}

ul.bnr_infra li a .bg_area.bg1::before {
    content: "";
    position: absolute;
    inset: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.6s cubic-bezier(.2, .8, .2, 1);
    /* 자연스러운 이징 */
    will-change: transform;
    /* 성능 힌트 */
    background: url('../images/main/section5_bg1.png') no-repeat center;
    background-size: cover;
    overflow: hidden;
}

ul.bnr_infra li a .bg_area.bg2::before {
    content: "";
    position: absolute;
    inset: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.6s cubic-bezier(.2, .8, .2, 1);
    /* 자연스러운 이징 */
    will-change: transform;
    /* 성능 힌트 */
    background: url('../images/main/section5_bg2.png') no-repeat center;
    background-size: cover;
    overflow: hidden;
}

ul.bnr_infra li a .bg_area.bg3::before {
    content: "";
    position: absolute;
    inset: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.6s cubic-bezier(.2, .8, .2, 1);
    /* 자연스러운 이징 */
    will-change: transform;
    /* 성능 힌트 */
    background: url('../images/main/section5_bg3.png') no-repeat center;
    background-size: cover;
    overflow: hidden;
}

ul.bnr_infra li a .bg_area.bg4::before {
    content: "";
    position: absolute;
    inset: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.6s cubic-bezier(.2, .8, .2, 1);
    /* 자연스러운 이징 */
    will-change: transform;
    /* 성능 힌트 */
    background: url('../images/main/section5_bg4.png') no-repeat center;
    background-size: cover;
    overflow: hidden;
}



ul.bnr_infra li a:hover .bg_area.bg1::before {
    transform: scale(1.1);
}

ul.bnr_infra li a:hover .bg_area.bg2::before {
    transform: scale(1.1);
}

ul.bnr_infra li a:hover .bg_area.bg3::before {
    transform: scale(1.1);
}

ul.bnr_infra li a:hover .bg_area.bg4::before {
    transform: scale(1.1);
}

/* 밝기효과를 위한 오버레이 */
ul.bnr_infra li a .bg_area.bg1::after,
ul.bnr_infra li a .bg_area.bg2::after,
ul.bnr_infra li a .bg_area.bg3::after,
ul.bnr_infra li a .bg_area.bg4::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 23vh;
    background: rgba(0, 0, 0, 0);
    /* 처음에는 투명 */
    transition: background 0.3s ease;
}

/* 마우스 오버 → 오버레이가 어두워짐 */
ul.bnr_infra li a:hover .bg_area.bg1::after,
ul.bnr_infra li a:hover .bg_area.bg2::after,
ul.bnr_infra li a:hover .bg_area.bg3::after,
ul.bnr_infra li a:hover .bg_area.bg4::after {
    background: rgba(0, 0, 0, 0.3);
    /* 밝기 정도 조절 */
}

/*SVG버튼*/
ul.bnr_infra li a .bg_area .more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin: 0 auto;
    background: transparent;
    border: 2px solid rgb(255, 255, 255, 0);
    border-radius: 100px;
    z-index: 1;
    transition: all 0.3s;
}

ul.bnr_infra li a:hover .bg_area .more {
    background: transparent;
    border: 2px solid rgb(255, 255, 255, 1);
}

ul.bnr_infra li a .bg_area .more svg.plus {
    width: 15px;
    height: 15px;
    transition: transform 0.3s ease, fill 0.3s ease;
    transform-origin: center center;
    fill: transparent;
}

/*SVG 기본 상태*/
ul.bnr_infra li a:hover .bg_area .more svg.plus {
    transform: rotate(270deg);
    fill: #ffffff;
}

/*hover → SVG 2회전 + 색상 화이트, 360deg × 2바퀴*/
ul.bnr_infra li a:hover .bg_area .more svg.plus rect {
    fill: #ffffff;
}

/*fill 강제적용*/

/*=SAINT-RC=*/
.section4_wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
    width: 100%;
}

.saint_rc_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 800px;
    height: 520px;
    padding-right: 10px;
}

.saint_rc_wrap img {
    position: absolute;
    left: 0;
    top: 0;
    object-fit: contain;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease;
}

/* 페이드인 되는 이미지 */
.saint_rc_wrap img.active {
    opacity: 1;
}

.btn_more_wrap_saint {
    position: absolute;
    bottom: 130px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
}

.saint_arrow_wrap {
    position: absolute;
    bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
}

.saint_arrow_wrap button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border: 1px solid #dddddd;
    border-radius: 60px;
    transition: all 0.3s;
}

.saint_arrow_wrap button:hover {
    border: 1px solid #0084E9;
}

.saint_arrow_wrap button:first-child {
    margin-right: 8px;
}

.saint_arrow_wrap button.prev {
    background: rgb(255, 255, 255, .9) url('../images/main/arrow_prev_bl.svg') no-repeat center;
}

.saint_arrow_wrap button.next {
    background: rgb(255, 255, 255, .9) url('../images/main/arrow_next_bl.svg') no-repeat center;
}

/*=We Grow=*/
/*배경 줌애니메이션 적용*/
.section6_bg {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* 배경 */
.section6_bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('../images/main/section6_bg.png') no-repeat 20% center;
    background-size: cover;
    animation: bg_zoom 12s linear infinite;/*bg_zoom 사용*/
    will-change: transform;
    z-index: -1;
}

.section6_wrap {
    display: flex;
    align-items: center;
    width: 100%;
}

ul.section6_banner {
    display: flex;
}

ul.section6_banner li {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 185px;
    text-align: center;
    border: 0px solid red;
}

ul.section6_banner li .circle {
    width: 130px;
    height: 130px;
    margin-bottom: 15px;
    border: 1.5px solid rgb(255, 255, 255, .2);
    border-radius: 120px;
}

ul.section6_banner li .circle.icon1 {
    background: url('../images/main/section6_icon1.svg') no-repeat center;
}

ul.section6_banner li .circle.icon2 {
    background: url('../images/main/section6_icon2.svg') no-repeat center;
}

ul.section6_banner li .circle.icon3 {
    background: url('../images/main/section6_icon3.svg') no-repeat center;
}

ul.section6_banner li .circle.icon4 {
    background: url('../images/main/section6_icon4.svg') no-repeat center;
}

ul.section6_banner li p {
    font-size: 18px;
    color: rgb(255, 255, 255, 1);
}

/*게시판검색*/
.total_wrap {
    display: flex;
    width: 100%;
    margin-bottom: 10px;
    align-items: flex-end;
    justify-content: space-between;
}

/*게시판 검색 수정*/
.board_search_box {
    display: flex;
    justify-content: center;
}

.board_search_con {
    display: flex;
    justify-content: center;
    gap: 5px;
}

.board_search_box select {
    flex-shrink: 0;
    width: 110px;
    border: 1px solid #d3d3d3;
    border-radius: 100px !important;
}

.board_search_box .search_word_con {
    display: flex;
    align-items: center;
    gap: 0px;
    width: 350px;
    height: 40px;
    background: #ffffff;
    border: 1px solid #d3d3d3;
    border-radius: 100px;
}

.board_search_box .search_word_con input {
    border: 0px !important;
    border-radius: 100px !important;
}

.board_search_box .search_word {
    width: calc(100% - 40px);
    height: 38px;
    border: 0;
    border: 1px solid #d3d3d3;
}

.board_search_box .bbs-search-btn {
    width: 40px;
    height: 40px;
    background: url('../../images/sub/btn_confirm_bg.svg') no-repeat center;
    /* color: #fff; */
    cursor: pointer;
}

button.btn_register, a.btn_register {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    min-width: 100px;
    height: 40px;
    padding: 0px 10px;
    color:#0084E9;
    font-weight: 500;
    background: #ffffff;
    border-radius: 100px;
    border: 1px solid #0084E9;
}

/*게시판리 UL형*/
/*항목*/
ul.program_header {
    float: left;
    width: 100%;
    border-top: 1px solid #000000;
    border-bottom: 1px solid #d3d3d3;
    background: #F6F7FB;
}

ul.program_header li {
    display: flex;
    align-items: center;
    justify-content: center;
    float: left;
    text-align: center;
    font-weight: 500;
    height: 50px;
    background: url('../images/sub/board_line.png') right bottom no-repeat;
}

ul.program_header li:last-child {
    background: none;
}

ul.program_header li:nth-child(1) {width: 8%;}
ul.program_header li:nth-child(2) {width: 20%;}
ul.program_header li:nth-child(3) {width: 47%;}
ul.program_header li:nth-child(4) {width: 10%;}
ul.program_header li:nth-child(5) {width: 15%;}

/*리스트*/
.program_list_line {}

.program_no_list {
    float: left;
    width: 100%;
    text-align:center;
    line-height:50px;
    border-bottom:1px solid #d3d3d3; 
}


ul.program_list {
    table-layout: fixed;
    /* 추가 */
    margin: 0 auto;
    display: table;
    width: 100%;
    border-bottom: 1px solid #d3d3d3;
    cursor: pointer;
}

ul.program_list li {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    padding: 13px 0px;
}

ul.program_list:hover .edu_name2.ellipsis {
    /*color:#0084E9;*/
}

ul.program_list li:nth-child(1) {width: 8%;}
ul.program_list li:nth-child(2) {width: 20%;}
ul.program_list li:nth-child(3) {width: 47%; text-align: left;}
ul.program_list li:nth-child(4) {width: 10%;}
ul.program_list li:nth-child(5) {width: 15%;}

img.request {
    vertical-align: middle;
}

ul.program_list li span {
    display: none
}

li.no_list {
    display: inline-block;
    width: 100%;
    line-height: 30px;
    text-align: center !important;
}

.edu_name1 {
    display: none;
}

.edu_name2 {}

.ellipsis {
    display: block;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.private {
    padding-left:20px;
    background: url('../images/sub/icon_lock.svg') no-repeat left center;
    background-size: 13px;
}

/* 페이징 */
.paging {
    width: 100%;
    text-align: center;
    margin: 20px 0px 0px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap:2px;
}

.paging a {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 28px;
    margin: 0px 1px;
	font-size: 13px;
    border-radius: 100px;
	text-align: center;
    border: 1px solid #d3d3d3;
	background-color: #ffffff;  
}

.paging a.first {
    background: url('../images/sub/arrow_first.svg') no-repeat center;
    background-size: 50%;
}

.paging a.prev {
    background: url('../images/sub/arrow_prev.svg') no-repeat center;
    background-size: 50%;
}

.paging a.next {
    background: url('../images/sub/arrow_next.svg') no-repeat center;
    background-size: 50%;
}

.paging a.last {
    background: url('../images/sub/arrow_last.svg') no-repeat center;
    background-size: 50%;
}

.paging a.on {
    color:#ffffff;
    background: #000000;
    border: 1px solid #000000;
}

.paging a.disabled {
    opacity: 0.5;
}

/*견적문의팝업*/
/* 팝업 */
.popup{
    position: fixed;
    top: 50%;
    left: 50%;
    width:700px;
    transform: translate(-50%, -50%);
    padding: 5px 20px 20px 20px;
    background: #ffffff;
    border-radius: 10px;
    z-index: 99999999;
    opacity:0;
    visibility:hidden;
    transition:all 0.2s ease;
}

/* 팝업 활성 */
.popup.active{
    opacity:1;
    visibility:visible;
    transform: translate(-50%, -50%);
}

/* 딤드 */
.overlay{
    position: fixed;
    top: 0;
    left: 0;
    width:100%;
    height:100%;
    background: rgba(0,0,0,0.5);
    z-index:9999999;
    opacity:0;
    visibility:hidden;
    transition:all 0.2s ease;
}

/* 딤드 활성 */
.overlay.active{
    opacity:1;
    visibility:visible;
}

.popup_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    height:40px;
    border-bottom: 1px solid #D9D9D9;
    background:#ffffff;
}

.popup_top h2 {
    font-size: 18px;
    font-weight: 600;
}

.form_inline {
    display: flex;
    align-items: center;
    gap:5px;
}

button.pop_close {
    width:18px;
    height:18px;
    background: url('../images/sub/icon_close.svg') no-repeat center;
    background-size: cover;
    cursor:pointer;
}

.pop_btn_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    /* position: absolute;
    bottom:0px; */
    width: 100%;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #d9d9d9;
    background:#ffffff;
}

button.normal, a.normal {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    height:30px;
    padding:0px 5px 1px 5px;
    border-radius: 100px;
    font-size: 15px;
    white-space: nowrap;
}

.col_brdblue {
    color:#ffffff;
    background:#0084E9;
}

.col_brdgray {
    color:#ffffff;
    background:#8a8a8a;
}

.info_area {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.info_area dl {
    display: flex;
    gap: 10px;
}

.info_area dl dt {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width:100px;
    min-height: 40px;
    color:#ffffff;
    font-size: 15px;
    font-weight: 400;
    background:#0084E9;
    border-radius: 8px;
}

.info_area dl dd {
    display: flex;
    align-items: center;
    gap:5px;
    width:100%;
    min-height: 40px;
    background:#ffffff;
}

.info_area dl dd p {
    flex-shrink: 0;
    font-size: 13px;
    color: rgb(0,0,0,0.7);
}

.info_area dl dd p.ch_txt {display: block;}

.info_area dl dd .view_box {
    display: flex;
    width: 100%;
    font-size: 15px;
    min-height: 40px;
    padding: 9px 10px;
    border: 1px #d3d3d3 solid !important;
    border-radius: 8px !important;
    line-height: 20px;
}

.info_area dl dd .view_box.scroll {
    /* display: flex;
    align-items: flex-start; */
    max-height: 80px;
    overflow-y: auto;
}

.ch_txt_mo_area {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/*비밀번호보기*/
.password_wrap {
    display: flex;
    align-items: center;
    width:100%;
    background:#ffffff;
    border: 1px solid #D9D9D9;
    border-radius: 8px;
}

.password_wrap.disabled {
    background:rgb(0,0,0,0.2);
    opacity: 0.6;
    pointer-events:none;
}

.password_wrap input:disabled {
    background: transparent !important;
}

.password_wrap input {
    border: 0px !important;
}

.btn_pw_view {
    flex-shrink: 0;
    width:40px;
    height:40px;
    background: url('../images/sub/ico_eye.svg') no-repeat center;
    background-size: 23px;
}

.btn_pw_view.on {
    flex-shrink: 0;
    width:40px;
    height:40px;
    background: url('../images/sub/ico_eye_none.svg') no-repeat center;
    background-size: 23px;
}

/*제품리스트*/
.group_wrap {
	display: flex;
	flex-direction: column;
	gap:80px;
}

.group_area {
	display: flex;
	flex-direction: column;
	gap:30px;
}

.group_area {
	display: flex;
	flex-direction: column;
	gap:30px;
}

.group_info {
	display: flex;
	flex-direction: column;
	gap:10px;
}

.group_info h2 {
	display: flex;
	align-items: center;
	font-size: 34px;
}

.group_info h2 span.line {
	position: relative;
	top:2px;
	width:1px;
	height:24px;
	background: rgb(0, 0, 0);
	margin: 0px 15px;
}

.group_info p {
	font-size: 24px;
	word-break: keep-all;
}

ul.group_product {
	display: flex;
	flex-wrap: wrap;
	/* gap:2%; */
	gap:20px;
}

ul.group_product li {
	display: flex;
	width: calc((100% - 60px) / 4); /*gap20, 3개 계산*/
}

ul.group_product li a {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 20px 15px;
	gap:10px;
	background: #f0f2f5;
	border-radius: 15px;
	transition:all 0.2s ease;
}

.icon_blank {
	position: absolute;
	top:15px;
	right:15px;
	width:30px;
	height:30px;
	background: rgb(0, 0, 0, .15) url('../images/sub/icon_blank.svg') no-repeat center;
	background-size: 60%;
	border-radius: 100px;
}

ul.group_product .thumb {
    display: flex;
    align-items: center;
    justify-content: center;
	height: 200px;
	overflow:hidden;
}

ul.group_product .thumb img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.2s ease;
}

/* hover 효과 */
ul.group_product li a:hover {
	background: #e6eaef;
}

ul.group_product li a:hover .thumb img {
	transform: scale(1.05);
}

ul.group_product .info {
	display: flex;
	flex-direction: column;
	gap:10px;
	width: 100%;
}

.product_name {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid rgb(0,0,0,.5);
}

.product_name h4 {
	flex-shrink: 0;
	font-size: 18px;
	line-height: 34px;
}

.product_name span {
	flex-shrink: 0;
	font-size: 16px;
	line-height: 34px;
}

ul.sales_points {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap:4px;
}

ul.sales_points li {
	width: 100%;
	position: relative;
	padding-left: 10px;
	border:0px;
	word-break: keep-all;
}

ul.sales_points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 11px;
	width: 4px;
	height: 4px;
	background: #000000;
}

/*HPE*/
.hpe_info {
	display: flex;
	gap: 50px;
}

.hpe_pro {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	padding:20px;
	background: #f0f2f5;
	border-radius: 15px;
}

.hpe_pro.nopad {
	padding:0px !important;
	background: transparent !important;
}

.hpe_pro img {
	width: 100%;
}

.hpe_pro.nopad img {
    border-radius: 15px;
}

.hpe_word {
	display: flex;
	justify-content: center;
	flex-direction: column;
	gap:0px;
	width: 50%;
	padding: 10px 0px;
}

.hpe_word h4 {
	color: rgb(0, 0, 0, .4);
	font-size: 32px;
}

.hpe_word p {
	font-size: 55px;
	font-weight: 500;
	margin-bottom: 10px;
}

ul.hpe_points {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap:4px;
}

ul.hpe_points li {
	width: 100%;
	position: relative;
	padding-left: 10px;
	font-size: 18px;
	border:0px;
	word-break: keep-all;
}

ul.hpe_points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 13px;
	width: 4px;
	height: 4px;
	background: #000000;
}

/*INFRA*/	
.pro_top {
    display: flex;
    gap:4%;
	width: 100%;
	margin-bottom: 50px;
	padding-bottom: 50px;
    border-bottom:1px dashed rgb(0,0,0, .2);
}

.brand_pic {
	flex-shrink: 0;
	width:25%;
}

.brand_pic img {
	width:100%;
    border:0px solid #d3d3d3;
	border-radius: 15px;
}

.brand_text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap:10px;
	width: 75%;
	word-break: keep-all;
}

.brand_text p {
    /*color: #0084E9;*/
	font-size: 26px;
	font-weight: 500;
}

.brand_text span {
	font-size: 18px;
}

/*문단+이미지*/
.paragraph_wrap {
	display: flex;
	flex-direction: column;
	gap:30px;
}

.paragraph_word {
	display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
	word-break: keep-all;
}

.paragraph_word.brd {
	border-bottom:1px dashed #CCCCCC;
}

.paragraph_word h4 {
	position: relative;
	padding-top: 12px;
	font-size: 26px;
	font-weight: 500;
}

.paragraph_word h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 50px;
	height: 1px;
	background: #000;
}

.paragraph_word p {
    display: flex;
    flex-direction: column;
	font-size: 18px;
}

/*REDHAT*/
ul.redhat_platform {
	display: flex;
	flex-wrap: wrap;
	gap: 0px;
}

.redhat_plat_line {
    width: 100%;
    height: 30px;
    border: 2px solid #EE0000;
    border-bottom: 0px;
}

ul.redhat_platform li {
	display: flex;
	flex-direction: column;
    align-items: center;
	gap: 10px;
	width: 25%; /* gap의 절반 빼기 */
	border:0px solid red;
}

ul.redhat_platform li .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 150px;
	height: 140px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
}

ul.redhat_platform li .icon.ic1 { background-image: url('../images/sub/icon_plat1.svg'); }
ul.redhat_platform li .icon.ic2 { background-image: url('../images/sub/icon_plat2.svg'); }
ul.redhat_platform li .icon.ic3 { background-image: url('../images/sub/icon_plat3.svg'); }
ul.redhat_platform li .icon.ic4 { background-image: url('../images/sub/icon_plat4.svg'); }
ul.redhat_platform li .icon.ic5 { background-image: url('../images/sub/icon_plat5.svg'); }
ul.redhat_platform li .icon.ic6 { background-image: url('../images/sub/icon_plat6.svg'); }
ul.redhat_platform li .icon.ic7 { background-image: url('../images/sub/icon_plat7.svg'); }
ul.redhat_platform li .icon.ic8 { background-image: url('../images/sub/icon_plat8.svg'); }

ul.redhat_platform li .icon img {
	width:100%;
}

ul.redhat_platform li .word {
	display: flex;
	align-items: center;
	word-break: keep-all;
	text-align: center;
	line-height: 20px;
	font-size: 18px;
}

h3.redhat_plat_box {
	display: flex;
	align-items:center;
	justify-content: center;
	padding:12px 10px;
	color:#ffffff;
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	background: #EE0000;
	border-radius: 10px;
}

/*그림박스*/
.graphic_box {
	width: 100%;
	padding: 40px;
	border: 1px solid #d9d9d9;
	border-radius: 15px;
    background: #ffffff;
}

/*그림박스*/
.graphic_box.gap {
	display: flex;
	flex-direction: column;
	gap:30px;
}

/*REDHAT*/
ul.redhat_pros {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

ul.redhat_pros li {
	display: flex;
	gap: 30px;
	width: calc(50% - 15px); /* gap의 절반 빼기 */
}

ul.redhat_pros li .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 100px;
	height: 100px;
	border-radius: 100%;
	background-color: #f2f2f2;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60%;
}

ul.redhat_pros li .icon.ic1 { background-image: url('../images/sub/icon_pros1.svg'); }
ul.redhat_pros li .icon.ic2 { background-image: url('../images/sub/icon_pros2.svg'); }
ul.redhat_pros li .icon.ic3 { background-image: url('../images/sub/icon_pros3.svg'); }
ul.redhat_pros li .icon.ic4 { background-image: url('../images/sub/icon_pros4.svg'); }
ul.redhat_pros li .icon.ic5 { background-image: url('../images/sub/icon_pros5.svg'); }
ul.redhat_pros li .icon.ic6 { background-image: url('../images/sub/icon_pros6.svg'); }

ul.redhat_pros li .icon img {
	width:60%;
}

ul.redhat_pros li .word {
	display: flex;
	align-items: center;
	width: 100%;
	word-break: keep-all;
	font-size: 18px;
}

ul.redhat_pros li .word span.red {
	color:#EE0000;

}

/*saint 페이지*/
.page {
  width: 100%;
}

/* HEAD */
.head {
  text-align: center;
  margin-bottom: 36px;
}

.head .sub {
	display: inline-block;
	font-size: 22px;
	color: #1a60d8;
	font-weight: 600;
	background: #e4eeff;
	border: 0px solid #bdd4f8;
	border-radius: 999px;
	padding: 5px 20px 7px;
}

.head h1 {
  margin-top: 10px;
  font-size: clamp(1.7rem, 3.8vw, 2.8rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #0a1e3d;
}

.head h1 em {
  font-style: normal;
  color: #1a60d8;
}

/* EFFECTS */
.effects {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
  word-break: keep-all;
}

.eff_card {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 5px;
	background: #fff;
	border-radius: 15px;
	border: 1px solid #d3d3d3;
	padding: 20px 5%;
}

.eff_icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 85%;
}

/* 개별 아이콘만 분리 */
.eff_icon.ic1 {
	background-image: url('../images/sub/icon_saint1.svg');
}

.eff_icon.ic2 {
	background-image: url('../images/sub/icon_saint2.svg');
}

.eff_icon.ic3 {
	background-image: url('../images/sub/icon_saint3.svg');
}

.eff_title {
	margin-top: 10px;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
}

.eff_body {
  text-align: center;
}

/*saint 절차*/
.saint_step_wrap {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-bottom: 60px;
}

ul.saint_step_area {
	display: flex;
	width:100%;
}

ul.saint_step_area li {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width:20%;
	height:50px;
	color:#ffffff;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	border-radius: 100px;
}

ul.saint_step_area li.col1 { background: #3a7ae0; }
ul.saint_step_area li.col2 { background: #1a60d8; }
ul.saint_step_area li.col3 { background: #1db896; }
ul.saint_step_area li.col4 { background: #0f9f78; }
ul.saint_step_area li.col5 { background: #a375f7; }
ul.saint_step_area li.col6 { background: #8b5cf6; }
ul.saint_step_area li.col7 { background: #f59e0b; }

ul.saint_step_area li.arrow {
	flex-shrink: 0;
	width:20px;
}

ul.saint_step_area li.arrow::before { 
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #b3b3b3;
  border-right: 3px solid #b3b3b3; 
  transform: rotate(45deg);
}

/* ── STEP HOVER TOOLTIP ── */
.svg-wrapper {
  position: relative;
}

.step-tooltip {
  display: none;
  position: absolute;
  z-index: 100;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 20px 56px rgba(10, 30, 80, 0.20), 0 3px 10px rgba(10, 30, 80, 0.10);
  border: 1px solid #d3d3d3;
  padding: 0;
  overflow: hidden;
  width: 700px;
  pointer-events: none;
  animation: tooltipFadeIn 0.18s ease;
}

@keyframes tooltipFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px) scale(0.97);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.step-tooltip.visible {
  display: block;
}

.step-tooltip img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: top;
  display: block;
}

.tooltip-meta {
  padding: 14px 18px 16px;
  border-top: 1px solid #d3d3d3;
}

.tooltip-badge {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  padding: 3px 12px;
  border-radius: 5px;
  color: #fff;
  margin-bottom: 7px;
}

.tooltip-badge.col1 { background: #3a7ae0; }
.tooltip-badge.col2 { background: #1a60d8; }
.tooltip-badge.col3 { background: #1db896; }
.tooltip-badge.col4 { background: #0f9f78; }
.tooltip-badge.col5 { background: #a375f7; }
.tooltip-badge.col6 { background: #8b5cf6; }
.tooltip-badge.col7 { background: #f59e0b; }

.tooltip-title {
  font-size: 1.05rem;
  font-weight: 500;
}

.tooltip-desc {
  margin-top: 5px;
  font-size: 0.85rem;
  /*color: #607898;*/
  line-height: 1.6;
}

/* 모바일용 기본 숨김 */
.mobile-steps {
  display: none;
}

/* 카드 스타일 */
.m_step {
	position: relative;
	padding: 18px;
	margin-bottom: 10px;
	background: #fff;
	border-radius: 14px;
	border: 1px solid #d3d3d3;
}

.m_step span.view {
  position: absolute;
  right: 20px;
  top: 51px;
  width: 14px;
  height: 14px;
}

/* 기본 + */
.m_step span.view::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  background: #757575;
  transform: translate(-50%, -50%);
}

.m_step span.view::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 14px;
  background: #757575;
  transform: translate(-50%, -50%);
}

/* 클릭 시 - */
.m_step.active span.view::after {
  opacity: 0;
}

.m_badge {
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}

.m_badge.col1 { background: #3a7ae0; }
.m_badge.col2 { background: #1a60d8; }
.m_badge.col3 { background: #1db896; }
.m_badge.col4 { background: #0f9f78; }
.m_badge.col5 { background: #a375f7; }
.m_badge.col6 { background: #8b5cf6; }
.m_badge.col7 { background: #f59e0b; }

.m_step h3 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
}

.m_step p {
  font-size: 14px;
}

/* ◆◆◆◆◆◆◆◆◆◆ 1440px이하 ◆◆◆◆◆◆◆◆◆◆ */
@media only screen and (max-width:1440px) {
    .swiper_vh {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 100%;
        height: 100%;
        padding: 60px 0px;
    }

    .swiper_vh.nopadding {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 100%;
        height: 100%;
        padding: 0px 0px !important;
    }

    .section_top {
        justify-content: center;
        width: 100%;
        height: 100%;
        padding: 0vh 0px 0px 0px;
        border: 0px solid blue;
    }

    /*수직 상단 정렬*/

    /*섹션타이틀*/
    /*.section_title {  margin:0vh 0px 3vh 0px;}*/
    .section_title h1 {
        font-size: 16px;
    }

    .section_title h2 {
        font-size: 40px;
        line-height: 1;
    }

    .section_title h3 {
        margin-top: 18px;
        font-size: 18px;
    }

    .section_title h3.bk {
        margin-top: 18px;
        font-size: 18px;
    }

    .section_title h4 {
        margin-top: 15px;
        font-size: 16px;
    }

    .section_title.copy {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 0px 0px 30px 0px !important;
        text-align: center;
    }

    .section_title.copy2 {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 0px 0px 30px 0px !important;
        text-align: center;
    }

    /*사이드 파랄렉스*/
    .d-none {
        display: none !important;
    }

    /*반응형 wrap*/
    .res_wrap {
        width: 100%;
        padding: 0px 15px;
    }

    /*스크롤 내비*/
    .m_nav {
        position: fixed;
        right: 22px;
    }

    .m_nav .active em {
        display: none;
    }

    /*사이드SNS*/
    .side_btn_wrap {
        right: 10px;
        bottom: 50px;
    }

    a.side_btn {
        width: 35px;
        height: 35px;
    }

    a.sns1 {
        background-size: 18px;
    }

    a.sns2 {
        background-size: 18px;
    }

    a.sns3 {
        background-size: 18px;
    }

    a.top_btn {
        background-size: 15px;
    }

    /*mo용이미지*/
    .section-main-visual .background.bg1 {
        background: url('../images/main/section1_bg1.png') no-repeat center;
    }

    .section-main-visual .background.bg2 {
        background: url('../images/main/section1_bg2.png') no-repeat center;
    }

    /*.section-main-visual .swiper-button-prev { display: block; position: absolute; left:3%; top:0; margin: 0; width: 35px; height: 35px;   }
.section-main-visual .swiper-button-next { display: block; position: absolute; right:3%; top:0;  margin: 0; width: 35px; height: 35px; }*/

    .section-main-visual .control {
        bottom: 4vh;
    }

    .scroll-icon {
        display: none;
    }


    /*타이틀*/
    .tit_big_nbrd h3 {
        font-size: 18px;
        font-weight: 600;
        background: url('/images/sub/tit_arrow.svg') no-repeat 0px 4px;
        background-size: 4px;
    }

    .tit_big_brd h3 {
        font-size: 18px;
        font-weight: 600;
        background: url('/images/sub/tit_arrow.svg') no-repeat 0px 4px;
        background-size: 4px;
    }

    .tit_big_client {
        font-size: 20px;
    }



    /*=====new푸터=====*/
    footer {
        font-size: 14px;
    }

    .ft_center {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /*왼쪽*/
    .ft_top_left {
        align-items: center;
        width: 100%;
        margin-bottom: 20px;
    }

    a.bottom_logo {
        width: 84px;
        height: 30px;
        margin-bottom: 20px;
    }

    .ft_info_wrap {
        align-items: center;
    }

    .ft_info_wrap .line2 {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .ft_info_wrap .line2 .area {
        display: flex;
    }

    dl.ft_info {
        margin: 10px 20px 0px 0px;
        padding-right: 0px;
        font-size: 13px;
        border-right: 0px;
    }

    dl.ft_info.none {
        margin: 10px 0px 0px 0px;
    }

    dl.ft_info dt {
        margin-right: 5px;
    }

    dl.ft_info dd {
        color: rgb(255, 255, 255, .6)
    }

    /*오른쪽*/
    .ft_top_right {
        width: auto;
    }

    /* 하단 Contact Us 버튼 */
    a.btn_round_us {
        position: relative;
        display: flex;
        align-items: center;
        width: 115px;
        height: 35px;
        padding-left: 15px;
        font-size: 13px;
        color: #ffffff;
        background: #0084E9 url('../images/include/icon_contact.svg') no-repeat right 15px center;
        background-size: 13px;
    }

    /* 45도 화이트 그라데이션 비활성*/
    a.btn_round_us::before {
        display: none !important;
    }

    a.btn_round_us:hover {
        padding-left: 15px;
        background: #0084E9 url('../images/include/icon_contact.svg') no-repeat right 15px center;
        background-size: 13px;
    }


    /*하단*/
    p.copy {
        text-align: center;
    }

    /*기본화면*/
    .sub_area {
        width: 100%;
        padding: 30px 15px 50px;
    }

    /* 서브 3depth 탭 */
    ul.depth3_tab {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 30px;
    }

    ul.depth3_tab li {
        flex: 0 0 49.5%;
        /* 너비 50% 고정 */
        margin: 0px 0px 5px 1%;
        height: 40px;
    }

    ul.depth3_tab li:nth-child(odd) {
        margin: 0px 0px 5px 0%;
    }

    /*연혁*/
    .history_main_wrap {
        display: flex;
        flex-direction: column;
        gap: 20px;
        border-radius: 15px;
    }

    .history_title {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        width: 100%;
    }

    .history_title h3 {
        position: relative;
        top: 2px;
        font-size: 40px;
    }

    .history_title h2 {
        padding-left: 15px;
        font-size: 55px;
    }

    /*Infra Implement=*/
    ul.bnr_infra li a:hover .bg_area.bg1::before {
        transform: scale(1);
    }

    ul.bnr_infra li a:hover .bg_area.bg2::before {
        transform: scale(1);
    }

    ul.bnr_infra li a:hover .bg_area.bg3::before {
        transform: scale(1);
    }

    ul.bnr_infra li a:hover .bg_area.bg4::before {
        transform: scale(1);
    }

    /*메인 View More 버튼*/
    a.btn_round {
        position: relative;
        display: flex;
        align-items: center;
        width: 115px;
        height: 35px;
        padding-left: 15px;
        font-size: 13px;
        color: #ffffff;
        background: #0084E9 url('../images/main/plus_wh.svg') no-repeat right 15px center;
    }

    /* 45도 화이트 그라데이션 비활성*/
    a.btn_round::before {
        display: none !important;
    }

    a.btn_round:hover {
        padding-left: 15px;
        background: #0084E9 url('../images/main/plus_wh.svg') no-repeat right 15px center;
    }

    /*=Solution Supply=*/
    .solution ul {
        flex-wrap: wrap;
    }

    .solution ul li {
        width: 50%;
    }

    /* 아이콘 */
    .solution_icon {
        margin: 0 auto 10px;
    }

    .solution_icon img {
        width: 50%;
    }

    /* 제목 */
    .solution_tit {
        padding-bottom: 5px;
    }

    /* 텍스트 */
    .solution_text {
        height: auto;
    }

    /* MORE 버튼 */
    .more_brd {
        display: none
    }

    /* Hover 시 위로 이동 */
    .solution ul li:hover .solution_icon,
    .solution ul li:hover .solution_tit,
    .solution ul li:hover .solution_text {
        transform: none !important;
        transition: none !important;
    }

    .solution ul li:hover .solution_more {
        display: none
    }

    /*=SAINT-RC=*/
    .section4_wrap {
        flex-direction: column;
        align-items: center;
    }

    .saint_rc_wrap img {
        object-fit: contain;
        width: 100%;
        height: 100%;
    }

    .btn_more_wrap_saint {
        position: absolute;
        bottom: -20px !important;
        display: flex;
        align-items: center;
        justify-content: center !important;
        width: 100% !important;
    }

    .saint_arrow_wrap button:hover {
        border: 1px solid #dddddd;
    }

    .saint_arrow_wrap button:first-child {
        margin-right: 0px !important;
    }

    .saint_arrow_wrap button.prev {
        background-size: 30% !important;
    }

    .saint_arrow_wrap button.next {
        background-size: 30% !important;
    }

    /*=We Grow=*/
    .section6_wrap {
        flex-direction: column;
    }

    .section6_bg {
        padding: 60px 0px 20px;
    }

    /*=Infra Implement=*/
    /* 밝기효과를 위한 오버레이 */
    ul.bnr_infra li a .bg_area.bg1::after,
    ul.bnr_infra li a .bg_area.bg2::after,
    ul.bnr_infra li a .bg_area.bg3::after,
    ul.bnr_infra li a .bg_area.bg4::after {
        display: none
    }

    /* 마우스 오버 → 오버레이가 어두워짐 */
    ul.bnr_infra li a:hover .bg_area.bg1::after,
    ul.bnr_infra li a:hover .bg_area.bg2::after,
    ul.bnr_infra li a:hover .bg_area.bg3::after,
    ul.bnr_infra li a:hover .bg_area.bg4::after {
        display: none
    }

    ul.bnr_infra li a .bg_area.bg1:hover::before {
        transform: none;
    }

    ul.bnr_infra li a .bg_area.bg2:hover::before {
        transform: none;
    }

    ul.bnr_infra li a .bg_area.bg3:hover::before {
        transform: none;
    }

    ul.bnr_infra li a .bg_area.bg4:hover::before {
        transform: none;
    }

    /*SVG버튼*/
    ul.bnr_infra li a .bg_area .more {
        display: none;
    }

}

/* ◆◆◆◆◆◆◆◆◆◆ 1280px이하 ◆◆◆◆◆◆◆◆◆◆ */
@media only screen and (max-width:1280px) {
    .history_tab_wrap {
        position: sticky;
        top: 60px;
        /* 상단에서 60px 지점에 고정 */
        padding-top: 30px;
    }

    .history_area {
        scroll-margin-top: 155px;
    }

    .history_list_wrap {
        margin-top: 30px;
    }

    ul.history_tab li {
        height: 40px;
    }

    /*주요인증*/
    ul.certificate {
        display: flex;
        flex-wrap: wrap;
    }

    ul.certificate li span {
        font-size: 16px;
    }

    ul.certificate li p {
        font-size: 20px;
    }

    /*제품리스트*/
    .group_wrap {
        display: flex;
        flex-direction: column;
        gap:50px;
    }

    .group_area {
        gap: 20px;
    }

    .group_info {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .group_info h2 span.line {
        height:16px;
        margin: 0px 8px;
    }

    /* hover 효과 */
    ul.group_product li a:hover {
        background: rgb(228, 231, 236, 0.5);
    }

    ul.group_product li a:hover .thumb img {
        transform: scale(1);
    }

    .product_name h4 {
        font-size: 16px;
    }

    .product_name span {
        font-size: 14px;
    }

    ul.sales_points li::before {
        top: 9px !important;
    }

    /*saint 페이지*/
.head .sub {
	font-size: 16px;
}

.eff_icon {
	width: 70px;
	height: 70px;
}

.eff_title {
	margin-top: 10px;
	font-size: 16px;
}

.eff_body {
  font-size: 14px;
}

}


/* ◆◆◆◆◆◆◆◆◆◆ 768px~1280px ◆◆◆◆◆◆◆◆◆◆ */
@media only screen and (min-width:768px) and (max-width:1280px) {
/*제품리스트*/
.group_info h2 {
	font-size: 26px;
}

.group_info p {
	font-size: 16px;
}

ul.group_product li {
	width: calc((100% - 40px) / 3); /*gap20, 2개 계산*/
}

ul.group_product .thumb {
	height: 15vw;
}

ul.sales_points {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap:4px;
}

ul.sales_points li {
	width: 100% !important;
	font-size: 15px;
}

/*HPE*/
.hpe_info {
	display: flex;
	gap: 40px;
}

.hpe_pro {
	padding:10px;
}

.hpe_word h4 {
	font-size: 24px;
}

.hpe_word p {
	font-size: 38px;
}

ul.hpe_points li {
	font-size: 15px;
}

ul.hpe_points li::before {
	top: 9px;
}

/*INFRA*/
.brand_text p {
	font-size: 24px;
}

.brand_text span {
	font-size: 15px;
}

/*문단+이미지*/
.paragraph_word h4 {
	font-size: 24px;
}

.paragraph_word h4::before {
    width: 40px;
}

.paragraph_word p {
	font-size: 15px;
}

/*REDHAT*/
ul.redhat_platform li .icon {
	width:120px;
	height:110px;
}

ul.redhat_platform li .word {
	font-size: 15px;
}

/*그림박스*/
.graphic_box {
	padding: 30px;
}

ul.redhat_pros {
	gap: 20px;
}

ul.redhat_pros li {
	gap: 20px;
	width: calc(50% - 10px); /* gap의 절반 빼기 */
}

ul.redhat_pros li .icon {
	width:90px;
	height:90px;
}

ul.redhat_pros li .word {
	font-size: 15px;
}

/*saint 절차*/
.saint_step_wrap {
	margin-bottom: 30px;
}

ul.saint_step_area li {
	height:50px;
	font-size: 13px;

}

}

/* ◆◆◆◆◆◆◆◆◆◆ 768px~1440px ◆◆◆◆◆◆◆◆◆◆ */
@media only screen and (min-width:768px) and (max-width:1440px) {

    .section-main-visual {
        height: 700px !important;
    }

    /*서브상단비주얼*/
    .sub_common {
        height: 350px;
    }

    .line_break {
        display: inline;
    }

    /*메인비주얼이너*/
    .section-main-visual .inner {
        width: 72%
    }

    .section-main-visual .text-wrap .title {
        font-size: 4.7vw;
    }

    .section-main-visual .text-wrap .text {
        font-size: 20px;
    }



    .w_user {
        display: inline
    }

    .m_user {
        display: none
    }

    /*페이지타이틀*/
    .page_title_area {
        padding: 50px 10px 0px 10px;
    }

    .page_title_area h1.title {
        font-size: 40px;
        background: url('../images/sub/page_line.svg') no-repeat center top;
    }

    /*인사말*/
    .ceo_top_wrap {
        padding-bottom: 40px;
    }

    .ceo_top_wrap h2 {
        font-size: 42px;
    }

    .ceo_top_wrap p {
        font-size: 16px;
    }

    .ceo_top_wrap span {
        font-size: 12vw !important;
    }

    .ceo_mid_wrap {
        margin-bottom: 40px;
        padding: 30px 40px;
    }

    .ceo_mid_txt {
        width: calc(100% - 380px);
    }

    .ceo_mid_txt h3 {
        font-size: 20px;
    }

    .ceo_mid_img img {
        position: absolute;
        bottom: 0px;
        width: 360px;
    }

    /*회사개요*/
    .world_map {
        height: 550px;
        margin: 30px 0px 60px;
        background: url('../images/sub/world_map_mt.png') no-repeat center top;
        background-size: cover;
    }

    ul.overview_bnr {
        width: 100%;
        padding: 0px 15px;
    }

    ul.overview_bnr li {
        width: 25%;
    }

    ul.overview_bnr li .circle {
        width: 165px;
        height: 165px;
    }

    ul.overview_bnr li .ic {
        width: 45px;
        height: 45px;
        margin-bottom: 5px;
    }

    ul.overview_bnr li p.figure {
        font-size: 35px;
    }

    /*문구*/
    .overview_wrap {
        justify-content: center;
        top: 60px;
        width: 100%;
    }

    .overview_area {
        align-items: center;
        padding: 0px 15px;
    }

    .overview_area h1 img {
        margin: 0 auto;
    }

    .overview_area h2 {
        font-size: 40px;
        margin-top: 10px;
        text-align: center;
    }

    .overview_area p {
        text-align: center;
    }

    /*주요고객*/
    h3.subtop_copy {
        font-size: 24px;
    }

    h3.subtop_copy .line_wrap .line {
        height: 40px;
    }

    /*주요고객목록*/
    ul.client {
        gap: 20px;
    }

    ul.client li {
        width: calc((100% - 60px) / 4);
    }

    /*구축사례*/
    ul.performance {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    ul.performance li {
        width: calc((100% - 40px) / 3);
        /* 3개 기준 (gap 20px × 2 = 40px) */
    }

    ul.performance li .img_box img {
        width: 70%;
    }

    ul.performance li span {
        font-size: 16px;
    }

    ul.performance li p {
        font-size: 16px;
    }

    /*=Our service=*/
    ul.bnr_service {
        position: relative;
        flex-wrap: wrap;
        padding: 0px 0px 0px 10px;
        margin: 0 -5px;
        height: auto;
    }

    ul.bnr_service li {
        position: relative;
        flex: 0 0 calc(50% - 20px);
        height: 190px;
        margin-bottom: 20px;
        border: 1px solid rgba(0, 0, 0, 0.1) !important;
        border-radius: 10px;
    }

    ul.bnr_service li:nth-child(1) {
    flex: 0 0 calc(100% - 20px); /* 전체 너비 */
    margin-left: 10px;
    margin-right: 10px;
}

    /*홀수 번째 li*/
    ul.bnr_service li:nth-child(odd) {
        margin-right: 10px;
        margin-left: 10px;
    }

    /*짝수 번째 li*/
    ul.bnr_service li:nth-child(even) {
        margin-left: 10px;
        margin-right: 10px;
    }

    ul.bnr_service li a {
        display: flex;
        flex-direction: row;
        width: 100%;
        height: 100%;
        padding-bottom: 0px;
    }

    ul.bnr_service li a .title {
        position: absolute;
        /* top: 30px; */
        width: 100%;
        color: #ffffff;
        z-index: 1;
        border: 0px solid red;
        border-radius: 10px;
        margin-bottom: 0;
    }

    ul.bnr_service li a:hover .title {
    padding-bottom: 0px;
}

    ul.bnr_service li a h3 {
        margin-bottom: 10px;
    }

    ul.bnr_service li a:hover h3 {
        color: inherit;
    }

    ul.bnr_service li a p {
        font-size: 16px;
        color: rgb(255, 255, 255, .8);
    }

    ul.bnr_service li a .bg_wrap {
        position: relative;
        width: 100%;
        height: 100%;
        margin-bottom: 0;
    }

    ul.bnr_service li a .bg_area {
        width: 100%;
        height: 100%;
        border-radius: 10px;
    }

    /* 밝기효과를 위한 오버레이 */
    ul.bnr_service li a .bg_area.bg1::after,
    ul.bnr_service li a .bg_area.bg2::after,
    ul.bnr_service li a .bg_area.bg3::after,
    ul.bnr_service li a .bg_area.bg4::after {
        display: none;
    }

    /* 마우스 오버 → 오버레이가 어두워짐 */
    ul.bnr_service li a:hover .bg_area.bg1::after,
    ul.bnr_service li a:hover .bg_area.bg2::after,
    ul.bnr_service li a:hover .bg_area.bg3::after,
    ul.bnr_service li a:hover .bg_area.bg4::after {
        display: none;
    }

    /*SVG버튼*/
    ul.bnr_service li a .bg_area .more {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 17px;
        width: 45px;
        height: 45px;
        margin: 0 auto;
        background: #ffffff;
    }

    ul.bnr_service li a:hover .bg_area .more {
        display: none;
        background: #ffffff;
    }

    ul.bnr_service li a .bg_area .more svg.plus {
        width: 15px;
        height: 15px;
        fill: black;
    }

    /*SVG 기본 상태*/
    ul.bnr_service li a:hover .bg_area .more svg.plus {
        transform: rotate(0deg);
        fill: #000000;
    }

    /*hover → SVG 2회전 + 색상 화이트, 360deg × 2바퀴*/
    ul.bnr_service li a:hover .bg_area .more svg.plus rect {
        fill: #000000;
    }

    /*fill 강제적용*/

    /*=Solution Supply=*/
    /* 아이콘 */
    .solution_icon {
        width: 160px;
        height: 160px;
    }

    /* 텍스트 */
    .solution_text {
        font-size: 16px;
    }

    /*=Infra Implement=*/
    .infra_top_bg {
        height: 320px;
    }

    ul.bnr_infra {
        display: flex;
        flex-wrap: wrap;
        /* 줄바꿈 허용 */
    }

    ul.bnr_infra li {
        width: 49%;
        margin-bottom: 20px;
    }

    ul.bnr_infra li a .title {
        width: 60%;
        padding: 0px 0px 0px 1%;
    }

    ul.bnr_infra li a h3 {
        font-size: 2.4vw;
        text-align: left
    }

    ul.bnr_infra li a:hover h3 {
        color: inherit;
    }

    ul.bnr_infra li a p {
        font-size: 16px;
        text-align: left;
        line-height: 1.4;
        letter-spacing: -0.05em;
    }

    ul.bnr_infra li a {
        display: flex;
        align-items: center;
        flex-direction: row;
        height: 180px;
    }

    ul.bnr_infra li a .bg_area {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 40%;
        height: 100%;
        border-radius: 18px 0px 0px 18px;
    }

    /*=SAINT-RC=*/
    .saint_rc_wrap {
        width: 100%;
        height: 450px;
    }

    .saint_arrow_wrap {
        position: absolute;
        bottom: 200px !important;
        display: flex;
        align-items: center;
        justify-content: space-between !important;
        width: 100% !important;
    }

    .saint_arrow_wrap button {
        width: 55px !important;
        height: 55px !important; 
        border-radius: 55px !important;
    }

}

/* ◆◆◆◆◆◆◆◆◆◆ 768px이하 ◆◆◆◆◆◆◆◆◆◆ */
@media only screen and (max-width:768px) {
    body {
        min-width: 100%;
        font-size: 15px;
    }

    .line_break {
        display: inline;
    }

    /*서브상단비주얼*/
    .sub_common {
        height: 270px;
    }

    .section-main-visual {
        height: 500px !important;
    }

    /*메인비주얼이너*/
    .section-main-visual .text-wrap .title {
        margin-bottom: 30px;
        font-size: 5.4vw;
    }

    .section-main-visual .text-wrap .text {
        margin-bottom: 40px;
        font-size: 3.5vw;
    }

    .swiper_arrow_wrap {
        width: 100%;
    }

    .section-main-visual .swiper-button-prev {
        display: block;
        position: absolute;
        left: 3%;
        top: 0;
        margin: 0;
        width: 35px;
        height: 35px;
    }

    .section-main-visual .swiper-button-next {
        display: block;
        position: absolute;
        right: 3%;
        top: 0;
        margin: 0;
        width: 35px;
        height: 35px;
    }

    a.more {
        display: flex;
        width: 87px;
        font-size: 14px;
        font-weight: 400;
        background: url('../images/ar_more.svg') no-repeat right 10px;
        background-size: 20px
    }

    a.more:hover {
        width: 87px;
    }

    /*섹션타이틀*/
    .section_title {
        margin: 0vh 0px 3vh 0px;
    }

    .section_title h1 {
        font-size: 15px;
    }

    .section_title h2 {
        font-size: 26px;
        line-height: 1;
    }

    .section_title h3 {
        margin-top: 15px;
        font-size: 14px;
    }

    .section_title h3.bk {
        margin-top: 15px;
        font-size: 14px;
    }

    .section_title h4 {
        margin-top: 10px;
        font-size: 13px;
    }

    h1.visual_tit {
        font-size: 25px;
    }

    p.sub_tit {
        font-size: 13px;
    }


    .w_user {
        display: none
    }

    .m_user {
        display: inline
    }

    h3.brd_left {
        margin-bottom: 10px;
        padding: 0px 0px 2px 5px;
        height: 17px;
        font-size: 16px;
    }

    /*페이지타이틀*/
    .page_title_area {
        padding: 30px 10px 0px 10px;
    }

    .page_title_area h1.title {
        font-size: 25px;
        background: url('../images/sub/page_line.svg') no-repeat center top;
        background-size: 26px;
    }

    /*인사말*/
    .ceo_top_wrap {
        padding-bottom: 60px;
    }

    .ceo_top_wrap h2 {
        font-size: 22px;
    }

    .ceo_top_wrap p {
        font-size: 15px;
    }

    .ceo_top_wrap span {
        width: 100%;
        font-size: 65px;
        text-align: center;
    }

    .ceo_mid_wrap {
        margin-bottom: 30px;
        padding: 20px 20px 200px 20px;
    }

    .ceo_mid_txt {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-bottom: 60px;
    }

    .ceo_mid_img img {
        position: absolute;
        left: 0px;
        right: 0;
        bottom: 0px;
        margin: 0 auto;
        width: 280px;
    }

    .ceo_mid_txt h3 {
        font-size: 16px;
    }

    .ceo_bot_wrap span.name {
        font-size: 20px;
    }

    /*회사개요*/
    .world_map {
        height: 600px;
        margin: 30px 0px 60px;
        background: url('../images/sub/world_map_mt.png') no-repeat center top;
        background-size: 280%;
    }

    ul.overview_bnr {
        flex-wrap: wrap;
        /* 줄바꿈 허용 */
        width: 100%;
        padding: 0px 15px;
    }

    ul.overview_bnr li {
        width: 50%;
        margin-top: 20px;
    }

    ul.overview_bnr li .circle {
        width: 145px;
        height: 145px;
        flex-shrink: 0;
    }

    ul.overview_bnr li .ic {
        width: 40px;
        height: 40px;
        margin-bottom: 5px;
    }

    ul.overview_bnr li p.figure {
        font-size: 32px;
    }

    /*문구*/
    .overview_wrap {
        justify-content: center;
        top: 40px;
        width: 100%;
    }

    .overview_area {
        align-items: center;
        padding: 0px 15px;
    }

    .overview_area h1 img {
        width: 110px;
        margin: 0 auto;
    }

    .overview_area h2 {
        font-size: 22px;
        margin-top: 10px;
        text-align: center;
    }

    .overview_area p {
        font-size: 14px;
        margin-top: 20px;
        text-align: center;
    }

    /*서브찾아오시는길*/
    .sub_map_wrap {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        float: left;
        width: 100%;
        height: 100%;
        margin: 20px 0px 50px;
        /*display: block;*/
    }

    .address_txt {
        font-size: 15px;
    }

    .contact_wrap {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-bottom: 30px;
    }

    .contact_wrap .box {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin-bottom: 10px;
        font-size: 16px;
        padding: 10px 0px;
    }

    .contact_wrap .box p.icon {
        width: 50px;
        height: 50px;
        margin-bottom: 0px;
    }

    /*연혁*/
    .history_title h3 {
        font-size: 22px;
    }

    .history_title h2 {
        padding-left: 10px;
        font-size: 32px;
    }

    ul.history_text li {
        font-size: 14px;
    }

    ul.history_text li p {
        width: 80px;
        font-size: 14px;
        line-height: 23px;
    }

    /*연혁리스트*/
    .history_area {
        flex-direction: column;
    }

    .his_left {
        width: 100%;
    }

    .his_left h2 {
        font-size: 30px;
    }

    .his_left .circle,
    .his_left .line {
        display: none;
    }

    ul.his_list li p {
        font-size: 18px;
    }

    .his_right {
        padding: 10px 0px;
    }

    ul.his_text li {
        padding: 2px 0px 2px 10px;
        font-size: 16px;
    }

    ul.his_text li::before {
        top: 14px;
    }

    ul.his_list li {
        display: flex;
        gap: 0%;
        margin-bottom: 5px;
    }

    /*주요인증*/
    ul.certificate li {
        width: 100%;
        margin-bottom: 20px;
    }

    ul.certificate li .img_box img {
        width: 45%;
    }


    /*조직도*/
    /*상단*/
    .box1 {
        width: 135px;
        font-size: 16px;
        margin-bottom: 10px;
        height: 65px;
    }

    .box1 img {
        height: 22px
    }

    .box2 {
        width: 135px;
        font-size: 16px;
        height: 54px;
        letter-spacing: -0.08em
    }

    .mid_area {
        width: 100%;
        padding: 5px 0px;
    }

    .hl_wrap2 {
        height: 20px;
    }

    .space_line {
        width: 51.6%;
        margin-top: 20px;
    }

    /*하단*/
    ul.box3 {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        width: 100%;
    }

    ul.box3 li {
        display: flex;
        flex-direction: column;
        width: calc(98% / 2);
        margin-right: 2%;
        font-size: 15px;
    }

    ul.box3 li:nth-child(2n) {
        margin-right: 0%;
    }

    p.s_tit {
        height: 100px;
        padding-top: 20px;
        font-size: 16px;
    }

    p.s_tit .icon1 {
        width: 50px;
        height: 50px;
        margin-bottom: 10px;
        background: url('../images/sub/icon_group01.svg') no-repeat center;
        background-size: 95%;
    }

    p.s_tit .icon2 {
        width: 50px;
        height: 50px;
        margin-bottom: 10px;
        background: url('../images/sub/icon_group02.svg') no-repeat center;
        background-size: 95%;
    }

    p.s_tit .icon3 {
        width: 50px;
        height: 50px;
        margin-bottom: 10px;
        background: url('../images/sub/icon_group03.svg') no-repeat center;
        background-size: 95%;
    }

    p.s_tit .icon4 {
        width: 50px;
        height: 50px;
        margin-bottom: 10px;
        background: url('../images/sub/icon_group04.svg') no-repeat center;
        background-size: 95%;
    }

    ul.s_sub {
        height: 120px;
    }

    /*pc,ta,mo 이미지 노출*/
    img.pc {
        display: none;
    }

    img.mo {
        display: block;
    }

    /*주요고객*/
    h3.subtop_copy {
        font-size: 16px;
    }

    h3.subtop_copy .line_wrap .line {
        height: 30px;
    }

    /*주요고객목록*/
    ul.client {
        gap: 10px;
    }

    ul.client li {
        width: calc((100% - 10px) / 2);
    }

    /*구축사례*/
    .performance_wrap h3 {
        font-size: 30px;
    }

    ul.performance {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    ul.performance li {
        width: 100%;
    }

    ul.performance li .img_box {
        padding: 10px;
    }

    ul.performance li .img_box img {
        width: 60%;
    }

    ul.performance li span {
        font-size: 15px;
    }

    ul.performance li p {
        font-size: 15px;
    }

    /*=Our service=*/
    ul.bnr_service {
        position: relative;
        flex-wrap: wrap;
        padding: 0px 0px 0px 10px;
        margin: 0 -5px;
        height: auto;
    }

    ul.bnr_service li {
        position: relative;
        flex: 0 0 calc(100% - 20px);
        height: 110px;
        margin-bottom: 15px;
        border: 1px solid rgba(0, 0, 0, 0.1) !important;
        border-radius: 10px;
    }

    /*홀수 번째 li*/
    ul.bnr_service li:nth-child(odd) {
        margin-right: 10px;
        margin-left: 10px;
    }

    /*짝수 번째 li*/
    ul.bnr_service li:nth-child(even) {
        margin-left: 10px;
        margin-right: 10px;
    }

    ul.bnr_service li a {
        display: flex;
        width: 100%;
        height: 100%;
        padding-bottom: 0px;
    }

    ul.bnr_service li a .title {
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: absolute;
        top: 0px;
        bottom: 0px;
        width: 100%;
        padding: 0;
        margin: auto;
        color: #ffffff;
        z-index: 1;
        border: 0px solid red;
        border-radius: 10px;
    }

    ul.bnr_service li a:hover .title {
        padding-bottom: 0px;
    }

    ul.bnr_service li a h3 {
        margin-bottom: 10px;
        font-size: 20px;
    }

    ul.bnr_service li a:hover h3 {
        color: inherit;
    }

    ul.bnr_service li a p {
        font-size: 13px;
        color: rgb(255, 255, 255, .8);
    }

    ul.bnr_service li a .bg_wrap {
        position: relative;
        width: 100%;
        height: 100%;
        margin-bottom: 0px;
    }

    ul.bnr_service li a .bg_area {
        width: 100%;
        height: 100%;
        border-radius: 10px;
    }

    /* 밝기효과를 위한 오버레이 */
    ul.bnr_service li a .bg_area.bg1::after,
    ul.bnr_service li a .bg_area.bg2::after,
    ul.bnr_service li a .bg_area.bg3::after,
    ul.bnr_service li a .bg_area.bg4::after {
        display: none;
    }

    /* 마우스 오버 → 오버레이가 어두워짐 */
    ul.bnr_service li a:hover .bg_area.bg1::after,
    ul.bnr_service li a:hover .bg_area.bg2::after,
    ul.bnr_service li a:hover .bg_area.bg3::after,
    ul.bnr_service li a:hover .bg_area.bg4::after {
        display: none;
    }

    /*SVG버튼*/
    ul.bnr_service li a .bg_area .more {
        display: none;
    }

    /*=Solution Supply=*/
    /* 아이콘 */
    .solution_icon {
        width: 110px;
        height: 110px;
    }

    /* 제목 */
    .solution_tit {
        font-size: 20px;
    }

    /* 텍스트 */
    .solution_text {
        font-size: 13px;
    }

    /*=SAINT-RC=*/
    .saint_rc_wrap {
        width: 100%;
        height: 270px;
    }

    .saint_arrow_wrap {
        position: absolute;
        bottom: 120px !important;
        display: flex;
        align-items: center;
        justify-content: space-between !important;
        width: 100% !important;
    }

    .saint_arrow_wrap button {
        width: 35px !important;
        height: 35px !important;
        border-radius: 35px !important;
    }

    /*=We Grow=*/
    ul.section6_banner {
        flex-wrap: wrap;
    }

    ul.section6_banner li {
        width: 50%;
        margin-bottom: 15px;
    }

    ul.section6_banner li .circle {
        width: 80px;
        height: 80px;
        margin-bottom: 5px;
        border: 2px solid rgb(255, 255, 255, .2);
        border-radius: 80px;
    }

    ul.section6_banner li .circle.icon1 {
        background-size: 60%
    }

    ul.section6_banner li .circle.icon2 {
        background-size: 60%
    }

    ul.section6_banner li .circle.icon3 {
        background-size: 60%
    }

    ul.section6_banner li .circle.icon4 {
        background-size: 60%
    }

    ul.section6_banner li p {
        font-size: 14px;
    }

    /*=Infra Implement=*/
    .infra_top_bg {
        height: 230px;
    }

    ul.bnr_infra {
        display: flex;
        flex-direction: column;
    }

    ul.bnr_infra li {
        width: 100%;
        margin-bottom: 15px;
    }

    ul.bnr_infra li a .title {
        width: 68%;
        padding: 0px 0px 0px 1%;
    }

    ul.bnr_infra li a h3 {
        margin-bottom: 5px;
        font-size: 20px;
        text-align: left
    }

    ul.bnr_infra li a:hover h3 {
        color: inherit;
    }

    ul.bnr_infra li a p {
        font-size: 13px;
        text-align: left;
        line-height: 1.4;
        letter-spacing: -0.08em;
    }

    ul.bnr_infra li a {
        display: flex;
        align-items: center;
        flex-direction: row;
        height: 110px;
    }

    ul.bnr_infra li a .bg_area {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 32%;
        height: 100%;
        border-radius: 18px 0px 0px 18px;
    }

    /*게시판검색*/
.total_wrap {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
}

.board_search_box {
    width: 100%;
    /*margin-bottom: 0px;
    padding: 10px;
    background-color: #F6F7FB;
    border: 1px solid #d3d3d3;
    border-radius: 5px;*/
}

.board_search_con {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.board_search_box select {
    width: 100%;
}

.board_search_box .search_word_con {
    width: 100%;
}

.board_search_box .search_word:focus {
    color: #333;
}

p.total_txt {
    margin-top: 10px;
}

/*게시판 UL형*/
/*항목*/
ul.program_header {
    display: none;
}

/*리스트*/
.program_list_line {
    float: left;
    width: 100%;
    border-top: 1px solid #000000;
}

ul.program_list {
    padding: 10px 0px;
}

ul.program_list {
    margin: 0 auto;
    display: table;
    width: 100%;
    border-top: 0px solid #000000;
    border-bottom: 1px solid #d3d3d3;
}

ul.program_list li {
    display: flex;
    align-items: center;
    width: 100% !important;
    padding: 2px 0px 2px 0px;
    text-align: left;
}

/*ul.program_list li:nth-child(1) {width: 100%;}
ul.program_list li:nth-child(2) {width: 100%;}
ul.program_list li:nth-child(3) {width: 100%;}
ul.program_list li:nth-child(4) {width: 100%;}
ul.program_list li:nth-child(5) {width: 100%;}*/

img.request {
    vertical-align: middle;
}

.edu_name1 {
    position: relative;
    top: 1px;
    display: block;
    float: left;
    width: 60px;
    height: 20px;
    flex-shrink: 0;
    margin-right: 5px;
    font-size: 13px;
    text-align: center;
    border-radius: 100px;
    background: rgb(0, 0, 0, .07);
}

.edu_name2 {
    float: left;
    width: 100%;
}

/* 페이징 */
.paging a {
	width: 18px;
	height: 18px;
	margin: 0px 0px;
	line-height: 16px;
	font-size: 10px;
}

/*견적문의팝업*/
/* 팝업 */
.popup{
    width:85%;
    transform: translate(-50%, -50%);
    padding: 5px 20px 20px 20px;
    background: #ffffff;
    border-radius: 10px;
    z-index: 99999999;
    opacity:0;
    visibility:hidden;
    transition:all 0.2s ease;
}

.info_area {
    height: 300px;
    overflow-y: auto;
}

.info_area.fixed {
    height: auto !important;
}

.info_area dl {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 5px;
}

.info_area dl dt {
    justify-content: flex-start;
    min-height: 25px;
    color: #0084E9;
    font-weight: 500;
    background: transparent;
}

.info_area dl dd {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/*제품리스트*/
.group_info h2 {
	font-size: 18px;
}

.group_info p {
	font-size: 14px;
}

ul.group_product li {
	width: 100%;
}

ul.group_product .thumb {
	height: auto;
}

ul.sales_points {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap:4px;
}

ul.sales_points li {
	width: 100% !important;
	font-size: 14px;
}

/*HPE*/
.hpe_info {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.hpe_info.reverse {
	flex-direction: column-reverse;
}

.hpe_pro {
	width: 100%;
	padding:10px;
}

.hpe_word {
	width: 100%;
	padding: 0px 0px;
}

.hpe_word h4 {
	font-size: 18px;
}

.hpe_word p {
	font-size: 24px;
}

ul.hpe_points li {
	font-size: 14px;
}

ul.hpe_points li::before {
	top: 9px;
}

/*INFRA*/
.pro_top {
    display: flex;
	flex-direction: column;
    gap:20px;
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.brand_pic {
	width:100%;
}

.brand_text {
	width: 100%;
}

.brand_text p {
	font-size: 20px;
}

.brand_text span {
	font-size: 14px;
}

/*문단+이미지*/
.paragraph_wrap {
	gap:20px;
}

.paragraph_word h4 {
	font-size: 18px;
}

.paragraph_word h4::before {
    width: 30px;
}

.paragraph_word p {
	font-size: 14px;
}

/*REDHAT*/
ul.redhat_platform {
    gap: 10px;
}

ul.redhat_platform li {
	gap: 10px;
    width: calc(50% - 5px);
}

ul.redhat_platform li .icon {
	width:90px;
	height:80px;
}

ul.redhat_platform li .word {
	font-size: 14px;
}

h3.redhat_plat_box {
	font-size: 16px;
}

/*그림박스*/
.graphic_box {
	padding: 20px;
}

/*REDHAT*/
ul.redhat_pros {
    gap: 20px;
    flex-direction: column;
}

ul.redhat_pros li {
    gap: 20px;
    width: 100%;
}

ul.redhat_pros li .icon {
	width:70px;
	height:70px;
}

ul.redhat_pros li .word {
	font-size: 14px;
}

/*saint 페이지*/
  .effects {
    grid-template-columns: 1fr;
  }

  .cta {
    flex-direction: column;
    align-items: flex-start;
  }

/*saint 절차*/
.saint_step_wrap {
	display: none;
}

  /* SVG 숨김 */
  #mainSvg {
    display: none;
  }

  /* 모바일 리스트 표시 */
  .mobile-steps {
    display: block;
    margin-top: 20px;
  }

  .step-tooltip {
    width: 100%;
    box-shadow: none;
    border-radius: 12px;
    margin-top: 10px;
  }

  .step-tooltip img {
    height: auto;
  }

  .tooltip-meta {
    display: none !important;
  }


}

/* ◆◆◆◆◆◆◆◆◆◆ 320px이하 ◆◆◆◆◆◆◆◆◆◆ */
@media only screen and (max-width:320px) {

    /*게시판 상세보기*/
    .mo_bwi {
        display: flex;
        flex-direction: column;
    }
}

.ready {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    padding: 100px 0px;
    text-align: center;
    background: rgb(0, 0, 0, .03);
    border-radius: 20px;
}

.ready p {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
}

.ready_time {
    width: 120px;
    height: 120px;
    margin-bottom: 10px;
    background: url('../images/sub/ready.svg') no-repeat center;
    background-size: cover;
}


/*SAINT-RCS*/
.saint_step {
    display: flex;
    gap:5%;
}

.saint_left {
    position: relative;
    width:40%;
    height:500px;
    border:1px solid red;
}

.box_txt {
    position: absolute;
    left:0px;
    top:0px;
    width:300px;
    height:300px;
    background: url('../images/sub/bg_line_history.png') center / cover no-repeat, linear-gradient(145deg, #0084E9, #004D9A);
    border-radius: 25px;
}

.box_pic {
    position: absolute;
    right:0px;
    bottom:0px;
    width:350px;
    height:350px;
    background: #d3d3d3 url('../images/sub/world_map.png') no-repeat center;
    border-radius: 25px;
}

.saint_right {
    width:60%;
    border:1px solid blue;
} 










