@font-face {
 font-family: 'NanumSquareNeoVariable';
 src: url(/Mlang/font/NanumSquareNeo-Variable.eot);
 src: local('☺'),
      url(/Mlang/font/NanumSquareNeo-Variable.eot?#iefix) format('embedded-opentype');
} 

* {box-sizing:border-box;}

html {scroll-behavior:smooth;}

body {margin:0;font-family:'NanumSquareNeoVariable';color:#152033;background:#fff;line-height:1.5;}

a {color:inherit;text-decoration:none;}

img {display:block;max-width:100%;}

.wrap {width:min(980px,calc(100% - 40px));margin:auto;}

.section {padding:20px 0;}

.section.gray {background:#f5f7fa;}

.title {font-size:24px;line-height:1.25;margin:0 0 18px;font-weight:900;}
.title_view { padding:15px; background:#f5f7fa; border-radius:12px; }
.title_s { }
.title_e, .title_c { margin-top:25px; }

.hero {height:400px;color:#fff;position:relative;}

.hero .wrap {height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;}

.logo {position:absolute;top:18px;}

.logo img { height:80px; }

.home-link {position:absolute;top:60px;right:0;color:#fff;font-size:15px;font-weight:bold;text-decoration:none;}

.loc { margin-top:20px; }
.hero .loc {font-size:18px;font-weight:700;margin-bottom:8px;}

.hero h1 {font-size:52px;line-height:1.15;margin:0 0 16px;font-weight:950;}

.hero p {font-size:19px;margin:0;color:#e8edf4;}

.quote {margin-top:-46px;position:relative;z-index:2;}

.quote-box {background:#fff;border:1px solid #e4e8ef;border-radius:16px;box-shadow:0 15px 40px rgba(18,35,58,.13);padding:28px;}

.quote-top {display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:22px;}

.quote-top h2 {margin:0;font-size:25px;}

.quote-top .phone {font-size:30px;font-weight:900;color:#166ee1;}

.badges {display:flex;gap:8px;flex-wrap:wrap;}

.badge {background:#edf5ff;color:#1768ce;border-radius:20px;padding:5px 11px;font-size:12px;font-weight:800;}

.form-grid {display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1.2fr auto;gap:9px;}

.form-grid input,.form-grid select {width:100%;height:48px;border:1px solid #d9dfe8;border-radius:8px;padding:0 13px;font:inherit;background:#fff;}

.form-grid button {border:0;border-radius:8px;background:#176fe2;color:#fff;font-weight:900;padding:0 22px;cursor:pointer;}

.privacy {font-size:14px;color:#8490a0;margin:10px 0 0;}

.benefits {display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:15px;}

.benefit {border:1px solid #e6eaf0;border-radius:12px;padding:22px;text-align:center;background:#fff;}

.benefit strong {display:block;margin:8px 0 3px;}

.benefit span {font-size:13px;color:#6c7888;}

.icon { text-align:center; }
.icon img { height:70px; display:block; margin:0 auto; }

.process-layout {display:grid;grid-template-columns:1.3fr .7fr;gap:45px;align-items:center;}

.process-image {height:300px;object-fit:cover;border-radius:14px;width:100%;}

.steps {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:15px;}
.step {background:#fff;border:1px solid #e1e6ed;border-radius:12px; padding:20px;}
.step div { font-size:18px;font-weight:700; color:#2575df; }
.step b { 
	display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; 
	background:#2575df; font-size:12px; color:#fff; font-weight:900; margin-right:10px; line-height:1;
}
.step strong {display:block;margin-top:15px;}
.step span { font-size:14px; color:#555; margin-top:15px; line-height:1.3; }

.companies-head {display:flex;justify-content:space-between;align-items:end;gap:20px;}
.companies-source {font-size:14px;color:#7a8491;}
.stats {display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:24px 0 20px;border:1px solid #e2e7ee;border-radius:14px;overflow:hidden;background:#fff;}
.stat {padding:18px 10px;text-align:center;border-right:1px solid #e2e7ee;}
.stat:last-child {border-right:0;}
.stat b {display:block;font-size:25px;color:#126ddd;margin-bottom:2px;}
.company-list {border:1px solid #e2e7ee;border-radius:14px;overflow:hidden;background:#fff;}
.company-row {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border-bottom:1px solid #edf0f3;}
.company-row:last-child {border-bottom:0;}
.company-info {min-width:0;flex:1;}
.company-info h3 {display:inline;font-size:16px;margin:0;font-weight:900;}
.company-badges {display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:7px;vertical-align:middle;}
/* 면허 등록일 s */
.company-regdate {display:inline;margin-left:7px;color:#657385;font-size:13px;}
/* 면허 등록일 e */
.company-info small {display:block;margin-top:5px;color:#657385;}
.company-links {display:flex;gap:6px;flex:0 0 auto;}
.company-links a {min-width:56px;text-align:center;border:1px solid #dce2ea;border-radius:7px;padding:7px 9px;font-size:12px;background:#fff;}
.company-compare {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 18px;background:#fff8ef;border-bottom:1px solid #edf0f3;}
.company-compare div {min-width:0;}
.company-compare strong {display:block;color:#9a4b00;font-size:15px;}
.company-compare span {display:block;margin-top:4px;color:#8a7765;font-size:13px;}
.company-compare>a {flex:0 0 auto;padding:11px 16px;border-radius:8px;background:#c45b00;color:#fff;font-weight:900;font-size:18px;}

.price-table {width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;}

.price-table th,.price-table td {padding:15px;border-bottom:1px solid #e6e9ee;text-align:left;overflow-wrap:anywhere;word-break:break-word;}

.price-table th {background:#f3f6fa;font-size:14px;}

.case-section-head {display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;}
.case-section-head .title {margin:0;}
.case-more {color:#5c6d83;font-size:12px;white-space:nowrap;}
.case-slider {position:relative;width:100%;}
.case-grid {display:flex;align-items:stretch;gap:16px;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 1px 4px;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;cursor:grab;touch-action:pan-x;-webkit-overflow-scrolling:touch;}
.case-grid.is-dragging {cursor:grabbing;scroll-snap-type:none;user-select:none;}
.case-grid::-webkit-scrollbar {display:none;}

.case {flex:0 0 calc((100% - 32px)/3);width:calc((100% - 32px)/3);min-width:0;border:1px solid #e1e6ed;border-radius:12px;overflow:hidden;background:#fff;scroll-snap-align:start;}

/* 시공사례 이미지 영역 s */
.case-img {width:100%;height:190px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.case-img img {width:auto;height:auto;max-width:100%;max-height:190px;object-fit:contain;margin:0;}
/* 시공사례 이미지 영역 e */

.case .in {padding:15px;}

.faq {border-top:1px solid #dfe4eb;min-width:0;overflow:hidden;}
.faq details {border-bottom:1px solid #dfe4eb;padding:12px 4px;min-width:0;overflow:hidden;}
.faq summary {display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:800;min-width:0;max-width:100%;list-style:none;}
.faq summary::-webkit-details-marker {display:none;}
.faq summary::marker {content:"";}
.faq summary .faq-icon {width:auto;height:12px;flex:0 0 auto;margin:0;}
.faq summary span {min-width:0;overflow-wrap:anywhere;word-break:break-word;}
.faq-back {margin-top:10px;padding:15px 18px;background:#f1f8ff;border-radius:10px;}

.link-area {display:grid;grid-template-columns:1fr 1fr;gap:40px;}

.chips {display:flex;flex-wrap:wrap;gap:9px;}

.chip {border:1px solid #dbe1e9;border-radius:8px;padding:9px 13px;background:#fff;font-size:14px;}

.footer {background:#182333;color:#aeb8c5;font-size:13px; padding-bottom:15px; }
.footer-inner {display:flex;align-items:center;justify-content:space-between;gap:10px;}

.mobile-bar {display:none;}


@media(max-width:760px) {

.home-link {top:28px;right:14px;font-size:13px;}


.section {padding:18px 0;}

.wrap {width:min(100% - 28px,680px);}

.title {font-size:20px;}

.hero {height:300px;}

.logo {top:20px;font-size:23px;}

.logo img { height:50px; }

.home-link {top:45px;}

.hero h1 {font-size:24px;}

.hero p {font-size:15px;}

.quote {margin-top:-24px;}

.quote-box {padding:20px;}

.quote-top {display:block;}

.quote-top .phone {display:block;margin-top:8px;}

.badges {margin-top:10px;}

.form-grid {grid-template-columns:1fr;}

.form-grid button {height:50px;}

.benefits {grid-template-columns:1fr 1fr;}

.benefit {padding:16px 8px;}

.process-layout {grid-template-columns:1fr;}

.process-image {height:220px;}

.steps {grid-template-columns:1fr;}

.companies-head {display:block;}

.stats {grid-template-columns:repeat(3,1fr);gap:6px;}

.stat {padding:12px 5px;}

.stat b {font-size:20px;}

.company-row {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;padding:14px 12px;}
.company-info {display:contents;}
.company-info-top {min-width:0;grid-column:1;grid-row:1;}
.company-info small {grid-column:1 / -1;grid-row:2;width:100%;margin-top:0;}
.company-links {grid-column:2;grid-row:1;gap:4px;}
.company-links a {min-width:48px;padding:6px 5px;font-size:11px;}
.company-regdate {display:none;}
.company-compare {padding:14px 12px;}
.company-compare span {font-size:12px;}
.company-compare>a {padding:5px 6px;font-size:16px;}
.case-grid {gap:8px;padding:1px 0 3px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;}
.case {flex:0 0 calc((100% - 8px)/1.5);width:calc((100% - 8px)/1.5);scroll-snap-align:start;}
.case-img {height:auto;aspect-ratio:16/10;}
.case-img img {max-height:100%;}

.price-table {font-size:13px;}

.price-table th,.price-table td {padding:11px 8px;overflow-wrap:anywhere;word-break:break-word;}

.link-area {grid-template-columns:1fr;gap:30px;}

.footer {padding-bottom:82px;}
.footer-inner {flex-direction:column-reverse;align-items:center;}

.mobile-bar {position:fixed;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;z-index:20;box-shadow:0 -4px 18px rgba(0,0,0,.12);}

.mobile-bar a {height:50px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff; font-size:18px;}

.mobile-bar .call {background:#16966a;}

.mobile-bar .estimate {background:#176fe2;}

}

.area-feature-list {display:grid;gap:18px;}
.area-feature-item {border:1px solid #e1e6ed;border-radius:12px;padding:22px;background:#fff;}
.area-feature-item h3 {margin:0 0 10px;font-size:19px;}
.area-feature-item div {color:#5f6c7b;line-height:1.8;}

/* 시공사례 리스트 s */
.case-list-wrap {padding:35px 0 45px;}
.case-list-head {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;}
.case-list-head h2 {margin:0;font-size:26px;font-weight:900;}
.case-list-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.case-list-item {border:1px solid #e1e6ed;border-radius:12px;overflow:hidden;background:#fff;}
.case-list-item a {display:block;}
.case-list-thumb {width:100%;height:210px;object-fit:cover;}
.case-list-info {padding:16px;}
.case-list-info h3 {margin:0;font-size:17px;line-height:1.45;font-weight:900;}
.case-list-empty {padding:60px 20px;text-align:center;border:1px solid #e1e6ed;border-radius:12px;color:#6c7888;background:#fff;}
/* 시공사례 리스트 e */

/* 시공사례 보기 s */
.case-view-wrap {padding:35px 0 45px;}
.case-view-head {margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #e1e6ed;}
.case-view-head h2 {margin:0;font-size:28px;line-height:1.4;font-weight:900;}
.case-view-block {margin-top:30px;}
.case-view-block h3 {margin:0 0 14px;font-size:21px;font-weight:900;}
.case-view-content {font-size:16px;line-height:1.8;color:#344154;overflow:hidden;}
.case-view-content img {max-width:100%;height:auto;margin:12px auto;}
.case-view-back {margin-top:32px;text-align:center;}
.case-view-back a {display:inline-block;padding:11px 22px;border:1px solid #d9dfe8;border-radius:8px;background:#fff;font-weight:800;}
/* 시공사례 보기 e */

@media(max-width:760px) {
.case-list-wrap,.case-view-wrap {padding:25px 0 35px;}
.case-list-head h2 {font-size:21px;}
.case-list-grid {grid-template-columns:1fr 1fr;gap:10px;}
.case-list-thumb {height:150px;}
.case-list-info {padding:12px;}
.case-list-info h3 {font-size:14px;}
.case-view-head h2 {font-size:22px;}
.case-view-block h3 {font-size:19px;}
.case-view-content {font-size:15px;}
}

/* 시공사례 리스트 페이징 s */
.case-paging {display:flex;align-items:center;justify-content:center;gap:6px;margin-top:30px;}
.case-paging a {min-width:36px;height:36px;padding:0 8px;display:flex;align-items:center;justify-content:center;border:1px solid #d9dfe8;border-radius:7px;background:#fff;font-size:14px;font-weight:800;}
.case-paging a.on {background:#176fe2;border-color:#176fe2;color:#fff;}
.case-paging .case-page-arrow {font-size:20px;}
.case-paging-mobile {display:none;}

@media(max-width:760px) {
.case-paging-pc {display:none;}
.case-paging-mobile {display:flex;}
.case-paging {gap:4px;margin-top:22px;}
.case-paging a {min-width:32px;height:32px;padding:0 6px;font-size:13px;}
}
/* 시공사례 리스트 페이징 e */


/* 상담전화 고정영역 s */
.call-guide {min-height:184px;border-top:1px solid #dfe4eb;border-bottom:1px solid #dfe4eb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;}
.call-guide strong {font-size:20px;font-weight:900;}
.call-guide span {margin-top:6px;color:#657385;}
.call-guide a {margin-top:14px;font-size:30px;font-weight:900;color:#176fe2;}
.call-guide b {margin-top:3px;font-size:16px;}
@media(max-width:760px) {.call-guide {min-height:160px;}.call-guide strong {font-size:18px;}.call-guide a {font-size:26px;}}
/* 상담전화 고정영역 e */


/* 상담전화 박스 s */
.consult-box {
width:100%;padding:20px 19px 17px;border:1px solid #cfe2fa;border-radius:16px;background:linear-gradient(145deg,#fff 0%,#f4f9ff 65%,#e7f3ff 100%);overflow:hidden;  max-height:360px; 
;}

.consult-head {display:flex;align-items:center;gap:18px;margin-bottom:24px;}
.consult-head>img {width:64px;height:64px;object-fit:contain;}
.consult-head h3 {margin:0 0 5px;font-size:22px;line-height:1.3;font-weight:900;color:#152033;}
.consult-head h3 strong {color:#176fe2;}
.consult-head span {font-size:15px;color:#657385;}

.consult-service {display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:24px;}
.consult-service-item {text-align:center;padding:0 15px;border-right:1px solid #dce8f6;}
.consult-service-item:last-child {border-right:0;}
.consult-service-item img {width:48px;height:48px;object-fit:contain;margin:0 auto 8px;}
.consult-service-item strong {display:block;font-size:15px;font-weight:900;color:#152033;margin-bottom:4px;}
.consult-service-item span {display:block;font-size:12px;line-height:1.45;color:#657385;}

.consult-call {height:78px;display:flex;align-items:center;padding:0 20px;border-radius:14px;background:linear-gradient(90deg,#176fe2,#1477ef);color:#fff;}
.consult-call>img:first-child {width:48px;height:48px;object-fit:contain;margin-right:13px;}
.consult-call>strong {font-size:32px;line-height:1;font-weight:900;white-space:nowrap;}
.consult-call>span {margin-left:auto;padding-left:22px;border-left:1px solid rgba(255,255,255,.45);font-size:14px;line-height:1.35;font-weight:800;}
.consult-call .consult-arrow {width:34px;height:34px;object-fit:contain;margin-left:15px;}

@media(max-width:760px) {
.consult-box {padding:20px 16px 16px;}
.consult-head {gap:12px;margin-bottom:20px;}
.consult-head>img {width:48px;height:48px;}
.consult-head h3 {font-size:19px;}
.consult-head span {font-size:13px;}
.consult-service-item {padding:0 5px;}
.consult-service-item img {width:40px;height:40px;}
.consult-service-item strong {font-size:13px;}
.consult-service-item span {font-size:11px;}
.consult-call {height:66px;padding:0 12px;}
.consult-call>img:first-child {width:38px;height:38px;margin-right:8px;}
.consult-call>strong {font-size:24px;}
.consult-call>span {font-size:11px;padding-left:10px;}
.consult-call .consult-arrow {width:28px;height:28px;margin-left:auto;margin-right:0;}
}
/* 상담전화 박스 e */

/* 기술온 배너 */
.footer-frame {display:block;width:480px;max-width:100%;height:50px;margin:0;padding:0;border:0;overflow:visible;}

.consult-area { min-width: 0;  box-sizing:border-box; }

.banner-frame {
    display: block;
    width: 480px;
    max-width: 100%;
    height: 120px;
    margin:10px 0px  0px  0px;
    padding: 0;
    border: 0;
    overflow: hidden;  box-sizing:border-box;
}

@media (max-width: 768px) {
	.company-badges {display:none;}
    .banner-frame { width: 100%; }
	.footer-frame {width:100%;}
	.consult-call>span {
		display:none;
	}
	.consult-call .consult-arrow {
		margin-left:auto;
	}
}