@charset "UTF-8";

/* 초기화 및 초기 세팅 */
:root {
    /* 버튼 및 인풋 폼 높이 세팅 */
    --hd_height: 9rem;
    --ic_date: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path d="M5 22q-.825 0-1.413-.587Q3 20.825 3 20V6q0-.825.587-1.412Q4.175 4 5 4h1V2h2v2h8V2h2v2h1q.825 0 1.413.588Q21 5.175 21 6v14q0 .825-.587 1.413Q19.825 22 19 22Zm0-2h14V10H5v10ZM5 8h14V6H5Zm0 0V6v2Z"/></svg>');
    --textgray:#8995A1;
    --textdarkgray:#687481;
}

/* ------------------------ custom ------------------------ */
html { font-size:10px; }
body { margin:0; padding:0;}
::-webkit-scrollbar {
    width: 14px;
}
::-webkit-scrollbar-track {
    background: var(--light); border-radius: 10px;
}
::-webkit-scrollbar-thumb {
    border-radius: 10px; background:var(--border);
}

::-webkit-scrollbar-thumb:hover {
    background: #d0d4db;
}

html, h1, h2, h3, h4, h5, h6, form, fieldset, img { margin:0; padding:0; border:0 }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block }

ul, dl,dt,dd { margin:0; padding:0; list-style:none }
legend { position:absolute; margin:0; padding:0; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden }
label, input, button, select, img { vertical-align:middle; }
input, button { margin:0; padding:0;}
input[type="submit"] { cursor:pointer }
button { cursor:pointer }
select { margin:0 }
p { margin:0; padding:0; word-break:keep-all; }
hr { border-top: 1px solid var(--border); }
a { text-decoration:none; color:inherit;}
a:hover { text-decoration: none; color:inherit;}
.un_reboot_a { color: var(--main); text-decoration: underline; }
*, :after, :before {
 -webkit-box-sizing:border-box;
 -moz-box-sizing:border-box;
 box-sizing:border-box;
 word-break: keep-all;
 }

img { max-width:100%; display:inline-block; height: auto; }
.container, .container-fluid, .container-xl, .container-lg, .container-md, .container-sm{
    padding-right: 20px; padding-left: 20px;
}
/*메인*/
.idx_pg { min-height:800px; padding-top: 0!important;}

/*서브*/
.sub_tit { position: relative; }
.sub_pg { min-height:800px; padding-top: var(--hd_height); }

.line_h1 { line-height:1.0em; }
.line_h1_1 { line-height:1.1em; }
.line_h1_2 { line-height:1.2em; }
.line_h1_3 { line-height:1.3em; }
.line_h1_4 { line-height:1.4em; }
.line_h1_5 { line-height:1.5em; }
.line_h1_6 { line-height:1.6em; }
.line_h1_7 { line-height:1.7em; }
.line_h1_8 { line-height:1.8em; }
.line_h1_9 { line-height:1.9em; }
.line_h2 { line-height:2.0em; }

/* 간격 */
.mt_10{margin-top: 1rem!important;}
.mt_12{margin-top: 1.2rem!important;}
.mt_16{margin-top: 1.6rem!important;}
.mt_20{margin-top: 2rem!important;}
.mt_24{margin-top: 2.4rem!important;}
.mt_30{margin-top: 3rem!important;}
.mt_40{margin-top: 4rem!important;}
.mt_50{margin-top: 5rem!important;}
.mt_60{margin-top: 6rem!important;}
.my_30{margin-top: 3rem!important; margin-bottom: 3rem!important;}
.my_40{margin-top: 4rem!important; margin-bottom: 4rem!important;}
.my_60{margin-top: 6rem!important; margin-bottom: 6rem!important;}
.my_75{margin-top: 7.5rem!important; margin-bottom: 7.5rem!important;}
.mr_10{margin-right: 1rem!important;}
.mr_35{margin-right: 3.5rem!important;}
.ml_15{margin-left: 1.5rem!important;}
.ml_20{margin-left: 2rem!important;}
.mb_20{margin-bottom: 2rem!important;}
.mb_24{margin-bottom: 2.4rem!important;}
.mb_40{margin-bottom: 4rem!important;}
.px_20{padding-left: 2rem!important; padding-right: 2rem!important;}
.px_40{padding-left: 4rem!important; padding-right: 4rem!important;}
.py_20{padding-top: 2rem!important; padding-bottom: 2rem!important;}
.py_24{padding-top: 2.4rem!important; padding-bottom: 2.4rem!important;}

/*폰트커스텀 기본사이즈 10px*/
h1, .h1{font-size: 3.6rem; font-weight: 700; font-family: 'Montserrat',"Pretendard Variable", Pretendard, sans-serif; }
.tit_h1 { font-size: 3.2rem; font-weight: 700; font-family: 'Montserrat',"Pretendard Variable", Pretendard, sans-serif;}
.tit_h2 { font-size: 2rem; font-weight: 700; font-family: 'Montserrat',"Pretendard Variable", Pretendard, sans-serif; }
.tit_h3 { font-size: 1.8rem; font-weight: 700; font-family: 'Montserrat',"Pretendard Variable", Pretendard, sans-serif; }
.tit_h4 { font-size: 1.6rem; font-weight: 700; font-family: 'Montserrat',"Pretendard Variable", Pretendard, sans-serif;color: #687481;}

/* 레터 스페이싱 */
.letter_01{
    letter-spacing: -0.1em;
}

/* 폰트 패밀리 */
.ff_mont{font-family: 'Montserrat',"Pretendard Variable", Pretendard, sans-serif;}
.ff_preten{font-family: "Pretendard Variable", Pretendard, sans-serif;}

/* 폰트 사이즈 */
.fs_8 { font-size: 0.8rem; }
.fs_9 { font-size: 0.9rem; }
.fs_10 { font-size: 1.0rem; }
.fs_11 { font-size: 1.1rem; }
.fs_12 { font-size: 1.2rem; }
.fs_13 { font-size: 1.3rem; }
.fs_14 { font-size: 1.4rem; }
.fs_15 { font-size: 1.5rem; }
.fs_16 { font-size: 1.6rem; }
.fs_17 { font-size: 1.7rem; }
.fs_18 { font-size: 1.8rem; }
.fs_19 { font-size: 1.9rem; }
.fs_20 { font-size: 2.0rem; }
.fs_21 { font-size: 2.1rem; }
.fs_22 { font-size: 2.2rem; }
.fs_23 { font-size: 2.3rem; }
.fs_24 { font-size: 2.4rem; }
.fs_25 { font-size: 2.5rem; }
.fs_26 { font-size: 2.6rem; }
.fs_27 { font-size: 2.7rem; }
.fs_28 { font-size: 2.8rem; }
.fs_29 { font-size: 2.9rem; }
.fs_30 { font-size: 3.0rem; }
.fs_31 { font-size: 3.1rem; }
.fs_32 { font-size: 3.2rem; }
.fs_33 { font-size: 3.3rem; }
.fs_34 { font-size: 3.4rem; }
.fs_35 { font-size: 3.5rem; }
.fs_36 { font-size: 3.6rem; }
.fs_37 { font-size: 3.7rem; }
.fs_38 { font-size: 3.8rem; }
.fs_39 { font-size: 3.9rem; }
.fs_40 { font-size: 4.0rem; }
.fs_41 { font-size: 4.1rem; }
.fs_42 { font-size: 4.2rem; }
.fs_43 { font-size: 4.3rem; }
.fs_44 { font-size: 4.4rem; }
.fs_45 { font-size: 4.5rem; }
.fs_46 { font-size: 4.6rem; }
.fs_47 { font-size: 4.7rem; }
.fs_48 { font-size: 4.8rem; }
.fs_49 { font-size: 4.9rem; }
.fs_50 { font-size: 5.0rem; }
.fs_51 { font-size: 5.1rem; }
.fs_52 { font-size: 5.2rem; }


.fw_100 { font-weight: 100; }
.fw_200 { font-weight: 200; }
.fw_300 { font-weight: 300; }
.fw_400 { font-weight: 400; }
.fw_500 { font-weight: 500; }
.fw_600 { font-weight: 600; }
.fw_700 { font-weight: 700; }
.fw_800 { font-weight: 800; }
.fw_900 { font-weight: 900; }

.wh_pre { white-space: pre-line; }
.wh_nowrap { white-space: nowrap; }

/*toggle*/
.ip_toggle > input[type='checkbox']{
    display: none;
}
.btn_toggle{
    position: relative; width:38px; height: 20px;
    background-color: #D4DCE5; border-radius: 5em;
    transition: background-color 0.2s ease-in-out;
    cursor: pointer;
}
.btn_toggle:hover{
    filter: brightness(105%);
}
.btn_toggle .toggle_control{
    position: absolute; width:14px; height: 14px; left:3px; top:3px;
    border-radius: 50%; background-color: white; box-shadow: 0 0 3px rgba(0,0,0,0.16);
    transition: all 0.2s ease-in-out;
}
.ip_toggle > input[type='checkbox']:checked + .btn_toggle{
    background-color: var(--primary);
}
.ip_toggle > input[type='checkbox']:checked + .btn_toggle .toggle_control{
    left: calc(100% - 17px);
}
/* 텍스트 컬러 */
.text_gray{
    color:var(--textgray);
}
.text_darkgray{
    color:var(--textdarkgray);
}
.text_black{
    color:var(--text);
}
.text_lightgray{
    color:var(--border);
}

/*글자 하이라이트*/
mark, .mark{
    padding:0;
    background-color: #FFEE57;
}

/*글자 줄임말*/
.line_text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all; }
.line1_text {
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
 }
.line2_text {
white-space: normal;
overflow: hidden;
text-overflow: ellipsis;
word-wrap: break-word;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}

.line3_text {
white-space: normal;
overflow: hidden;
text-overflow: ellipsis;
text-align: left;
word-wrap: break-word;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;

}
/* 보더 */
.border-bottom, .border{
    border-color: #E8ECF5!important;
}
/* 리스트 스타일 */
.list_style_1 li{
    display: flex; justify-content: space-between; align-items: center;
    border-top: 1px solid var(--border);
    font-size: 1.4rem; font-weight: 500;
}
.list_style_1 li div:last-child{
    text-align: right;
}
.list_style_1 li:hover{
    background-color: #F6F8FB;
}
.list_style_1 li:last-child{
    border-bottom: 1px solid var(--border);
}
.list_style_1 .btn_delete{
    margin-right: -2rem;
}
.list_style_2{
    padding-left: 16px;
}
.list_style_2 li{
    line-height: 1.2;
}
.list_style_3 li{
    display: flex; justify-content: space-between; align-items: center;
    font-size: 1.5rem; font-weight: 500;
}
.list_style_3 li:last-child{
    text-align: right;
}

/* 폼 사각형 */
.sq_guide { display:flex; flex-wrap: wrap; }
.sq_guide li {
 width: 12rem;
 height: 12rem;
 border-radius: 0.5rem;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.6rem;
 margin: 0.5rem;
 }

/* 스크롤바 none */
.none_scroll_bar { -ms-overflow-style: none; }
.none_scroll_bar::-webkit-scrollbar { display: none; }

/* buttons */

.btn { height: var(--height); padding-left: 3rem; padding-right: 3rem; font-weight: 600; line-height: 1;}
.btn-sm { height: var(--height_sm); }
.btn-md { height: var(--height_md); }
.btn-lg { height: var(--height_lg); }

.btn-outline-primary:not(:disabled):hover{
    background-color: #235EEA20;
    color: var(--primary);
}
.btn-outline-secondary{
    background-color: rgba(255,255,255,0.05); border-color: #C1C6D9;
    color: var(--text);
}
.btn-outline-secondary:not(:disabled):hover{
    background-color: #656C8830; border-color: #C1C6D9;
    color: var(--text);
}
.btn-outline-danger{

}
.btn-outline-danger:hover{
    background-color: #FF006020;
    color:var(--danger);
}
.btn_back{
    color:#C1C6D9; height: auto; padding:1.6rem 2rem; margin:-1.6rem 0 0 -2.4rem;
}
.ip_password input[type="password"].form-control{
    padding-right: 5rem;
}

.btn_delete{
    padding:1.5rem 2rem;
    color: #8995A1; font-size: 2rem;
}
.btn_refresh{
    padding-left: 0; padding-right: 0;
    font-size: 2.4rem;
}
.btn_refresh:hover{
    color: var(--primary);
}
.btn-block + .btn-block{
    margin-top: 1.6rem;
}
.btn_share{
    border: 0;
    background: transparent;
    padding: 0.6rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: color 0.2s ease;
}
.btn_share.on{
    color: var(--primary);
}
.btn_share i{
    font-size: 2rem;
    margin-bottom: 1rem;
}
.btn_share span{
    font-size: 1.3rem;
}

.btn_like.btn_like2{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 5.6rem;
    min-width: 5.6rem;
    height: 5.6rem;
    padding: 0;
    z-index: 999;
    color: var(--textgray);
    font-size: 3.2rem;
    text-align: center;
    border: 1px solid var(--border);
    transition: all 0.15s 0.15s ease-in-out;
}
.btn_like.btn_like2.on{
    color: var(--primary) !important;
    border-color: var(--primary);
}
.btn_like.btn_like2 i{
    transition: all 0.2s ease-in-out;
    margin-bottom: -0.1em;
}
.btn_like.btn_like2.on i{
    animation: btnHeart 0.2s ease-in-out 1 forwards;
}

/* 인풋 자동완성 초기화 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
	-webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

/* 입력 인풋 */
.form-control { height: var(--height); font-weight: 500;}
.form-control-sm { height: var(--height_sm); }
.form-control-md { height: var(--height_md); }
.form-control-lg { height: var(--height_lg); }
.form-control:focus{
    border:1px solid #235EEAaa;
    box-shadow: 0 0 0.3rem #235EEA70;
}
.form-control:disabled, .form-control[readonly]{
    background-color: var(--light);
    color:#656C88;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none; margin: 0;
}

.ip_wr{position: relative;}
.ip_wr .ip_tit {margin-bottom:0.8rem; line-height: 1; font-size: 1.4rem; font-weight: 500;}
.ip_wr .ip_tit h5 { font-size:1.8rem; font-weight:700; display:inline-block; }
.ip_wr .btn-sm.ip_btn{top:2.2rem;}
.btn i{font-weight: 400;}
.btn i{vertical-align: 0;}
.btn.btn-sm i{vertical-align: -0.15em; margin-right: 0.3em;}
/* form-text */
.form-text{font-size: 1.4rem; display: none; align-items: center;font-weight: 500;}
.form-text i{font-size: 1em; margin-right: 0.25rem;}
.ip_valid .ip_valid{display: flex; color: var(--success); align-items: start;}
.ip_invalid .ip_invalid{display: flex; color: var(--danger); align-items: start;}
.ip_password{
    position: relative;
}

/* textarea 높이 */
textarea.form-control {
    padding:1.6rem; line-height: 1.4;
}

/* 셀렉트 박스 */
.custom-select{
    padding-right: 4.5rem;
    /* color: var(--input_placeholder); */
    background-size: 2.4rem; cursor: pointer;
}
/* 날짜 선택 */
input.form-control[type="date"]{position: relative;}
input.form-control[type="date"]::-webkit-calendar-picker-indicator {
    -webkit-appearance: none;
    background: none;
    width: 100%; height: 100%; cursor: pointer;
    position: absolute; left: 0; top: 0;
}
input.form-control[type="date"]::before{content: ''; display: block; width: 2rem; height: 2rem; position: absolute; top: 50%; transform: translateY(-50%); right: 1.6rem; background: var(--bg); cursor: pointer; -webkit-mask: var(--ic_date); mask: var(--ic_date); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain;}
input.form-control[type="date"]{color-scheme: dark;}
input.form-control[type="time"]{color-scheme: dark;}
input.form-control[type="time"]::-webkit-calendar-picker-indicator {
    width:2rem; height: 2rem;
}

/* 체크박스 및 라디오 */
.checks_wr{display: flex; flex-wrap: wrap; margin-bottom: -1rem; }
.checks_wr .checks{margin-right: 3rem; margin-bottom: 1rem;}

.checks label{display: flex; align-items: center; cursor: pointer;}
.checks label.chk_right{flex-flow: row-reverse; justify-content: flex-end;}
.checks input{display: none;}
.ic_box{display: inline-block; width: 1.8rem; height: 1.8rem; text-align: center; border: 1px solid #E8ECF5; background-color: #E8ECF5; color:white; display: flex; align-items: center; justify-content: center; margin-right: 0.8rem; border-radius: 0.2rem; font-size: 1.4rem;}
input:checked + .ic_box{border-color: var(--primary); background-color: #DBE5FC; color: var(--primary);}
.chk_right .ic_box{margin-right: 0; margin-left: 0.5rem;}
.chk_p{font-size: 1.5rem; font-weight: 500;}
/* 페이지네이션 */
.pagination { margin-top: 5rem; display: flex; justify-content: center; align-items: center; }
.pagination li { height: 100%; }
.pagination .page-link { font-size: 1.7rem; padding: 0.9rem 1.6rem; font-weight: 600; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 0.8rem!important; color:#7E93A8; transition: all 0.2s ease-in-out; font-weight: 400;}
.pagination .page-link.disabled { color: #AAA; }
.pagination .page-link.on { color: #fff; text-decoration: underline; }
.page-link{background-color:transparent; border:none; color:#fff;}
.page-item.active .page-link{
    background: var(--primary); border-radius: 0.3rem!important;
}
.page-link:hover{
    background-color: var(--light);
}
.page-item:first-child .page-link, .page-item:last-child .page-link{
    padding-left: 1rem; padding-right: 1.2rem;
    color:#C1C6D9;
}
/* 텍스트 스크롤 박스 */
.textScroll_box{
    overflow-y: scroll; height: 12.8rem; padding:12px;
    background-color: #F1F4F9; border-radius: 0.4rem;
    color:var(--textgray); line-height: 1.4; font-size: 1.4rem;
}
.textScroll_box::-webkit-scrollbar {
    width: 5px;
}
/* 페이저 */
.pager {
    border-radius: 15rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    height: 65px;
    margin: 3.5rem auto 0;
    background-color: transparent;
    }



/* 테이블 */
/*테이블 반응형때*/
.table-responsive{
    overflow-x: auto;
}
.table-responsive::-webkit-scrollbar {
    cursor: move;
}

.table_style_1{
    text-align: center; min-width: 100%;
}
.table_style_1 th{
    white-space: nowrap;
    line-height: 1.2; font-weight: 700; border-bottom: 1px solid #E8ECF5; border-top: 1px solid #E8ECF5;
}
.table_style_1 th, .table_style_1 td{
    padding:2.4rem 2rem;
    vertical-align: middle!important; white-space: nowrap;
    transition: background-color 0.1s ease-in-out;
}
.table_style_1 th:first-child{
    border-top-left-radius: 5rem; border-bottom-left-radius: 5rem;
}
.table_style_1 tbody tr:hover td{
    background-color: #F6F8FB;
}
.table_style_1 th small{
    color:var(--textgray);
}
.table_style_1 td{
    border-top:none; border-bottom: 1px solid var(--border);
}
.table_header{
    display: flex; justify-content: space-between; align-items: center; margin:3rem 0 4rem;
}
.table_header .right{
    display: flex;
}
/* tab */
.tab_btn_wrap{
    display: flex; align-items: center; margin-left: -0.6rem; margin-right: -0.6rem;
}
.tab_btn_wrap .col{
    padding-left: 0.6rem; padding-right: 0.6rem;
}
.tab_style_1{
    padding: 0.6rem;
    background-color: #F1F4F9; border-radius: 2.6rem;
}
.btn_tab{
    width:100%;
    border-radius: 5em;
    color:#B1BBC9; text-align: center; padding: 1.2rem 3rem 1rem; font-weight: 500;
    transition: all 0.1s ease-in-out; cursor: pointer;
}
.btn_tab:hover:not(.on){
    background-color: #E8ECF5;
}
.btn_tab.on{
    background-color: white; border:1px solid var(--primary);
    color:var(--primary)
}
.tab_contents_wrap .tab_content{
    display: none;
}
.tab_contents_wrap .tab_content.on{
    display: block;
}
.scroll_x{
    overflow-x: auto; white-space: nowrap;
    -ms-overflow-style:none;
}
.scroll_x::-webkit-scrollbar{
    display: none;
}

.tab_style_2{
    display:inline-block; width:100%;
}

.tab_style_2 li{
    white-space: nowrap; display: inline-block;
}
.tab_style_2 li:first-child{
    margin-left: -2.5rem;
}
.tab_style_2 li a{
    display: block; position: relative; padding: 2.6rem 2.5rem;
    color:#B1BBC9; font-size: 2rem;
}
.tab_style_2 li.on a::before{
    content: ''; position: absolute; bottom:1.35rem; left:50%; transform: translateX(-50%); width: 0.5rem; height: 0.5rem;
    border-radius: 50%; background-color: var(--primary);
}
.tab_style_2 li.on a{
    color:var(--primary); font-weight: 700;
}
/* 이미지 크롭 */
.rect {
 width: 100%;
 position: relative;
 overflow: hidden;
 }

.rect::after {
content: "";
display: block;
padding-bottom: 100%;
}

.rect img {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
.rect.rect_portfolio2::after {
    padding-bottom: 68.12%;
}
.rect.rect_portfolio3::after {
    padding-bottom: 45.63%;
}

 /* 아이콘 텍스트 정렬 */
[class^="ri-"], [class*=" ri-"]{

}


/* Modal */
.modal-content{
    border-radius: 0.8rem;
}

.modal_img{
    height:10.2rem; margin-bottom: 3.2rem; text-align: center;
}
.modal-dialog{
    margin:0.5rem auto;
}
.modal-footer{
    flex-wrap: nowrap; justify-content: center;
    border-top: none;
}
.modal-footer .btn{
    margin:0;
}
.modal .close{
    color:#8995A1; font-weight: 400;
    opacity: 1;  font-size: 3rem;
}
.modal .close:active{
    background-color: var(--light); border-radius: 2rem;
}
.modal-dialog-sm{
    max-width: 42.8rem;
}
.modal-body{
    line-height: 1.6;
}
.modal-dialog-sm .modal-body{
    padding:7rem 3rem 2rem;
    text-align: center;
}
.modal-dialog-sm .modal-footer{
    padding:2rem 3rem 3rem;
}

.modal-dialog-md{
    max-width:59rem; border-radius: 3.2rem;
}
.modal-dialog-md .modal-header{
    padding:4.6rem 4rem 1rem 4rem;
    border-bottom: none;
}
.modal-dialog-md .modal-title{
    font-size: 2.4rem; font-weight: 700;
}
.modal-dialog-md .modal-body{
    padding:2rem 4rem 2rem;
}
.modal-dialog-md .modal-footer{
    padding:1rem 4rem 3rem;
}
.modal-dialog-lg{
    max-width:80rem
}
.modal-dialog-lg .modal-header{
    padding:4.6rem 4rem 1rem 4rem;
    border-bottom: none;
}
.modal-dialog-lg .modal-header .modal-title{
    font-size: 2.8rem; font-weight: 800;
}

.modal-dialog-lg .modal-body{
    padding:2rem 4rem;
}
.modal-dialog-lg .modal-footer{
    width: 100%; margin:0 auto; padding:1rem 4rem 4rem;
}
.modal-dialog-xl{
    max-width: 152rem;
}
.modal-dialog-xl .modal-body{
    padding: 6rem 5rem 2.4rem;
}
.modal-dialog-xl .modal-footer{
    width: 100%;
    margin: 0 auto;
    padding: 1rem 5rem 3rem;
}
.modal-dialog-xl .modal-footer .btn{
    max-width: 24.6rem;
}

.type_select li{
    padding:2.4rem 3rem;
    border-radius: 2em; border:1px solid #D4DCE5;
    font-size: 1.4rem; font-weight: 500; color:#687481; text-align: center; cursor: pointer;
    transition: all 0.2s ease-in-out;
}
.type_select li:not(:last-child){
    margin-bottom: 1.6rem;
}
.type_select li strong{
    display: block; margin-top: 1.2rem;
    font-size: 1.8rem; font-weight: 700; color:#22272B;
}
.type_select li:hover{
    box-shadow: 0 0 0.5rem rgba(35,94,234,0.6);
}
.type_select li.on{
    color:var(--primary); border-color: var(--primary);
}
.type_select li.on strong{
    color:var(--primary);
}
.ip_search_wr{
    position: relative; flex-shrink: 0;
}
.ip_search_wr .btn_search{
    position: absolute; right:0; top:0; padding:0 1.6rem;
    font-size: 2.4rem;
}
.ip_search_wr .btn_search:hover{
    color:var(--primary)
}
.ip_search_wr > .form-control{
    padding-right: 5.6rem;
}
.ip_list{
    overflow-y: scroll; position: absolute; width:100%; max-height: 170px;
    background-color: white; border:1px solid var(--border); border-radius: 0.4rem; z-index: 1030;
}
.ip_list li{
    padding:1.6rem;
    background-color: white;
    font-size: 1.5rem; font-weight: 500; cursor: pointer;
}
.ip_list li.on{
    background-color: #e7eef8;
}
.ip_list li:hover:not(.on){
    background-color: #F2F7FF;
}
.ip_list.empty{
    display: flex; justify-content: center; align-items: center; flex-direction: column;  height: 17.7rem;
    text-align: center;
}
.ip_list.empty strong{
    cursor: pointer;
}
.cursor_move_mouse{
    position: fixed; width: 6.4rem; height: 6.4rem; padding-top: 2rem; top:500px; left:0;
    background: var(--primary) url(../img/bg_cursor_move.png) no-repeat; border-radius: 50%;
    background-size: 100%; opacity: 0;
    pointer-events: none; text-align: center;
    font-size: 1.2rem; font-weight: 700; color: white;
    z-index: 1050; transition: opacity 0.2s ease-in-out;
}
.btn_toggle_group{
    display: flex; flex-wrap: wrap;
}
.btn_toggle_item{
    display: flex; flex-direction: column; flex-wrap: wrap; align-items:center; justify-content: center; margin-right: 1.2rem; margin-bottom: 1.2rem; padding:1.8rem 6rem;
    border:1px solid #D4DCE5; border-radius:2.8rem;
    font-size: 1.8rem; font-weight: 600; text-align: center;
    cursor: pointer; transition:all 0.1s ease-in;
}
.btn_toggle_item:hover:not(.on){
    background-color: var(--light);
}
.btn_toggle_item.on{
    border-color: var(--primary);
    color:var(--primary);
}
.btn_toggle_item.on small{
    color: var(--primary); font-weight: 400;
}
.btn_toggle_item small{
    display: block; max-width: 120px; margin-bottom: 0.4rem;
    line-height: 1.4;
    font-size: 1.4rem; color:var(--textgray);
}
.filter{
    display: flex; margin-left: -1rem;
}
.filter li{
    position: relative; padding:1rem;
    cursor: pointer;
}
.filter li::before{
    content: ''; position: absolute; height: 16px; width:1px; right:0; top:50%; transform: translateY(-50%);
    background-color: var(--textgray);
}
.filter li:last-child::before{
    content: unset;
}
.filter li.on{
    color: var(--primary); font-weight: 600;
}
/* ------------------------ Common ------------------------ */
body.menu_on{overflow: hidden;}
/* 헤더 */
.h_menu{position: fixed; left: 0; top: 0; width: 100%; height: var(--hd_height); border-bottom: 1px solid #F1F4F940; z-index: 1030; transition: all 0.2s ease-in-out;}
.h_menu > .container{display: flex; align-items: center; justify-content: space-between; height: 100%;}
.h_menu.on{background-color: #ffffffaa; backdrop-filter: blur(4px);}
.logo{height: 1.85rem; display: block;}
.logo img{height: 100%; width: auto;}


.pc_nav{height: 100%;}
.pc_nav .nav_wr{height: 100%;}
.pc_nav .nav_ul{display: flex; height: 100%;}
.pc_nav .nav_ul li{
    position: relative; height: 100%;
}
.pc_nav .nav_a{display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 0 3rem; white-space: nowrap;}

.pc_nav .nav_ul li:hover:not(.on) .nav_a{color:var(--primary)}
.pc_nav .nav_ul2{display: none;}
.pc_nav .nav_ul2 a{display: block; padding: 1rem 2rem; white-space: nowrap;}
.pc_nav .nav_a i{display: none;}
.nav_ul li{
    position: relative;
    font-family: 'Montserrat', sans-serif; font-weight: 700;
}
.nav_ul li.on::before{
    content: ''; position: absolute; width:0.6rem; height: 0.6rem; bottom:27%; left:50%; transform: translateX(-50%);
    border-radius: 50%; background-color: var(--primary);
}
.gnb_li{
    position: relative; display: flex; align-items: center; margin-left: 2rem;
    flex-shrink: 0;
}
.btn_my{
    width:5rem; height: 5rem;
    border-radius: 50%; border:1px solid #ffffff30;
    background-color:  #ffffff50;
}
.gnb_sub_li{
    top:10px!important; width:100%; padding:0.8rem 0; border-radius: 1.6rem; border:none;
    overflow: hidden; background-color: white; box-shadow:  0 0.3rem 1.9rem rgba(0,14,48,0.16);

}
.gnb_sub_li a:hover{
    background-color: #EFF3FE;
    color:var(--primary)
}
.gnb_sub_li a{
    display: block; padding:1.1rem 1.6rem; white-space: nowrap;
    font-size: 1.5rem; text-align: center;
    transition:all 0.2s ease-in-out;  font-weight: 600;
}

/* 모바일 메뉴 */

.hd_menu_btn {display: none; font-size: 2rem;}
.hd_menu_btn a{margin-right: -2rem; padding:1.6rem 2rem;}
.m_menu_wr{visibility: hidden; opacity: 0;  position: fixed; top: 0; right: 0; width: 100%; height: 100%; z-index: 99999; transition: all 0.5s ease-in-out; display: flex; justify-content: flex-end;}

/* x버튼 */
.close_btn_wr{display: none; opacity: 0;}
.m_nav .close_btn_wr{display: flex; justify-content: flex-end; opacity: 0;}
.menu_on .m_nav .close_btn_wr{opacity: 1;}
.close_btn{padding: 1.4rem; font-size: 2.4rem; height: auto; }
.close_btn:active{background-color: var(--light);}

/* 메뉴 열렸을때 외부 */
.menu_on .m_menu_wr{visibility: visible; opacity: 1; }
.m_nav{position: relative; width: 100%; height: 100%; z-index: 99999;  background: var(--bg); transition: all 0.4s ease-in-out; max-width: 0; transform: translateX(100%); visibility: hidden; opacity: 0;}
.menu_on .m_nav{transform: translateX(0); visibility: visible; opacity: 1; max-width: 100%;}

.menu_bg{position: fixed; left: 0; top: 0; background: rgba(0,0,0,0.6); transition: all 0.4s ease-in-out; width: 100%; height: 100%; z-index: 99998; visibility: hidden; opacity: 0;}
.menu_on .menu_bg{visibility: visible; opacity: 1;}

/* 메뉴 열렸을때 내부 */
.m_nav .nav_wr{height: 100%;}
.m_nav .nav_ul{ display: flex; height: 100%; flex-direction: column; justify-content: center; align-items: center; padding-bottom: 148px;}

.m_nav .nav_li{ height: 100%; position: relative;}
.m_nav .nav_a{ display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; margin:2rem 0; padding:2rem; font-size: 2.8rem; font-weight: 500;}
.m_nav .nav_a i{ display: inline-block;}
.m_nav .nav_ul li.on .nav_a{font-weight: 700; color: var(--primary);}
.m_nav .nav_ul2{ display: none; background: #f0f0f0; }
.m_nav .nav_ul2 a{ display: block; padding: 1rem 2rem; white-space: nowrap;}


.m_nav .nav_ul li.on::before{
    bottom:0; width:1rem; height: 1rem;
}

.m_nav .btn_my{
    background-color: var(--light);
}
.m_nav .btn_my + p{
    font-size: 2rem!important;
}
.m_nav .gnb_li{
    margin-top: 5rem; margin-left: 0;
}
footer.footer{
    display: flex; justify-content: space-between; margin-top: 20rem; padding:10.4rem 0;
    background: var(--primary) url(../img/bg_footer.png) no-repeat right 5% bottom 0;
    background-size: 65.9rem 36.8rem;
    color: white;
}
footer.footer a:not(.footer_logo){
    position: relative;
}
footer.footer a:not(.footer_logo)::before{
    content: ''; position: absolute; width:0; height: 0; top:50%; left:50%; transform: translate(-50%, -50%);
    transition: all 0.2s ease-in-out;
    mix-blend-mode: screen;
}
footer.footer a:not(.footer_logo):hover::before{
    width:3em; height: 3em;
    border-radius: 50%; background-color: rgba(255,255,255,0.15);
    z-index: 0;
}
.footer_header_list{
    display: flex; margin:0 -1rem;
}
.footer_header_list a{
    padding:1rem;
    font-weight: 700; cursor: pointer;
}
.footer_body{
    margin-top: 5.5rem;
}
.footer_body .copyright{
    margin-top: 6.5rem;
    color: rgba(255,255,255,0.8);
}
.company_info{
    display: flex; color: #C1C6D9; justify-content: flex-start; flex-wrap: wrap; max-width: 50%; margin-top: 1.4rem;
}
.footer_logo{
    display: block; width:20.2rem; padding: 1rem; margin-left: -1rem; margin-bottom: 2rem;
}
.company_info li{
    position: relative; margin-bottom: 1.2rem; margin-right: 2.4rem;
    font-size: 1.4rem; color: white;
}
.company_info li::before{
    content: ''; position: absolute; top:0.2rem; right:-1.4rem; width:0.2rem; height: 1.2rem;
    background-color: rgba(255,255,255,0.2);
}

/* ------------------------ Design ------------------------ */
.wrap{
    padding-top: var(--hd_height); min-height: 80vh;
}

.bg_mainVisual{

}
.bg_mainVisual::after{
    padding-bottom: 40%;
}
.slide_content_wrap{
    display: flex; justify-content: space-between; position: absolute; top:var(--hd_height); width:1520px; height: calc(100% - var(--hd_height)); align-items: center; left:50%; transform: translateX(-50%);
}
.slide_text{
    width:36%;
    line-height: 1.4;
}
.slide_tit{
    margin-bottom: 1.7rem;
    font-family: 'Montserrat',"Pretendard Variable", sans-serif; font-weight: 700; font-size: 5.1rem;
    letter-spacing: -0.05em;
}
.slide_subtit{
    margin-bottom:3rem;
    font-size: 3.6rem;
}
.slide_subtit.slide_subtit_2{
    margin-bottom:3rem;
    font-size: 2.2rem;
}
.slide_content{
    font-size: 1.7rem;
}
.slide_img{
    width: 48%; flex-shrink: 0;
}
.mainVisual{
    width:100%;
    border-radius: 50em;
}
.mainVisual::after{
    padding-bottom: 67%;
}
.controls{
    display: flex; flex-direction: column; justify-content: center; overflow: hidden; position: absolute; top:50%; transform: translateY(-50%); left:0; width:6.6rem; height: 240px;
    background-color: var(--text);
    color:white;
    z-index: 1000;
}
.controls .swiper-button-next, .controls .swiper-button-prev{
    position: relative; top:unset; left:unset; right:unset; transform: translate(0); width:100%; margin:unset;
    font-size: 2rem; color:white; text-align: center;
}
.controls .swiper-button-next:hover, .controls .swiper-button-prev:hover{
    background-color: #2E3236;
}
.controls .swiper-button-next:after, .controls .swiper-button-prev:after{
    content: '';
}
.controls .swiper-pagination{
    display: flex; flex-direction: column; position: relative; margin-top: 2.4rem;
}
.controls .dot{
    display: block; width:0.3rem; height: 0.3rem; margin:0.6rem auto;
    border-radius: 50%; background-color: white;
}


/* sy 디자인수정 24.04.31 시작 */
.slide_text2{
    padding-bottom: 10rem;
}
.badge.badge1 {
    font-size: 1.8rem;
    font-weight: 600;
}
.bg_imfort_1 {
    background-color: #E5EFFF;
}
.bg_light_1{
    background-color: #f6f8fb;
}
.step6_keyword_wrap {
    border-radius: 0.6rem;
}
.dash_wrap {
    margin-top: 1.5rem;
}
.dash_wrap li{
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.5rem;
    line-height: 1.1;
}
.dash_wrap li::after{
    content: '-';
    position: absolute;
    left: 0;
    top: 0;
}
.tit_h1 span.withai {
    text-wrap: nowrap;
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--primary);
}
.hashtag_wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}
.hashtag_wrap li {
    margin-right: 0.7rem;
    margin-bottom: 0.5rem;
}
.hashtag_wrap li span{
    font-size: 1.5rem;
    text-wrap: nowrap;
}
.step2_keyword_wrap{
    position: absolute;
    display: flex;
}

.step2_keyword_wrap.on .tooltip_wrap {
    display: block;
}
.tooltip_wrap {
    display: none;
    margin-right: 1rem;
    margin-left: 1rem;
    padding: 1rem 2rem;
    border-radius: 2rem;
    background-color: #235EEA;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: 400;
    max-width: 21rem;
}
.idx_point {
    display: flex;
}
.point_col {
    width: 33.33%;
    padding: 0 0.5rem;
}
.br_pc_none_s {
    display: none;
}
.point_li{
    overflow: hidden;
    position: relative;
    width: 100%;
    padding: 8rem 1rem 10rem ;
    height: 100%;
    border-radius: 36rem;
    background-color: #F7F9FF;
    text-align: center;
}
.point_li .point_tit span {
    font-family: 'Montserrat',"Pretendard Variable", sans-serif;
    font-size: 3.8rem;
    font-weight: 700;
    color: transparent;
    background: linear-gradient(to left, #235EEA, #22272B);
    background-clip: text;
    -webkit-background-clip: text;
}

.point_li .point_sub {
    line-height: 1.6;
    font-size: 1.7rem;
    padding: 2rem 0 4rem;
    color: #687481;
    margin: auto;
}
.point_li_1 .point_sub {
    width: 80%;
}
.point_li_2 .point_sub {
    width: 80%;
}
.point_li_3 .point_sub {
    width: 80%;
}
.point_li img{
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
}
.point_li img{
    width: 40%;
}

.intro_1 .intro_tit small.small1{
    font-size: 41%; font-weight: 700;
}
.intro_1 .intro_tit span.int1_span {
    font-size: 40%;
    font-weight: 400;
    margin-bottom: 0.5rem;
}
.intro_1 .intro_tit small.small2{
    font-size: 41%; font-weight: 400;
}

.intro_box {
    width: 100%;
    border-radius: 36rem;
    background-color: #22272B;
    padding: 5.8rem 4rem;
    background-image: url(../img/intro_box_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    margin: 8.2rem auto 0 ;
}
.int_txt_tit {
    font-family: 'Montserrat',"Pretendard Variable", Pretendard, sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
}
.int_txt_point {
    font-size: 4.4rem;
    font-weight: 700;
    margin-top: -1rem;
}
.int_txt_sub {
    font-size: 1.8rem;
    font-weight: 500;
    padding: 2.4rem auto 0;
    margin: auto;
}
/* sy 디자인수정 24.04.31 끝 */
.hintTxt_wrap {
    margin-top: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    line-height: 1.3;
    text-align: center;
}
.hintTxt_wrap span{
    margin-bottom: 5px;
}
.problem_situation_wrap{
    background-color: #F1F4F9;
    padding: 4.5rem 2rem 3rem 2rem;
    margin-top: 3rem;
}
.idx_guide{
    margin-top: 12rem;
}
.idx_tit{
    font-size: 4.6rem; font-weight: 700;
    letter-spacing: -0.05em;
}
.idx_subtit{
    margin-top: 1.9rem; margin-bottom: 5rem;
    color:var(--textgray); font-size: 1.8rem;
}
.guide_list{
    display: flex; margin: 0 -0.8rem;
}
.guide_list li{
    display: flex; flex-direction: column; align-items: center; width:calc(16.2% - 0.8rem); margin:0 0.8rem; padding:4.8rem 0.6rem 8rem;
    background: linear-gradient(to bottom, #EBF3FF, rgba(255, 255, 255, 0));
}
.guide_list li:nth-child(2n){
    margin-top: 2rem;
}
.guide_list li:last-child{
    background: linear-gradient(to bottom, #6BA7FF, rgba(255, 255, 255, 0));
}
.guide_list li:last-child small{
    color: white;
}
.guide_list li .ic_guide{
    width:44%; margin:5.6rem 0 6.4rem;
    text-align: center;
}
.guide_list li small{
    color:var(--primary); font-weight: 600;
}
.guide_list li p {
    font-size: 2rem; text-align: center; line-height: 1.2;
}
.idx_portfolio_wrap{
    background: url(../img/bg_portfolio.png), url(../img/bg_portfolio_2.png);
    background-size: 56.5rem 45.8rem , 44.8rem 41.7rem;
    background-position: top 0 left 0 , bottom 0 right 0;
    background-repeat: no-repeat;
}
.idx_portfolio{
    display: flex; justify-content: space-between; margin-top: 20.7rem;
}
.idx_portfolio .left{
    margin-top: 28rem;
}
.idx_portfolio .right{
    width:55%; flex-shrink: 0;
}

.btn_more{
    display: flex; align-items: center;
    font-size: 2.2rem; font-weight: 700;
}
.btn_more .ic_more{
    display: flex; justify-content: center; align-items: center; width:1.6em; height: 1.6em;  margin-left: 0.9rem;
    border:1px solid var(--text); border-radius: 50%;
    font-size: 1.7rem; font-weight: 400; text-align: center;
}
.portfolio_list{
    display: flex; flex-wrap: wrap;
}
.idx_portfolio .portfolio_list{
    margin-left:-2rem; margin-right:-2rem;
}
.portfolio_list li{
    margin-bottom: 7rem;
}
.idx_portfolio .portfolio_list li {
    width:50%; margin-bottom: 6rem; padding:0 2rem;
    cursor: pointer;
}
.idx_portfolio .portfolio_list li:nth-child(2){
    margin-top: 16.3rem;
}
.idx_portfolio .portfolio_list li:nth-child(2n - 1):not(:nth-child(1)){
    margin-top: -16.3rem;
}
.portfolio_list .rect_portfolio{
    margin-bottom: 2rem;
}
.portfolio_list li{
    position: relative;
}
.portfolio_list li .port_subtit{
    margin-bottom: 1rem; line-height: 1.4;
    color:#8995A1;
}
.portfolio_list li .port_tit{
    margin-bottom: 0.9rem;
    font-size: 2.2rem; font-weight: 700;
}
.portfolio_list li .ic_rank{
    display: flex; justify-content: center; position: absolute; left:2rem; top:0; width:4.8rem; height: 6.2rem; padding-top: 1.4rem;
    z-index: 1000; background: url(../img/bg_rank.png) no-repeat 100% 100%;
    font-size: 2.4rem; font-weight: 600; color: white;
    z-index: 999;
}
.idx_portfolio .portfolio_list li .ic_rank{
    left:2rem;
}
.portfolio_list li a{
    display: block;
}
.portfolio_list .portfolio_list_li a .rect img{
    transition: all 0.2s ease-in-out;
}
.portfolio_list .portfolio_list_li:hover .rect img{
    transform: scale(1.1); filter: brightness(90%);
}
.portfolio_list .portfolio_list_li .btn_like{
    display: flex; align-items: center; justify-content: center; position: absolute; right: 4rem; top:2rem; width: 5.6rem; height: 5.6rem; padding: 0;
    z-index: 999; color:white; font-size: 3.2rem; text-align: center;
}
.portfolio_list .portfolio_list_li .btn_like::before{
    content: ''; position: absolute; width:0; height: 0;
    background-color: var(--primary); border-radius: 50%;
    transition: all 0.1s ease-in-out; z-index: -9999; opacity: 0;
}
.portfolio_list .portfolio_list_li .btn_like i{
    transition: all 0.2s ease-in-out; margin-bottom: -0.1em;

}
.portfolio_list .portfolio_list_li .btn_like.on i{
    animation: btnHeart 0.2s ease-in-out 1 forwards;
}
.portfolio_list .portfolio_list_li .btn_like.on::before{
    width: 100%; height: 100%; opacity: 1;
}
.idx_project .project_list{
    margin-top: 5rem; margin-bottom: 0; padding-bottom: 5rem; padding-right: 4rem;
}
.project_list li{
    margin-bottom: 7rem;
    cursor: pointer;
}
.board_empty{
    display: flex; flex-direction: column; align-items: center; justify-content: center; padding:24vh 30px;
    background-color: #F6F8FB;
    text-align: center; color:var(--textdarkgray); font-size: 1.5rem;
}
.board_empty i{
    font-size: 5rem; color: var(--textgray); padding-bottom: 1rem;
}
.rect_project{
    margin-bottom: 2rem;
}
.rect_project::after{
    padding-bottom: 75%;
}
.project_category{
    margin-bottom: 0.8rem;
    color: #8995A1; letter-spacing: -0.01em;
}
.project_tit {
    margin-bottom: 0.8rem; line-height: 1.4;
    font-size: 2.2rem; font-weight: 700;
}
.rect_project img{
    transition: all 0.1s ease-in-out;
}
.project_list_li{
    cursor: pointer;
}
.project_list_li:hover .rect_project img{
    transform: scale(1.1); filter: brightness(90%);
}
.project_tit_eng{
    margin-bottom: 1.6rem;
    color: #687481;
}
.idx_project .swiper-pagination{
    /* bottom:-2rem; */
}
.idx_project .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
    width:3.6rem; border-radius: 8em;
}
.badge{
    padding:0.5em 0.8em 0.4em;
    font-weight: 400; font-size: 1.6rem;
}
.badge_avldelete{
    padding:0.5rem 1.2rem 0.3rem;
    font-size: 1.6rem; font-weight: 400;
}
.badge_like{
    position: relative; padding:0.4rem 1rem;
    border:1px solid var(--primary); border-radius: 3em;
    font-size: 1.4rem; color: var(--primary);
}
.badge_primary_outline{
    border:1px solid var(--primary);
    color:var(--primary)
}
.badge_secondary_outline{
    border:1px solid var(--secondary);
}
.badge .btn_delete{
    height: auto; padding: 0;
}
.badge_like .badge_bubble{
    display: none; position: absolute; bottom:-7rem; padding:1rem 1.2rem;
    background-color: #22272B; border-radius: 1rem; border-top-left-radius: 0;
    color: #E8ECF5; font-weight: 400; text-align: left ; line-height: 1.2;
}
.badge_like .badge_bubble::before{
    content: ''; position: absolute; top:-0.8rem; left:0; width:1rem; height: 0.8rem;
    border:1rem solid transparent; border-left-color: #22272B;
}
.tit_h1 .badge{
    padding:0.6rem 1.2rem; margin-top: -0.1em;
    font-size: 1.6rem; font-weight: 400; vertical-align: middle;
}
@keyframes btnHeart {
    0% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
    }

    30% {
        -webkit-transform: scaleY(0.8) scaleX(1.2);
        transform: scaleY(0.8) scaleX(1.2);
    }
    65% {
        -webkit-transform: scaleY(1.1) scaleX(0.9) translateY(-8px);
        transform: scaleY(1.1) scaleX(0.9) translateY(-8px);
    }
    85% {
        -webkit-transform: scaleY(0.95) scaleX(1.01) translateY(0);
        transform: scaleY(0.95) scaleX(1.01) translateY(0);
    }
    100% {
        -webkit-transform: scaleY(1) scaleX(1) translateY(0);
        transform: scaleY(1) scaleX(1) translateY(0);
    }
}
.portfolio_list li .rect .btn_like i{
    margin-top: 0.1rem;
}
.portfolio_list li .rect .btn_like.on{

}
.user_date{
    margin-bottom: 1.8rem;
    color:#8995A1; font-size: 1.5rem;
}
.user_date strong{
    color: #22272B; font-weight: 500;
}
.like_view{
    color:#B1BBC9; font-size: 1.4rem;
}
.like_view span:last-child{
    padding-left: 1.2rem;
}
.idx_project_wrap{
    position: relative; padding: 10.4rem 0 15rem;
}
.idx_project_wrap::before{
    content: ''; position: absolute; width:100%; height: 80%;
    background: linear-gradient(to bottom, #EBF3FF, white);
    z-index: -9999;
}
.idx_project_wrap > .container{
    padding-top: 12rem;
}

/*login signup*/
.sign_box{
    width:368px; margin:7.7rem auto 0;
}
.btn_password_eye{
    position:absolute; right:1.6rem; top:50%; transform: translateY(-50%); width: 2.2rem; height: 2.2rem; padding:0;
    background: url(../img/bg_ic_password.png) no-repeat 0 0; background-size: 100% auto;
}
.btn_password_eye.on{
    background-position: 0 100%;
}
.ip_certify{
    position: relative;
}
.ip_certify .form-control{
    padding-right: 6rem;
}
.remainTime{
    position: absolute; right:1.6rem; top:50%; transform: translateY(-50%);
    color: var(--primary); font-size: 1.4rem; font-weight: 500;
}
.info_box{
    padding:3rem;
    border-radius: 0.4rem; background-color: var(--light);
}

/* profile_settings */
.profile_banner{
    border-radius: 0.4rem;
}
.profile_banner::after{
    padding-bottom: 42.6%;
}
.attachment_style_1{
    position: relative; width:14.6rem; margin:0 auto;
}
.attachment_style_1 .rect{
    width:100%;
    border:0.5rem solid #BFD0F9; border-radius: 50%;
}
.attachment_style_1 .empty_text{
    position: absolute; display: flex; justify-content: center; align-items: center; width:100%; height: 100%;
    color:#B1BBC9; text-align: center; font-size: 1.5rem; font-weight: 500; line-height: 1.2;
}
.btn_attachment{
    display: flex; position: absolute; right:0; bottom:0; justify-content: center; align-items: center; width:5rem; height: 5rem; padding: 0;
    background-color: #fff;
    border:1px solid var(--primary); border-radius: 50%; color:var(--primary); font-size: 2.4rem; font-weight: 700;
}
.btn_attachment:not(:disabled):hover{
    background-color: #E3EBFC;
}

.attachment_style_2{
    display: inline-block;
    margin-right: 1.6rem;
    margin-top: 1.6rem;
    position: relative;
}
.attachment_style_2 .attach_box{
    /* border: 1px dashed var(--textdarkgray); */
    border-radius: 0.4rem;
    overflow: hidden;
    width: 9.8rem;
    height: 9.8rem;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='4' ry='4' stroke='%238995A1FF' stroke-width='1' stroke-dasharray='2%2c 2' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e");
}
.attachment_style_2.on .attach_box{
    border: 0;
}
.attachment_style_2 .attach_box .attach_add{
    width: 3.1rem;
    height: 3.1rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--textdarkgray);
}
.btn_attachment_del{
    font-size: 2rem;
    color: #fff;
    position: absolute;
    top: 1rem;
    right: 1rem;
    border: 0;
    padding: 0;
    height: auto;
    background-color: transparent;
    display: none;
}
.attachment_style_2.on .btn_attachment_del{
    display: block;
}

.list_style_thumb{
    display: flex; justify-content: center; width: 90%; flex-wrap: wrap; margin:0 auto
}
.list_style_thumb li{
    width:33.333333%; padding: 0.75rem 0.9rem;
    cursor: pointer;
}
.list_style_thumb li .rect{
    border:1px solid #E8ECF5; border-radius: 50%;
    box-sizing: border-box;
}
.list_style_thumb li .rect > img{
    transition:all 0.2s ease-in-out;
}
.list_style_thumb li:hover .rect > img{
    transform: scale(1.1);
}
.list_style_thumb li.on .rect{
    border:2px solid var(--primary)
}

/* Intro */
.intro_1{
    position: relative;
    font-size: 6.5rem; font-weight: 700;
}
.intro_1 .intro_tit{
    position: absolute; width:90%; bottom:-10%; left:5%; padding:0 2rem;
    text-align: center;
}
.intro_1 .intro_tit small{
    font-size: 41%; font-weight: 600;
}
.intro_2{
    margin-top: 4rem; padding:0 2rem;
    text-align: center; line-height: 1.6;
}
.intro_3{
    margin-top: 10rem; padding:8.8rem 2rem;
    background-color: #002C50;
    color: white; text-align: center; line-height: 1.6; font-weight: 500;
}
.intro_3 .btn-outline-light{
    background-color:rgba(255,255,255,0.03);
}
.intro_3 .btn-outline-light:hover{
    background-color:rgba(255,255,255,0.2);
    color: white;
}
.projectProgress_wrap{
    display: flex; min-height: calc(100vh - var(--hd_height) - 5px); /*도큐먼트 높이 - 헤더 높이 - 프로그래스바 높이*/
}
.projectProgress_left{
    display: flex; width:73%;
}
.step1 .projectProgress_left{
    background-color: #22272B;
}
.projectProgress_left .step1_slide{
    max-height: 100%;
}
.projectProgress_left .story_text{
    overflow-y: auto; max-height: calc(100vh - var(--hd_height) - 5px); width:35%; padding:10% 7%; flex-shrink: 0; align-self: center;
    background-color: #22272B;
    font-weight: 500; color: white; font-size: 1.8rem; line-height: 1.6;
}
.projectProgress_left .step1_slide .swiper-wrapper{
    align-items: center;

}
.projectProgress_left .step1_slide .swiper-slide img, .projectProgress_left .step1_slide .swiper-slide video{
    position: relative; top:50%; transform: translateY(-50%); width: 100%; max-height: calc(100vh - var(--hd_height));
    object-fit: contain; object-position: center;
}

.projectProgress_right{
    display: flex; flex-direction: column; width:27%; padding:4% 3%;
    background-color: #F1F4F9;
}
.projectProgress_bar{
    position: sticky; width:100%; height: 5px; top:var(--hd_height);
    background-color: #F1F4F9;
    z-index: 1030;
}
.progress_status{
    position: absolute; height: 100%;
    background-color: var(--primary);
}
.swiperBtn_style_1{
    width:7.8rem; height: 7.8rem;
    background: rgba(0,0,0,0.3); border-radius: 50%;
    font-size: 4rem; color:white;
    transition: all 0.2s ease-in-out;
}
.swiperBtn_style_1:hover{
    background: rgba(0,0,0,0.4);
}
.swiperBtn_style_1::after{
    content: none;
}
.swiperBtn_style_1.swiper-button-next{
    right: var(--swiper-navigation-sides-offset,2rem);
}
.swiperBtn_style_1.swiper-button-prev{
    left: var(--swiper-navigation-sides-offset,2rem);
}
.step1_slide .swiper-pagination{
    bottom: var(--swiper-pagination-bottom,2rem);
}
.step1_slide .swiper-pagination-bullet{
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
    background-color: white;
    box-shadow: 0 0 0.1rem rgba(0,0,0,1);
    opacity: 0.5;
}

.step1_slide .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background-color: var(--primary); opacity: 1;
}

/* 포트폴리오 상세 */
.p_detail_wrap{
    max-width: 1020px;
    width: 100%;
    margin: 4rem auto 0;
    overflow-x: hidden;
}
.p_detail_head{
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    padding-bottom: 6rem;
    margin-bottom: 5.8rem;
    border-bottom: 1px solid var(--border);
}
.p_detail_thumb{
    width: 50%;
    max-width: 460px;
}
.p_detail_tit{
    width: 50%;
    max-width: 470px;
    margin-left: 9rem;
}
.p_detail_title_wr{
    border-bottom: 1px solid var(--border);
    padding-bottom: 2.5rem;
    padding-top: 3rem;
}
.p_detail_title .sub_txt{
    display: flex;
    color: var(--input_placeholder);
    font-size: 1.4rem;
}
.p_detail_title .sub_txt p{
    margin-right: 1.2rem;
}
.p_detail_info{
    padding: 2.5rem 0 5rem;
}

.p_detail_key_wr{
    margin: -1.8rem -3rem;
}
.p_detail_key_wr .col{
    padding: 1.8rem 3rem;
}

/*20230824 추가 시작*/

.pf_detail_wr.row {
    margin: 0;
    width: calc(100% - 1px);
	border:1px solid var(--border);
	border-right:0;
	border-bottom:0;
}
.pf_detail_wr .col{
	padding:0;
    border-bottom: 1px solid var(--border);
    border-right: 1px solid var(--border);
	flex: 1 1 40%;
	max-width: 100%;
	background:#fff;
}
.pf_detail {
    padding: 3rem 2rem;
}
.p_detail_qu_wr{margin-bottom:2.0rem;}

/*20230824 추가 끝*/







.badge_wrap{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: -0.6rem;
}
.badge_wrap .badge{
    margin: 0.6rem;
}
.p_detail_q_wr{
    margin-top: 4.6rem;
}
.p_detail_photo .row{
    margin: -0.75rem;
}
.p_detail_photo .row .col{
    padding: 0.75rem;
}

.p_btn_wrap .btn-block{
    max-width: 40.5rem;
}

/* about AIX */
.about_wrap_1{
    margin: 8rem auto 10rem;
    overflow-x: hidden;
}
.about_wrap_2{
    background-color: #F6F8FB;
    padding: 10rem 0 12rem;
    margin-bottom: 15rem;
    overflow-x: hidden;
    margin-top: 7.4rem;
}
.aix_edu_process {
    margin-top: 10rem;
}
.aix_edu_guide {
    padding-bottom: 10rem;
}
.rect.rect_about::after{
    padding-bottom: 51.5%;
}
.about_wrap_1 p{
    white-space: pre-line;
}
.about_title{
    font-size: 3.8rem;
    margin-bottom: 2.7rem;
    font-weight: 700;
}
.about_sub_title{
    font-size: 2.2rem;
    font-weight: 700;
}
.about_txt{
    margin-top: 6rem;
}
.about_circle div{
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 2rem;
    margin-top: 0.2rem;
}
.about_circle span{
    font-size: 1.4rem;
    font-weight: 400;
}
.about_circle{
    display: flex;
    align-items: center;
    justify-content: center;
}
.about_circle li{
    width: 27.6rem;
    min-width: 27.6rem;
    height: 27.6rem;
    background-color: rgb(233 240 255 / 50%);
    border: 1px solid var(--primary);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 7.2rem 4.9rem 6.8rem;
    margin-left: -2rem;
}
.about_circle li:first-child{
    margin-left: 0;
}
.about_img{
    margin-top: 5.5rem;
    margin-bottom: 7rem;
}
.about_img img{
    max-width: 378px;
}
.about_ability{
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    margin: -2rem -0.8rem;
}
.about_ability li{
    padding: 2rem 0.8rem;
    width: calc(100% / 6);
}
.about_ability li > div{
    border-radius: 1.6rem;
    padding-top: 4rem;
    background: linear-gradient(to bottom, #A8CBFF, transparent 80%);
}
.about_ability li h1{
    font-size: 4rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    margin-bottom: 0.5rem;
}
.about_ability li span{
    font-size: 1.8rem;
    letter-spacing: -0.03em;
}
.about_ability li p{
    margin-top: 3rem;
    padding: 0 2rem;
}

/* 공지사항 */
.notice_wrap{
    max-width: 1020px;
    width: 100%;
    margin: 6rem auto 0;
    overflow-x: hidden;
}
.notice_list{
    border-top: 1px solid #E8ECF5;
    padding-bottom: 0.2rem;
}
.notice_list li{
    border-bottom: 1px solid #E8ECF5;
    text-align: center;
}
.notice_list li .number{
    padding: 0 2rem;
    min-width: 9rem;
}
.notice_list li .title{
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: break-word;
    width: calc(100% - 9rem - 14.6rem);
    padding: 0 3rem;
}
.notice_list li .date{
    color: var(--input_placeholder);
    padding: 0 2rem;
    min-width: 14.6rem;
}
.notice_list li.notice_head{
    padding: 2.6rem 0;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.notice_list li a{
    padding: 2rem 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transition: background 0.3s ease-in-out;
}
.notice_list li a:hover{
    background: #EFF3FE;
}
.n_detail_top{
    padding: 2rem;
    border-top: 1px solid #E8ECF5;
    border-bottom: 1px solid #E8ECF5;
}
.n_detail_body{
    padding: 3rem 2rem;
}
.n_detail_body p{
    line-height: 1.6em;
}
.n_detail_bottom{
    padding-top: 3rem;
    border-top: 1px solid #E8ECF5;
}

/* 마이페이지 - 완료 프로젝트 */
.project_list_li.complete .rect::before{
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgb(35 94 234 / 70%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
.project_list_li.end .rect::before{
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgb(58 58 58 / 70%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
.project_list_li .rect .comp_wrap{
    color: #fff;
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
    padding: 0 1rem;
}
.project_list_li .rect .comp_wrap p{
    margin-bottom: 0.8rem;
}
.project_list_li .rect .comp_wrap h1{
    font-size: 2.8rem;
    margin-bottom: 0.8rem;
}

/* my page */
.mypg_box_wrap{
    display: flex; justify-content: space-between; align-items: center; position: relative; padding: 12.1rem 5rem 0;
}
.mypg_box_wrap::before{
    content: ''; position: absolute; left:0; top:0; width:100%; height: 16.4rem;
    background: linear-gradient(160deg, #F1F4F9 , #EBF1FF); border-radius: 0.4rem;
    z-index: -999;
}
.mypg_box_wrap .left{
    display: flex; align-items: center;
}
.mypg_box_wrap .left .attachment_style_1 {
    flex-shrink: 0; width:18.6rem; height: 18.6rem; margin-right: 4.5rem;
}
.mypg_box_wrap .left .attachment_style_1 .rect{
    background-color: white;
}
.mypg_box_wrap .left .attachment_style_1 .empty_text{
    font-size: 2.4rem; font-weight:600;
}
.class_detail_wrap{
    display: flex; justify-content: space-between;
}
.class_detail_wrap .left{
    width: 48.2rem; flex-shrink: 0;
}
.class_detail_wrap .list_style_1 li{
    height: 6rem;
}
.class_detail_wrap .list_style_1:not(:first-child) li:first-child{
    border-top: none;
}
.class_detail_wrap .right{
    width:calc(100% - 156px - 48.2rem);
}
.number_questions{
    position: absolute; left:20px; top:20px; max-width: calc(100% - 40px); padding:1.2rem 1.6rem;
    background-color: rgba(0,0,0,0.56); border-radius: 0.4rem;
    color:white; font-weight: 500; line-height: 1.2;
}
.information_slide{
    margin-top: -12px; padding-top: 12px;
}
.information_slide .swiper-slide{
    overflow: hidden; padding:2rem; height: auto;
    background-color: #F1F4F9; border:1px solid transparent; border-radius: 0.4rem;
    cursor: pointer;
    line-height: 1.4;
}
.information_slide .swiper-slide.on{
    border-color: var(--primary); background-color: #EEF3FF;
    color: var(--primary);
}
.information_slide .swiper-slide .verified_info{
    display: flex; justify-content: center; align-items: center; position: absolute; width:100%; height: 100%; top:0; left:0;
    background-color: rgba(0,0,0,0.8);
    font-size: 2.8rem; font-weight: 700; color:white;
}
.information_slide .swiper-pagination{
    left: unset!important; right: 0; bottom: unset; top:12px;
    transform: unset!important;
}

.information_slide .swiper-wrapper{padding-top:0.7rem;}
.information_slide .swiper-slide{overflow: visible;}
.information_slide .swiper-slide.vrfc_complete{padding-left:6.0rem;background:#fff;border:1px solid #235EEA;box-shadow:0 3px 6px rgba(0,0,0,0.16);}
.information_slide .swiper-slide .vrfc_badges {
    width: 5.5rem;
    height: 6rem;
    background: url(../img/vrfc_complete.png)no-repeat center / cover;
    position: absolute;
    top: -0.7rem;
    left: -1px;
}




.toolbar{
    display: flex; flex-direction: column; height: 100%; padding:24px 14px;
    background-color: #22272B;
}
.tool_item{
    display: flex; align-items: center; justify-content: center; position: relative; width:38px; height: 38px; margin-bottom: 10px; padding: 0;
    border-radius: 0.4rem;
    color:white; font-size: 20px;
    cursor: pointer;
}
.tool_item:hover{
    color: white; background-color: #ffffff20;
}
.tool_item.on{
    background-color: var(--primary);
}
.toolbar_tooltip{
    display: none; position: absolute; width: 192px; padding:2.8rem 2rem 2rem 2rem; top:0; left:66px;
    background-color: rgba(34,39,43,0.86); border-radius: 0.4rem;
    text-align: left; line-height: 1.4;
    z-index: 1030;
}
.toolbar_tooltip .btn_delete{
    position: absolute; right: 0; top:0; padding:0.8rem 1rem; height: auto;
    color: white; opacity: 0.8; z-index: 1030;
}
.toolbar_tooltip .btn_delete:hover{
    opacity: 1;
}
.tool_item.on .toolbar_tooltip{
    display: block;
}
.toolbar_tooltip strong{
    font-size: 16px; line-height: 0;
}

.btn_project_ctrl{
    margin-top: auto;
}
.step2 .projectProgress_left{
    justify-content: center; position: relative;
}
.step2 .projectProgress_left > img{
    object-fit: contain; object-position: center;
    text-align: center;
}
.step2_keyword{
    display: flex; align-items: center;
    background-color: rgba(34,39,43,0.8); border-radius: 5em;
    color:white; font-weight: 600;
    -webkit-transform: translateY(0%); transform: translateY(0%);
    transition: background-color 0.1s ease-in-out;

}
.step2_keyword_wrap:not(.on){
    animation: keyword_ani 1.5s ease-in-out infinite forwards; cursor: pointer;
}
.step2_keyword .hidden_text{
    display: none; padding-right: 1.5rem;
}
.step2_keyword_wrap:hover .hidden_text{
    display: block;
}
.step2_keyword_wrap.on .step2_keyword{
    background-color: var(--primary);
    box-shadow: 0 0 0.8rem rgba(0,0,0,0.3);
}
.step2_keyword_wrap.on .hidden_text{
    display: block;
}
.step3 .chat_wrap {
    display: flex; flex-direction: column; width:100%; max-height: calc(100vh - var(--hd_height) - 5px); /*도큐먼트 높이 - 헤더 높이 - 프로그래스바 높이*/
    flex-grow:1;
}
.step3 .chat_wrap .chat_header, .step3 .chat_wrap .chat_body .chat_box, .step3 .chat_wrap .chat_footer .ip_wr{
    width:64%; margin:0 auto;
}
.chat_header{
    display: flex; justify-content: space-between; height: 33px; line-height: 33px; padding: 0 16px;
}

.step3 .chat_body{
    overflow-y: auto; position: relative; height: 100%; padding-bottom: 20px;
}
.step3 .chat_body::-webkit-scrollbar{
    width:8px; background-color: white;
}
.step3 .chat_body::-webkit-scrollbar-track {
    background: white;
}
.chat_body .chat_box{
    display: flex; flex-direction: column;
}
.chat_bubble{
    max-width: 66%; margin-bottom: 1rem;
}
.chat_bubble .chat_text{
    padding:1.8rem 2.4rem; font-size: 1.8rem;border-radius: 2.4rem;
    line-height: 1.4;
}
.chat_me{
    display: inline-block; margin-left: auto; margin-top: 3rem;
}
.chat_me .chat_text{
    background-color: #474D60;
    border-top-right-radius: 0!important;
    color:white;
}
.chat_you{
    display: flex;
}
.chat_you .rect{
    width:8rem; margin-right: 2.4rem;
    border-radius: 50%; background-color: #E1EAFF;
}
.chat_you .chat_text{
    margin-top: 1rem;
    background-color: #E8ECF5; border-top-left-radius: 0!important;
}

textarea.chat_input{
    height:5rem; padding:1.3rem 5rem 0rem 1.6rem;
    line-height: 1.4; resize: none;
}
.btn_send{
    display: flex; justify-content: center; align-items: center; position: absolute; top:0.9rem; right:0.9rem; width:3.2rem; height: 3.2rem; padding: 0;
    font-size: 2.0rem; color: #B1BBC9;
    transition:all 0.2s ease-in-out;
}
.btn_send.on{
    background-color: var(--primary);
    color:white;
}
.btn_send i{
    margin-bottom: -0.08em;
}
.btn_send.on:hover{
    filter: brightness(110%);
}
.chat_footer{
    flex-shrink: 0; width:100%; margin-top: auto; padding:10px 0;
    background-color: #F1F4F9;
}
.step4 .projectProgress_left, .step5 .projectProgress_left, .step6 .projectProgress_left, .step7 .projectProgress_left{
    display: block; padding:4rem 6rem;
}
.step4 .projectProgress_right, .step5 .projectProgress_right, .step6 .projectProgress_right, .step7 .projectProgress_right{
    position: sticky; top: calc(var(--hd_height) + 5px); height: calc(100vh - var(--hd_height) - 5px);
}
.step4 .projectProgress_left .information_slide{
    width:100%;
}
.google_verifc{
    display: flex; height: 600px
}
.google_verifc .left{
    width:60%; height: 100%; margin-right: 2.4rem;
}
.google_verifc .right{
    display: flex; flex-direction: column; width:40%; height: 100%; padding:4rem;
}
.google_verifc .right textarea.form-control{
    height: calc(100% - 22px); /* 100% - ip_tit */
}
.google_verifc .right .btn{
    flex-shrink: 0;
}
.nav_chat_wrap .chat_footer{
    padding:10px 2.4rem;
}
.nav_chat_wrap_header{
    padding:3rem 2.4rem 1.6rem;
}
.nav_chat_wrap .chat_header{
    padding:0 2.4rem;
}
.badge_new{
    margin-left: auto; padding:0.3rem 0.6rem;
    background-color: var(--danger);
    color:white; font-weight: 600; font-size: 1.3rem;
}
.list_chatbot{
    height: 100%; overflow-y: auto;
}
.list_chatbot::-webkit-scrollbar{
    width:4px;
}
.list_chatbot li{
    display: flex; align-items: center;
    padding:1.2rem 2.4rem;
    transition: background-color 0.2s ease-in-out;
    cursor: pointer;
}
.list_chatbot li:hover{
    background-color: #F6F8FB;
}
.list_chatbot li:hover .rect_chatbot{
    background-color: #eaeff7;
}
.rect_chatbot{
    width: 5rem; margin-right: 1.5rem;
    background-color: #F1F4F9; border-radius: 50%;
}
@keyframes keyword_ani {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    65% {
        -webkit-transform: translateY(-20%);
        transform: translateY(-20%);
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
.step2_keyword .q_mark{
    padding:1rem 1.5rem;
    font-weight: 700; font-size: 2.1rem;
}
.google_verifc{
    display: flex;
}
.step5 .projectProgress_left .tab_style_1{
    width:324px; margin:0 auto 15px;
}
.border_wrap{
    overflow-y: auto; padding:3.4rem 3rem; max-height: 440px;
    border:1px solid var(--border); border-radius: 0.4rem;
}
.border_wrap::-webkit-scrollbar{
    width:4px;
}
.border_wrap .textScroll_box{
    margin-bottom: 2rem;
}
.text_box_list{
    display: flex; flex-wrap: wrap; margin:-1.2rem;
}
.text_box_list li{
    width:50%; padding:1.2rem;
}
.text_box{
    padding: 2rem; line-height: 1.4; height: 100%;
    background-color: #F1F4F9; border-radius: 0.4rem;
    color: #22272B; cursor: pointer;
    transition: all 0.2s ease-in-out;
}
.step5 .text_box:hover{
    box-shadow: 0 0 0.6rem rgba(35,94,234,0.4);
}
.problem_situation{
    width:59rem; margin: 0 auto;
    text-align: center;
}
.problem_situation .ip_wr .form-text{
    justify-content: center;
}
.rect.empty{
    background-color: #F6F8FB;
}
.rect.empty .empty_text{
    display: flex; flex-direction: column; justify-content: center; align-items: center; position: absolute; top:0; left:0; width: 100%; height: 100%;
    color:#B1BBC9; font-size: 1.6rem ; font-weight: 500; text-align: center; line-height: 1.4;
}
.rect.empty .empty_text i{
    color:#8995A1; font-size: 3.6rem;
}
.nav_project{
    position:fixed; bottom: 150px; right: 40px; z-index: 1040; width:7rem;
}
.nav_project > .btn{
    display: flex; align-items: center; justify-content: center; width:100%; height: 7rem; margin-bottom: 1.2rem;
    box-shadow: 0 0.3rem 0.8rem rgba(0,14,48,0.19);
    border-radius: 50%;
}
.btn_mission{
    background-color: var(--primary);
    color:white; font-size: 1.2rem; left: -0.04em;
}
.btn_chatbot{
    background: #22272B url(../img/bg_chatbot.png); background-size: 100% auto;
	position:relative;
}
.btn_chatbot.on{
    background-position: 0 100%;
}
.chatbot_speech {
    position: absolute;
    right: calc(100% + 10px);
    background: var(--input_text);
    color: #fff;
    display: inline-block;
    border-radius: 4rem;
    padding: 1rem 1.5rem;
    min-width: 18rem;
    font-size: 1.35rem;
    text-align: left;
    display: block;
}
.chatbot_speech:after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 10px solid var(--input_text);
    border-right: 10px solid transparent;
    position: absolute;
    right: -19px;
    top: 50%;
    transform: translateY(-45%);
}
.nav_chat_wrap{
    overflow: hidden; position: absolute; right:0; bottom:90px; width:35.6rem; height: 49.8rem;
    background-color: white; border-radius: 3.3rem; text-align: left!important;
    box-shadow: 0 0.3rem 1.9rem rgba(0, 14, 48, 0.16);
    cursor: default;
}
.nav_chat_wrap .chat_wrap{
    display: flex; flex-direction: column; height: 100%;
}
.nav_chat_wrap .chat_body{
    overflow-y: auto; height: 100%; padding:0 2.4rem
}
.nav_chat_wrap .chat_body::-webkit-scrollbar{
    width:4px;
}
.nav_chat_wrap .chat_text{
    font-size: 1.4rem; padding:1.6rem;
    border-radius: 1.6rem;
}
.nav_chat_wrap .chat_you .rect{
    width:4rem; margin-right: 1rem;
}
.nav_chat_wrap .chat_bubble{
    max-width: 80%;
}
.nav_chat_wrap .chat_me{
    margin-top: 1rem;
}
.nav_chat_wrap .chat_footer{
    position: absolute; bottom:0; width:100%; left:0;
}
.nav_chat_wrap .chat_footer .form-control{
    height: 4rem;padding: 0.8rem 5rem 0rem 1.6rem;
    font-size: 1.5rem;
}
.nav_chat_wrap .chat_footer .btn_send{
    top:0.4rem; right:0.4rem; font-size: 1.8rem;
}
.mission_list{
    overflow: hidden; position: absolute; right:0; bottom:180px;
    background-color:white;
    box-shadow: 0 0.3rem 1.9rem rgba(0, 14, 48, 0.16); border-radius: 3.3rem;
    white-space: nowrap;
}
.mission_list li{
    padding:2rem; cursor: pointer;
}
.mission_list li:hover{
    color:var(--primary); font-weight: 700;
    background-color: #EFF3FE;
}
.story_box{
    overflow-y: auto; position: absolute; width:100%; height: 100%; padding:9.6rem 8.8rem 0;
    background: rgba(0,0,0,0.7); color:white;
    z-index: 1030;
}
.modal .p_detail_head{
    padding-bottom: 0; margin-bottom: 0;
    border-bottom: 0;
}
.modal .p_detail_info{
    padding-bottom: 0;
}
.modal .p_detail_title_wr{
    padding-top: 0;
}
.modal .p_detail_tit{
    margin-left: 3rem;
}
.external_link{
    color:#279AFF; padding-top: 3rem;
    text-decoration: underline;
}
.external_link:hover{
    color:var(--primary)
}

.ul_margin li {
    margin-bottom: 2.4rem;
    padding-left: 2rem;
    padding-right: 2rem;
    padding-bottom: 2.4rem;
    border-bottom: 1px solid var(--border);
}
.ul_margin li:last-child{margin-bottom:0;border-bottom:0;padding-bottom: 0; margin-bottom: 0;}
.ul_margin .text-muted{margin:1.0rem;}

/* ------------------------ Responsive ------------------------ */

@media (min-width : 1921px) {
    /* ------------------------ custom ------------------------ */


    /* ------------------------ Common ------------------------ */


    /* ------------------------ Design ------------------------ */


}
/*반응형 max 1200 xl*/
@media (max-width: 1880px) {
    /* ------------------------ custom ------------------------ */
    .container{
        max-width: 1400px;
    }
    .table_style_1 th, .table_style_1 td{
        font-size: 1.5rem; padding: 1.6rem;
    }
    .about_ability li{
        min-width: 25.6rem;
    }
     /* ------------------------ Common ------------------------ */


    /* ------------------------ Design ------------------------ */
    .slide_content_wrap{
        width:1360px;
    }



}

@media (max-width: 1600px) {
    /* ------------------------ custom ------------------------ */
    .container{
        max-width: 1100px;
    }
    .tit_h1 { font-size: 3rem; }
    /* .tit_h2 { font-size: 1.8rem; }
    .tit_h3 { font-size: 1.6rem; }  */
    /* ------------------------ Common ------------------------ */
    footer.footer{
        background-size: 47rem 26.2rem;
    }
    .footer_body .company_info{
        max-width: 100%;
    }
    /* ------------------------ Design ------------------------ */
    .idx_tit{
        font-size: 4rem;
    }
    .idx_subtit{
        margin-top: 1.6rem; margin-bottom: 4rem;
    }
    .slide_content_wrap{
        width:1060px;
    }
    .slide_text{
        width:42%;
    }
    .slide_tit{
        margin-bottom: 1.2rem;
        font-size: 4.2rem;
    }
    .slide_subtit{
        font-size: 2.8rem;
        margin-bottom: 2.4rem;
    }
    .slide_content{
        font-size: 1.5rem;
    }
    .guide_list li .ic_guide{
        margin:4.2rem 0 5rem;
    }
    .guide_list li p{
        font-size: 1.8rem;
    }
    .idx_project .project_list{
        margin-top: 4rem;
    }
    .idx_portfolio_wrap{
        background-size: 31.3rem 25.4rem , 24.8rem 23.1rem;
    }
    .idx_portfolio .left{
        margin-top: 20rem;
    }
    .idx_portfolio .portfolio_list li .ic_rank{
        left: 1.6rem;
    }
    .portfolio_list .portfolio_list_li .btn_like{
        right: 2.8rem; top:1.2rem
    }
    .idx_portfolio .portfolio_list{
        margin:0 -1.6rem;
    }
    .idx_portfolio .portfolio_list li{
        padding:0 1.6rem
    }

    /* sy 디자인수정 240131 시작*/
    .br_pc_none_s {
        display: block;
    }
    .point_li img{
        width: 50%;
    }
    /* sy 디자인수정 240131 끝 */
    .portfolio_list{
        margin:0 -1.6rem;
    }
    .portfolio_list li{
        padding:0 1.6rem
    }
    .row.project_list {
        margin:0 -1.6rem;
    }
    .row.project_list li {
        padding:0 1.6rem
    }
    .btn_more{
        font-size: 2rem;
    }
    .btn_more .ic_more{
        width:1.3em; height: 1.3em;
    }
    .class_detail_wrap .left{
        width:38rem;
    }
    .class_detail_wrap .right{
        width: calc(100% - 50px - 38rem);
    }
    .step3 .chat_wrap .chat_header, .step3 .chat_wrap .chat_body .chat_box, .step3 .chat_wrap .chat_footer .ip_wr{
        width:80%;
    }
    .google_verifc .right{
        padding:3rem;
    }
}
@media (max-width : 1360.99px) {
    .step2_keyword_wrap {
        flex-direction: column;
    }
    .step2_keyword_box {
        display: flex;
    }
    .tooltip_wrap {
        margin-left: 0;
        margin-top: 0.5rem;
    }
}
/*반응형 max 1200 xl*/
@media (max-width: 1199.98px) {
    /* ------------------------ custom ------------------------ */
    .container{
        max-width: 900px;
    }
    .tit_h1 { font-size: 2.8rem; }
    /* .tit_h2 { font-size: 1.8rem; }
    .tit_h3 { font-size: 1.6rem; }  */
    .fs_20{
        font-size: 1.9rem;
    }
    .my_30{
        margin-top: 2.8rem; margin-bottom: 2.8rem;
    }
    /* ------------------------ Common ------------------------ */
    .pc_nav .nav_a{
        padding: 0 1.6rem;
    }
    footer.footer {
        background-size: 36rem 20.1rem;
    }
    /* ------------------------ Design ------------------------ */

    /* sy 디자인수정 240131 시작 */
    .slide_text2{
        padding-bottom: 0rem;
    }
    .problem_situation {
        width: 100%;
    }
    .point_li img{
        width: 60%;
    }
    .intro_box {
        padding: 4rem 4rem;
    }
    .int_txt_tit {
        font-size: 2rem;
    }
    .int_txt_point {
        font-size: 3.3rem;
        margin-top: -0.5px;
    }
    .int_txt_sub {
        font-size: 1.8rem;
        margin-top: 1rem;
    }
    /* sy 디자인수정 240431 끝 */

    .slide_content_wrap{
        width: 860px;
    }
    .guide_list li .ic_guide{
        margin:3rem 0 4rem;
    }
    .guide_list li p{
        font-size: 1.6rem;
    }
    .idx_tit{
        font-size: 3.8rem;
    }
    .idx_subtit{
        margin-top: 1.2rem; margin-bottom: 3.6rem;
        font-size: 1.6rem;
    }
    .controls{
        flex-direction: row; top:unset; left:unset; transform: unset; bottom:20px; right:20px; height: auto; width: auto;
        border-radius: 5em;
    }
    .controls .swiper-pagination{
        flex-direction: row; padding-left: 1rem; padding-right: 1rem;
    }
    .controls .swiper-button-next, .controls .swiper-button-prev{
        padding:1rem 2rem;
    }
    .controls .swiper-button-next{
        order: 1; padding-left: 1rem;
    }
    .controls .swiper-button-prev{
        padding-right: 1rem;
    }
    .bg_mainVisual::after{
        padding-bottom: 60%;
    }
    .slide_tit{
        font-size: 3.8rem;
    }
    .slide_subtit{
        margin-bottom: 0.8em;
        font-size: 2.4rem;
    }
    .controls .dot{
        margin:0.6rem;
    }
    .intro_1{
        font-size: 5rem;
    }
    .row.portfolio_list{
        margin-left: -0.8rem; margin-right: -0.8rem;
    }
    .row.portfolio_list li{
        padding-left: 0.8rem; padding-right: 0.8rem;
    }
    .row.project_list {
        margin-left: -0.8rem; margin-right: -0.8rem;
    }
    .row.project_list li {
        padding-left: 0.8rem; padding-right: 0.8rem;
    }
    .project_tit{
        font-size: 1.9rem;
    }
    .mypg_box_wrap::before{
        height: 10rem;
    }
    .mypg_box_wrap{
        padding: 8rem 3rem 0;
    }
    .mypg_box_wrap .left .attachment_style_1{
        width:12rem; height: 12rem; margin-right: 3rem;
    }
    .mypg_box_wrap .left .attachment_style_1 .empty_text{
        font-size: 1.8rem;
    }
    .class_detail_wrap .left{
        width:40%;
    }
    .class_detail_wrap .right{
        width: calc(60% - 30px);
    }
    .projectProgress_left{
        flex-direction: column;
    }
    .projectProgress_left .step1_slide{
        width: 100%;
    }
    .projectProgress_left .story_text{
        width:100%;
    }
    .projectProgress_left{
        width:65%;
    }
    .projectProgress_right{
        width: 35%;
    }

    .chat_bubble{
        max-width: 80%;
    }
    .toolbar{
        flex-direction: row; padding:10px;
        height: 58px;
    }
    .tool_item{
        margin-bottom: 0; margin-right: 10px;
    }
    .toolbar_tooltip{
        top:50px; left: 0;
    }
    .step3 .chat_wrap{
        max-height: calc(100vh - var(--hd_height) - 5px - 38px - 1rem); /* 도큐먼트높이 - 헤더높이 - 프로그래스바 높이 - toolitem높이 toolitem위아래패딩 */
    }
    .step3 .chat_wrap .chat_header, .step3 .chat_wrap .chat_body .chat_box, .step3 .chat_wrap .chat_footer .ip_wr{
        width:100%;
    }
    .chat_you .rect{
        width:7rem; margin-right: 2rem;
    }
    .chat_bubble .chat_text{
        padding:1.6rem 2.2rem;
        font-size: 1.7rem;
        border-radius: 2rem;
    }
    .step3 .chat_body{
        height: calc(100% - 38px - 1rem); /*전체높이 - toolitem높이 toolitem위아래패딩*/ padding-left: 20px; padding-right: 20px;
    }
    .chat_footer{
        padding:10px;
    }
    .step4 .projectProgress_left, .step5 .projectProgress_left, .step6 .projectProgress_left, .step7 .projectProgress_left{
        padding:3rem 4rem;
    }
    .google_verifc{
        flex-direction: column; height: unset;
    }
    .google_verifc .left{
        width: 100%; margin-right: 0; height: 300px;
    }
    .google_verifc .right{
        width: 100%; margin-top: 2.4rem; padding:3rem;
    }
    .border_wrap{
        padding:2.4rem 2rem;
    }
    .text_box_list{
        margin: -0.8rem;
    }
    .text_box_list li{
        padding:0.8rem;
    }
    /* 포트폴리오 상세 */
    .p_detail_tit{
        margin-left: 6rem;
    }

    /* About AIX */
    .about_wrap_1{
        margin-bottom: 7rem;
    }
    .about_wrap_2{
        padding-top: 7rem;
        padding-bottom: 7rem;
    }
    .about_wrap_1 p{
        font-size: 1.5rem;
    }
    .about_wrap_1 p.fs_14{
        font-size: 1.4rem;
    }
    .about_title{
        padding-top: 0.4rem;
    }
    .about_txt{
        margin-top: 5rem;
    }
    .about_ability li > div{
        padding-top: 3.4rem;
    }
    .about_ability li h1{
        font-size: 3.6rem;
        margin-bottom: 0.8rem;
    }
    .about_ability li span{
        font-size: 1.7rem;
    }
    .about_ability li p{
        margin-top: 2rem;
    }

    .order_xl_1{
        order: 1;
    }
    .mt_xl_70{
        margin-top: 7rem !important;
    }


	.p_detail_key_wrap .row{margin-right: -1.0rem;margin-left: -1.0rem;}
	.p_detail_key_wrap .col-6, .p_detail_key_wrap .col-lg-4, .p_detail_key_wrap .col-lg-8{padding-right: 1.0rem;padding-left: 1.0rem;}
}

/*반응형 max 1200 xl*/
@media (max-width: 1024px) {
    /* ------------------------ custom ------------------------ */
    :root{
        --hd_height: 7rem;
    }
    .btn_toggle_item{
        padding: 1.8rem 3rem;
    }
    /* ------------------------ Common ------------------------ */
    .logo{
        height: 1.5rem;
    }
    .pc_nav .nav_a{
        padding: 0 2rem;
        font-size: 1.5rem;
    }
    .nav_ul li.on::before{
        bottom:20%;
    }
    /* ------------------------ Design ------------------------ */
    .problem_situation{
        width:100%;
    }
    .text_box{
        padding:1.2rem;
    }
    /* 포트폴리오 상세 */
    .p_detail_head{
        padding-bottom: 5rem;
        margin-bottom: 4.8rem;
    }
    .p_detail_tit{
        margin-left: 5rem;
    }
    .p_detail_title_wr{
        padding-top: 1.5rem;
    }
    .p_detail_info{
        padding-bottom: 4rem;
    }

	.p_detail_key_wrap .row{margin-right: -0.5rem;margin-left: -0.5rem;}
	.p_detail_key_wrap .col-6, .p_detail_key_wrap .col-lg-4, .p_detail_key_wrap .col-lg-8{padding-right: 0.5rem;padding-left: 0.5rem;}


 }


/*반응형 max 992px lg*/
@media (max-width: 991.98px) {
    /* ------------------------ custom ------------------------ */
    .container{
        max-width: 90%;
    }
    .table_header{
        flex-wrap: wrap;
    }
    .table_header .left{
        width: 100%;
    }
    .table_header .right {
        flex-wrap: wrap; margin-top: 2rem;
    }
    .table_style_1 th, .table_style_1 td{
        padding:1.6rem 1rem; font-size: 1.5rem;
    }
    /* ------------------------ Common ------------------------ */
    .h_menu{
        /* padding: 0 2rem; */
    }
    .pc_nav{
        display: none;
    }
    .pc_nav .nav_a{
        padding: 0 1.2rem;
    }
    .hd_menu_btn{
        display: block;
    }
    .h_menu > .container{
        max-width:100%;
    }
    /* ------------------------ Design ------------------------ */
    /* sy 디자인수정 240431 시작 */
    .tit_h1 span.withai{
        font-size: 1.8rem;
    }
    .problem_situation_wrap .fs_26{
        font-size: 2.2rem;
    }
    .idx_point {
        flex-wrap: wrap;
        justify-content: center;
    }
    .point_col{
        width: 50%;
    }
    .point_li .point_tit span {
        font-size: 3.0rem;
    }
    .point_li img {
        width: 50%;
    }
    /* sy 디자인수정 240431 끝 */
    .slide_content_wrap{
        flex-direction: column;  width:calc(90% - 40px);
    }
    .bg_mainVisual::after {
        padding-bottom: 75vh;
    }
    .slide_text{
        width:100%
    }
    .slide_img{
        width: 80%; margin-top: 5vh;
    }
    .guide_list{
        flex-wrap: wrap; justify-content: center;
    }
    .guide_list li{
        width:calc(25% - 1.7rem);
    }
    .idx_portfolio{
        flex-wrap: wrap; margin-top: 10rem;
    }
    .idx_project_wrap > .container{
        padding-top: 10rem;
    }
    .idx_portfolio .left{
        width:100%; margin-top: 10rem;
    }
    .idx_portfolio .right{
        width:100%;
    }
    .idx_portfolio .portfolio_list{
        margin:0 -0.8rem;
    }
    .idx_portfolio .portfolio_list li{
        margin-top: 2rem!important; padding: 0 0.6rem;
    }
    .idx_portfolio .portfolio_list li{
        margin-bottom: 4rem;
    }
    .idx_portfolio .portfolio_list li .ic_rank{
        left:0.6rem
    }
    .portfolio_list .portfolio_list_li .btn_like{
        right:1.6rem; top:0.8rem;
    }
    .portfolio_list li .port_subtit{
        font-size: 1.5rem;
    }
    .portfolio_list li .port_tit{
        font-size: 1.8rem;
    }
    .user_date{
        font-size: 1.6rem;
    }
    .portfolio_list li .ic_rank{
        width:4rem; height: 5rem; padding-top: 1.3rem;
        font-size: 1.8rem;
    }
    .portfolio_list .portfolio_list_li .btn_like{
        width:5rem; height: 5rem;
        font-size: 2.4rem;
    }
    .slide_content_wrap{
        justify-content: center;
    }
    .idx_guide{
        margin-top: 10rem;
    }
    .guide_list li{
        padding:4.8rem 0.6rem 6rem;
    }
    .mypg_box_wrap::before{
        height: 7rem;
    }
    .mypg_box_wrap{
        margin-right: 2rem; padding: 5rem 2rem 0;
    }
    .class_detail_wrap{
        flex-wrap: wrap;
    }
    .class_detail_wrap .left{
        width:100%;
    }
    .class_detail_wrap .right{
        width:100%; margin-top: 40px;
    }
    .chat_you .rect{
        width:6rem;
    }
    .chat_bubble .chat_text{
        font-size: 1.6rem; padding:1.4rem 2rem;
    }
    /* 포트폴리오 상세 */
    .p_detail_title_wr {
        padding-top: 0;
    }

    /* About AIX */
    .about_circle{
        flex-direction: column;
    }
    .about_circle li{
        margin-left: 0;
        margin-top: -2rem;
    }
    .about_circle li:first-child{
        margin-top: 0;
    }

    /* 공지사항 */
    .notice_list li .number{
        min-width: 7rem;
        padding: 0 1rem;
    }
    .notice_list li .date{
        min-width: 10rem;
        padding: 0 1rem;
    }
    .notice_list li .title{
        width: calc(100% - 7rem - 10rem);
        padding: 0 2rem;
    }

    /* 마이페이지 - 완료 프로젝트 */
    .project_list_li .rect .comp_wrap h1{
        font-size: 2.2rem;
    }


	.p_detail_key_wrap .col-lg-4{margin-bottom:1.0rem;}



}


@media (max-width: 991.98px) and (max-height:1199px){
    .bg_mainVisual::after {
        padding-bottom: 100vw;
    }


}

/*반응형 max 767px md*/
@media (max-width: 767.98px) {
    /* ------------------------ custom ------------------------ */
    :root {
        /* 버튼 및 인풋 폼 높이 세팅 */
        --hd_height: 5rem;
    }
    .logo{
        height: 1.3rem;
    }
    html { font-size: 9.5px; }
    .tit_h1 { font-size: 2.2rem; }
    .tit_h2 { font-size: 1.8rem; }
    .tit_h3 { font-size: 1.6rem; }
    .pc_only{
        display: none;
    }


    /* sy 디자인수정 240431 시작 */
    .idx_point {
        flex-wrap: wrap;
        justify-content: center;
    }
    .point_col{
        width: 100%;
        padding-bottom: 1rem;
    }
    .br_pc_none_s {
        display: none;
    }
    .point_li .point_tit span {
        font-size: 3.0rem;
    }
    .point_li img {
        width: 170px;
    }
    .int_txt_tit {
        font-size: 2rem;
    }
    .int_txt_point {
        font-size: 2.8rem;
        margin-top: -0.5px;
    }
    .int_txt_sub {
        font-size: 1.8rem;
        margin-top: 1rem;
    }

    /* sy 디자인수정 240431 끝 */


    .btn_toggle_item{
        width:calc(50% - 1.2rem); padding: 1.4rem 2rem;
        font-size: 1.5rem;;
    }
    .btn_toggle_item:nth-child(2n){
        margin-right: 0;
    }
    /* modal */
    .modal-dialog-xl .modal-body {
        padding: 3rem 2rem 2rem;
    }
    .modal-dialog-xl .modal-footer{
        padding: 0 2rem 2.5rem;
    }
    .mt_md_50{
        margin-top: 5rem !important;
    }
    /* ------------------------ Common ------------------------ */

    footer.footer{
        margin-top: 10rem; padding:5rem 0;
        background-size: 25rem 14rem;
    }
    .footer_body{
        margin-top: 3rem;
    }
    .footer_body .copyright{
        margin-top: 4rem; font-size: 1.5rem;
    }
    /* ------------------------ Design ------------------------ */

    .slide_tit{
        font-size: 3.2rem;
    }
    .slide_subtit{
        font-style: 2rem;
    }
    .slide_content{
        font-size: 1.5rem;
    }
    .btn_more{
        font-size: 1.6rem;
    }
    .btn_more .ic_more{
        /* width:0.8em; height: 0.8em; */
    }
    .btn_more .ic_more i{
        margin-top: -0.03em; margin-right: -0.03em;
    }

    .list_style_thumb li:hover .rect > img{
        transform: unset;
    }
    .intro_1{
        font-size: 4rem;
    }
    .project_list .port_tit{
        font-size: 1.8rem;
    }
    .mypg_box_wrap{
        flex-direction: column; align-items: start; margin-right: 0;
    }
    .mypg_box_wrap .left .attachment_style_1{
        width:8rem; height: 8rem; margin-right: 2.2rem;
    }
    .mypg_box_wrap .left .attachment_style_1 .empty_text{
        font-size: 1.6rem;
    }
    .mypg_box_wrap .right{
        margin-left:10.2rem;
    }
    .projectProgress_wrap{
        flex-wrap: wrap; min-height: unset;
    }
    .projectProgress_right{
        width:100%;
    }
    .btn_project_ctrl{
        /* position:fixed; bottom:0; width: 100%; */
        margin-top: 2rem;
    }
    .projectProgress_left{
        width:100%; order: 1;
    }
    .projectProgress_left .step1_slide{
        max-height: 40vh;
    }
    .projectProgress_left .story_text{
        padding:5% 3%;
        font-size: 1.6rem;
    }
    .step3 .chat_wrap{
        max-height: unset;
    }
    .toolbar{
        position: sticky; top:var(--hd_height); z-index: 1010;
    }
    .step3 .chat_wrap .chat_header{
        position: sticky; top:calc(var(--hd_height) + 58px); /*헤더 + 툴바높이*/
        z-index: 1000;
    }
    .step3 .chat_body{
        height: auto; padding-bottom: 0;
    }
    .chat_you .rect{
        width:5rem; margin-right: 1.6rem;
    }
    .chat_bubble .chat_text{
        padding:1rem 1.6rem;
        border-radius: 1.4rem 1.2rem;
        font-size: 1.5rem;
    }
    .chat_bubble{
        max-width: 90%; margin-bottom: 3rem;
    }
    .chat_me{
        margin-top: 1rem;
    }
    .chat_footer{
        position: sticky; bottom:0; z-index: 1000;
    }
    .information_slide .swiper-slide{
        padding:1.6rem;
    }
    .step4 .projectProgress_right, .step5 .projectProgress_right, .step6 .projectProgress_right, .step7 .projectProgress_right{
        position: relative; top:unset; height: unset;
    }
    .information_slide .swiper-slide .verified_info{
        font-size: 2rem;
    }
    .nav_project{
        right:20px; bottom:510px;
    }
    .story_box{
        padding:4rem;
    }
    .idx_portfolio .portfolio_list li .ic_rank{
        left:0.6rem;
    }
    /* 포트폴리오 상세 */
    .p_detail_wrap{
        margin-top: 3rem;
    }
    .p_detail_tit{
        margin-left: 3.5rem;
    }
    .p_detail_info p{
        font-size: 1.4rem;
    }
    .p_detail_info .fs_20{
        font-size: 1.6rem;
    }
    .p_detail_info .mt_12{
        margin-top: 0.8rem !important;
    }

    /* About AIX */
    .container.about_wrap_1{
        max-width: 100%;
    }
    .about_wrap_1{
        margin-top: 7rem;
        margin-bottom: 6.5rem;
    }
    .about_wrap_2{
        margin-bottom: 10rem;
    }
    .about_title{
        padding-top: 0;
        font-size: 2.8rem;
    }
    .about_sub_title{
        font-size: 1.8rem;
    }
    .about_txt{
        margin-top: 4rem;
    }
    .about_txt .mt_24{
        margin-top: 1.8rem !important;
    }
    .about_img{
        margin-top: 1.8rem;
        margin-bottom: 3rem;
    }
    .about_ability li > div{
        padding-top: 3rem;
        padding-bottom: 1rem;
    }
    .about_ability li h1{
        font-size: 2.8rem;
        margin-bottom: 1.3rem;
    }
    .about_ability li p{
        margin-top: 2.6rem;
        font-size: 1.5rem;
    }

    /* 공지사항 */
    .notice_wrap{
        margin-top: 3.5rem;
    }
    .notice_list li{
        font-size: 1.5rem;
    }
    .notice_list li.notice_head{
        display: none;
        /* padding: 2rem 0; */
    }
    .notice_list li .number{
        display: none;
        /* min-width: 6rem;
        padding: 0 0.5rem; */
    }
    .notice_list li a{
        display: block;
        padding: 1.8rem 1rem;
        text-align: left;
    }
    .notice_list li .date{
        /* min-width: 8rem;
        padding: 0 0.5rem; */
        padding: 0;
        margin-top: 0.8rem;
    }
    .notice_list li .title{
        /* width: calc(100% - 6rem - 8rem); */
        width: 100%;
        padding: 0;
        /* padding: 0 1rem; */
    }
    .n_detail_top p,
    .n_detail_body p{
        font-size: 1.5rem;
    }
    .n_detail_top{
        padding: 1.5rem 1rem;
    }
    .n_detail_body{
        padding: 2rem 1rem;
    }

    /* 마이페이지 - 완료 프로젝트 */
    .project_list_li .rect .comp_wrap p{
        font-size: 1.4rem;
    }
    .a_class_code{
        font-size: 1.5rem;
        letter-spacing: -0.02em;
    }
    .a_class_code i{
        font-size: 1.4rem;
    }




}

/*반응형 max 576px sm*/
@media (max-width: 575.98px) {
    /* ------------------------ custom ------------------------ */
    /* sy 디자인수정 240431 시작 */

    .int_txt_tit {
        font-size: 2rem;
    }
    .int_txt_point {
        font-size: 2.6rem;
        margin-top: -0.5px;
    }
    .int_txt_sub {
        font-size: 1.6rem;
        margin-top: 1rem;
    }

    /* sy 디자인수정 240431 Rmx */
    .container{
        max-width:100%;
    }
    .modal-dialog-sm{
        max-width: calc(100% - 4rem);
    }
    .modal-body{
        font-size: 1.5rem;
    }
    .modal-body .fs_27{
        font-size: 2.2rem;
    }
    .modal-dialog-md .modal-header{
        padding: 4rem 3rem 1rem 3rem;
    }
    .modal-dialog-md .modal-body{
        padding: 1rem 3rem 1rem;
    }
    .modal-dialog-md .modal-footer{
        padding: 1rem 3rem 3rem;
    }
    .modal-dialog-lg .modal-header{
        padding: 3rem 2rem 2rem 2rem;
    }
    .modal-dialog-lg .modal-body{
        padding: 2rem 2rem 3rem 2rem;
    }
    .modal-dialog-lg .modal-footer{
        padding: 0 2rem 3rem;
    }
    .modal-dialog-xl .modal-footer .btn{
        max-width: none;
    }
    .list_style_thumb{
        width: 100%;
    }
    .fs_28{font-size: 2.2rem;}
    .fs_17{font-size: 1.5rem;}
    .fs_18{font-size: 1.6rem;}
    .fs_24{font-size: 2rem;}
    /* 간격 */
    .mt_10{margin-top: 0.8rem!important;}
    .mt_12{margin-top: 1rem!important;}
    .mt_16{margin-top: 1.4rem!important;}
    .mt_20{margin-top: 1.6rem!important;}
    .mt_24{margin-top: 2rem!important;}
    .mt_30{margin-top: 2.4rem!important;}
    .mt_40{margin-top: 3rem!important;}
    .mt_50{margin-top: 4rem!important;}
    .mt_60{margin-top: 5rem!important;}
    .my_30{margin-top: 2.4rem!important; margin-bottom: 2.4rem!important;}
    .my_40{margin-top: 3rem!important; margin-bottom: 3rem!important;}
    .my_60{margin-top: 5rem!important; margin-bottom: 5rem!important;}
    .my_75{margin-top: 6rem!important; margin-bottom: 6rem!important;}
    .mr_10{margin-right: 0.8rem!important;}
    .mr_35{margin-right: 2.7rem!important;}
    .ml_15{margin-left: 1.4rem!important;}
    .ml_20{margin-left: 1.6rem!important;}
    .mb_20{margin-bottom: 1.6rem!important;}
    .mb_24{margin-bottom: 2rem!important;}
    .mb_40{margin-bottom: 3rem!important;}
    .px_20{padding-left: 1.6rem!important; padding-right: 1.6rem!important;}
    .px_40{padding-left: 3rem!important; padding-right: 3rem!important;}
    .py_20{padding-top: 1.6rem!important; padding-bottom: 1.6rem!important;}
    .py_24{padding-top: 2rem!important; padding-bottom: 2rem!important;}

    .btn_toggle_item{
        width:100%; padding: 1.4rem 1.6rem; margin-right: 0;
    }
    .table_header{
        margin:2rem 0;
    }
    /* ------------------------ Common ------------------------ */
    .company_info li::before{
        content: unset;
    }
    footer.footer {
        background-position: right -20% bottom 0;
    }
    /* ------------------------ Design ------------------------ */

    /* sy 디자인수정 240131 시작 */

    .intro_1 .intro_tit {
        padding: 0;
    }
    .intro_1 .intro_tit small.small1, .intro_1 .intro_tit small.small2,
    .intro_1 .intro_tit span.int1_span {
        font-size: 58%;
    }
    .intro_1 .intro_tit small.small2, .intro_1 .intro_tit span.int1_span {
        font-weight: 600;
    }
    .intro_1 .intro_tit span.int1_span {
        margin-bottom: 0;
        line-height: 1.5;
    }
    .slide_content_wrap {
        width: calc(100% - 40px);
    }
    .bg_mainVisual::after{
        padding-bottom: 88vh;
    }
    .slide_img{
        width:100%; margin-right: -40px; margin-top: 10vh;
    }
    .mainVisual{
        border-top-right-radius: 0; border-bottom-right-radius: 0;
    }
    .idx_portfolio_wrap{
        background-size: 19rem 15.4rem , 15rem 14rem;
        background-position: top 0 left 0 , bottom 10% right 0;    }

    .guide_list{
        margin: 0 -0.4rem;
    }
    .guide_list li{
        width:calc(50% - 1.5rem); margin: 0 0.4rem;
    }
    .guide_list li .ic_guide{
        margin: 2rem 0 3rem;
    }
    .guide_list li:last-child{
        width:calc(50% - 3rem);
    }
    .guide_list li:last-child .ic_guide{
        width: 5.6rem;
    }
    .idx_tit{
        font-size: 3rem;
    }
    .idx_subtit{
        font-size: 1.5rem;
    }
    .portfolio_list li .port_tit{
        font-size: 1.6rem;
    }
    .my_wrap .sign_box{
        padding-left: 0; padding-right: 0;
    }
    .sign_box{
        width:100%; margin-top: 4rem; padding-left: 20px; padding-right: 20px;
    }
    .info_box{
        padding:2rem;
    }
    .intro_1{
        font-size: 3rem;
    }
    .intro_1 .intro_tit small{
        font-size: 60%;
    }
    .intro_1 .intro_tit{
        bottom:-20%;
    }
    .intro_1 img{
        height: 200px;
        object-fit: cover; object-position: right;
    }
    .intro_2{
        margin-top: 7rem;
    }
    .intro_3{
        margin-top: 6rem; padding:6rem 2rem;
    }
    .row.portfolio_list{
        margin-left: -0.6rem; margin-right: -0.6rem;
    }
    .row.portfolio_list li{
        margin-bottom: 4rem; padding-left: 0.6rem; padding-right: 0.6rem;
    }
    .row.project_list {
        margin-top: 2.4rem!important; margin-left: -0.6rem; margin-right: -0.6rem;
    }
    .row.project_list li {
        margin-bottom: 4rem; padding-left: 0.6rem; padding-right: 0.6rem;
    }
    .project_list .project_tit{
        font-size: 1.6rem;
    }
    .rect_project{
        margin-bottom: 1.2rem;
    }
    .project_category{
        font-size: 1.4rem;
    }
    .badge_like{
        font-size: 1.3rem;
    }
    .mypg_box_wrap{
        margin-top: 3rem; padding: 0;
    }
    .mypg_box_wrap::before{
        content: unset;
    }
    .mypg_box_wrap .left .attachment_style_1{
        width:80px; height: 80px;
    }
    .mypg_box_wrap .right{
        margin-left: calc(80px + 2.2rem);
    }
    .tab_style_2 li:first-child{
        margin-left: -1.6rem;
    }
    .tab_style_2 li a{
        padding:2rem 1.6rem;
        font-size: 1.7rem;
    }
    .tab_style_2 li.on a::before{
        bottom: 0.9rem;
    }
    .class_detail_wrap .right{
        width:100%; margin-top: 40px;
    }
    .number_questions{
        left:10px; top:10px; max-width: calc(100% - 20px); padding:0.8rem 1rem;
        font-size: 1.4rem;
    }
    .class_detail_wrap .list_style_1 li{
        height: 5rem;
    }
    .swiperBtn_style_1{
        width:5rem; height: 5rem;
        font-size: 3rem;
    }
    .information_slide .swiper-slide .verified_info{
        font-size: 1.6rem;
    }
    .google_verifc .right{
        padding:2rem;
    }
    .step4 .projectProgress_left, .step5 .projectProgress_left, .step6 .projectProgress_left, .step7 .projectProgress_left{
        padding:3rem 2rem;
    }
    .step5 .projectProgress_left .tab_style_1{
        margin: 0 auto 20px;
    }
    .border_wrap{
        padding:1.6rem; max-height: 240px;
    }
    .text_box_list{
        margin:-0.4rem;
    }
    .text_box_list li{
        padding:0.4rem;
    }
    .nav_project{
        right:10px; bottom:200px;
    }
    .nav_project > .btn{
        width:6rem; height: 6rem;
    }
    .nav_chat_wrap{
        width: 300px; height: 42rem; right:0; bottom:8.5rem;
    }
    .story_box{
        padding:2rem;
    }
    .mission_list{
        bottom:150px;
        border-radius: 1.6rem;
    }
    .mission_list li{
        padding:1.6rem;
    }
    .table_header .right{
        margin-top: 1.4rem;
    }
    .table_header{
        margin:2rem 0 3rem;
    }
    .notice_wrap .table_header{
        margin-top: 0;
    }
    /* 포트폴리오 상세 */
    .p_detail_wrap{
        margin-top: 2rem;
    }
    .p_detail_head{
        display: block;
        padding-bottom: 4rem;
        margin-bottom: 4.2rem;
    }
    .p_detail_head > *{
        width: 100%;
        max-width: none;
    }
    .p_detail_tit{
        margin-left: 0;
        margin-top: 2rem;
    }
    .p_detail_info {
        padding-bottom: 3.5rem;
    }

	.pf_detail_wr .col {
		flex: 1 1 100%;
	}
    .p_detail_key_wr {
        margin: -1.4rem -3rem;
    }
    .p_detail_key_wr .col{
        padding: 1.4rem 3rem;
    }
    .badge_wrap{
        margin: -0.3rem;
    }
    .badge_wrap .badge{
        margin: 0.3rem;
    }
    .p_btn_wrap .btn-block{
        max-width: none;
    }

    /* About AIX */
    .about_wrap_1 p{
        white-space: normal;
    }

    /* 공지사항 */
    .notice_scroll{
        overflow-x: auto;
        scrollbar-width: thin;
    }
    .notice_scroll::-webkit-scrollbar{
        height: 6px;
    }
    .n_detail_top{
        padding: 1.5rem 0;
    }
    .n_detail_body{
        padding: 2rem 0;
    }
    .notice_list li a{
        padding: 1.5rem 0.5rem;
    }

    /* 마이페이지 - 완료프로젝트 */
    .project_list_li .rect .comp_wrap h1 {
        font-size: 1.8rem;
    }


}

@media(max-width:447px) {
    /* sy 디자인수정 240431 시작 */
    .point_li{
        padding: 8rem 2rem 10rem;
    }
    .point_li img{
        width: 160px;
    }
    /* sy 디자인수정 240431 Rmx */
}
/*반응형 max 420px*/
@media (max-width: 420px) {
    /* ------------------------ custom ------------------------ */

    /* ------------------------ Common ------------------------ */


    /* ------------------------ Design ------------------------ */
    /* About AIX */
    .about_img img{
        max-width: 100%;
    }
}

/*반응형 max 380px*/
@media (max-width: 380px) {
    /* ------------------------ custom ------------------------ */

    /* ------------------------ Common ------------------------ */


    /* ------------------------ Design ------------------------ */
    .intro_1 img{
        object-fit: cover; object-position: left;
    }
    /* About AIX */
    .about_ability li{
        min-width: auto;
        width: 100%;
    }
    .intro_box {
        padding: 7rem 4rem;
    }
}


