@charset "utf-8";
.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe {width: 100% !important; height: 100% !important;}

/* sub tabs */
.sub-tabs {margin-bottom:var(--space-80);}
.sub-tabs .swiper-slide {width:auto; height:auto;}
.sub-tabs .swiper-slide a {display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 25px; border-radius:99px; background:#eef1f3; color:#505050; font-size:var(--font-size-18); font-weight:600; line-height:1em; letter-spacing:-.03em; white-space:nowrap;}
.sub-tabs .swiper-slide.active a {background:var(--color-primary); color:#fff;}

/* greetings */
.page-about-greetings {position: relative; overflow: hidden;}
.greetings__grid {display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-40);}
.greetings__copy {max-width:750px; width: 100%;}
.greetings__copy h3 {margin:0 0 var(--space-50); color:var(--color-dark); font-size:var(--font-size-40); font-weight:600; line-height:1.3em; letter-spacing:-.03em;}
.greetings__body {display:flex; flex-direction:column; gap:25px; color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.6667em; letter-spacing:-.03em;}
.greetings__body p {margin:0;}
.greetings__visual {max-width: 730px; position: absolute; bottom: 0; right: var(--space-60);}

/* company */
.company-intro {margin-bottom:var(--space-80);}
.company-intro h3 {margin:0 0 var(--space-20); color:var(--color-dark); font-size:var(--font-size-40); font-weight:600; line-height:1.3em; letter-spacing:-.03em;}
.company-intro__body {display:flex; flex-direction:column; gap:0; color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.6667em; letter-spacing:-.03em;}
.company-intro__body p {margin:0;}
.company-info {position:relative; padding:var(--space-120) 0; color:#fff; background: url('/images/sub/company-info-bg.jpg') no-repeat center center / cover;}
.company-info__wrap {z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-40);}
.company-info__list {flex:0 1 700px; max-width:700px; margin:0; border-top:2px solid #fff;}
.company-info__row {display:flex; align-items:center; gap:40px; padding:var(--space-40) 0; border-bottom:1px solid rgba(255,255,255,.3); font-size:var(--font-size-20); line-height:1em; letter-spacing:-.03em;}
.company-info__row dt {flex:0 0 126px; margin:0; font-weight:700; color:#fff;}
.company-info__row dd {margin:0; font-weight:400; color:#fff;}
.company-info__photo {position: absolute; right: 0; bottom: 0; width: 50%; max-width: 886px;}

/* history */
.history__grid {position:relative; display:flex; justify-content:space-between; gap:clamp(35px, calc(60 / var(--inner) * 100vw), 60px);}
.history__visual {position:sticky; top:calc(var(--header-height) + 40px); flex:0 0 auto; overflow:hidden; max-width: 600px; width: 43%; height: fit-content; aspect-ratio:600 / 800; border-radius:var(--radius-16);}
.history__track {position:relative; z-index:0; width:4px; pointer-events:none;}
.history__line {position:absolute; inset:0; display:block; width: clamp(2px, calc(4 / var(--inner) * 100vw), 4px); background:#eee;}
.history__progress {position:absolute; top:0; left:0; display:block; width:100%; height:0; max-height:100%; background:var(--color-primary);}
.history__glow {position:absolute; top:0; left:50%; display:block; width:clamp(32px, calc(64 / var(--inner) * 100vw), 64px); height:clamp(32px, calc(64 / var(--inner) * 100vw), 64px); margin-top:-32px; transform:translateX(-50%); pointer-events:none;}
.history__glow img {display:block; width:100%; height:100%;}
.history__list {position:relative; z-index:1; flex: 1; display:flex; max-width: 638px; flex-direction:column; gap:var(--space-100); margin:0; padding:var(--space-60) 0; list-style:none;}
.history__list li {display:flex; flex-direction:column; gap:var(--space-20);}
.history__list strong {display:block; color:var(--color-dark); font-size:var(--font-size-28); font-weight:400; line-height:1em; letter-spacing:-.03em;}
.history__list span {display:block; color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1em; letter-spacing:-.03em;}

/* business detail */
.business-detail {color:#505050;}
.business-detail__hero {display:grid; grid-template-columns:minmax(0, 1fr) minmax(420px, .92fr); align-items:center; gap:clamp(50px, 6vw, 110px); padding:var(--space-40) 0 var(--space-120);}
.business-detail__eyebrow, .business-detail__section-head p {margin:0 0 16px; color:var(--color-primary); font-family:"Oswald", sans-serif; font-size:var(--font-size-18); font-weight:500; line-height:1em; letter-spacing:.08em; text-transform:uppercase;}
.business-detail__copy h3 {margin:0 0 var(--space-30); color:var(--color-dark); font-size:clamp(32px, calc(48 / var(--inner) * 100vw), 48px); font-weight:700; line-height:1.3em; letter-spacing:-.045em;}
.business-detail__lead {margin:0 0 var(--space-30); color:var(--color-dark); font-size:var(--font-size-22); font-weight:600; line-height:1.55em; letter-spacing:-.035em;}
.business-detail__body {display:flex; flex-direction:column; gap:14px; font-size:var(--font-size-18); line-height:1.75em; letter-spacing:-.03em;}
.business-detail__body p {margin:0;}
.business-detail__visual {overflow:hidden; margin:0; aspect-ratio:4 / 5; border-radius:var(--radius-16); background:#eef1f3;}
.business-detail__visual img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s ease;}
.business-detail__visual:hover img {transform:scale(1.035);}
.business-detail__section {padding:var(--space-120) 0;}
.business-detail__section-head {margin-bottom:var(--space-50);}
.business-detail__section-head h3 {margin:0; color:var(--color-dark); font-size:var(--font-size-40); font-weight:700; line-height:1.2em; letter-spacing:-.04em;}
.business-detail__service-list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; margin:0; padding:0; list-style:none; counter-reset:business-service;}
.business-detail__service-list li {min-height:175px; padding:30px; border:1px solid #e2e7ea; border-radius:var(--radius-16); background:#fff; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;}
.business-detail__service-list li:hover {transform:translateY(-5px); border-color:rgba(0,133,84,.38); box-shadow:0 20px 45px rgba(29,53,45,.09);}
.business-detail__service-list span {display:block; margin-bottom:35px; color:var(--color-primary); font-family:"Oswald", sans-serif; font-size:15px; font-weight:600; letter-spacing:.06em;}
.business-detail__service-list p {margin:0; color:var(--color-dark); font-size:var(--font-size-18); font-weight:600; line-height:1.55em; letter-spacing:-.03em;}
.business-detail__effects {position:relative; overflow:hidden; margin-right:calc(50% - 50vw); margin-left:calc(50% - 50vw); padding-right:max(calc((100vw - 1400px) / 2), var(--container-space)); padding-left:max(calc((100vw - 1400px) / 2), var(--container-space)); background:#16372d;}
.business-detail__effects:after {content:""; position:absolute; right:-8vw; bottom:-22vw; width:42vw; height:42vw; border:1px solid rgba(255,255,255,.09); border-radius:50%; box-shadow:0 0 0 7vw rgba(255,255,255,.025), 0 0 0 14vw rgba(255,255,255,.02);}
.business-detail__section-head--light {position:relative; z-index:1;}
.business-detail__section-head--light p {color:#8ed7ad;}
.business-detail__section-head--light h3 {color:#fff;}
.business-detail__effect-groups {position:relative; z-index:1; display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:24px;}
.business-detail__effect-group {padding:35px 40px; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-16); background:rgba(255,255,255,.055); backdrop-filter:blur(5px);}
.business-detail__effect-group h4 {margin:0 0 24px; color:#fff; font-size:var(--font-size-22); font-weight:700;}
.business-detail__effect-group ul {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px 35px; margin:0; padding:0; list-style:none;}
.business-detail__effect-group li {position:relative; padding-left:29px; color:#fff; font-size:var(--font-size-18); line-height:1.55em; letter-spacing:-.025em;}
.business-detail__effect-group li:before {content:""; position:absolute; top:.42em; left:0; width:15px; height:8px; border-bottom:2px solid #8ed7ad; border-left:2px solid #8ed7ad; transform:rotate(-45deg);}
.business-detail__gallery-grid {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px;}
.business-detail__gallery-grid figure {overflow:hidden; margin:0; aspect-ratio:4 / 3; border-radius:var(--radius-16); background:#eef1f3;}
.business-detail__gallery-grid figure:first-child {grid-column:span 2; grid-row:span 2;}
.business-detail__gallery-grid img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s ease;}
.business-detail__gallery-grid figure:hover img {transform:scale(1.045);}
.business-detail__closing {position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:50px; margin-top:var(--space-40); padding:clamp(45px, 5vw, 75px) clamp(30px, 5.5vw, 80px); border-radius:var(--radius-16); color:#fff; background:linear-gradient(125deg, #08784f 0%, #0b9360 52%, #22a875 100%); box-shadow:0 25px 60px rgba(8,91,61,.16);}
.business-detail__closing:before, .business-detail__closing:after {content:""; z-index:-1; position:absolute; border:1px solid rgba(255,255,255,.16); border-radius:50%; pointer-events:none;}
.business-detail__closing:before {right:-90px; bottom:-185px; width:430px; height:430px; box-shadow:0 0 0 55px rgba(255,255,255,.035);}
.business-detail__closing:after {top:-90px; left:47%; width:180px; height:180px; background:rgba(255,255,255,.025);}
.business-detail__closing-copy {max-width:880px;}
.business-detail__closing-copy span {display:block; margin-bottom:18px; color:#b9f0d5; font-family:"Oswald", sans-serif; font-size:var(--font-size-16); font-weight:500; line-height:1em; letter-spacing:.1em; text-transform:uppercase;}
.business-detail__closing-copy p {margin:0; color:#fff; font-size:clamp(25px, calc(36 / var(--inner) * 100vw), 36px); font-weight:700; line-height:1.45em; letter-spacing:-.045em;}
.business-detail__closing > a {flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:22px; min-width:195px; height:62px; padding:0 25px; border:1px solid rgba(255,255,255,.75); border-radius:99px; color:#fff; font-size:var(--font-size-17); font-weight:700; transition:background .25s ease, color .25s ease, transform .25s ease;}
.business-detail__closing > a i {font-size:24px; font-style:normal; font-weight:400; transition:transform .25s ease;}
.business-detail__closing > a:hover {color:var(--color-primary); background:#fff; transform:translateY(-3px);}
.business-detail__closing > a:hover i {transform:translateX(4px);}

@media (max-width:1024px) {
	.business-detail__hero {grid-template-columns:1fr 42%; gap:40px;}
	.business-detail__service-list {grid-template-columns:repeat(2, minmax(0, 1fr));}
	.business-detail__effect-group ul {grid-template-columns:1fr;}
}

@media (max-width:768px) {
	.business-detail__hero {display:flex; flex-direction:column; gap:35px; padding-top:10px;}
	.business-detail__visual {order:-1; width:100%; aspect-ratio:16 / 10;}
	.business-detail__copy h3 br {display:none;}
	.business-detail__section {padding:70px 0;}
	.business-detail__service-list {grid-template-columns:1fr;}
	.business-detail__service-list li {min-height:0; padding:24px;}
	.business-detail__service-list span {margin-bottom:22px;}
	.business-detail__effect-group {padding:28px 24px;}
	.business-detail__gallery-grid {grid-template-columns:repeat(2, minmax(0, 1fr));}
	.business-detail__gallery-grid figure:first-child {grid-column:span 2; grid-row:auto;}
	.business-detail__closing {align-items:flex-start; flex-direction:column; gap:30px; margin-top:25px; padding:45px 30px;}
	.business-detail__closing > a {height:56px;}
}

@media (max-width:480px) {
	.business-detail__gallery-grid {grid-template-columns:1fr;}
	.business-detail__gallery-grid figure:first-child {grid-column:auto;}
}

