@charset "utf-8";

.doc-cnt {padding:var(--space-100) 0;}
.doc-cnt:first-child {padding-top:0;}
.doc-cnt:last-child {padding-bottom:0;}

.s-heading {margin-bottom:var(--space-45);}

.s-label {margin-bottom:var(--space-25); font-size:var(--font-size-18); font-weight:600; line-height:1.5556em; letter-spacing:0.3em; color:var(--color-primary);}

.s-tit {font-size:var(--font-size-36); font-weight:700; line-height:1.4444em; letter-spacing:-0.03em; color:#242424;}

.introduction-intro {display:flex; flex-wrap:wrap; gap:var(--space-80); margin-bottom:var(--space-100);}
.introduction-intro .image {width:42.85%;}
.introduction-intro .content {flex:1;}
.introduction-intro .content h3 {font-size:var(--font-size-32); font-weight:500; line-height:1.3125em; letter-spacing:-0.03em; color:#242424;}
.introduction-intro .content h3 strong {color:var(--color-primary);}
.introduction-intro .content h3::after {content:""; display:block; width:1px; height:clamp(30px, calc(80 / var(--inner) * 100vw), 80px); margin:var(--space-20) 0 var(--space-80); background:#ddd;}
.introduction-intro .content p {font-size:var(--font-size-18); font-weight:400; line-height:1.5556em; letter-spacing:-0.03em; color:#454545;}

.introduction-with h3 {margin-bottom:var(--space-40); font-size:var(--font-size-32); font-weight:500; line-height:1.3125em; letter-spacing:-0.03em; color:#242424;}
.introduction-with h3 strong {color:var(--color-primary);}

.introduction-with .image {position:relative;}
.introduction-with .image .img {height:clamp(250px, calc(500 / var(--inner) * 100vw), 500px);}
.introduction-with .image .img img {width:100%; height:100%; object-fit:cover;}
.introduction-with .image .logo {position:absolute; right:var(--space-35); bottom:var(--space-25);}

.team-list {margin-bottom:var(--space-100);}
.team-list .items {display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-40);}
.team-list .item {position:relative;}
.team-list .item .pic {aspect-ratio:320/426;}
.team-list .item .pic img {width:100%; height:100%; object-fit:cover;}
.team-list .item .name {position:absolute;  color:#fff; left:0; bottom:0; width:100%; padding:var(--space-10) var(--space-15); font-size:var(--font-size-24); font-weight:700; line-height:1.5833em; letter-spacing:-0.03em;}
.team-list .item .name small {margin-left:var(--space-8); font-size:var(--font-size-16); font-weight:600; line-height:1.5em; letter-spacing:-0.03em;}

.team-detail .first {padding:var(--space-80) 0; background:#f8f8f8 url('/images/sub/first-logo.png') no-repeat right bottom;}
.team-detail .first .contain {display:flex; align-items:center; gap:0 var(--space-80);}
.team-detail .first .image {border-radius:0 0 80px 0; overflow:hidden; width:42.858%; aspect-ratio:600/800;}
.team-detail .first .image img {width:100%; height:100%; object-fit:cover;}
.team-detail .first .content {flex:1;}
.team-detail .first .content h3 {font-size:var(--font-size-36); font-weight:700; line-height:1.2222em; letter-spacing:-0.03em; color:var(--color-primary);}
.team-detail .first .content h3::after {content:""; display:block; width:1px; height:clamp(20px, calc(60 / var(--inner) * 100vw), 60px); margin:var(--space-40) 0; background:#ddd;}
.team-detail .first .content .sub {margin:0 0 var(--space-40); font-size:var(--font-size-28); font-weight:600; line-height:1.2857em; letter-spacing:-0.03em; color:#242424;}
.team-detail .first .content .desc {font-size:var(--font-size-18); font-weight:400; line-height:1.6667em; letter-spacing:-0.03em; color:#454545;}
.team-detail .first .career {margin-top:var(--space-70);}
.team-detail .first .career .tit {margin-bottom:var(--space-25); font-size:var(--font-size-24); font-weight:700; line-height:1.4167em; letter-spacing:-0.03em; color:#242424;}
.team-detail .first .career .list ul {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-15) var(--space-40);}
.team-detail .first .career .list ul li {padding:0 0 var(--space-15); border-bottom:1px solid #ddd; font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:#454545;}
.team-detail .groups {padding-top:var(--space-100);}
.team-detail .groups .group {margin-bottom:var(--space-100); display:flex; align-items:center; gap:var(--space-80);}
.team-detail .groups .group:last-child {margin-bottom:0;}
.team-detail .groups .group:nth-child(even) {flex-direction:row-reverse;}
.team-detail .groups .group .content {flex:1;}
.team-detail .groups .group .content h3 {font-size:var(--font-size-36); font-weight:700; line-height:1.2222em; letter-spacing:-0.03em; color:var(--color-primary);}
.team-detail .groups .group .content h3::after {content:""; display:block; width:1px; height:clamp(20px, calc(60 / var(--inner) * 100vw), 60px); margin:var(--space-40) 0; background:#ddd;}
.team-detail .groups .group .content .sub {margin-bottom:var(--space-40); font-size:var(--font-size-28); font-weight:600; line-height:1.2857em; letter-spacing:-0.03em; color:#242424;}
.team-detail .groups .group .content .desc {font-size:var(--font-size-18); font-weight:400; line-height:1.6667em; letter-spacing:-0.03em; color:#454545;}
.team-detail .groups .group .image {border:1px solid #ddd; width:35.7143%; overflow:hidden; aspect-ratio:500/660;}
.team-detail .groups .group .image img {width:100%; height:100%; object-fit:cover;}
.team-detail .groups .group:nth-child(odd) .image {border-bottom-left-radius:80px;}
.team-detail .groups .group:nth-child(even) .image {border-bottom-right-radius:80px;}

.service-hero {display:flex; flex-direction:column; flex-wrap:nowrap; gap:var(--space-48);}
.service-hero .image {display:block; overflow:hidden; position:relative; width:100%; height:clamp(170px, calc(340 / var(--inner) * 100vw), 340px);}
.service-hero .image img {display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%;}
.service-hero .content {display:flex; align-items:center;}
.service-hero .content .s-heading {width:34%;}
.service-hero .content .txt {flex:1; font-size:var(--font-size-18); font-weight:400; line-height:1.6667em; letter-spacing:-0.03em; color:#454545;}

.service-core-bg {background:url('/images/sub/services-core-bg.jpg') no-repeat 50% 50% / cover;}
.service-core .items {display:flex; flex-wrap:wrap; margin:calc(var(--space-15) * -1);}
.service-core .item {width:33.333%; padding:var(--space-15);}
.service-core .item.col-x2 {width:50%;}
.service-core .item .box {height:100%; display:flex; flex-direction:column; flex-wrap:nowrap; align-items:flex-end; padding:var(--space-40); background:#fff;}
.service-core .item .label {margin:0 0 var(--space-24); align-self:flex-start; font-size:var(--font-size-16); font-weight:600; line-height:1.625em; letter-spacing:0.3em; color:var(--color-primary);}
.service-core .item h4 {margin-bottom:var(--space-50); align-self:flex-start; font-size:var(--font-size-22); font-weight:700; line-height:1.4545em; letter-spacing:-0.03em; color:#242424;}
.service-core .item .icon img {width:clamp(42px, calc(84 / var(--inner) * 100vw), 84px); height:clamp(42px, calc(84 / var(--inner) * 100vw), 84px); object-fit:contain;}

.service-roadmap {display:flex; flex-direction:column; gap:var(--space-28);}
.service-roadmap .items {display:flex; flex-direction:column; gap:var(--space-28); position:relative;}
.service-roadmap .items::before {content:""; display:block; position:absolute; left:32px; top:var(--space-40); bottom:var(--space-40); width:1px; border-left:1px dashed #ddd; z-index:-1;}
.service-roadmap .item {display:flex; align-items:center; gap:var(--space-80);}
.service-roadmap .num {display:flex; flex-shrink:0; align-items:center; justify-content:center; width:66px; height:66px; border-radius:100%; background:var(--color-primary); color:#fff; font-size:var(--font-size-24); font-weight:700; line-height:1.3333em;}
.service-roadmap .card {display:flex; flex:1 1 auto; align-items:center; gap:var(--space-40); padding:var(--space-40); border:1px solid #ddd; background:#fff;}
.service-roadmap .card .icon {display:flex; flex-shrink:0; align-items:center; justify-content:center; width:clamp(38px, calc(66 / var(--inner) * 100vw), 66px); height:clamp(38px, calc(66 / var(--inner) * 100vw), 66px);}
.service-roadmap .card .icon img {width:100%; height:100%; object-fit:contain;}
.service-roadmap .card .text h4 {margin-bottom:var(--space-8); font-size:var(--font-size-22); font-weight:700; line-height:1.4545em; letter-spacing:-0.03em; color:#242424;}
.service-roadmap .card .text p {font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-0.03em; color:#454545;}
