@charset "utf-8";
/* 공통 */
.subbox { margin-bottom: 100px; }
.subbox.mg { margin-bottom: 0; }
.subtit { position: relative; margin-bottom: 35px; padding-left: 28px; line-height: 1em; font-size: 28px; font-weight: 600; color: #242424; letter-spacing: -.03em ;}
.subtit::before { content: ""; position: absolute; left: 0; width: 18px; height: 18px; background: url(../images/sub/tit-bf.png) center no-repeat; background-size: contain; top: 4px;}

/* CEO인사말 */
.gt-fx { padding-bottom: 100px; margin-bottom: 40px; display: flex; align-items: center; border-bottom: 1px solid #ddd;}
.gt-fx>div { width: 50%; }
.gt-left { padding-right: 60px; }
.gt-left img { border-radius: 60px 0 60px 0 ;}
.gt-right h2 { line-height: 1.3em; font-size: 42px; font-weight: 500; letter-spacing: -.03em; color: #242424; margin-bottom: 55px; }
.gt-right h2 strong { font-weight: 700; color: #0061ae;}
.gt-right p { margin-bottom: 30px; line-height: 1.556em; font-size: 17px; font-weight: 300; letter-spacing: -.03em; color: #454545;}
.gt-right p span { font-weight: 500;}
.gt-right .ceo { display: block; margin-top: 55px; font-size: 17px; font-weight: 600; line-height: 1em; color: #242424; letter-spacing: -.03em;}
.gt-bg { background: url(../images/sub/sub1-1-up.png) center no-repeat; background-size: contain; padding-top: 180px; text-align: center; }
.gt-txtbox { position: relative; }
.gt-bg h3 { line-height: 1.2em; font-size: 22px; font-weight: 700; letter-spacing: -.03em; color: #0061ae; margin-bottom: 16px; }
.gt-bg p { font-size: 18px; font-weight: 300; letter-spacing: -.03em; line-height: 1.25em; color: #242424; margin-bottom: 60px; }
.gt-txtbox span { position: absolute; font-size: 80px; font-weight: 900; line-height: 1em; letter-spacing: -.3em; color: #0061ae; opacity: 0.1; font-family:'Noto Sans KR'; display: inline-block;}
.gt-txtbox span.left { left: 180px; top: -30px; }
.gt-txtbox span.right { right: 200px; bottom: -45px; }
.gt-list { display: flex; justify-content: center;}
.gt-list li { width: 270px; height: 270px; border-radius: 100%; display: flex; align-items: center; justify-content: center; color: #fff; text-align: center; box-shadow: 0 0 15px rgba(0,0,0,0.1);}
.gt-list li .txt { color: rgba(255,255,255,0.6); letter-spacing: -.03em; line-height: 1em; margin-bottom: 16px; font-size: 16px; font-weight: 700; font-family: "Play", sans-serif;}
.gt-list li .tit { line-height: 1em; font-size: 26px; font-weight: 700; letter-spacing: -.03em; color: #fff; }
.gt-list li.bg1 { background: #2491e8;}
.gt-list li.bg2 { background: #0061ae; margin-left: -20px; z-index: 1; }
.gt-list li.bg3 { background: #003e6f; margin-left: -20px; z-index: 2;}

/* 연혁 */
.hst-bg { padding: 60px 0; text-align: center; border-radius: 30px; background: url(../images/sub/hst-bg.jpg) center no-repeat; background-size: cover; color: #fff; position: relative;}
.hst-bg b { font-size: 23px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2em; font-family: 'Montserrat', sans-serif; text-shadow: 3px 3px 5px rgba(0,0,0,0.3); margin-bottom: 10px; }
.hst-bg h2 { font-size: 30px; font-weight: 700; letter-spacing: -.03em; margin-bottom: 15px; line-height: 1.3em; text-shadow: 3px 3px 5px rgba(0,0,0,0.3);}
.hst-bg h2 strong { font-weight: 900; }
.hst-bg h2 span { display: inline-block; background: linear-gradient(to bottom, transparent 50%, rgba(0, 97, 174,0.9) 50%);}
.hst-bg h2 span.fz { font-size: 36px;}
.hst-bg p { font-size: 16px; font-weight: 300; letter-spacing: -.03em; line-height: 1.5em; text-shadow: 3px 3px 5px rgba(0,0,0,0.3);}
.hst-bg::after { content: ""; left: 0; right: 0; margin: auto; bottom: -17px; position: absolute; width: 34px; height: 34px; border-radius: 100%; background: #0061ae; border: 11px solid #fff; z-index: 1;}
.history { position: relative; padding-top: 75px;}
.history::after { content: ""; position: absolute; left: 0; right: 0; margin: auto; top: 0; background: #ddd; width: 1px; height: 94%; z-index: -1;}
.history .group { position: relative; margin-bottom: 40px;}
.history .group:last-child { margin-bottom: 0;}
.history .group .group-ttl {font-size:40px; line-height:1em; color: #0061ae; font-weight: 700; position: relative;}
.history .group .group-ttl::before { width: 57px; height: 1px; background: #ddd; content: ""; position: absolute; top: 0; bottom: 0; margin: auto;}
.history .group:nth-child(odd) .group-ttl::before { left: -67px;}
.history .group:nth-child(even) .group-ttl::before { right: -67px;}
.history .group .groupbox::after { content:''; position:absolute; top:8px; width:22px; height:22px; background:#0061ae; border:1px solid #ddd; box-shadow: #f2f2f2 0px 0px 0px 6px inset; border-radius:100%;}
.history .group:nth-of-type(odd) .groupbox::after { left: -12px;}
.history .group:nth-of-type(even) .groupbox::after { right: -10px;}
.history .group:nth-child(odd) .groupbox { width: 50%; position: relative; margin-left: 50%; padding-left: 80px;}
.history .group:nth-child(even) .groupbox { width: 50%; position: relative; margin-left: 0; padding-right: 82px;}
.history .group ul {position: relative; width:100%; margin-top: 25px;}
.history .group:nth-child(even) ul {text-align:right;}
.history .group ul li {position: relative; color:#454545; font-size: 17px; font-weight: 300; letter-spacing: -.02em; line-height: 1.644em;}
.history .group ul li:last-child {margin-bottom: 0;}
.history .group:nth-child(even) .group-ttl { text-align: right;}
.organ { text-align: center; }

/* 찾아오시는 길 */
.map-fx { display: flex; gap: 40px; flex-wrap: wrap;}
.map-fx>div { width: 100%;}
.map-fx .left { display: flex; flex-wrap: wrap; gap: 20px; }
.map-fx .right { display: flex; flex-wrap: wrap; gap: 20px; }
.map-fx .thumb { width: calc(100%/2 - 10px); }
.map-fx .thumb>div {position:relative; padding-bottom:65%; overflow:hidden; border-radius: 24px; }
.map-fx .thumb:last-child { margin-bottom: 0; }
.map-fx .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:cover;}
.mapbox { overflow: hidden; border-radius: 24px;}
.root_daum_roughmap {width:100% !important;}
.directions {margin-top:20px;}
.directions .address-info {margin-bottom:30px; text-align: center;}
.directions .address-info .comp {color:#0061ae; 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:21px 0; border-bottom:1px solid #ddd;}
.directions .contact-info dt {width:150px; 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:#66a0ce;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}
.map-fx .right>div { width: calc(100%/2 - 10px);}

/* sub3 공통 */
.sub3-tbl-wrap { overflow: auto;}
.sub3-tbl { width: 100%; border-collapse: collapse; border-top: 2px solid #868686;}
.sub3-tbl tr { border-bottom: 1px solid #ddd;}
.sub3-tbl tr th { line-height: 1em; border-right: 1px solid #ddd; font-size: 16px; font-weight: 600; letter-spacing: -.03em; padding: 20px 5px; color: #2c2c2c; background: #fafafa; text-align: center; }
.sub3-tbl tr th:last-child { border-right: none; }
.sub3-tbl tr td { border-right: 1px solid #ddd; text-align: center; padding: 18px 5px; line-height: 1.5em; font-size: 16px; font-weight: 400; letter-spacing: -.03em; color: #454545;}
.sub3-tbl tr td:last-child { border-right: none; }
.sub3-tbl tr td.tl { text-align: left; padding-left: 20px; }
.sub3-list { display: flex; flex-wrap: wrap; gap: 50px 24px; }
.sub3-list li { width: calc(100%/3 - 16px); }
.sub3-list li .thumb {position:relative; padding-bottom:68%; margin-bottom:20px; overflow:hidden;}
.sub3-list li .thumb img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.sub3-list li .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid #ddd;}
.sub3-list li .txt { font-size: 16px; line-height: 1.3em; letter-spacing: -.03em; font-weight: 400; text-align: center; color: #454545; }

/* 20250324 유지보수 */
.pt-tab { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 50px;}
.pt-tab li { width: 190px; height: 65px; background: #ebeaea; }
.pt-tab li a { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; line-height: 1em; font-size: 19px; font-weight: 500; color: #333; }
.pt-tab li.active { background: #0061ae; }
.pt-tab li.active a { color: #fff; }
.pt-list { display: flex; gap: 45px 32px; flex-wrap: wrap;}
.pt-list li { width: calc(100%/4 - 24px); text-align: center; }
.pt-list li .thumb {position:relative; padding-bottom:133%; margin-bottom:23px; 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:cover;}
.pt-list li .tit { font-size: 16px; font-weight: 600; color: #242424; line-height: 1.3em; margin-bottom: 10px; }
.pt-list li .txt { font-weight: 300; color: #454545; line-height: 1.3em; }