/* common */
.sub{padding: 120px 0 200px; }
button{cursor: pointer;  border:none; outline: none; }
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:active {
    -webkit-text-fill-color: #111; 
    -webkit-box-shadow: 0 0 0 1000px #f8f8f8 inset; 
    box-shadow: 0 0 0 1000px #f8f8f8 inset;
}

input:-webkit-autofill:focus{
    -webkit-box-shadow: 0 0 0 1000px var(--color-fff) inset; 
    box-shadow: 0 0 0 1000px var(--color-fff) inset;
}
/* 팝업 */
.popup-box{position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); z-index: 9999; opacity: 0; visibility: hidden; transition: 0.3s;}
.popup-box.on{opacity:1; visibility: visible;}
.popup-box .close{position: absolute; top: -30px; right: -30px; width: 30px; height: 30px; cursor: pointer;}
.popup-box .close svg{position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
.popup-box .popup-info{position: absolute; width: calc(100% - 32px); top: 50%; left: 50%; transform: translate(-50%,-50%); background: var(--color-fff);}
/* input style */
select{height: 65px; border-radius:5px !important; padding: 0 30px; font-weight: 500; font-size: 16px; color: #aaa; border:2px solid #F8F8F8; background-color: #F8F8F8; vertical-align: top; box-sizing: border-box; font-family: "IBM Plex Sans", sans-serif; min-width: 150px; cursor: pointer;}
select option{font-size: 16px; color: #111; background-color: var(--color-fff); padding: 0 10px;}
input{height: 65px; border-radius:5px !important; padding: 0 30px; font-weight: 300; font-size: 16px; color: #111; border:2px solid #F8F8F8; background-color: #F8F8F8; vertical-align: top; box-sizing: border-box}
input:focus-visible{outline-color: var(--point-color);}
input::placeholder{color: #aaa;}
/* 검색 */
.search{display:flex; width: 100%; max-width: 490px; justify-content: flex-end; padding-left: 30px; background: #f8f8f8; margin-left: auto; border-radius:50px; overflow: hidden; margin-bottom: 40px;}
.search select{border-radius: 0 !important; padding: 0; outline: none;}
.search .search-input{position: relative; width: calc(100% - 150px);}
.search .search-input input{ border-radius:0 !important;  outline: none;}
.search .search-input button{position: absolute; top: 50%; right: 0; border:none; width: 65px; height: 65px; transform: translateY(-50%); background: transparent; cursor: pointer;}
/* 게시판 리스트 */
.table-box table th{border-top: 2px solid #000; padding: 28px 0 29px; border-bottom: 1px solid #000; font-weight: 500; font-size: 18px; color: #111;}
.table-box table td{border-bottom: 1px solid #E5E5E5; font-weight: 300; font-size: 18px; color: #555;text-align: center;}
.table-box table td a{display: block; width: 100%; padding: 25px 0 24px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.table-box table td.txt-v a{white-space: normal; overflow: visible; text-overflow: unset;}
/* 이미지 형태 게시판 */
.board-list .img-list{display:flex; align-items: center; gap:120px 20px; flex-wrap:wrap;}
.board-list .img-list .item{width: calc((100% - 60px) / 4); cursor: pointer;}
.board-list .img-list.video-list .item{width: calc((100% - 40px) /3);}
.board-list .img-list .item figure{position: relative; width: 100%; aspect-ratio: 500 / 265; border: 2px solid transparent; border-radius:20px; overflow: hidden; transition: 0.3s;}
.board-list .img-list .item figure::after{content:""; position: absolute; top: 50%; left: 50%; width: 60px; height: 60px; background: url("/img/sub/icon-play.svg") 50% 50% no-repeat; transform: translate(-50%,-50%); opacity: 0; transition: 0.3s;}
.board-list .img-list .item figure img{width: 100%; height: 100%; object-fit: cover;} 
.board-list .img-list .item:hover figure{border-color: var(--point-color);}
.board-list .img-list .item:hover figure::after{opacity: 1;}
.board-list .img-list .txt{margin-top: 30px;}
.board-list .img-list .txt p{font-weight: 500; font-size: 22px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.board-list .img-list .txt span{display: block; margin-top: 20px; font-size: 16px; color: var(--color-ccc);} 
/* 게시판 상세 */
.board-view .view-box .tit{border-top: 2px solid #000; border-bottom: 1px solid #000; text-align: center; padding: 60px 0;}
.board-view .view-box .tit h2{font-weight: 500; font-size: 36px; }
.board-view .view-box .tit ul{display:flex; align-items: center; gap:0 41px; justify-content: center; margin-top: 20px;}
.board-view .view-box .tit ul li{position: relative; font-weight: 300; font-size: var(--font18); color: #555;}
.board-view .view-box .tit ul li::after{content:""; position: absolute; top: 50%; right: -21px; background: #E5E5E5; width: 1px; height: 15px; transform: translateY(-50%);}
.board-view .view-box .tit ul li:last-of-type::after{display: none;}
.board-view .view-box .info-box{margin-top: 60px;}
.board-view .view-box .info-box dl{display: flex; flex-wrap:wrap; gap:15px 60px; align-items: center;}
.board-view .view-box .info-box dl dt{position: relative; width: 100px; font-weight: 500; font-size: var(--font18); padding-left: 13px;}
.board-view .view-box .info-box dl dt::before{content:""; position: absolute; top: 50%; left: 0; width: 3px; height: 3px; border-radius:50%; background: var(--point-color); transform:translateY(calc(-50% - 1px));}
.board-view .view-box .info-box dl dt::after{content: ""; position: absolute; top: 50%; right: -31px; width: 1px; height: 15px; background-color: #E5E5E5; transform: translateY(-50%);}
.board-view .view-box .info-box dl dd{width: calc(100% - 160px); font-weight: 300; font-size: var(--font18); color: #555;}
.board-view .view-box .edit-area{margin: 60px 0; font-weight: 300; font-size: var(--font18); color: #555; line-height:1.6; }
.board-view .view-box .edit-area * { line-height:1.6; }
.board-view .view-box .file-box a{position: relative; display: flex; align-items: center; background-color: #f8f8f8; margin-bottom: 5px; padding: 0 30px; border-radius:10px; line-height: 62px; font-weight: 300; font-size: 17px; color: #555;}
.board-view .view-box .file-box a:last-of-type{margin-bottom: 0;}
.board-view .view-box .file-box a img{margin-right: 10px;}
.board-view .view-box .post-box{display:flex; justify-content: space-between; margin: 60px 0 120px;}
.board-view .view-box .post-box a{display:flex; gap:20px; align-items:center; padding:0 10px;}
.board-view .view-box .post-box a span{font-weight: 500; font-size: 18px; color: var(--color-ccc);}
.board-view .view-box .post-box a p{font-weight: 300; font-size: 18px; color: var(--color-333);}
.board-view .view-box .post-box a:last-of-type{justify-content: flex-end;}
.board-view .view-box .list-btn{text-align: center;}
.board-view .view-box .list-btn a{display: inline-block; width: 100%; max-width: 350px; line-height: 75px; color: var(--color-fff); border-radius:10px; background-color: var(--point-color); font-weight: 600; font-size: var(--font18);}

/* 서브 타이틀 */
.sub-tit{ font-family: var(--pagingFontStyle); font-weight: 600; font-size: 64px; text-align: center; margin-bottom: 120px;}
.tit-box{text-align: center;  margin-bottom: 120px;}
.tit-box .sub-tit{ margin-bottom: clamp(14px,2.93vw,30px);}
.tit-box p{font-weight: 300; font-size: var(--font20); color: var(--color-333); line-height: 1.7;}
.tit-box ul{display:flex; flex-wrap: wrap; align-items: center; justify-content: center;}
.tit-box ul li{position: relative;}
.tit-box ul li::after{content:""; position: absolute; top: 50%; right: 0; width: 1px; height: 20px; background: #E5E5E5; transform: translateY(-50%);}
.tit-box ul li:last-of-type::after{display: none;}
.tit-box ul li a{display: inline-block; vertical-align: top; padding: 10px 20px; font-weight: 500; font-size: 20px; color: #aaa;}
.tit-box ul li.on a{color: var(--point-color);}
/* sv */
#sv{display:flex; align-items: flex-end; width: 100%; height: 700px; color: var(--color-fff); background-size: cover; background-repeat: no-repeat; position: relative; z-index: 2}
#sv .flex-box{width: 100%; align-items: flex-end; justify-content: space-between; padding-bottom: 60px;}
#sv .flex-box h2{font-weight: 600; font-size: 120px;}
#sv .flex-box .lnb{display:flex; gap:10px; align-items: center;}
#sv .flex-box .lnb .home a{display: flex; align-items: center; justify-content: center; width: 70px; height: 70px; border-radius:50%; background: var(--point-color);}
#sv .flex-box .lnb .lnb-depth{position: relative;}
#sv .flex-box .lnb .lnb-depth p{ height: 70px; display:flex; align-items: center; justify-content: space-between; width: 280px; padding: 10px 30px;  border:2px solid var(--color-fff); border-radius:40px; cursor: pointer;}
#sv .flex-box .lnb .lnb-depth p > span{ flex: 1 1 auto; min-width: 0; display: block; font-weight: 500; font-size: 18px; }
#sv .flex-box .lnb .lnb-depth p img{ flex-shrink: 0; margin-left: 15px; transition: 0.3s;}
#sv .flex-box .lnb .lnb-depth p.open img{transform: rotate(180deg);}
#sv .flex-box .lnb .lnb-depth ul{display: none; position: absolute; top: calc(100% + 10px); left: 0; width: 100%; padding: 13px 0; background: var(--point-color); border-radius:20px; z-index: 100;}
#sv .flex-box .lnb .lnb-depth ul li{margin-bottom: 1px;}
#sv .flex-box .lnb .lnb-depth ul li:last-of-type{margin-bottom: 0;}
#sv .flex-box .lnb .lnb-depth ul li a{display: block; font-weight: 500; font-size: 18px; padding: 7px 40px; opacity: 0.5;}
#sv .flex-box .lnb .lnb-depth ul li.on a,
#sv .flex-box .lnb .lnb-depth ul li:hover a{opacity: 1;}

#sv .flex-box .lnb .lnb-depth .all{display: none;}

/* 약관 */
#sv.sv06 .flex-box .lnb{display: none;}
#sv.sv06 .flex-box h2{margin-bottom: 0 !important;}

@media screen and (max-width:1720px) {
    #sv{height: clamp(400px, 40.7vw,700px);}
    #sv .flex-box h2{font-size: clamp(70px,5.98vw,100px);}
    #sv .flex-box .lnb .home a{width: 65px; height: 65px;}
    #sv .flex-box .lnb .lnb-depth p{ height: 65px; padding: 0 30px;}
    #sv .flex-box .lnb .lnb-depth ul li a{padding: 7px clamp(20px,2.33vw,40px);}
}

@media screen and (max-width:1600px) {
    .sub{padding: clamp(60px,7.5vw,120px) 0 clamp(100px,12.5vw,200px);}
    .sub-tit{font-size: clamp(36px,4vw,64px); margin-bottom: clamp(40px,7.5vw,120px);}
    .tit-box{ margin-bottom: clamp(40px,7.5vw,120px);}
}

@media screen and (max-width:1280px) {
	#sv .flex-box .lnb .home a{width: 60px; height: 60px;}
	#sv .flex-box .lnb .lnb-depth p{ width: 240px; height: 60px; padding: 0 20px; }
	#sv .flex-box .lnb .lnb-depth p span{ font-size: 17px; }
	#sv .flex-box .lnb .lnb-depth p img{ margin-left: 10px; }
}

@media screen and (max-width:1024px) {
    .tit-box ul li::after{height: 14px;}
    .tit-box ul li a{font-size: clamp(16px,1.95vw, 20px); padding: 5px 10px;}
    #sv{height: clamp(320px, 39.06vw,400px); background-position: 50% 50%;}
    #sv .flex-box{flex-wrap:wrap; padding-bottom: clamp(20px,5.86vw,60px);}
    #sv .flex-box h2{width: 100%; font-size: clamp(44px,5.8575vw,60px); margin-bottom: 15px;}
	#sv .flex-box .lnb{ width: 100%; }
	#sv .flex-box .lnb .home a{width: 55px; height: 55px;}
    #sv .flex-box .lnb .lnb-depth{ width: calc((100% - 75px) / 2); }
	#sv .flex-box .lnb .lnb-depth p{width: 100%; height: 55px; padding-inline: 20px 15px;}
    #sv .flex-box .lnb .lnb-depth p span{font-size: 16px;}
    #sv .flex-box .lnb .lnb-depth ul{padding: clamp(10px,1.27vw,13px) 0; border-radius:clamp(10px,1.95vw,20px)}
    #sv .flex-box .lnb .lnb-depth ul li a{font-size: clamp(15px,1.76vw,18px); padding: 2px clamp(16px,1.95vw,20px);}
}

@media screen and (max-width:768px) {
	#sv .flex-box .lnb{ width: 100%; flex-wrap: wrap; gap: 5px; }
	#sv .flex-box .lnb .home a{width: 45px; height: 45px;}
	#sv .flex-box .lnb .home img{ width: 18px; }
	#sv .flex-box .lnb .lnb-depth:nth-of-type(2){ width: calc(100% - 50px); }
	#sv .flex-box .lnb .lnb-depth{ width: 100%; }
	#sv .flex-box .lnb .lnb-depth p{ height: 45px; }

    .support .tit-box ul{flex-wrap:wrap; width: 350px; margin: 0 auto;}
    .support .tit-box ul li:nth-of-type(4)::after{display: none;}
}



/* 회사소개
================================================================== */
/* 회사개요 */
.overview .video-box{position: relative; aspect-ratio: 1600 / 720; border-radius: 20px; overflow: hidden;}
.overview .video-box video{position: absolute; top: 50%; left: 50%; min-width: 102%; min-height: 102%; transform: translate(-50%, -50%);}
.overview .txt-box{margin-top: 80px ;}
.overview .txt-box strong{display: block; font-size: 42px; line-height: 1.5; margin-bottom: 40px;}
.overview .txt-box strong span{color: var(--point-color);}
.overview .txt-box p{font-weight: 300; font-size: 20px; line-height: 1.7em; color: var(--color-333);}
.overview .overflow{ padding: 0 60px; margin: 120px 0; overflow: hidden; }
.overview .company-info{position: relative; display: grid; grid-template-columns: repeat(2, 50%); align-items: center; margin: -10px -60px; }
.overview .company-info::after{content:""; position: absolute; top: 0; left: 50%; width: 1px; height: 100%; background: #E5E5E5;}
.overview .company-info dl{ display: flex; align-items: center; margin: 10px 60px; }
.overview .company-info dt{ flex-shrink: 0; width: 260px; font-weight: 600; font-size: 18px;}
.overview .company-info dd{ flex: 1 1 auto; min-width: 0; font-weight: 500; font-size: 18px; color: var(--color-333);}
.overview .field h3{font-weight: 600; font-size: var(--font32);}
.overview .field .flex-box{flex-wrap:wrap; gap:40px 20px; margin-top: 40px;}
.overview .field .item{position: relative; width: calc((100% - 40px) / 3); min-height: 103px; display: flex; justify-content: center; align-items: center; background: #f8f8f8; border-radius:20px; text-align: center; padding: 20px 60px; }
.overview .field .item span{position: absolute; top: -10px; left: -10px; width: 45px; line-height: 45px; border-radius:10px; font-family: "IBM Plex Sans", sans-serif; font-weight: 600; font-size: 16px; color: var(--color-fff); background-color: var(--point-color); box-shadow: 5px 5px #111111;}
.overview .field .item p{font-weight: 300; font-size: 18px; }

/* 인사말 */
.greeting .top-txt{display: flex; align-items: center; justify-content: center; height: 420px; background:#F8F8F8 url("/img/sub/greeting-bg.png") 50% 50% no-repeat; text-align: center; padding-inline: 20px; }
.greeting .top-txt strong{font-weight: 600; font-size: 54px;}
.greeting .top-txt strong span{color: var(--point-color);}
.greeting .greeting-wrap{display:flex; margin-top: 60px;}
.greeting .greeting-wrap .box{width: calc(100% - 640px);}
.greeting .greeting-wrap .box:first-of-type{width: 640px;}
.greeting .greeting-wrap .box h3{position: relative; font-weight: 600; font-size: 36px; line-height: 1.5; margin-bottom: 62px;}
.greeting .greeting-wrap .box h3::after{content:""; position: absolute; bottom: -29px; left: 0; width: 30px; height: 2px; background: #000;}
.greeting .greeting-wrap .box strong{font-weight: 600; font-size: 20px; line-height: 1.5;}
.greeting .greeting-wrap .box strong.hidden{display: none;}
.greeting .greeting-wrap .box:last-of-type span{display: block; font-weight: 600; font-size: 22px; margin: 30px 0;}
.greeting .greeting-wrap .box p{font-weight: 300; font-size: 20px; line-height: 1.7; color: var(--color-333);}

/* 연혁 */
.history .history-list{position: relative;}
.history .history-list .line{position: absolute; top: -40px; left: 50%; width: 2px; height: calc(100% + 80px); transform: translateX(-50%); background-color: #f8f8f8;}
.history .history-list .line span{position: absolute; top: 0; left: 0; width: 100%; height: 150px; background-color: var(--point-color); }
.history .history-list .line span::before{content:""; position: absolute; bottom: 0; left: 50%; width: 50px; height: 50px; background: var(--color-fff); border:3px solid var(--point-color); transform: translate(-50%,25px); border-radius: 50%; box-shadow:0 0 20px rgba(228,41,33,0.2)}
.history .history-list .line span::after{content:""; position: absolute; bottom: 0; left: 50%; width: 10px; height: 10px; background: var(--point-color); transform: translate(-50%,2px); border-radius: 50%;}
.history .history-list .item{display:flex; align-items: flex-start; justify-content: space-between; padding-top: 80px; padding-bottom: 120px;}
.history .history-list .item:last-of-type{ padding-bottom: 0;}
.history .history-list .item .img-box{width: calc(50% - 120px);}
.history .history-list .item .img-box strong{font-weight: 500; font-size: 80px; margin-bottom: 10px;}
.history .history-list .item .img-box h3{font-weight: 600; font-size: 30px; color: var(--point-color);}
.history .history-list .item .img-box figure{margin: 40px 0;}
.history .history-list .item .img-box p{font-weight: 500; font-size: var(--font20);}
.history .history-list .item .list{width: calc(50% - 120px); text-align: right; padding-top: 160px;}
.history .history-list .item .list li{display:flex; text-align: left; padding-bottom: 40px;}
.history .history-list .item .list li:last-of-type{margin-bottom: 0;}
.history .history-list .item .list li span{width: 120px; font-family: "IBM Plex Sans", sans-serif; font-weight: 600; font-size: var(--font20); line-height: 1.5;}
.history .history-list .item .list li p{width: calc(100% - 120px); font-weight: 300; font-size: var(--font20); color: #333; line-height: 1.5;}

/* 인증 및 특허 */
.patent .txt{margin-top: 30px; text-align: center;}
.patent .txt p{font-weight: 500; font-size: var(--font20); line-height: 1.5;white-space: normal; overflow: hidden; text-overflow: ellipsis; word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; height: 4.5em}
.patent .txt span{display: block; font-weight: 500; font-size:var(--font18); color: var(--color-888); margin-top: 15px;}
.patent .popup-box .popup-info{max-width: clamp(340px,28.75vw,460px ); aspect-ratio: 460 / 778; border-radius:clamp(10px,1.95vw,20px); padding: 20px;}
.patent .popup-box .popup-info figure{width: 100%; aspect-ratio: 420 / 594; border:1px solid #E5E5E5; border-radius:10px; overflow: hidden;}
.patent .popup-box .popup-info figure img{width: 100%; object-fit: cover;}
.patent .patent-list{display:flex; gap:120px 20px; flex-wrap:wrap; overflow: hidden;}
.patent .patent-list .item{width: calc((100% - 80px) / 5); cursor: pointer;}
.patent .patent-list .item figure{border:1px solid #E5E5E5; border-radius:10px; aspect-ratio: 304 / 420; overflow: hidden;}
.patent .patent-list .item figure img{height: 100%; object-fit: cover;}

/* 사업장 */
.workplace .place-list .item{display:flex; justify-content: space-between; margin-bottom: 120px;}
.workplace .place-list .item:last-of-type{margin-bottom: 0;}
.workplace .place-list .item h3{font-weight: 600; font-size: 36px;}
.workplace .place-list .item .box{width: calc(100% - clamp(240px,21.05vw,400px));}
.workplace .place-list .item .flex-box{gap: 80px 20px; flex-wrap:wrap;}
.workplace .place-list .item .table table tr th{padding: 15px 0; font-weight: 500; font-size: 18px; background-color: #F8F8F8; border-right: 1px solid var(--color-fff); border-bottom: 1px solid var(--color-fff);}
.workplace .place-list .item .table table tr td{padding: 15px 0; font-weight: 300; font-size: 16px; border-right: 1px solid #E5E5E5; border-bottom: 1px solid #E5E5E5; text-align: center; color: #555;}
.workplace .place-list .item .table table tr th:last-of-type,
.workplace .place-list .item .table table tr td:last-of-type{border-right: none;}
.workplace .place-list .item .table table tr:last-of-type td{background-color: #eee; border-color: var(--color-fff); color: var(--color-333); font-weight: 500;}
.workplace .place-list .item .table table tr th:first-of-type{border-radius:5px 0 0 5px}
.workplace .place-list .item .table table tr:first-of-type th:last-of-type{border-radius:0 5px 0 0}
.workplace .place-list .item .table table tr:nth-of-type(2) th:last-of-type{border-radius:0 0 5px 0}
.workplace .place-list .item .table table tr:last-of-type td:first-of-type{border-radius:5px 0 0 5px}
.workplace .place-list .item .table table tr:last-of-type td:last-of-type{border-radius:0 5px 5px 0}
.workplace .place-list .item .box .img-box{width: calc(50% - 10px);}
.workplace .place-list .item .box .img-box figure{border-radius:10px; overflow: hidden;}
.workplace .place-list .item .box .img-box p{margin-top: 20px; font-weight: 600; font-size: var(--font20); text-align: center;}

/* 주요고객사 */
.customer .customer-list{display:flex; align-items: center; flex-wrap:wrap; gap:20px;}
.customer .customer-list figure{display:flex; align-items: center; justify-content: center; width: calc((100% - 100px) / 6); background: #f8f8f8; text-align: center; aspect-ratio: 250 / 100; border-radius:10px}
.customer .customer-list figure img{mix-blend-mode: multiply;}

/* 오시는 길 */
.directions .map-list .item{display:flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #E5E5E5; padding-bottom: 80px; margin-bottom: 80px;}
.directions .map-list .item:last-of-type{margin-bottom: 0; padding-bottom: 0; border-bottom: none;}
.directions .map-list .item figure{width: calc(100% - 680px); border-radius:20px; overflow: hidden;}
.directions .map-list .item figure > div { width:calc(100% + 2px) !important; border:none !important; margin:-1px 0 0 -1px; }
.directions .map-list .item figure .wrap_map,
.directions .map-list .item figure > div { height:480px !important; }
.directions .map-list .item figure .cont { display:none }
.directions .map-list .item .txt{flex-shrink: 1; max-width: 680px; padding-right: 120px;}
.directions .map-list .item .txt h3{font-weight: 600; font-size: 36px; color: #111; padding-left: 65px; text-indent: -65px;}
.directions .map-list .item .txt h3 img{margin-right: 25px;}
.directions .map-list .item .txt p{font-weight: 500; font-size: 22px; margin: 30px 0 60px;}
.directions .map-list .item .txt dl{display:flex; gap:15px 0; flex-wrap:wrap;}
.directions .map-list .item .txt dl dt{ flex-shrink: 0; width: 120px; font-weight: 600; font-size: var(--font20);}
.directions .map-list .item .txt dl dd{width: calc(100% - 120px); font-family: "IBM Plex Sans", sans-serif; font-weight: 300; font-size: var(--font20); color: #333;}

/* 사업영역
================================================================== */
/* 사업영역 공통 */
.business{overflow: hidden;}
.business:not(.self_safety){overflow: hidden;}
.business .biz-main{display:flex; align-items: center; justify-content: space-between; }
.business .biz-main figure{border-radius:20px; overflow: hidden;}
.business .biz-main .txt{ max-width: 830px;}
.business .biz-main .txt strong{font-weight: 600; font-size: var(--font32); line-height: 1.6;}
.business .biz-main .txt p{font-weight: 300; font-size: var(--font20); line-height:1.7; color: var(--color-333);}
.business .biz-main .txt p.margin{ margin: 60px 0 30px;}
.business .biz-main .txt p:last-of-type{margin: 0;}
.business .biz-main .txt p.margin:last-of-type{margin-top: 60px;}
.business .biz-main .txt p span{font-weight: 600; color: var(--point-color);}
.business .img-list{display:flex; gap:20px; margin: 120px 0;}
.business.self_safety .img-list{margin-bottom: 0;}
.business .img-list .item{width: calc((100% - 60px) / 4);}
.business .img-list .item figure{border-radius:20px; overflow: hidden;}
.business .prod-list{position: relative; display:flex; gap:30px 50px; flex-wrap:wrap; padding: 120px 0 200px; margin-bottom: -200px;}
.business .prod-list::before{content:""; position: absolute; top: 0; left: 50%; width: 100vw; height: 100%; background-color: #f8f8f8; transform: translateX(-50%); z-index: -1;}
.business .prod-list h3{width: 100%; font-weight: 600; font-size: 36px;}
.business .prod-list .item{width: calc((100% - 100px) / 3); border-radius:20px; overflow: hidden;}
.business .prod-list .item a{display: block; height: 100%; background: var(--color-fff); padding: 30px 50px; text-align: center;}
.business .prod-list .item .txt-box{margin-top: 30px;}
.business .prod-list .item .txt-box p{font-weight: 600; font-size: 26px; margin-bottom: 10px;}
.business .prod-list .item .txt-box span{font-size: var(--font20); color: var(--point-color);}
.business .slide-wrap{margin: 120px 0;}
.business .slide-wrap .slick-track{left: clamp(60px,8.33vw,160px);}
.business .slide-wrap .item{border-radius:20px; overflow: hidden; margin-right: 20px;}
.business .slide-wrap .item figure img{object-fit: contain;}
.business .slide-wrap .item.border{border:2px solid #E5E5E5}
.business .progress-box{padding-left: clamp(60px,8.33vw,160px);}
.business .progress{position: relative; width: 100%; max-width: 1600px; margin-top: 40px;}
.business .progress *{display: block;}
.business .progress .time{position: absolute; top: 0; left: 0; width: 10%; height: 5px; background: var(--point-color); border-radius:5px; transition: 0.4s;}
.business .progress .bg{background: #eee; width: 100%; height: 5px; border-radius:5px}

/* 제품정보
================================================================== */
.product .prod-list{display:flex; gap:120px 20px; align-items: center; flex-wrap:wrap;}
.product .prod-list .item{width: calc((100% - 60px) / 4);}
.product .prod-list .item a{display: block; width: 100%;}
.product .prod-list .item a .img-box{position: relative;}
.product .prod-list .item a figure{ position: relative; padding-bottom: 100%; border:2px solid #E5E5E5; border-radius:20px; text-align: center; transition: 0.3s;}
.product .prod-list .item a figure img{position: absolute; top: 50%; left: 50%; padding: 75px; transform: translate(-50%,-50%); max-height: 100%;}
.product .prod-list .item a .icon-btn{position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 60px; height: 60px; opacity: 0; transition: 0.3s;}
.product .prod-list .item a .icon-btn svg{width: 100%; height: 100%;}
.product .prod-list .item a .txt{margin-top: 30px; text-align: center;}
.product .prod-list .item a .txt p{font-weight: 500; font-size: 22px;}
.product .prod-list .item a:hover figure{border-color: var(--point-color);}
.product .prod-list .item a:hover .icon-btn{opacity: 1;}

/* 상세 */
.product-view .prod-info{display:flex; align-items: center;}
.product-view .prod-info figure{position: relative; width: 100%; max-width: 780px; aspect-ratio: 1 / 1; border:2px solid #E5E5E5; border-radius:20px; text-align: center;}
.product-view .prod-info figure img{position: absolute; top: 50%; left: 50%; padding: clamp(80px,10.16vw,195px); transform: translate(-50%,-50%); max-height: 100%;}
.product-view .prod-info .info-box{padding-left: 120px;}
.product-view .prod-info .info-box .location{display:flex; gap:0 33px; align-items: center;}
.product-view .prod-info .info-box .location li{position: relative; font-weight: 600; font-size: 16px; color: #666;}
.product-view .prod-info .info-box .location li img{margin-top: -1px;}
.product-view .prod-info .info-box .location li.on{color: var(--point-color);}
.product-view .prod-info .info-box .location li::after{content:""; position: absolute; top: 50%; right: -18px; width: 3px; height: 3px; border-radius:50%; background: #666; transform: translateY(-50%);}
.product-view .prod-info .info-box .location li:last-of-type::after{display: none;}
.product-view .prod-info .info-box .prod-tit h2{font-weight: 600; font-size: 48px; margin: 30px 0;}
.product-view .prod-info .info-box .prod-tit p{font-weight: 500; font-size: 22px; color: #aaa;}
.product-view .prod-info .info-box .info-txt{margin: 120px 0;}
.product-view .prod-info .info-box .info-txt p{font-weight: 300; font-size: 20px; color: #333; line-height: 1.7;}
.product-view .prod-info .info-box .list-btn{text-align: center;}
.product-view .prod-info .info-box .list-btn a{display: block; line-height: 75px; background: var(--point-color); color: var(--color-fff); font-weight: 600; font-size: 18px; border-radius:10px}
.product-view .edit-area{margin-top: 120px;}
/* 홍보센터
================================================================== */
.promotion .popup-box .popup-info{max-width: 660px; aspect-ratio: 660 / 475; border-radius:20px; padding: 30px;}
.promotion .popup-box .popup-info .txt{margin-top: 30px;}
.promotion .popup-box .popup-info .txt p{font-weight: 500; font-size: 22px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.promotion .popup-box .popup-info .txt span{display: block; margin-top: 20px; font-size: 16px; color: var(--color-ccc);} 
.promotion .popup-box .popup-info .iframe-box{width: 100%; aspect-ratio: 600 / 315; border-radius:20px; overflow: hidden;}
/* 카탈로그 */
.catalog.board-list .img-list .item figure{aspect-ratio: 385 / 544;}
.catalog.board-list .img-list .item figure::after{background: url("/img/sub/icon-down-catalog.svg") 50% 50% no-repeat}
.catalog.board-list .img-list .item .txt p{text-align: center;}
/* 실적 및 사진/영상 */
.gallery.board-list .img-list .item{width: calc((100% - 40px) / 3);}
.gallery.board-list .img-list .item figure{aspect-ratio: 500 / 337;}
.gallery.board-list .img-list .item figure::after{display: none;}
.gallery.board-list .img-list .item figure:hover{border-color: transparent;}

/* 고객지원
================================================================== */
.support h3{font-weight: 600; font-size: 36px; }
.support .requests-box{display:flex; justify-content: space-between; padding-bottom: 60px; border-bottom: 2px solid #000;}
.support .requests-box .txt{width: calc(100% - 400px); padding: 40px; background-color: #F8F8F8; border-radius:10px}
.support .requests-box .txt ul:not(.phone){margin-bottom: 30px;}
.support .requests-box .txt ul:not(.phone) li{position: relative; font-weight: 300; font-size: var(--font18); color: var(--color-333); padding-left: 12px; margin-bottom: 15px;}
.support .requests-box .txt ul:not(.phone) li:last-of-type{margin-bottom: 0;}
.support .requests-box .txt ul:not(.phone) li::before{content:"- "; position: absolute; left: 0;}
.support .requests-box .txt .phone{display:flex; gap:0 40px; align-items: center;}
.support .requests-box .txt .phone li{display:flex; align-items: center; font-weight: 500; font-size: var(--font18); color: var(--color-333);}
.support .requests-box .txt .phone li img{margin-right: 15px;}
.support .input-cont{display:flex; justify-content: space-between; padding: 60px 0;}
.support .input-cont .flex-box{display:flex; width: calc(100% - 400px);}
.support .input-cont .flex-box .input-box{display:flex; gap:20px; flex-wrap:wrap; align-items: center; }
.support .input-cont .flex-box .input-box label{display: flex; align-items: center; background-color: #f8f8f8; border: 2px solid #f8f8f8; border-radius:5px}
.support .input-cont .flex-box .input-box label:not(.w100){width: calc(50% - 10px);}
.support .input-cont .flex-box .input-box .addr,
.support .input-cont .flex-box .input-box label.w100{width: 100%;}
.support .input-cont .flex-box .input-box label span{display: inline-block; vertical-align: top; width: 150px; font-weight: 500; font-size: var(--font18); padding-left: 25px;}
.support .input-cont .flex-box .input-box label span sup{display: inline-block; vertical-align: top; color: var(--point-color); transform: translateY(2px);}
.support .input-cont .flex-box .input-box label input{width: calc(100% - 150px); outline: none;}
.support .input-cont .flex-box .input-box .addr{display:flex; }
.support .input-cont .flex-box .input-box .addr label{width: calc(100% - 260px);}
.support .input-cont .flex-box .input-box .addr button{width: 250px; height: 73px; border-radius:5px; background: #111; margin-left: 10px; font-weight: 500; font-size: 18px; color: var(--color-fff); }
.support .input-cont .flex-box .input-box label.on{border-color: var(--point-color); background-color: var(--color-fff);}
.support .input-cont .flex-box .input-box label.on input{background-color: var(--color-fff); border-color: var(--color-fff);}
.support .input-cont .flex-box{flex-wrap:wrap}
.support .input-cont .flex-box > p{width: 100%; margin-bottom: 10px; font-weight: 300; font-size: 17px; color: var(--color-333);text-align: right;}
.support .input-cont .flex-box > p span{color: var(--point-color);}
.support .input-cont .flex-box .input-box{width: 100%; order:2}
.support .quote-box{display:flex; justify-content: space-between;}
.support .quote-box .flex-box{width: calc(100% - 400px); flex-wrap:wrap}
.support .quote-box .table-box{width: 100%;}
.support .quote-box .table-box thead th{padding: 25px; background: #F8F8F8; border-right-color: var(--color-fff); border-top: none; border-bottom: none;}
.support .quote-box .table-box tbody td{padding: 15px; border-right: 1px solid #E5E5E5; border-bottom: 1px solid #E5E5E5;} 
.support .quote-box .table-box tbody td:last-of-type{border-right: none;}
.support .quote-box .table-box tbody td label{display: block; width: 100%;}
.support .quote-box .table-box tbody td input{width: 100%; background: #fff; border:1px solid #E5E5E5; height: 40px; padding: 0 20px;}
.support .quote-box .table-box tbody td .flex-box{display: flex; align-items: center;}
.support .quote-box .table-box tbody td .flex-box input{width: calc(100% - 105px);}
.support .quote-box .table-box tbody td .flex-box button{width: 100px; margin-left: 5px;}
.support .quote-box .table-box tbody td button{min-width: 70px; height: 40px; background: #E5E5E5; color: #aaa; font-family: 'Pretendard', sans-serif; font-weight: 500; font-size: 16px; border-radius:5px; line-height: 38px;}
.support .quote-box .table-box tbody td button:disabled{opacity: 0.4; cursor: default;}
.support .quote-box .table-box > button{display: block; width: 100px; height: 40px; margin-left: auto; margin-top: 20px; color: var(--color-fff); font-weight: 500; font-size: 16px; background: #111; line-height: 38px; border-radius:5px;}
.support .quote-box .area-box{width: 100%; padding: 25px; border-radius:5px; background: #F8F8F8; margin-top: 80px; }
.support .quote-box .area-box label{display:flex;}
.support .quote-box .area-box label span{display: inline-block; vertical-align: top; font-weight: 500; width: 150px; font-size: var(--font18);}
.support .quote-box .area-box label textarea{width: calc(100% - 150px); height: 176px; background:transparent; border:none; outline: none; resize: none; font-size: 16px;}
.support .quote-box .area-box label textarea::placeholder{font-weight: 300; font-size: var(--font18); color: #aaa;}
.support .agree-box{display:flex; justify-content: space-between; margin-top: 120px;}
.support .agree-box .box{width: calc(100% - 400px);}
.support .agree-box .privacy-txt{max-height: 200px; background: #F8F8F8; overflow-y: auto; padding: 20px; border-radius:5px}
.support .agree-box .privacy-txt *{font-size: 16px;}
.support .agree-box .privacy-txt p{font-weight: 300; font-size: 16px; color: var(--color-333); line-height: 1.7;}
.support .agree-box .privacy-txt p:first-of-type{margin-top: 0;}
.support .agree-box .flex-box{display:flex; margin: 20px 0;}
.support .agree-box .flex-box label{position: relative; display:flex; align-items: center; width: calc(100% - 260px);  background-color: #f8f8f8; border: 2px solid #f8f8f8; border-radius:5px}
.support .agree-box .flex-box label span{display: inline-block; vertical-align: top; width: 150px; font-weight: 500; font-size: var(--font18); padding-left: 25px;}
.support .agree-box .flex-box label span sup{display: inline-block; vertical-align: top; color: var(--point-color); transform: translateY(2px);}
.support .agree-box .flex-box label input{width: calc(100% - 150px); outline: none;}
.support .agree-box .flex-box label button{position: absolute; top: 0; right: 0; width: 73px; height: 100%; background: transparent; outline: none;}
.support .agree-box .flex-box label.on{border-color: var(--point-color); background-color: var(--color-fff);}
.support .agree-box .flex-box label.on input{background-color: var(--color-fff); border-color: var(--color-fff);}
.support .agree-box .flex-box .captcha{margin-left: 10px; width: 250px; height:73px; border-radius: 5px; overflow: hidden}
.support .agree-box .flex-box .captcha img{width: 100%; object-fit:cover; -o-object-fit:cover; height: 100%; }
.support .agree-box .agree-chk-box{width: 100%; text-align: right;}
.support .agree-box .agree-chk-box input{display: none;}
.support .agree-box .agree-chk-box label{display:flex; align-items: center; justify-content: flex-end; gap:15px; width: auto; cursor: pointer; font-weight: 300; font-size: 18px; color: #333;}
.support .agree-box .agree-chk-box span{width: 25px; height: 25px; background: url("/img/sub/icon-check.svg") 50% 50% no-repeat;}
.support .agree-box .agree-chk-box input[id="privacyAgree"]:checked + label span{ background: url("/img/sub/icon-check-on.svg") 50% 50% no-repeat;}
.support .btn-submit{display: block; width: 300px; height: 75px; margin: 120px auto 0; font-weight: 600; font-size: var(--font18); color: var(--color-fff); background-color: var(--point-color); border-radius:10px;}

/* 견적문의 팝업 */
.inquiry .popup-box .popup-info{max-width: 640px; border-radius:20px}
.inquiry .popup-box .popup-info .box{padding: 40px 30px;}
.inquiry .popup-box .popup-info .box em{display: block; font-weight: 600; font-size: 32px; text-align: center;}
.inquiry .popup-box .popup-info .box .filter{display:flex; gap:15px; padding: 0 15px; align-items: center; background: #F8F8F8; margin:30px 0 10px; border-radius:5px}
.inquiry .popup-box .popup-info .box .filter select,
.inquiry .popup-box .popup-info .box .filter input{height: 55px; padding: 0; outline:none; font-size: 15px;}
.inquiry .popup-box .popup-info .box .filter select{min-width: auto;}
.inquiry .popup-box .popup-info .box .filter select:first-of-type{width: 100px;}
.inquiry .popup-box .popup-info .box .filter select:last-of-type{width: 180px;}
.inquiry .popup-box .popup-info .box .filter .search-input{position: relative;width: calc(100% - 310px);}
.inquiry .popup-box .popup-info .box .filter .search-input input{width: 100%;}
.inquiry .popup-box .popup-info .box .filter .search-input button{position: absolute; top: 0; right: 0; height: 55px; width: 55px; background-color: transparent; padding: 0; text-align: right;}
.inquiry .popup-box .popup-info .box .filter .search-input button img{width: 16px; height: 16px; }
.inquiry .popup-box .popup-info .box .table-box table th{padding: 10px 0; font-size: 15px;}
.inquiry .popup-box .popup-info .box .table-box table td{padding: 10px; font-size: 15px; color: #555; line-height: 24px;}
.inquiry .popup-box .popup-info .box .table-box table td.t-left{white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left;}
.inquiry .popup-box .popup-info .box .table-box table td button{height: 24px; width: 70px; background: #eee; color: #aaa; font-weight: 500; font-size: 14px; border-radius:5px}
.inquiry .popup-box .popup-info .box .paging{margin-top: 30px;}
.inquiry .popup-box .popup-info .box .paging a{width: 35px; height: 35px;}

@media screen and (max-width:1720px) {
    /* 회사소개
    ================================================================== */
    .greeting .greeting-wrap .box{width: calc(100% - clamp(300px, 37.21vw, 640px));}
    .greeting .greeting-wrap .box:first-of-type{width: clamp(300px, 37.21vw, 640px);}
    .greeting .greeting-wrap .box h3{font-size: clamp(24px, 2.09vw, 36px);}
    .greeting .greeting-wrap .box p{font-size: clamp(16px,1.16vw,20px);}
    .greeting .greeting-wrap .box strong{font-size: clamp(18px,1.16vw,20px);}
    .greeting .greeting-wrap .box:last-of-type span{font-size: clamp(19px, 1.28vw, 22px);}
    
    .history .history-list .line{height: calc(100% + clamp(40px,4.65vw,80px));}
    .history .history-list .item{padding-top: clamp(40px,4.65vw,80px); padding-bottom: clamp(60px, 6.98vw, 120px);}
    .history .history-list .item .list{padding-top: clamp(120px,9.3vw,160px);}

    .workplace .place-list .item h3{font-size: clamp(24px,2.09vw,36px);}
    .workplace .place-list .item .table table tr th{font-size: clamp(16px,1.05vw,18px);}
    .workplace .place-list .item .table table tr td{font-size: clamp(13px,0.93vw,16px);}
	
	.directions .map-list .item .txt{ padding-right: 90px; }


    /* 사업영역
    ================================================================== */
    .business .biz-main .txt{flex-shrink: 0; padding-left: clamp(60px, 5.81vw, 100px); }
    .business .biz-main .txt p.margin{margin: clamp(30px, 3.49vw, 60px) 0 20px; }
    .business .biz-main .txt p.margin:last-of-type{margin-top: clamp(30px, 3.49vw, 60px);}
    
    .business .prod-list{gap:20px}
    .business .prod-list .item{width: calc((100% - 40px) / 3);}
    .business .prod-list .item a{padding: clamp(16px,1.74vw, 30px) clamp(20px,2.91vw,50px);}
    .business .prod-list .item .txt-box{margin-top: clamp(16px,1.74vw,30px);}
    .business .prod-list .item .txt-box p{font-size: clamp(22px, 1.51vw, 26px); margin-bottom: 6px;}
    .business .slide-wrap .item{width: clamp(230px,22.38vw,385px);}

    /* 제품정보
    ================================================================== */
    .product .prod-list{gap:clamp(60px,6.98vw,120px) 20px}
    /* 상세 */
    .product-view .prod-info .info-box{padding-left: clamp(60px,5.81vw,100px);}
    .product-view .prod-info .info-box .prod-tit h2{font-size: clamp(28px,2.09vw,36px); margin: clamp(10px, 1.16vw, 20px) 0;}
    .product-view .prod-info .info-box .info-txt p,
    .product-view .prod-info .info-box .prod-tit p{font-size: clamp(18px, 1.16vw,20px);}
    .product-view .prod-info .info-box .info-txt{margin: clamp(50px,4.65vw,80px) 0;}
    .product-view .edit-area{margin-top: clamp(60px,6.98vw,120px);}

    /* 홍보센터
    ================================================================== */  
    /* 이미지 게시판 */
    .board-list .img-list{gap:clamp(60px,6.98vw,120px) 20px}

    /* 고객지원
    ================================================================== */
    .support h3{font-size: clamp(24px, 2.09vw, 36px);}
    .support .requests-box{padding-bottom: clamp(30px, 3.49vw, 60px);}
    .support .input-cont{padding: clamp(30px, 3.49vw, 60px) 0;}
    .support .quote-box .area-box{margin-top: clamp(40px,4.65vw,80px);}
    .support .btn-submit,
    .support .agree-box{margin-top: clamp(60px,6.98vw,120px);}
    .support .input-cont .flex-box,
    .support .agree-box .box,
    .support .quote-box > .flex-box,
    .support .requests-box .txt{width: calc(100% - 220px);}

}

@media screen and (max-width:1600px) {
    /* 회사소개
    ================================================================== */  
    .overview .video-box{border-radius:clamp(10px,1.25vw,20px)}
    .overview .txt-box{margin-top: clamp(30px,5vw,80px);}
    .overview .txt-box strong{font-size: clamp(24px,2.63vw,42px); margin-bottom: clamp(14px,2.5vw,40px);}
    .overview .txt-box p{font-size: clamp(18px,1vw,20px);}
    .overview .overflow{ padding: 0 clamp(20px,3.75vw,60px); margin: clamp(40px,7.5vw,120px) 0 clamp(60px,7.5vw,120px);}
	.overview .company-info{ margin-inline: calc(clamp(20px,3.75vw,60px) * -1); }
	.overview .company-info dl{ margin-inline: clamp(20px,3.75vw,60px); }
    .overview .company-info dt{width: clamp(160px,16.25vw,260px); font-size: clamp(17px,1.22vw,18px);}
    .overview .company-info dd{ font-size: clamp(16px,1.22vw,18px);}
	.overview .field .item{ min-height: clamp(80px, 6.44vw,103px); padding: 15px 40px; }
    .overview .field .item p{font-size: clamp(16px,1.22vw,18px); }
    .overview .field .item span{width: clamp(38px, 2.81vw,45px); line-height: clamp(38px, 2.81vw,45px); font-size: clamp(14px,1vw,16px);}
    
    .greeting .greeting-wrap .box{width: calc(100% - clamp(300px, 31.25vw, 500px));}
    .greeting .greeting-wrap .box:first-of-type{width: clamp(300px, 31.25vw, 500px);}
    .greeting .top-txt{height: clamp(280px,28.13vw,450px);}
    .greeting .top-txt strong{font-size: clamp(32px,3.38vw,54px);}

    .history .history-list .item .img-box,
    .history .history-list .item .list{width: calc(50% - 60px);}
    .history .history-list .item .img-box strong{font-size: clamp(50px,5vw,80px);}
    .history .history-list .item .img-box h3{font-size: clamp(24px,1.88vw,30px);}
    .history .history-list .item .img-box figure{margin: clamp(20px,2.5vw,40px) 0;}
    .history .history-list .item .list li{padding-bottom: 20px;}
    
    .patent .patent-list{gap:60px 20px}
    .patent .txt{margin-top: clamp(14px,1.88vw,30px);}

    .customer .customer-list figure{width: calc((100% - 80px) / 5);}

    .directions .map-list .item{margin-bottom: clamp(40px,5vw,80px); padding-bottom: clamp(40px,5vw,80px);}
    .directions .map-list .item figure{width: calc(100% - clamp(300px, 42.5vw, 680px)); border-radius:clamp(10px, 1.25vw, 20px);}
    .directions .map-list .item .txt{width: clamp(300px, 42.5vw, 680px); padding-right: 60px; }
    .directions .map-list .item .txt h3{font-size: clamp(24px, 2.25vw, 36px); padding-left: calc(clamp(26px, 2.5vw, 40px) + clamp(14px,1.56vw,25px)); text-indent: calc((clamp(26px, 2.5vw, 40px) + clamp(14px,1.56vw,25px)) * -1); }
    .directions .map-list .item .txt h3 img{width: clamp(26px, 2.5vw, 40px); margin-right: clamp(14px,1.56vw,25px);}
    .directions .map-list .item .txt p{font-size: clamp(18px, 1.38vw,20px); margin: clamp(16px, 1.88vw, 30px) 0 clamp(30px, 3.75vw, 60px);}
    .directions .map-list .item .txt dl{gap:clamp(8px,0.94vw,15px) 0}
	.directions .map-list .item .txt dl dt{ width: 100px; }

    /* 사업영역
    ================================================================== */   
    .business .img-list{margin: clamp(60px,7.5vw,120px) 0;}
    .business .prod-list{padding: clamp(50px,7.5vw,120px) 0 clamp(100px,12.5vw,200px); margin-bottom: calc(clamp(100px,12.5vw,200px) * -1); }
    .business .prod-list h3{font-size: clamp(24px, 2.25vw, 36px);}
    .business .slide-wrap{margin: clamp(60px,7.5vw,120px) 0;}
    .business .slide-wrap .slick-track{left: clamp(16px,3.75vw,60px);}
    .business .progress-box{padding-left: clamp(16px,3.75vw,60px);}
    .business .progress{width: calc(100% - clamp(16px,3.75vw,60px)); margin-top: clamp(20px,2.33vw,40px);}

    /* 제품정보
    ================================================================== */
    .product .prod-list .item a .txt{margin-top: clamp(14px,1.88vw,30px);}
    .product .prod-list .item a .txt p{font-size: clamp(18px,1.38vw,22px);}
    .product .prod-list .item a figure img{padding: clamp(40px,4.69vw,75px);}

    /* 상세 */
    .product-view .prod-info figure img{padding: 100px;}

    /* 홍보센터
    ================================================================== */  
    /* 상세 */
    .board-view .view-box .tit{padding: clamp(24px, 3.75vw,60px);}
    .board-view .view-box .tit h2{font-size: clamp(24px, 2.25vw, 36px);}
    .board-view .view-box .info-box{margin-top: clamp(24px, 3.75vw,60px);}
    .board-view .view-box .edit-area{margin: clamp(24px, 3.75vw,60px) 0;}
    .board-view .view-box .file-box a{padding: 0 clamp(16px,1.88vw,31px); font-size: clamp(15px,1.06vw,17px); line-height: clamp(48px, 3.88vw,62px);}
    .board-view .view-box .post-box{margin: clamp(24px, 3.75vw,60px) 0 clamp(50px,7.5vw,120px);}
    .board-view .view-box .list-btn a{width: clamp(260px,21.88vw,350px); line-height: clamp(60px,4.69vw,75px); }
    /* 이미지 게시판 */
    .board-list .img-list{gap:clamp(60px,6.98vw,120px) 20px}
    .promotion .popup-box .popup-info .txt,
    .board-list .img-list .txt{margin-top: clamp(14px,1.88vw,30px);}
    .promotion .popup-box .popup-info .txt p,
    .board-list .img-list .txt p{font-size: clamp(18px,1.38vw,22px);}
}
@media screen and (max-width:1400px) {
    /* 사업영역
    ================================================================== */   
    .business .biz-main figure{width: 40%;}
    .business .biz-main .txt{width: 60%; flex-shrink: unset;}
    .business .biz-main .txt p:first-of-type br{display: none;}
    /* 홍보센터
    ================================================================== */  
    /* 게시판 */
    input,
    select{height: clamp(50px, 4.64vw,65px);}
    .search{margin-bottom: clamp(26px,2.86vw,40px);}
    
    /* 고객지원
    ================================================================== */
    .support .agree-box,
    .support .quote-box,
    .support .input-cont,
    .support .requests-box{flex-wrap:wrap;}
    .support .input-cont .flex-box,
    .support .agree-box .box,
    .support .quote-box > .flex-box,
    .support .requests-box .txt{width: 100%; margin-top: 20px;}
    .support .quote-box .table-box thead th{padding: 15px; font-size: 16px;}
    .support .input-cont .flex-box .input-box{gap:10px;}
    .support .input-cont .flex-box .input-box label:not(.w100){width: 100%;}
    .support .quote-box .area-box label span,
    .support .input-cont .flex-box .input-box label span{width: 100px;}
    .support .quote-box .area-box label textarea,
    .support .input-cont .flex-box .input-box label input{width: calc(100% - 100px);}
    .support .input-cont .flex-box .input-box .addr label{width: calc(100% - 190px);}
    .support .input-cont .flex-box .input-box .addr button{width: 180px; height: clamp(50px, 4.64vw,65px); font-size: 16px;}
    .support .agree-box .flex-box label span{width: 120px; padding-left: 15px;}
    .support .agree-box .flex-box label input{width: calc(100% - 120px);}
}
@media screen and (max-width:1200px) {
    /* 회사소개
    ================================================================== */  
    .overview .company-info{ margin-block: calc(clamp(5px,0.835vw,10px) * -1);}
	.overview .company-info dl{ margin-block: clamp(5px,0.835vw,10px); }
    .overview .company-info dt{ width: 120px; }
    .greeting .greeting-wrap{flex-wrap:wrap;}
    .greeting .greeting-wrap .box{width: 100%;}
    .greeting .greeting-wrap .box:first-of-type{ width: 50%; margin-bottom: clamp(20px ,3.33vw,40px);}
    .greeting .greeting-wrap .box:last-of-type{ text-align: right;}
    .greeting .greeting-wrap .box h3{margin-bottom: 0;}
    .greeting .greeting-wrap .box h3::after{display: none;}
    .greeting .greeting-wrap .box h3 br{display: none;}
    .greeting .greeting-wrap .box:first-of-type strong{display: none;}
    .greeting .greeting-wrap .box strong{position: relative; display: inline-block; vertical-align: top; margin-top: 20px;}
    .greeting .greeting-wrap .box strong.hidden{display: inline-block;}
    .greeting .greeting-wrap .box strong.hidden > span{display: inline;}
    .greeting .greeting-wrap .box:last-of-type p{text-align: left;}
    .greeting .greeting-wrap .box:last-of-type span{margin: 16px 0; text-align: left;}

    .workplace .place-list .item{flex-wrap:wrap; margin-bottom: clamp(60px,10vw,120px);}
    .workplace .place-list .item .box{width: 100%; margin-top: 14px;}
    .workplace .place-list .item .flex-box{gap:clamp(40px,6.67vw,80px) 20px;}
    .workplace .place-list .item .table table tr td,
    .workplace .place-list .item .table table tr th{padding: clamp(10px,1.25vw,15px) 0;}

    .customer .customer-list figure{width: calc((100% - 60px) / 4);}
	
	.directions .map-list .item .txt dl dt{ width: 80px; }
	
    /* 사업영역
    ================================================================== */ 
    .business .biz-main{flex-wrap:wrap; text-align: center;}
    .business .biz-main figure{width: 50%; margin: 0 auto; }
    .business .biz-main .txt{width: 100%;margin: 0 auto; padding-left: 0; margin-top: 30px;}
    .business .biz-main .txt p:first-of-type br{display: block;}

    /* 제품정보
    ================================================================== */
    .product .prod-list .item{width: calc((100% - 40px) / 3);}
    /* 상세 */
    .product-view .prod-info figure{width: 50%;}
    .product-view .prod-info .info-box{width: 50%;}

    /* 홍보센터
    ================================================================== */  
    .gallery.board-list .img-list .item,
    .catalog.board-list .img-list .item{width: calc((100% - 40px) / 3);}
}

@media screen and (max-width:1024px) {
    /* 회사소개
    ================================================================== */  
    .overview .txt-box p{font-size: clamp(16px,1.76vw,18px);}
    .overview .txt-box p:last-of-type{margin-top: 8px;}
	.overview .overflow{ padding: 0; }
    .overview .company-info{ grid-template-columns: repeat(1, 100%); align-items: flex-start; margin-block: -5px; }
    .overview .company-info::after{display: none;}
	.overview .company-info{ margin-block: 5px; }
    .overview .company-info dt{width: clamp(130px, 14.65vw,150px); font-size: 16px;}
    .overview .company-info dd{ font-size: 15px; margin-right: 0;}
    .overview .field .flex-box{gap:20px; margin-top: 30px;}
    .overview .field .item{width: calc(50% - 10px); min-height: 65px; }
    
    .history .history-list .item{display: block; padding-top: 0; padding-bottom: 40px; padding-left: clamp(16px,3.91vw,40px);}
    
    .history .history-list .item .img-box,
    .history .history-list .item .list{width: 100%;}
    .history .history-list .item .list{padding-top: 20px;}
    .history .history-list .item .list li{padding-bottom: clamp(10px,1.95vw,20px);}
    .history .history-list .item .list li p{width: calc(100% - clamp(80px,11.72vw,120px));}
    .history .history-list .item .list li p br{display: none;}
    .history .history-list .item .list li span{width: clamp(80px,11.72vw,120px);}
    .history .history-list .item .img-box strong{font-size: 40px;}
    .history .history-list .item .img-box p{font-weight: 700; font-size: 20px;}
    .history .history-list .line{top: 0; left: 0; transform: translateX(0); height: 100%;}
    .history .history-list .line span::before{width: 30px; height: 30px; transform: translate(-50%, 15px); border-width:2px}
    .history .history-list .line span::after{width: 5px; height: 5px; transform: translate(-50%, 0px);}
    .patent .patent-list{gap:30px 16px}
    .patent .patent-list .item{width: calc((100% - 32px) / 3);}
    .patent .txt p{font-size: 15px;}
    .patent .txt span{font-size: 14px; margin-top: 8px;}

    .workplace .place-list .item .table{overflow-x: auto;}
    .workplace .place-list .item .table table{min-width: 1000px;}
    .workplace .place-list .item .box .img-box p{margin-top: 10px; font-size: 18px;}

    .customer .customer-list figure{width: calc((100% - 40px) / 3); padding: 14px;}

    .directions .map-list .item{flex-wrap:wrap; align-items: unset;}
    .directions .map-list .item .txt{ max-width: 100%; width: 100%; padding-right: 0;}
	.directions .map-list .item .txt br{ display: none; }
    .directions .map-list .item figure{width: 100%;}
	.directions .map-list .item figure .wrap_map,
	.directions .map-list .item figure > div { height:360px !important; }
    .directions .map-list .item .txt p{margin: 20px 0 20px;}
    .directions .map-list .item .txt dl{gap:20px; flex-wrap:nowrap; margin-bottom: 30px;}

    /* 사업영역
    ================================================================== */  
    .business .img-list{flex-wrap:wrap}
    .business .img-list .item{width: calc(50% - 10px);}
    .business .img-list .item figure{border-radius:10px;}
    .business .img-list .item figure img{width: 100%; object-fit: cover;}
    .business .prod-list{flex-wrap:wrap;}
    .business .prod-list .item{width: calc(50% - 10px); border-radius: 10px;}
    .business .prod-list .item .txt-box p{font-size: 18px;}

    /* 제품정보
    ================================================================== */
    .product .prod-list .item a figure{border-radius: 10px;}
    .product .prod-list .item a .txt p{font-size: 16px;}
    /* 상세 */
    .product-view .prod-info{flex-wrap:wrap}
    .product-view .prod-info figure{width: 100%; max-width: none; aspect-ratio: 2.4 / 1;}
    .product-view .prod-info figure img{padding: 30px 50px;}
    .product-view .prod-info .info-box{width: 100%; padding-left: 0; margin-top: 20px;}
    .product-view .prod-info .info-box .list-btn a{line-height: 60px;}
    /* 홍보센터
    ================================================================== */  
    /* 상세 */
    .board-view .view-box .info-box dl{gap:10px 40px; align-items: flex-start;}
    .board-view .view-box .info-box dl dt{width: 60px;}
    .board-view .view-box .info-box dl dt::after{right: -21px; height: 12px;}
    .board-view .view-box .info-box dl dd{width: calc(100% - 100px);}
    .board-view .view-box .post-box{flex-wrap:wrap; border-top: 1px solid #333;}
    .board-view .view-box .post-box a{width: 100%; padding: 14px 16px; border-bottom: 1px solid #E5E5E5;}
    .board-view .view-box .post-box a span,
    .board-view .view-box .post-box a p{font-size: 16px;}
    .board-view .view-box .post-box a img{transform: rotate(90deg) translate(-1px,2px);}
    .board-view .view-box .post-box a:last-of-type{justify-content: flex-start;}
    .board-view .view-box .post-box a:last-of-type img{order:-1; transform: rotate(90deg) translateY(2px);}
    .board-view .view-box .post-box a:last-of-type span{order:1}
    .board-view .view-box .post-box a:last-of-type p{order:2}
    /* 이미지 게시판 */
    .board-list .img-list{gap:clamp(60px,6.98vw,120px) 20px}
    .promotion .popup-box .popup-info .txt,
    .board-list .img-list .txt{margin-top: clamp(14px,1.88vw,30px);}
    .promotion .popup-box .popup-info .txt p,
    .board-list .img-list .txt p{font-size: 16px;}
    .promotion .popup-box .popup-info .txt span,
    .board-list .img-list .txt span{font-size: 15px; margin-top: 10px;}
    .promotion .popup-box .close{right: 0; top: -40px;}
    .promotion .popup-box .popup-info{border-radius:10px; padding: clamp(14px, 2.93vw, 30px);}
    .promotion .popup-box .popup-info .iframe-box{border-radius:10px; aspect-ratio: 600 / 330;}  
    /* 고객지원
    ================================================================== */
    .support .requests-box .txt{padding: 20px;}
    .support .requests-box .txt .phone li img{margin-right: 8px; margin-top: -2px;}
    .support .quote-box .table-box .scroll{overflow-x: auto; }
    .support .quote-box .table-box table{width: 1000px;}
    .support .quote-box .area-box label span,
    .support .input-cont .flex-box .input-box label span{width: 80px; padding-left: 10px;}
    .support .quote-box .area-box label textarea,
    .support .input-cont .flex-box .input-box label input{width: calc(100% - 80px);}
    .support .input-cont .flex-box .input-box .addr label{width: calc(100% - 80px);}
    .support .input-cont .flex-box .input-box .addr button{width: 90px;font-size: 15px;}
    .support .input-cont .flex-box > p{font-size: 15px;}
	/*
    .support .agree-box .flex-box{flex-wrap: wrap; gap:10px;}
    .support .agree-box .flex-box label{width: 100%; order:2}
    .support .agree-box .flex-box .captcha{margin-left: 0;}
	*/

	.support .agree-box .flex-box label{width: calc(100% - 180px); }
	.support .agree-box .flex-box .captcha{margin-left: 10px; width: 180px; height: clamp(54px, 4.64vw,65px); }
    .support .agree-box .flex-box label button{width: 50px;}
    .support .agree-box .agree-chk-box label{gap:10px}
    .support .agree-box .privacy-txt *{font-size: 14px !important;}
    .support .btn-submit{height: 55px;}

    /* 견적문의 팝업 */
    .inquiry .popup-box .close{right: 0; top: -40px;}
    .inquiry .popup-box .popup-info .box .table-box{height: 300px; overflow-y: auto;}
    .inquiry .popup-box .popup-info .box .table-box table thead{position: sticky; top: 0; background: #fff;}
    .inquiry .popup-box .popup-info .box .table-box table thead th{border-top: none; padding: 12px 0 10px;}
    .inquiry .popup-box .popup-info .box .table-box table thead::before{content:""; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: #111;}
    .inquiry .popup-box .popup-info .box .table-box table thead::after{content:""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: #111;}
}

@media screen and (max-width: 800px){
	/* 고객지원
    ================================================================== */
	.support .quote-box .area-box label span, 
	.support .input-cont .flex-box .input-box label span{ width: 100%; padding-left: 0; padding-bottom: 10px; }

	.support .input-cont .flex-box .input-box{ gap: 20px 0; }
	.support .input-cont .flex-box .input-box label{ background: none !important; border: none !important; flex-direction: column; align-items: unset; }	
	.support .input-cont .flex-box .input-box label input{ width: 100%; border: 2px solid transparent; padding: 0 20px; }
	.support .input-cont .flex-box .input-box label input:focus{ border-color: var(--point-color); }
	.support .input-cont .flex-box .input-box .addr{ align-items: flex-end; }
	.support .quote-box .area-box{ background: transparent; padding: 0; }
	.support .quote-box .area-box label{ flex-direction: column; }
	.support .quote-box .area-box label textarea{ width: 100%; background: #F8F8F8; border-radius: 5px; padding: 20px; }
	.support .agree-box .flex-box{ align-items: flex-end; }
	.support .agree-box .flex-box label{ flex-direction: column; align-items: unset; background: transparent !important; border: transparent !important; }
	.support .agree-box .flex-box label span{ width: 100%; padding-left: 0; padding-bottom: 10px; }
	.support .agree-box .flex-box label input{ width: 100%; padding: 0 20px; padding-right: clamp(50px, 4.64vw,65px); }
	.support .agree-box .flex-box label input:focus{ border-color: var(--point-color); }
	.support .agree-box .flex-box label button{ height: clamp(50px, 4.64vw,65px); top: unset; bottom: 0; }
}

@media screen and (max-width:768px) {
    /* 회사소개
    ================================================================== */  
    .overview .field .item{width: 100%;}
    .greeting .greeting-wrap .box p br{display: none;}
    .history .history-list .line span{transition: 0.2s;}
    .history .history-list .line span::before{width: 16px; height: 16px; transform: translate(-50%, 8px); border-width:2px}
    .history .history-list .line span::after{display: none;}

    .customer .customer-list{gap:10px}
    .customer .customer-list figure{width: calc((100% - 10px) / 2); padding: 20px 30px;}

	.directions .map-list .item figure .wrap_map,
	.directions .map-list .item figure > div { height:280px !important; }
    .directions .map-list .item .txt dl{flex-wrap:wrap; gap:10px 0}
    .directions .map-list .item .txt dl dt{width: clamp(80px,11.72vw,120px); font-size: 16px;}
    .directions .map-list .item .txt dl dd{width: calc(50% - clamp(80px,11.72vw,120px)); font-size: 15px;}
    .directions .map-list .item .txt h3 img{margin-right: 10px;}

    /* 사업영역
    ================================================================== */  
    .business .biz-main figure{width: 70%;}
    .business .biz-main .txt{margin-top: 20px;}
    .business .biz-main .txt strong{font-size: 20px;}
    .business .biz-main .txt p{ font-size: 15px;}
    .business .biz-main .txt p.margin{margin: 20px 0 14px;}
    .business .biz-main .txt p:first-of-type br{display: none;}
    .business .biz-main .txt p.margin:last-of-type{margin-top:20px;}
    .business .slide-wrap,
    .business .img-list{gap:16px; margin-top: 40px;}
    .business .img-list .item{width: calc(50% - 8px);}
    .business .prod-list{gap:16px;}
    .business .prod-list .item{width: calc(50% - 8px);}
    .business .slide-wrap .item{border-width: 1px; margin-right: 16px;}

    /* 제품정보
    ================================================================== */
    .product .prod-list{gap:40px 16px}
    .product .prod-list .item{width: calc((100% - 16px) / 2);}
    .product .prod-list .item a figure img{padding: clamp(20px,5.21vw,40px);}
    /* 상세 */
    .product-view .prod-info figure{width: 100%; max-width: none; aspect-ratio: 1.5 / 1;}
    .product-view .prod-info .info-box .location{gap: 0 20px;}
    .product-view .prod-info .info-box .location li::after{right: -11px;}
    .product-view .prod-info .info-box .location li img{margin-top: -2px;}
    .product-view .prod-info .info-box .prod-tit h2{font-size: 25px;}
    .product-view .prod-info .info-box .info-txt p,
    .product-view .prod-info .info-box .prod-tit p{font-size: 16px;}
    .product-view .prod-info .info-box .info-txt{margin: 34px 0 46px;}
    .product-view .prod-info .info-box .list-btn a{font-size: 16px; line-height: 50px;}
    /* 홍보센터
    ================================================================== */  
    /* 게시판 */
    .table-box table{border-top: 2px solid #000;}
    .table-box table thead,
    .table-box table colgroup{display: none;}
    .table-box table tr{display: flex; width: 100%; gap:6px 0; align-items: center; flex-wrap: wrap; border-bottom: 1px solid #E5E5E5; padding: 10px;}
    .table-box table tr td{border-bottom: none; text-align: left; font-size: 15px;}
    .table-box table tr td:first-of-type{width: 40px;}
    .table-box table tr td.w100{width: calc(100% - 50px);}
    .table-box table td.txt-v a{width: 100%;}
    .table-box table tr td a{padding: 0; color: #111;}
    .table-box table tr td.mr30{position: relative;}
    .table-box table tr td.mr30::after{content:""; position: absolute; width: 1px; height: 12px; top: 50%; transform: translateY(-50%); right: -16px; background-color: #666;}
    /* 이미지 게시판 */
    .board-list .img-list{gap:40px 16px}
    .gallery.board-list .img-list .item,
    .catalog.board-list .img-list .item,
    .board-list .img-list.video-list .item,
    .board-list .img-list .item{width: calc((100% - 16px) / 2);}
    .board-list .img-list .item figure{border-radius:10px}
    .board-list .img-list .item figure::after{width: 40px; height: 40px; background-size: cover !important;}
    /* 고객지원
    ================================================================== */
    .support.inquiry .tit-box p br{display: none;}
    .support.inquiry .table-box table thead{display: table-header-group;}
    .support.inquiry .table-box table colgroup{display: table-column-group;}
    .support.inquiry .table-box table tr{display: table-row;}

	.support .agree-box .flex-box label{width: calc(100% - 130px); }
	.support .agree-box .flex-box .captcha{margin-left: 5px; width: 130px; }

    /* 견적문의 팝업 */
    .inquiry .popup-box .popup-info .box em{font-size: 28px;}
    .inquiry .popup-box .popup-info .box .filter{flex-wrap:wrap; margin-top: 20px;}
    .inquiry .popup-box .popup-info .box .filter select{width: calc(50% - 8px) !important;}
    .inquiry .popup-box .popup-info .box .filter .search-input{width: 100%;}
    .inquiry .popup-box .popup-info .box .filter select,
    .inquiry .popup-box .popup-info .box .filter input{height: 38px;}
    .inquiry .popup-box .popup-info .box .filter .search-input button{width: 38px; height: 38px;}
}