@charset "utf-8";
/* 회사소개 */
.it-pd { padding: 150px 0;}
.it-pd.first { padding-top: 0; padding-bottom: 150px; }
.it-pd.last { padding-top: 150px; padding-bottom: 0; }
.sub1-subtit { font-size: var(--font-size20); text-align: center; color: #8f8f8f; font-weight: 600; line-height: 1.5em; margin-bottom: 20px;}
.sub1-subtit span { color: var(--color-primary);}
.sub1-tit { font-size: var(--font-size44); line-height: 1.5em; font-weight: 600; text-align: center; color: #242424; }
.sub1-tit.mg { margin-bottom: 40px; }
.sub1-tit span { color: var(--color-primary);}
.sub1-tit.tl { text-align: left; }
.it-sec2 { background: url(../images/sub/sub1-1-bg.jpg) center no-repeat; background-size: cover; text-align: center;  } 
.it-sec2 .img { position: relative; display: inline-block; }
.it-sec2 .img img { transition: opacity 0.3s ease; }
.it-sec2 .img .img-default { position: relative; opacity: 1; }
.it-sec2 .img .img-hover { position: absolute; left: 0; top: 0; opacity: 0; }
.it-sec3 h3 { font-size: var(--font-size30); color: #242424; font-weight: 600; line-height: 1.5em; margin-bottom: 50px; text-align: center; }
.it-sec3 h3 span { color: var(--color-primary); }
.it-sec3 ul { border-top: 1px solid #242424;}
.it-sec3 ul li { padding: 50px 30px; display: flex; border-bottom: 1px solid #ddd; align-items: flex-start;}
.it-sec3 ul li .tit { width: 45%; display: flex; align-items: center;}
.it-sec3 ul li .tit strong { display: inline-block; padding-left: 50px; font-size: var(--font-size24); line-height: 1.5em; color: #242424; font-weight: 600; }
.it-sec3 ul li .txt { width: 55%; font-size: var(--font-size18); line-height: 1.5em; }
.it-sec3 ul li .txt span { font-weight: 600;}
.it-bg { background: url(../images/sub/sub1-1-bg2.jpg) center no-repeat; background-size: cover; color: #fff; padding: 100px 15px; border-radius: 20px; text-align: center; font-size: var(--font-size24); line-height: 1.5em; font-weight: 600; }
.it-partner { display: flex; margin-top: 50px; flex-wrap: wrap; gap: 30px; }
.it-partner li { width: calc(100%/5 - 24px); text-align: center;}

/* 연혁 */
.hst { position: relative; margin-top: 70px; }
.hst::before { content: ""; position: absolute; left: 45px; top: 50px; border-right: 1px dashed #ddd; width: 1px; height: 95%; }
.hst .group { margin-bottom: 65px; position: relative; display: flex; }
.hst .group:last-child { margin-bottom: 0; }
.hst .group .year { color: #14c6a3; font-size: var(--font-size44); line-height: 1.5em; font-weight: 600; position: relative; width: 40%; padding-top: 10px; padding-left: 180px; }
.hst .group::before { content: ""; position: absolute; width: 90px; height: 90px; background: url(../images/sub/hst-dot.png) center no-repeat; background-size: contain; left: 0; top: 0; }
.hst .group .txt { width: 60%; padding-top: 30px; }
.hst .group .txt p { position: relative; font-size: var(--font-size18); line-height: 1.5em; padding-left: 12px; margin-bottom: 10px; }
.hst .group .txt p:last-child { margin-bottom: 0; }
.hst .group .txt p::before { content: ""; position: absolute; left: 0; width: 3px; height: 3px; border-radius: 3px; background: #454545; top: 12px; }

/* 프로젝트 */
.pj-list { border-top: 2px solid #686868; padding-top: 40px; }
.pj-list .col { padding: 40px; border: 1px solid #ddd; border-radius: 20px; margin-bottom: 40px; }
.pj-list .col:last-child { margin-bottom: 0; }
.pj-list .col .tit-fx { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; flex-wrap: wrap; gap: 10px; }
.pj-list .col .tit-fx .tit { font-size: var(--font-size24); line-height: 1.5em; font-weight: 700; color: #242424; }
.pj-list .col .tit-fx .day { background: var(--color-primary); color: #fff; line-height: 1.5em; font-size: var(--font-size18); padding: 10px 20px; border-radius: 4px; display: inline-block; }
.pj-list .col .info { display: flex; align-items: flex-end;}
.pj-list .col .info .opt { flex: 1 1 auto; min-width: 0; width: 1%;}
.pj-list .col .info .opt li { display: flex; line-height: 2em; }
.pj-list .col .info .opt li .tt { width: 120px; font-weight: 600; color: #8f8f8f;}
.pj-list .col .info .opt li .txt { flex: 1 1 auto; min-width: 0; width: 1%; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; padding-right: 20px; }
.pj-list .col .info .link-btns { display: flex; gap: 10px; }
.pj-list .col.end .tit-fx .day { background: #8f8f8f; }
.pj-list .col.end .link-btns .main-btn.bg { display: none; }
.pj-list.view { border-top: none; padding-top: 0; margin-bottom: 60px; }

/* 전문인력 관리 */
.ex-search { padding: 40px; border: 1px solid #ddd; border-radius: 20px; margin-bottom: 100px; }
.ex-search .item-fx { display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center;}
.ex-search .flex { margin-top: 30px; display: none; }
.ex-search .flex dl { display: flex; margin-bottom: 30px; align-items: center; }
.ex-search .flex dl dt { width: 145px; color: #242424; font-weight: 600; line-height: 1.3em; }
.ex-search .flex dl dd { flex: 1 1 auto; min-width: 0; width: 1%; }
.ex-search-btn { width: 380px; height: 60px; border-radius: 8px; color: #fff; display: flex; align-items: center; justify-content: center; line-height: 1em; font-size: var(--font-size18); font-weight: 700; background: var(--bg-gra); border: none; margin: 40px auto 0; cursor: pointer;}

/* 비밀번호 유효성 검사 메시지 */
.pw-validation-msg, .pw-confirm-msg { font-size: 12px; margin-top: 5px; line-height: 1.5; }
.pw-validation-msg.error, .pw-confirm-msg.error { color: #ff0000; }
.pw-validation-msg.success, .pw-confirm-msg.success { color: #00b359; }