@charset "utf-8";
.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe {width:100% !important; height:100% !important;}

/* about 공통 */
.about-label {display:flex; align-items:center; gap:var(--space-8); font-family:'Cormorant Garamond',serif; font-weight:600; font-size:var(--font-size-18); line-height:1em; color:var(--primary-color);}
.about-label:before {content:''; display:block; width:32px; height:1px; background:linear-gradient(90deg,var(--primary-color) 0%,#fff 100%);}

/* 인사말 */
.greetings-cont {display:flex; align-items:stretch; justify-content:center; gap:clamp(35px, calc(70 / var(--inner) * 100vw), 100px);}
.greetings-photo {position:relative; max-width: 600px; width: 43%;}
.greetings-photo .photo {position:relative; overflow:hidden;}
.greetings-photo .frame {position:absolute; top:var(--space-20); right:var(--space-20); bottom:var(--space-20); left:var(--space-20); border:1px solid rgba(255,255,255,.4); pointer-events:none; z-index:2;}
.greetings-photo .symbol {position:absolute; top:var(--space-40); left:var(--space-40); z-index:3; width:clamp(120px,calc(210 / var(--inner) * 100vw),210px);}
.greetings-photo .symbol img {width:100%;}
.greetings-txt {flex:1; min-width:0; display:flex; flex-direction:column; justify-content:space-between; gap: var(--space-30); max-width:700px;}
.greetings-txt .head .tit {margin-top:var(--space-16); font-size:var(--font-size-40); font-weight:600; line-height:1.35em; color:var(--dark-color); letter-spacing:-.03em;}
.greetings-txt .lead {margin-top:var(--space-40); font-size:var(--font-size-24); font-weight:500; line-height:1.17em; color:var(--dark-color);}
.greetings-txt .lead strong {font-weight:600; color:var(--primary-color);}
.greetings-txt .body p + p {margin-top:var(--space-30);}
.greetings-txt .sign {display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-12) var(--space-24); margin-top:var(--space-40); color:var(--dark-color);}
.greetings-txt .sign .office {font-size:var(--font-size-18); font-weight:500; line-height:1.33em;}
.greetings-txt .sign .name {font-size:var(--font-size-20); font-weight:600; line-height:1.2em;}
.greetings-txt .sign .name-en {font-family:'Cormorant Garamond',serif; font-size:var(--font-size-35); line-height:1.5em; letter-spacing:-.02em;}

/* 서비스소개 */
.service-intro-list {display:flex; justify-content:center; gap:var(--space-24);}
.service-intro-card {flex: 1; display:flex; flex-direction:column; justify-content:space-between; width:100%; height: 100%; max-width:450px; padding:var(--space-40); border:1px solid #ddd; background:#fff; text-decoration:none; color:inherit;}
.service-intro-card:hover {border-color: var(--primary-color);}
.service-intro-card .num {margin-bottom:var(--space-12); font-size:var(--font-size-16); font-weight:600; line-height:1.5em; color:var(--primary-color);}
.service-intro-card .name {font-size:var(--font-size-28); font-weight:600; line-height:1.29em; color:var(--dark-color);}
.service-intro-card .name-en {margin-top:var(--space-8); font-family:'Cormorant Garamond',serif; font-size:var(--font-size-18); line-height:1.44em; color:#bebebe;}
.service-intro-card .desc {margin-top:var(--space-30); font-size:var(--font-size-18); line-height:1.56em; color:#454545;}
.service-intro-card .foot {display:flex; align-items:flex-end; justify-content:space-between; margin-top:var(--space-80); gap:var(--space-16);}
.service-intro-card .btn-more {display:inline-flex; align-items:center; gap:var(--space-12); font-size:var(--font-size-16); line-height:1em; color:#454545;}
.service-intro-card .btn-more .ico {display:flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid #ddd; border-radius:80px; background:#fff;}
.service-intro-card .btn-more .ico img {width:18px; height:18px;}
.service-intro-card .icon {flex-shrink:0; width:88px; height:88px;}
.service-intro-card .icon img {width:100%; height:100%; object-fit:contain;}
.service-intro-card:hover .btn-more {color: #4033b5;}

/* 회사연혁 */
.history-cont {display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-48);}
.history-head {flex:0 0 clamp(280px,42%,600px);}
.history-head .tit {margin-top:var(--space-16); font-size:var(--font-size-35); font-weight:600; line-height:1.33em; color:var(--dark-color); letter-spacing:-.03em;}
.history-head .tit strong {font-weight:700; color:var(--primary-color);}
.history-timeline {position:relative; flex:1; min-width:280px; max-width:800px; padding-left:var(--space-48);}
.history-timeline:before {content:''; position:absolute; top:var(--space-10); bottom:0; left:var(--space-8); width:1px; background:#ddd;}
.history-timeline .item {position:relative; padding-bottom:var(--space-80);}
.history-timeline .item:last-child {padding-bottom:0;}
.history-timeline .item:before {content:''; position:absolute; top:4px; left:calc(var(--space-48) * -1); width:17px; height:17px; border:4px solid #4033b5; border-radius:50%; background:#fff; box-sizing:border-box;}
.history-timeline .year {font-family:'Cormorant Garamond',serif; font-weight:700; font-size:var(--font-size-28); line-height:1em; color:var(--primary-color);}
.history-timeline .txt {margin-top:var(--space-16); font-size:var(--font-size-18); font-weight:500; line-height:1.44em; color:var(--dark-color);}

/* 사업분야 */
.page-business .biz-intro {display:flex; flex-direction:column; gap:var(--space-40); padding: 0 0 var(--space-100);}
.page-business .biz-intro-head {display:flex; flex-direction:column; gap:var(--space-8); margin-bottom: var(--space-40);}
.page-business .biz-intro-head h3 {font-size:clamp(24px, calc(32 / var(--inner) * 100vw), 32px); font-weight:600; line-height:1.5em; color:var(--dark-color);}
.page-business .biz-intro-head .desc {font-size:var(--font-size-18); line-height:1.67em; color:#454545;}
.page-business .biz-works-slide {width:100%; overflow:hidden;}
.page-business .biz-works-slide .slick-list {margin: 0 calc(var(--space-12) * -1);}
.page-business .biz-works-slide .slick-slide {padding: 0 var(--space-12);}
.page-business .biz-works-img {display:flex; align-items:center; justify-content:center; overflow:hidden; width:100%; aspect-ratio:450/316; background:#eee;}
.page-business .biz-works-img img {width:100%; height:100%; object-fit:cover;}
.page-business .biz-works-img .no-image {display:block; width:72px; height:72px; background:url('/images/business/no-image.svg') center / contain no-repeat;}
.page-business .biz-detail .contain {display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-80); padding-bottom:var(--space-100);}
.page-business .biz-detail-txt {flex:1; min-width:0; max-width:700px; display:flex; flex-direction:column; gap:var(--space-16);}
.page-business .biz-detail-txt .tit-wrap {padding-bottom:var(--space-16); border-bottom:1px solid #ddd;}
.page-business .biz-detail-txt .tit-wrap h4 {font-size:var(--font-size-24); font-weight:600; line-height:2em; color:var(--dark-color);}
.page-business .biz-detail-txt .body p {font-size:var(--font-size-18); line-height:1.56em; color:#454545;}
.page-business .biz-detail-txt .body p + p {margin-top:var(--space-16);}
.page-business .biz-feature {width: 45%; max-width: 620px;}
.page-business .biz-feature .item {display:flex; flex-direction:column; gap:var(--space-12); padding:var(--space-40) var(--space-24); border-top:1px solid #ddd;}
.page-business .biz-feature .item:first-child {border-top-color:var(--primary-color);}
.page-business .biz-feature .item:last-child {border-bottom:1px solid #ddd;}
.page-business .biz-feature .item dt {font-size:var(--font-size-16); font-weight:500; line-height:1.5em; color:var(--primary-color);}
.page-business .biz-feature .item dd {font-size:var(--font-size-18); font-weight:600; line-height:1.4em; color:var(--dark-color);}
.page-business .biz-cta {position:relative; overflow:hidden; padding:var(--space-80) 0; background:url('/images/common/sv.jpg') no-repeat center / cover; text-align:center; color:#fff;}
.page-business .biz-cta-inner {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:var(--space-48); max-width:1400px; margin:0 auto;}
.page-business .biz-cta .sec-head {display:flex; flex-direction:column; align-items:center; gap:var(--space-24); margin-bottom: var(--space-48);}
.page-business .biz-cta .label-en.deco {display:flex; align-items:center; justify-content:center; gap:var(--space-8); color:#6f6a96;}
.page-business .biz-cta .label-en.deco:before,
.page-business .biz-cta .label-en.deco:after {content:''; display:block; width:88px; height:2px; background:linear-gradient(90deg,#6f6a96 0%,#000 100%);}
.page-business .biz-cta .label-en.deco:after {transform:scaleX(-1);}
.page-business .biz-cta .tit {font-size:var(--font-size-44); font-weight:400; line-height:1.27em; color:#fff;}
.page-business .biz-cta .tit strong {font-size:var(--font-size-48); font-weight:700; line-height:1.25em; color:#fff;}
.page-business .biz-cta .desc {font-size:var(--font-size-18); line-height:1.56em; color:rgba(255,255,255,.8);}
.page-business .biz-cta .btn-contact {display:inline-flex; align-items:center; justify-content:center; gap:var(--space-10); padding:18px var(--space-30); border:1px solid rgba(255,255,255,.24); color:#fff; font-size:var(--font-size-16); font-weight:600; line-height:1em; transition:.2s;}
.page-business .biz-cta .btn-contact .arrow {display:block; width:18px; height:18px; border-radius:48px; background:rgba(255,255,255,.1) url('/images/common/btn-arrow-white.svg') center / 20px no-repeat;}
.page-business .biz-cta .btn-contact:hover {border-color:rgba(255,255,255,.5);}

@media (max-width:1024px) {
.page-business .biz-detail .contain {flex-direction:column; gap:var(--space-48);}
.page-business .biz-feature {flex:1 1 auto; width:100%;}
}

@media (max-width:768px) {
.page-business .biz-detail .contain {padding-bottom:var(--space-60);}
.page-business .biz-cta .label-en.deco:before,
.page-business .biz-cta .label-en.deco:after {width:48px;}
.page-business .biz-cta .tit strong {font-size:inherit;}
}
