@charset "utf-8";
.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe {width: 100% !important; height: 100% !important;}

/* page-about-greetings */
.page-about-greetings {background:linear-gradient(rgba(255,255,255,.8), rgba(255,255,255,.8)), url("/images/sub/greetings-bg.jpg") center bottom / cover no-repeat;}
.page-about-greetings .sec-greetings {position:relative;}
.page-about-greetings .greetings-body {position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:var(--space-80);}
.page-about-greetings .greetings-visual {flex:0 0 auto; overflow:hidden; width:45.14%; max-width:650px; aspect-ratio:650 / 820; border-radius:clamp(60px, calc(140 / var(--inner) * 100vw), 140px) 0 0 0;}
.page-about-greetings .greetings-visual img {width:100%; height:100%; object-fit:cover;}
.page-about-greetings .greetings-txt {display:flex; flex:1; flex-direction:column; gap:var(--space-40); max-width:720px; min-width:0;}
.page-about-greetings .greetings-txt h3 {color:var(--color-secondary); font-size:var(--font-size-32); font-weight:600; line-height:1.31em;}
.page-about-greetings .line {width:100%; height:1px; background:#ddd;}
.page-about-greetings .line span {display:block; width:100px; height:1px; background:#111;}
.page-about-greetings .desc {display:flex; flex-direction:column; gap:var(--space-30);}
.page-about-greetings .desc p {color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.56em; letter-spacing:-.03em;}
.page-about-greetings .desc .lead {color:var(--color-secondary); font-size:var(--font-size-20); font-weight:600; line-height:1.5em; letter-spacing:-.03em;}
.page-about-greetings .desc .sign {color:var(--color-secondary); font-weight:600;}

/* page-about-history */
.page-about-history .sec-history {display:flex; flex-direction:column; gap:var(--space-120);}
.page-about-history .history-intro {position:relative; overflow:hidden; display:flex; align-items:center; min-height:clamp(320px, calc(460 / var(--inner) * 100vw), 460px); padding:var(--space-60) clamp(20px, calc(64 / var(--inner) * 100vw), 64px); border-radius:16px; background:linear-gradient(to right, #3d6396, rgba(61,99,150,0)), url("/images/sub/history-intro.jpg") center bottom / cover no-repeat;}
.page-about-history .history-intro .txt {position:relative; z-index:1; display:flex; flex-direction:column; gap:var(--space-40); max-width:968px; color:#fff;}
.page-about-history .history-intro .since {color:rgba(255,255,255,.5); font-size:var(--font-size-18); font-weight:600; line-height:1.67em; letter-spacing:.3em;}
.page-about-history .history-intro .quote {font-size:var(--font-size-32); font-weight:600; line-height:1.44em; letter-spacing:-.03em;}
.page-about-history .history-intro .desc {display:flex; flex-direction:column; gap:16px;}
.page-about-history .history-intro .desc .lead {font-size:var(--font-size-18); font-weight:600; line-height:1.56em; letter-spacing:-.03em;}
.page-about-history .history-intro .desc p {font-size:var(--font-size-16); font-weight:400; line-height:1.63em; letter-spacing:-.03em;}
.page-about-history .history-list {position:relative; display:flex; flex-direction:column; gap:var(--space-120);}
.page-about-history .history-list:before {content:""; position:absolute; top:21px; bottom:0; left:calc(100% - 860px + 140px + var(--space-45) + 5px ) ; width:1px; background:#e6e6e6; border-radius:100px;}
.page-about-history .history-group {display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-40);}
.page-about-history .history-period {flex:0 0 auto; max-width:269px;}
.page-about-history .history-period .year-range {color:var(--color-secondary); font-size:clamp(28px, calc(44 / var(--inner) * 100vw), 44px); font-weight:700; line-height:1.23em; letter-spacing:-.03em;}
.page-about-history .history-period .period-tit {margin-top:var(--space-20); color:var(--color-secondary); font-size:var(--font-size-20); font-weight:500; line-height:1.5em; letter-spacing:-.03em;}
.page-about-history .history-items {position:relative; z-index:1; display:flex; flex:0 1 860px; flex-direction:column; gap:var(--space-40); width:100%; max-width:860px;}
.page-about-history .history-items li {display:flex; align-items:center;}
.page-about-history .history-items .year {flex:0 0 140px; width:140px; color:var(--color-secondary); font-size:var(--font-size-28); font-weight:600; line-height:1.36em;}
.page-about-history .history-items .dot {display:block; flex-shrink:0; width:11px; height:11px; margin: 0 var(--space-45); border:2px solid #111; border-radius:35px; background:#fff;}
.page-about-history .history-items .cnt {flex:1; min-width:0; padding-top:8px; color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.63em; letter-spacing:-.03em;}

/* page-about-directions */
.page-about-directions .sec-directions {display:flex; flex-direction:column; align-items:center; gap:var(--space-40);}
.page-about-directions .directions-address {display:flex; align-items:center; justify-content:center; gap:12px;}
.page-about-directions .directions-address p {color:var(--color-secondary); font-size:var(--font-size-24); font-weight:600; line-height:1em;}
.page-about-directions .icon-circle {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:1000px; background:var(--color-primary);}
.page-about-directions .icon-circle40 {width:40px; height:40px;}
.page-about-directions .icon-circle32 {width:32px; height:32px;}
.page-about-directions .directions-body {display:flex; flex-direction:column; gap:var(--space-20); width:100%;}
.page-about-directions .direction-map {overflow:hidden; width:100%; height:clamp(270px, calc(550 / var(--inner) * 100vw), 550px); border-radius:16px;}
.page-about-directions .direction-map img {width:100%; height:100%; object-fit:cover;}
.page-about-directions .directions-info {display:flex; gap:var(--space-20); width:100%;}
.page-about-directions .directions-info li {display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-20); padding:var(--space-60) 16px; border-radius:16px; background:rgba(0,89,206,.03); text-align:center;}
.page-about-directions .directions-info .tit {display:flex; align-items:center; gap:12px;}
.page-about-directions .directions-info .tit strong {color:var(--color-secondary); font-size:var(--font-size-20); font-weight:600; line-height:1em;}
.page-about-directions .directions-info p {color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1em;}
.page-about-directions .directions-info a {color:inherit;}

/* page-business-violation */
.page-business-violation .sec-intro {padding-bottom:var(--space-120);}
.page-business-violation .sec-intro .contain {display:flex; align-items:center; gap:clamp(24px, calc(64 / var(--inner) * 100vw), 64px);}
.page-business-violation .intro-visual {flex:0 0 auto; overflow:hidden; width:45.83%; max-width:660px; aspect-ratio:660 / 440;}
.page-business-violation .intro-visual img {width:100%; height:100%; object-fit:cover;}
.page-business-violation .intro-txt {display:flex; flex:1; flex-direction:column; gap:var(--space-45); min-width:0;}
.page-business-violation .intro-txt h3 {color:var(--color-secondary); font-size:var(--font-size-32); font-weight:600; line-height:1.31em; letter-spacing:-.03em;}
.page-business-violation .intro-txt .desc {display:flex; flex-direction:column; gap:16px;}
.page-business-violation .intro-txt .desc .lead {color:var(--color-secondary); font-size:var(--font-size-18); font-weight:500; line-height:1.56em; letter-spacing:-.03em;}
.page-business-violation .intro-txt .desc p {color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.63em; letter-spacing:-.03em;}
.page-business-violation .sec-types {position:relative; padding:var(--space-120) 0; color:#fff;}
.page-business-violation .sec-types:before {content:""; position:absolute; inset:0; background:url("/images/sub/violation-types-bg.jpg") center / cover no-repeat; pointer-events:none;}
.page-business-violation .sec-types:after {content:""; position:absolute; inset:0; background:rgba(0,0,0,.3); pointer-events:none;}
.page-business-violation .sec-types .contain {position:relative; z-index:1; display:flex; align-items:flex-start; gap:var(--space-20);}
.page-business-violation .sec-types .sec-tt {flex:1; min-width:0; font-size:var(--font-size-32); font-weight:600; line-height:1.31em; letter-spacing:-.03em;}
.page-business-violation .types-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-20); flex:0 1 1040px; width:100%; max-width:1040px;}
.page-business-violation .types-grid li {display:flex; flex-direction:column; gap:var(--space-20); padding:var(--space-45) var(--space-20); background:#f9fafd;}
.page-business-violation .types-grid .num {color:var(--color-secondary); font-size:var(--font-size-16); font-weight:600; line-height:1.5em; letter-spacing:-.03em;}
.page-business-violation .types-grid .tit {color:var(--color-secondary); font-size:var(--font-size-22); font-weight:600; line-height:1.45em; letter-spacing:-.03em;}
.page-business-violation .types-grid .cnt {padding-top:var(--space-20); border-top:1px solid #ddd; color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.56em; letter-spacing:-.03em;}
.page-business-violation .sec-steps {padding:var(--space-120) 0;}
.page-business-violation .sec-steps .sec-tt {margin-bottom:var(--space-45); color:var(--color-secondary); font-size:var(--font-size-32); font-weight:600; line-height:1.31em; letter-spacing:-.03em;}
.page-business-violation .steps-grid {display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:var(--space-20);}
.page-business-violation .steps-grid li {display:flex; flex-direction:column; gap:var(--space-20); padding:var(--space-45) var(--space-20); border-top:1px solid #111;}
.page-business-violation .steps-grid .step {color:var(--color-primary); font-size:var(--font-size-16); font-weight:500; line-height:1.5em; letter-spacing:.1em;}
.page-business-violation .steps-grid .tit {color:var(--color-secondary); font-size:var(--font-size-22); font-weight:600; line-height:1.55em; letter-spacing:-.03em;}
.page-business-violation .steps-grid .cnt {color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.63em; letter-spacing:-.03em;}
.page-business-violation .sec-law {position:relative; padding:var(--space-120) 0; color:#fff; background:linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.4)), url("/images/sub/violation-law-bg.jpg") center / cover no-repeat;}
.page-business-violation .sec-law .contain {position:relative; z-index:1; display:flex; align-items:flex-start; gap:20px 35px;}
.page-business-violation .sec-law .sec-tt {flex:1; min-width:max-content; font-size:var(--font-size-32); font-weight:600; line-height:1.31em; letter-spacing:-.03em;}
.page-business-violation .law-list {display:flex; flex:0 1 1040px; flex-direction:column; gap:var(--space-30); width:100%; max-width:1040px; padding:var(--space-40); background:#fff;}
.page-business-violation .law-list li {display:flex; align-items:center; gap:16px; padding-bottom:var(--space-30); border-bottom:1px solid #ddd;}
.page-business-violation .law-list li:last-child {padding-bottom:0; border-bottom:0;}
.page-business-violation .law-list p {color:var(--color-secondary); font-size:var(--font-size-18); font-weight:500; line-height:1.56em; letter-spacing:-.03em;}

/* page-business-demolition */
.page-business-demolition .sec-intro {padding-bottom:var(--space-120);}
.page-business-demolition .intro-visual {overflow:hidden; width:100%; aspect-ratio:1440 / 440;}
.page-business-demolition .intro-visual img {width:100%; height:100%; object-fit:cover;}
.page-business-demolition .intro-body {display:flex; flex-direction:column; gap:var(--space-45); margin-top:clamp(32px, calc(64 / var(--inner) * 100vw), 64px);}
.page-business-demolition .intro-body h3 {color:var(--color-secondary); font-size:var(--font-size-32); font-weight:600; line-height:1.31em; letter-spacing:-.03em;}
.page-business-demolition .intro-cards {display:flex; gap:20px var(--space-20); padding:var(--space-40); background:#f5f7fb;}
.page-business-demolition .intro-cards li {display:flex; flex:1; flex-direction:column; gap:var(--space-20); min-width:0;}
.page-business-demolition .intro-cards .txt {display:flex; flex-direction:column; gap:var(--space-20);}
.page-business-demolition .intro-cards .lead {color:var(--color-secondary); font-size:var(--font-size-18); font-weight:500; line-height:1.56em; letter-spacing:-.03em;}
.page-business-demolition .intro-cards p {color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.63em; letter-spacing:-.03em;}
.page-business-demolition .sec-types {padding-bottom:var(--space-120);}
.page-business-demolition .sec-types .sec-tt {margin-bottom:var(--space-45); color:var(--color-secondary); font-size:var(--font-size-32); font-weight:600; line-height:1.31em; letter-spacing:-.03em;}
.page-business-demolition .type-row {display:flex; align-items:center; gap:var(--space-45);}
.page-business-demolition .type-row + .type-row {margin-top:var(--space-45);}
.page-business-demolition .type-visual {flex:0 0 auto; overflow:hidden; width:43.06%; max-width:620px; aspect-ratio:620 / 360;}
.page-business-demolition .type-visual img {width:100%; height:100%; object-fit:cover;}
.page-business-demolition .type-txt {display:flex; flex:1; flex-direction:column; gap:var(--space-40); min-width:0;}
.page-business-demolition .type-txt .tit {color:var(--color-secondary); font-size:var(--font-size-22); font-weight:600; line-height:1.45em; letter-spacing:-.03em;}
.page-business-demolition .type-list {display:flex; flex-direction:column; gap:var(--space-20);}
.page-business-demolition .type-list li {display:flex; flex-direction:column; gap:8px;}
.page-business-demolition .type-list .label {position:relative; padding-left:21px; color:var(--color-secondary); font-size:var(--font-size-18); font-weight:500; line-height:1.56em; letter-spacing:-.03em;}
.page-business-demolition .type-list .label:before {content:""; position:absolute; top:11px; left:0; width:5px; height:5px; border-radius:100px; background:#111;}
.page-business-demolition .type-list .cnt {padding-left:21px; color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.63em; letter-spacing:-.03em;}
.page-business-demolition .type-list .cnt.alone {position:relative; padding-left:21px; color:var(--color-secondary); font-size:var(--font-size-18); font-weight:500; line-height:1.56em;}
.page-business-demolition .type-list .cnt.alone:before {content:""; position:absolute; top:11px; left:0; width:5px; height:5px; border-radius:100px; background:#111;}
.page-business-demolition .sec-steps {padding:var(--space-120) 0; background:#f5f7fb;}
.page-business-demolition .sec-steps .sec-tt {margin-bottom:var(--space-45); color:var(--color-secondary); font-size:var(--font-size-32); font-weight:600; line-height:1.31em; letter-spacing:-.03em;}
.page-business-demolition .steps-grid {display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:var(--space-20);}
.page-business-demolition .steps-grid li {display:flex; flex-direction:column; gap:var(--space-20); padding:var(--space-45) var(--space-20); border-top:1px solid #111; background:#fff;}
.page-business-demolition .steps-grid .step {color:var(--color-primary); font-size:var(--font-size-16); font-weight:500; line-height:1.5em; letter-spacing:.1em;}
.page-business-demolition .steps-grid .tit {color:var(--color-secondary); font-size:var(--font-size-22); font-weight:600; line-height:1.55em; letter-spacing:-.03em;}
.page-business-demolition .steps-grid .cnt {color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.63em; letter-spacing:-.03em;}

/* page-business-design */
.page-business-design .sec-intro {padding-bottom:var(--space-120);}
.page-business-design .intro-visual {overflow:hidden; width:100%; aspect-ratio:1440 / 440;}
.page-business-design .intro-visual img {width:100%; height:100%; object-fit:cover;}
.page-business-design .intro-body {display:flex; flex-direction:column; gap:var(--space-45); margin-top:clamp(32px, calc(64 / var(--inner) * 100vw), 64px);}
.page-business-design .intro-body h3 {color:var(--color-secondary); font-size:var(--font-size-32); font-weight:600; line-height:1.31em; letter-spacing:-.03em;}
.page-business-design .intro-cards {display:flex; gap:20px var(--space-20); padding:var(--space-40); background:#f5f7fb;}
.page-business-design .intro-cards li {display:flex; flex:1; flex-direction:column; gap:var(--space-20); min-width:0;}
.page-business-design .intro-cards .lead {color:var(--color-secondary); font-size:var(--font-size-18); font-weight:500; line-height:1.56em; letter-spacing:-.03em;}
.page-business-design .sec-types {position:relative; padding:var(--space-120) 0; color:#fff;}
.page-business-design .sec-types:before {content:""; position:absolute; inset:0; background:url("/images/sub/design-types-bg.jpg") center / cover no-repeat; pointer-events:none;}
.page-business-design .sec-types:after {content:""; position:absolute; inset:0; background:rgba(0,0,0,.5); pointer-events:none;}
.page-business-design .sec-types .contain {position:relative; z-index:1;}
.page-business-design .sec-types .sec-tt {margin-bottom:var(--space-45); font-size:var(--font-size-32); font-weight:600; line-height:1.31em;}
.page-business-design .types-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-20);}
.page-business-design .types-grid li {display:flex; flex-direction:column; gap:var(--space-20); padding:var(--space-45) 20px; background:#f5f7fb;}
.page-business-design .types-grid .tit {color:var(--color-secondary); font-size:var(--font-size-22); font-weight:600; line-height:1.55em; letter-spacing:-.03em;}
.page-business-design .types-grid .cnt {color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.63em; letter-spacing:-.03em;}
.page-business-design .sec-steps {padding:var(--space-120) 0;}
.page-business-design .sec-steps .sec-tt {margin-bottom:var(--space-45); color:var(--color-secondary); font-size:var(--font-size-32); font-weight:600; line-height:1.31em; letter-spacing:-.03em;}
.page-business-design .steps-grid {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-20);}
.page-business-design .steps-grid li {display:flex; flex-direction:column; gap:var(--space-20); padding:var(--space-45) var(--space-20); border-top:1px solid #111;}
.page-business-design .steps-grid .step {color:var(--color-primary); font-size:var(--font-size-16); font-weight:500; line-height:1.5em; letter-spacing:.1em;}
.page-business-design .steps-grid .tit {color:var(--color-secondary); font-size:var(--font-size-22); font-weight:600; line-height:1.55em; letter-spacing:-.03em;}
.page-business-design .steps-grid .cnt {color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.63em; letter-spacing:-.03em;}
