@charset "utf-8";

/* sub-visual gnb */
.sub-visual {height:100vh; background-repeat:no-repeat; background-size:cover; background-position:center center; position:relative;}
.sub-visual01 {background-image:url('../img/sub/sub-visual01.jpg');}
.sub-visual02 {background-image:url('../img/sub/sub-visual02.jpg');}
.sub-visual03 {background-image:url('../img/sub/sub-visual03.jpg');}
.sub-visual04 {background-image:url('../img/sub/sub-visual04.jpg');}
.sub-visual05 {background-image:url('../img/sub/sub-visual05.jpg');}
.sub-visual .visual-title {width:100%; height:100%; max-width:1610px; padding:0 15px; margin:0 auto; display:flex; align-items:flex-end;}
.sub-visual .tit-box {padding:130px 0; color:#fff;}
.sub-visual .tit-box h2 {font-family:'Poppins'; font-size:72px; line-height:1.2em; margin-bottom:18px;}
.sub-visual .tit-box p {font-size:22px; line-height:1.6em; color:rgba(255,255,255,0.8);}

.sub-visual03 .tit-box p,
.sub-visual04 .tit-box p, 
.sub-visual05 .tit-box p {margin-bottom:74px;}

.sub-visual .gnb {margin-top:60px;}
.sub-visual .gnb ul {display:flex; flex-wrap:wrap; margin:0 -4px -8px;}
.sub-visual .gnb ul li {padding:0 4px; margin-bottom:8px;}
.sub-visual .gnb ul li a {min-width:200px; border:1px solid transparent; white-space:nowrap; padding:5px 32px; height:58px; font-weight:500; font-size:18px; border-radius:8px; line-height:1.5em; display:flex; align-items:center; justify-content:center; text-align:center; background: rgba(255, 255, 255, 0.10); transition:all 0.4s; backdrop-filter:blur(5px);}
.sub-visual .gnb ul li a:hover {background:#029242;}
.sub-visual .gnb ul li.active a {background:#029242; font-weight:600; border-color:rgba(255,255,255,0.3);}
.sub-visual .gnb ul li a span {display:none;}
.sub-visual .sub-scroll {position:absolute; bottom:20px; left:50%; margin-left:-35px; z-index:10; height:60px; padding-bottom:40px; display:flex; align-items:center;}
.sub-visual .sub-scroll span {display:block; width:8px; height:40px; position:absolute; bottom:0; left:50%; margin-left:-4px; overflow:hidden; border-radius:4px 4px 0 0;}
.sub-visual .sub-scroll span:after {content:''; width:8px; height:36px; top:0; left:50%; margin-left:-4px; position:absolute; background:url('../img/main/scrolldown-icon.png') no-repeat; background-size:cover; animation: scrolldownIcon 1.4s linear infinite;}
@keyframes scrolldownIcon {0% {transform:translateY(-30px);} 100% {transform:translateY(100%);}}
/* sub-title */
.sub-title {text-align:center; padding:145px 0 70px;}
.sub-title040 h3 {display:none;}
.sub-title h3 {font-size:52px; padding-top:38px; font-weight:600; line-height:1.26em; color:#111; position:relative; font-family:'Poppins';}
.sub-title h3:before {content:''; width:52px; height:8px; position:absolute; top:0; left:50%; margin-left:-26px; background: linear-gradient(90deg, #049244 0%, #F4C604 100%); border-radius:4px;}
/* sub */
.real-cont {padding-bottom:180px;}
/* sub 01 01 */
.greeting-visual {border-radius: 20px; overflow: hidden;}
.greeting-visual img {display: block; width: 100%; height: 500px; object-fit: cover;}
.greeting-info {display: flex; margin-top: 70px;}
.greeting-slogan {width: 33%;}
.greeting-slogan p {font-size: 36px; line-height: 1.4; font-weight: 700; color: #222;}
.greeting-slogan strong {color: #029242;}
.greeting-text {position: relative; width: 67%;}
.greeting-text h4 {margin-bottom: 30px; font-size: 28px; line-height: 1.5; font-weight: 600; color: #111;}
.greeting-text > p {margin-top: 30px; font-size: 20px; line-height: 1.6; font-weight: 400; color: #444;}
.greeting-text > p:first-of-type {margin-top: 0;}
.greeting-sign {display: flex; flex-direction: column; align-items: flex-end; margin-top: 24px; text-align: right;}
.greeting-sign span {display: block; width: 72px; height: 2px; margin-bottom: 26px; background: #029242;}
.greeting-sign p {font-size: 18px; font-weight: 500; line-height: 1.6; color: #222;}
.greeting-sign strong {font-size: 20px; font-weight: 700; line-height: 1.6; color: #111;}

.greeting-reason {position: relative; margin-top: 120px; padding: 120px 0 123px; background: #F5F9F8;}
.greeting-reason:after {content: ''; width: 798px; height: 247px; position: absolute; bottom: 0; right: 0; background: url('../img/sub/greeting-reason-bg.svg') no-repeat right bottom; opacity: 0.1;}
.sub-section-title {position: relative; text-align: center;}
.sub-section-title h3 {font-size: 36px; line-height: 1.4; font-weight: 700; color: #222;}
.sub-section-title h3 strong {color: #029242; font-weight: 700;}
.greeting-reason .sub-section-title {margin-bottom: 70px;}
.reason-items {display: flex; gap: 48px;}
.reason-item {width: calc((100% - 144px) / 4);}
.reason-img {height: 266px; border-radius: 20px; overflow: hidden;}
.reason-img img {display: block; width: 100%; height: 100%; object-fit: cover;}
.reason-text {padding-top: 40px;}
.reason-text h4 {margin-bottom: 4px; font-size: 26px; line-height: 1.6; font-weight: 600; color: #000;}
.reason-text p {font-size: 18px; line-height: 2; letter-spacing: -0.54px; color: #444;}

.greeting-status {padding: 157px 0 156px;}
.greeting-status .sub-section-title .line {display: block; width: 72px; height: 2px; background: #029242; margin: 50px auto 52px;}
.status-items {display: flex; gap: 40px; max-width: 1400px; margin: 0 auto;}
.status-item {display: flex; flex-direction: column; align-items: center; justify-content: center; width: calc((100% - 120px) / 4); padding: 36px 15px; border-radius: 16px; background: #F7F7F7; text-align: center;}
.status-icon {margin-bottom: 16px;}
.status-icon img {display: block; max-width: 100%; height: 100%; object-fit: contain;}
.status-item > strong {font-size: 28px; line-height: 1.21; font-weight: 700; letter-spacing: -0.84px; color: #111;}
.status-item > strong span {color: #029242;}
.status-item > p {margin-top: 4px; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: -0.54px; color: #444;}

.partner-layout {display: flex;}
.partner-title {width: 33%; text-align: left;}
.partner-content {width: 67%;}
.partner-desc {margin-bottom: 50px;}
.partner-desc p {font-size: 20px; line-height: 1.6; color: #444;}
.partner-items {display: flex; flex-wrap: wrap; gap: 20px;}
.partner-item {display: flex; width: calc(50% - 10px); padding: 30px 30px; border: 1px solid #ddd; border-radius: 16px;}
.partner-icon {flex: 0 0 80px; margin-right: 15px;}
.partner-icon img {display: block; max-width: 100%;}
.partner-text strong {margin-top: 9px; display: block; font-size: 22px; line-height: 1.6; font-weight: 700; color: #000;}
.partner-text p {margin-top: 4px; font-size: 16px; line-height: 1.6; color: #444;}
/* sub 01 02 */
.company-overview .overview-content {display: flex; align-items: stretch; gap: 80px;}
.company-overview .overview-img {width: 45%; border-radius: 20px; overflow: hidden;}
.company-overview .overview-img img {display: block; width: 100%; height: 100%; object-fit: cover;}
.company-overview .overview-info {width: 55%;}
.company-overview .overview-info-item {position: relative; display: flex; align-items: center; border-bottom: 1px solid #ddd; padding: 22px 0 13px;}
.company-overview .overview-info-item:before {content: ''; width: 180px; height: 1px; background: #029242; position: absolute; bottom: -1px; left: 0;}
.company-overview .overview-info-item dt {display: flex; justify-content: center; align-items: center; width: 180px; flex-shrink: 0; font-size: 20px; line-height: 1.7; font-weight: 600; letter-spacing: -0.6px; color: #111; text-align: center;}
.company-overview .overview-info-item dd {display: flex; align-items: center; flex: 1; margin: 0; padding: 0 30px 0 20px; font-size: 18px; line-height: 1.77; font-weight: 400; color: #666;}
/* sub 01 03 */
#sub .company-history .contain {max-width: 1516px;}
.company-history .history-content {display: flex; align-items: flex-start; gap: 127px;}
.company-history .history-left {width: 52%; position: sticky; top: 120px;}
.company-history .history-right {width: 48%;}
.company-history .history-img {border-radius: 20px; overflow: hidden;}
.company-history .history-img img {display: block; width: 100%; height: 418px; object-fit: cover;}
.company-history .history-intro {margin-top: 32px;}
.company-history .history-intro h4 {font-family:'Poppins'; font-size: 38px; line-height: 1.73; font-weight: 600; letter-spacing: -1.14px; color: #029242;}
.company-history .history-intro p {margin-top: 8px; font-size: 20px; line-height: 1.8; font-weight: 400; letter-spacing: -0.6px; color: #333;}
.company-history .history-item {position: relative; padding: 0 0 44px 126px;}
.company-history .history-item:last-child {padding-bottom: 0;}
.company-history .history-item:before {content: ''; width: 1px; height: 100%; background: #ddd; position: absolute; top: 22px; left: 0;}
.company-history .history-item:last-child:before {display: none;}
.company-history .history-item:after {content: ''; width: 100px; height: 1px; background: #ddd; position: absolute; top: 22px; left: 0;}
.company-history .history-dot {position: absolute; top: 16px; left: -6px; width: 12px; height: 12px; border-radius: 50%; background: #029242; z-index: 1;}
.company-history .history-info strong {display: block; font-family:'Poppins'; font-size: 32px; font-weight: 600; line-height: normal; color: #111; margin-bottom: 8px;}
.company-history .history-info p {font-size: 18px; line-height: 1.7; font-weight: 400; color: #666;}
/* sub 01 04 */
.company-license .license-list {display: flex; flex-wrap: wrap; gap: 78px 58px;}
.company-license .license-item {width: calc((100% - 174px) / 4);}
.company-license .license-img {display: block; width: 100%; padding: 15px; border: 0; background: #F6F6F6; cursor: pointer; overflow: hidden;}
.company-license .license-img img {display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 0.4s;}
.company-license .license-item p {margin-top: 18px; font-size: 20px; line-height: 1.6; font-weight: 600; letter-spacing: -0.6px; color: #333; text-align: center;}

.company-license .license-popup {display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999;}
.company-license .license-popup.active {display: flex; align-items: center; justify-content: center;}
.company-license .license-popup-bg {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6);}
.company-license .license-popup-inner {position: relative; width: calc(100% - 60px); max-width: 1000px; max-height: calc(100vh - 80px); z-index: 1;}
.company-license .license-popup-img {display: flex; align-items: center; justify-content: center; width: 100%; max-height: calc(100vh - 80px); overflow: auto;}
.company-license .license-popup-img img {display: block; max-width: 100%; height: auto; margin: auto;}
.company-license .license-popup-close {position: absolute; top: -45px; right: 0; width: 32px; height: 32px; padding: 0; border: 0; background: transparent; cursor: pointer;}
.company-license .license-popup-close:before,
.company-license .license-popup-close:after {content: ''; position: absolute; top: 15px; left: 2px; width: 28px; height: 2px; background: #fff;}
.company-license .license-popup-close:before {transform: rotate(45deg);}
.company-license .license-popup-close:after {transform: rotate(-45deg);}
/* sub 01 05 */
.location .tab-menu {margin-bottom:40px;}
.location .tab-menu ul {display:flex; justify-content:center;}
.location .tab-menu ul li {padding:0 6px;}
.location .tab-menu ul li a {display:block; width:200px; line-height:64px; border-radius:32px; background:#f5f5f5; text-align:center; font-size:20px; font-weight:600; color:#333; transition:all 0.4s;}
.location .tab-menu ul li.active a {color:#fff; background:#0036aa;}
.location .tab-menu ul li a:hover {color:#fff; background:#0036aa;}
.location .maps {height:574px; overflow:hidden; border-radius:20px; margin-bottom:50px;}
.location .maps iframe {width:100%; height:100%;}
.location .col {display:flex; position:relative; padding-right:300px;}
.location .btn-box {position:absolute; top:0; right:0;}
.location .btn-box ul {display:flex; margin:0 -6px;}
.location .btn-box ul li {padding:0 6px;}
.location .btn-box ul li a {display:flex; font-size:16px; line-height:1.4em; font-weight:600; color:#fff; width:120px; height:120px; padding:25px; align-items:flex-end; justify-content:center; text-align:center; background:#161616; border-radius:12px; transition:all 0.4s; position:relative;}
.location .btn-box ul li a:hover {background:#029242;}
.location .btn-box ul li a .icon {position:absolute; left:50%; margin-left:-20px; top:25px;}
.location .tit-box {width:100%; max-width:200px;}
.location .tit-box h4 {font-size:44px; line-height:1.4em; color:#222;}
.location .txt-box {width:1%; flex:1 1 auto;}
.location .txt-box dl {display:flex; font-size:20px; line-height:1.8em;}
.location .txt-box dl:not(:last-child) {margin-bottom: 25px;}
.location .txt-box dt {position: relative; width:100%; max-width:190px; color:#222; font-weight:600; padding-left: 30px;}
.location .txt-box dt:before {content: ''; width: 5px; height: 5px; border-radius: 50%; background: #222; position: absolute; top: 16px; left: 12px;}
.location .txt-box dd {width:1%; flex:1 1 auto; font-size: 18px; color:#666;}
.location .txt-box dd a {display:inline-block;}
/* sub 02 */
.biz-overview {position: relative; padding:60px 20px; background:#f7f7f7; border-radius:20px; overflow: hidden; margin-bottom: 100px;}
.biz-overview .txt-box {text-align: center;}
.biz-overview .txt-box strong {display: block; font-size:32px; font-weight: 700; line-height:1.68em; letter-spacing: -0.96px; color:#029242;}
.biz-overview .txt-box p {margin-top: 8px; font-size:18px; line-height:2em; letter-spacing: -0.54px; color:#666;}
.biz-overview .txt-box .en {position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%); display: block; font-size:60px; font-weight: 700; line-height:1.4em; color:#333; opacity: 0.03;}

.service-list-tit  {margin-bottom:40px;}
.service-list-tit  h4 {font-family:'Poppins'; font-size:36px; line-height:1.6em; letter-spacing: -1.08px; color:#111; font-weight:600;}
.ol-wrap .col {margin-bottom:40px; padding:40px; border-radius:20px; display:flex; align-items:center;}
.ol-wrap .col:nth-child(odd) {border:1px solid #ddd;}
.ol-wrap .col:nth-child(even) {background:#F7F7F7; flex-direction:row-reverse;}
.ol-wrap .col:last-child {margin-bottom:0;}
.ol-wrap .col > div {width:50%;}
.ol-wrap .col .imb-box {height: 330px;}
.ol-wrap .col .imb-box img {width: 100%; height: 100%; object-fit: cover; border-radius:12px;}
.ol-wrap .col .txt-box {text-align:center; padding: 0 10px;}
.ol-wrap .col .txt-box .num {font-size:60px; margin-bottom:25px; line-height:1.3em; font-weight:600; font-family:'Poppins'; color:#029242; opacity: 0.13;}
.ol-wrap .col .txt-box p {font-size:22px; font-weight:500; line-height:1.6em; color:#333;}
.service-list .notice {margin-top: 16px; font-size: 20px; line-height: 1.8; letter-spacing: -0.6px; color: #666; text-align: center;}

.service-tab-depth1 {display: flex; margin-bottom: 37px; border-bottom: 2px solid #029242;}
.service-tab-depth1 .depth1-btn {flex: 1; min-height: 66px; padding: 12px 10px; border: 0; border-top: 2px solid transparent; border-left: 2px solid transparent; border-right: 1px solid #ddd; background: #f9f9f9; font-size: 18px; line-height: 1.5; color: #999; cursor: pointer;}
.service-tab-depth1 .depth1-btn:last-child {border-right: 1px solid transparent;} 
.service-tab-depth1 .depth1-btn.active {border-color: #029242; border-bottom: 2px solid #fff; border-right: 2px solid #029242; margin-bottom: -2px; background: #fff; font-weight: 700; color: #029242;}
.service-tab-cont {display: none;}
.service-tab-cont.active {display: block;}
.service-tab-depth2 {display: flex; gap: 40px; margin-bottom: 52px; padding-left: 56px;}
.service-tab-depth2 .depth2-btn {position: relative; padding: 0; border: 0; background: transparent; font-size: 20px; line-height: 1.5; color: #666; letter-spacing: -0.6px; cursor: pointer;}
.service-tab-depth2 .depth2-btn.active {font-weight: 700; color: #029242;}
.service-sub-cont {display: none;}
.service-sub-cont.active {display: block;}
.service-head {margin-bottom: 36px;}
.service-head h5 {font-size: 32px; line-height: 1.43; font-weight: 700; color: #111;}
.service-head p {margin-top: 8px; font-size: 20px; line-height: 1.7; letter-spacing: -0.6px; color: #666;}

.service-process {display: flex; flex-wrap: wrap; gap: 24px;}
.process-item {width: calc((100% - 48px) / 3); padding: 18px 18px 20px; border: 1px solid #ddd; border-radius: 20px;}
.process-item:nth-child(even) {background: #f7f7f7; border: 1px solid #f7f7f7;}
.process-img {aspect-ratio: 480 / 358; overflow: hidden; border-radius: 14px;}
.process-img img {display: block; width: 100%; height: 100%; object-fit: cover;}
.process-txt {padding: 18px 14px 0;}
.process-txt strong {display: block; font-family: 'Poppins'; font-size: 40px; line-height: 1.3em; font-weight: 600; letter-spacing: -1.2px; color: #029242; opacity: 0.13;}
.process-txt p {font-size: 18px; line-height: 1.6em; font-weight: 500; letter-spacing: -0.54px; color: #333;}

.before-after-list {display: flex; flex-direction: column; gap: 24px; margin-top: 40px;}
.before-after-row {display: flex; gap: 24px;}
.before-after-item {width: calc(50% - 12px); padding: 18px 18px 20px; border: 1px solid #ddd; border-radius: 20px;}
.before-after-row:nth-child(odd) .before-after-item:nth-child(even) {background: #f7f7f7; border: 1px solid #f7f7f7;}
.before-after-row:nth-child(even) .before-after-item:nth-child(odd) {background: #f7f7f7; border: 1px solid #f7f7f7;}
.before-after-img {position: relative; aspect-ratio: 742 / 557; overflow: hidden; border-radius: 14px;}
.before-after-img img {display: block; width: 100%; height: 100%; object-fit: cover;}
.before-after-img .label {position: absolute; top: 14px; left: 14px; z-index: 1; padding: 4px 14px; border-radius: 20px; font-family: 'Poppins'; font-size: 13px; line-height: 1.6; font-weight: 600; letter-spacing: .04em; color: #fff;}
.before-after-img .label.before {background: #111;}
.before-after-img .label.after {background: #029242;}
.before-after-item > p {padding: 12px 6px 0; font-size: 16px; font-weight: 500; line-height: 1.6; letter-spacing: -0.48px; color: #666;}
.before-after-item > p strong {margin-right: 16px; font-size: 20px;	font-weight: 700; letter-spacing: -0.6px; color: #333;}

/* sub 04 */
.customer-review .review-list {display: flex; flex-wrap: wrap; gap: 40px;}
.customer-review .review-item {width: calc((100% - 80px) / 3);}
.customer-review .review-item a {display: flex; flex-direction: column;  padding: 30px 40px; border: 2px solid transparent; border-radius: 20px; background: #f7f7f7; transition: all 0.3s;}
.customer-review .review-item a:hover {border-color: #029242; background: #fff;}
.customer-review .review-logo {display: flex; align-items: center; justify-content: center; height: 94px; margin-bottom: 20px;}
.customer-review .review-logo img {display: block; object-fit: contain;}
.customer-review .review-info h4 {font-size: 32px; line-height: 1.4; font-weight: 600; letter-spacing: -0.96px; color: #111; word-break: break-all;}
.customer-review .review-category {display: inline-flex; align-items: center; justify-content: center; margin-top: 8px; padding: 6px 17px; border-radius: 4px; background: #E1E7E0; font-size: 16px; line-height: 1.3; font-weight: 600; color: #029242;}
.customer-review .review-info p {margin-top: 20px; font-size: 18px; line-height: 2; font-weight: 400; letter-spacing: -0.54px; color: #666; height:calc(2em * 1 * 5); overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical;}
.customer-review .review-link {margin-top: 22px; display: flex; justify-content: flex-end; align-items: center; gap: 15px;}
.customer-review .review-link span {font-size: 18px; line-height: 2; font-weight: 400; letter-spacing: -0.54px; color: #000; transition: all 0.3s;}
.customer-review .review-link svg path {transition: all 0.3s;}
.customer-review a:hover span {color: #029242;}
.customer-review a:hover svg path {fill: #029242;}

/* 일반게시판 뷰 페이지
.custum-view {border-top:1px solid #111; border-bottom:1px solid #ddd; padding:90px 0 110px;}
.custum-view .wrap {width:100%; max-width:1350px; padding:0 15px; margin:0 auto;}
.custum-view .title {text-align:center; margin-bottom:50px;}
.custum-view .title h4 {font-size:40px; line-height:1.35em; color:#111;}
.custum-view .cols {margin-bottom:30px;}
.custum-view .col {margin-bottom:8px; display:flex;}
.custum-view .col:last-child {margin-bottom:0;}
.custum-view .col .tit {width:100%; max-width:360px; margin-right:8px; padding:15px; text-align:center; background:#F9F9F9; border-radius:12px;}
.custum-view .col .tit h5 {font-size:22px; line-height:1.5em; color:#333; font-weight:600;}
.custum-view .col .txt {width:1%; flex:1 1 auto; border:1px solid #ddd; padding:15px 40px; border-radius:12px;}
.custum-view .col .txt p {font-size:20px; line-height:1.7em; color:#666;}
.custum-view .txt-box p {font-size:20px; line-height:1.7em; color:#666;} */