@charset "utf-8";
/* sub2 공통 */
.sub2-box { margin-bottom: 80px;}
.sub2-box:last-child { margin-bottom: 0;}
.subtit { position: relative; font-size: 30px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2em; color: #242424; padding-left: 37px; margin-bottom: 25px;}
.subtit span { font-size: 24px; font-weight: 600; color: #898989; display: inline-block;}
.subtit::before { content: ""; position: absolute; left: 0; top: 4px; width: 25px; height: 25px; background-size: contain; background: url(../images/sub/bf.jpg) center no-repeat;}
.sub2-txtbox { padding-left: 37px;}
.sub2-txt { font-size: 16px; line-height: 1.556em; letter-spacing: -.03em; color: #454545; font-weight: 300;}
.sub2-list { display: flex; gap: 20px; margin-top: 35px;}
.sub2-list li { flex: 1; border-radius: 10px; overflow: hidden; position: relative;}
.sub2-list li.bd::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border: 1px solid #ddd; border-radius: 10px;}
.sub2-graybox { margin-top: 35px; background: #f7f7f7; border-radius: 10px; padding: 30px;}
.sub2-graybox strong { display: block; font-weight: 600; line-height: 1em; letter-spacing: -.03em; color: #0078a7; margin-bottom: 20px;}
.sub2-graybox div { position: relative;}
.sub2-graybox .num { font-weight: 600; color: #0078a7; display: inline-block; position: absolute; left: 0; top: 5px; line-height: 1em;}
.sub2-graybox p { font-size: 16px; font-weight: 300; letter-spacing: -.03em; line-height: 1.666em; color: #454545; padding-left: 16px;}
.sub2-graybox p sup { font-size: 11px; line-height: 1em;}
.sub2-graybox p .fw { color: #242424; font-weight: 500; display: inline-block; }
.sub2-fx { display: flex; gap: 20px;}
.sub2-fx>div { width: calc(100%/2 - 10px);}
.sub2-normal { margin-top: 0; background: transparent; border-radius: 0; padding: 0;}
.sub2-normal p { letter-spacing: -.05em;}
.sub2-tbl-wrap { margin-top: 40px;}
.sub2-tbl { border-collapse: collapse; width: 100%; border-top: 2px solid #000;}
.sub2-tbl tr td { line-height: 1.2em; padding: 15px 5px; padding-left: 25px; color: #454545; font-weight: 300; letter-spacing: -.03em; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.sub2-tbl tr td:last-child { border-right: none;}
.sub2-tbl tr td.fw { font-weight: 600; color: #242424; padding: 0; text-align: center; background: #fafafa;}
.sub2-tbl tr td.bd { border-right: 1px solid #ddd;}

/* 기타 제작 품목 */
.etc-list { display: flex; flex-wrap: wrap; gap: 40px 30px;}
.etc-list li { width: calc(100%/3 - 20px); text-align: center;}
.etc-list li .thumb {position:relative; padding-bottom:100%; overflow:hidden; border-radius: 20px; margin-bottom: 20px;}
.etc-list li .thumb img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:contain;}
.etc-list li .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid #ddd; border-radius: 20px;}
.etc-list li .txt { font-size: 18px; font-weight: 500; letter-spacing: -.03em; line-height: 1.2em; color: #454545;}

/* 인사말 */
.gt-img { border-radius: 50px 0 50px 0; overflow: hidden; margin-bottom: 60px;}
.gt-box { display: flex; }
.gt-box>div { width: 50%; }
.gt-left strong { display: block; line-height: 1em; font-size: 16px; font-weight: 700; letter-spacing: 0.6em; color: #0078a7; margin-bottom: 30px;}
.gt-left h2 { font-size: 30px; font-weight: 600; letter-spacing: -.03em; line-height: 1.5em; color: #242424;}
.gt-left h2 span { color: #0078a7;}
.gt-right p{ font-weight: 400; letter-spacing: -.03em; line-height: 1.556em; color: #454545; margin-bottom: 28px;} 
.gt-right p:last-child { margin-bottom: 0;}
.gt-right strong { font-weight: 700; letter-spacing: -.04em; line-height: 1em; color: #2c2c2c; display: block; margin-top: 45px;}

/* 사업종목 및 경영이념 */
.mn-list { display: flex; gap: 20px;}
.mn-list li { width: calc(100%/4 - 15px); border-radius: 10px; padding: 30px;}
.mn-list li:nth-of-type(odd) { background: #0078a7; color: #fff;}
.mn-list li:nth-of-type(even) { background: #e7e7e7; color: #242424;}
.mn-list li .txt { text-align: right; font-size: 18px; line-height: 1.5em; letter-spacing: -.03em; margin-top: 50px;}

/* 회사연혁 */
.hst { display: flex; padding-top: 60px; border-top: 2px solid #333;}
.hst-left {width: 45%;}
.hst-left h2 { font-size: 33px; font-weight: 600; letter-spacing: -.03em; line-height: 1.2em; color: #242424;   font-family: "Montserrat", sans-serif; margin-bottom: 20px;}
.hst-left h2 span { font-size: 40px; font-weight: 700; color: #0078a7;}
.hst-left p { font-size: 18px; font-weight: 500; line-height: 1.556em; letter-spacing: -.03em; color: #454545; margin-bottom: 70px;}
.hst-left p span { font-weight: 600; color: #242424;}
.hst-right {width: 55%; margin-left: 10px; padding-left: 70px; position: relative;}
.hst-right::before { content: ""; position: absolute; left: 0; top: 5px; height: 99.5%; width: 1px; background: #ddd;}
.group { margin-bottom: 60px; position: relative;}
.group:last-child { margin-bottom: 0;}
.group::before { content: ""; left: -80px; width: 20px; height: 20px; background: url(../images/main/hst-bf.png) center no-repeat; background-size: contain; top: 5px; position: absolute;}
.group .year { font-size: 28px; font-weight: 600; letter-spacing: -.03em; line-height: 1em; margin-bottom: 30px; color: #242424; position: relative; }
.group .year::before { content: ""; position: absolute; width: 40px; height: 1px; background: #ddd; top: 0; bottom: 0; margin: auto; left: -50px;}
.group .list li { position: relative; margin-bottom: 15px;}
.group .list li:last-child { margin-bottom: 0;}
.group .list li .month { font-weight: 600; letter-spacing: -.03em; line-height: 1.2em; position: absolute; left: 0; color: #0078a7;}
.group .list li .txt { font-weight: 300; letter-spacing: -.03em; line-height: 1.2em; color: #454545; position: relative; margin-left: 40px; padding-left: 15px;}
.group .list li .txt::before { content: ""; position: absolute; left: 0; top: 7px; width: 5px; height: 5px; background: #ddd; border-radius: 100%;}

/* 협력업체 */
.pt-list { display: flex; flex-wrap: wrap; gap: 55px 30px;}
.pt-list li { width: calc(100%/5 - 24px); text-align: center;}
.pt-list li .txt { font-size: 17px; letter-spacing: -.03em; line-height: 1.2em; margin-top: 18px; font-weight: 500; color: #454545;}
.pt-list li .thumb {position:relative; padding-bottom:38%; overflow:hidden; border-radius: 10px; }
.pt-list li .thumb img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:contain;}
.pt-list li .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid #ddd; border-radius: 10px;}

/* 찾아오시는 길 */
.mapbox { border-bottom: 1px solid #ddd;}
.root_daum_roughmap {width:100% !important;}
.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:#0078a7; font-weight:600; margin-bottom:2px;}
.directions .address-info .addr {color:#242424; font-size:23px; font-weight:600; line-height:1.33em; letter-spacing:-.03em; margin-bottom:5px;}
.directions .address-info .etc {color:#454545;}
.directions .address-info .etc span {display:inline-block; margin-right:16px;}
.directions .address-info .etc span:last-child {margin-right:0;}
.directions .contact-info {border-top:1px solid #ddd; line-height:1.5em;}
.directions .contact-info dl {display:flex; padding:28px 0; border-bottom:1px solid #ddd;}
.directions .contact-info dt {width:180px; padding-left:30px; color:#242424; font-size:1.125em; font-weight:500;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:#0078a7;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}