
main#sub02_main {
	@import url('//fonts.googleapis.com/earlyaccess/jejumyeongjo.css');
}
main#sub02_main .inner {width:100%;}
main#sub02_main .inner .top_visual {height:520px; width:100%;background: url(/wp-content/themes/jung/img/sub02/townview.png);background-repeat: norepeat; background-size:cover; background-position:0 30%;position: relative;animation: visual_ani 2s ease;}
main#sub02_main .inner .top_visual .txt {position: absolute; top:40%; left:6%;text-align:left;}

@keyframes visual_ani {
	0%{background-position:0 10%;}
	100%{background-position:0 30%;}
}
main#sub02_main .inner .top_visual .txt * {display:block; font-weight:700; color:#fff; text-shadow: 0 0 20px rgba(0,0,0,0.4);}
main#sub02_main .inner .top_visual .txt span {font-size: 30px; font-weight:500;}
main#sub02_main .inner .top_visual .txt em {font-size:54px; margin-top:16px;}
main#sub02_main .inner .wrap {}
main#sub02_main .inner .intro {}
main#sub02_main .inner .intro aside.snb {margin-left: 120px; margin-right:120px; margin-top:70px; box-shadow: 0 0px 15px rgba(0,0,0,0.1);}
main#sub02_main .inner .intro aside.snb ul {display:flex;}
main#sub02_main .inner .intro aside.snb ul li {width:50%;text-align:center; border:2px solid #ddd; border-top:0;}
main#sub02_main .inner .intro aside.snb ul li:first-child {border-left:0;}
main#sub02_main .inner .intro aside.snb ul li:last-child {border-left:0; border-right:0;}
main#sub02_main .inner .intro aside.snb ul li a {font-size:18px; width:100%; padding:30px 20px; }
main#sub02_main .inner .intro .cont {/*width:1440px;*/ margin-left:120px; margin-right:120px; display:flex; justify-content:center; padding: 80px 0 100px;}
main#sub02_main .inner .intro .left {margin-right:100px; width:60%;}
main#sub02_main .inner .intro .left .title {}
main#sub02_main .inner .intro .left .title .eng {font-size:24px; color:#111; padding:10px 0; }
main#sub02_main .inner .intro .left .title .kor {font-size:44px; color:#A396B2; font-weight:700;}
main#sub02_main .inner .intro .left p.txt_info {line-height:1.4; font-size:20px; padding:30px 0 0;}
main#sub02_main .inner .intro .left .more_btn {margin-top:40px;}
main#sub02_main .inner .intro .left .more_btn a {transition: all 0.4s; position:relative; text-align: center; width:200px; display:inline-block; padding:20px; border:1px solid #ddd;}
main#sub02_main .inner .intro .left .more_btn a:first-child {margin-right:10px;}
main#sub02_main .inner .intro .left .more_btn a:last-child {}
main#sub02_main .inner .intro .left .more_btn a em {position:relative; z-index:900;}
main#sub02_main .inner .intro .left .more_btn a span {display:inline-block;width:100%; height:100%; z-index:0;background-color:#565770;position:absolute; top:0; left:0;width:0%; transition: all 0.4s;}
main#sub02_main .inner .intro .left .more_btn a:hover em {color:#fff;}
main#sub02_main .inner .intro .left .more_btn a:hover span {width:100%;}
main#sub02_main .inner .intro .right {width:40%; overflow-x:hidden;}
main#sub02_main .inner .intro .right .img_info {}
main#sub02_main .inner .intro .right .img_info img {transform:translate(-16%,0);}
main#sub02_main .inner .inside {padding:100px; background-color:gray;}
.sec { margin-left: auto;margin-right: auto;padding: 0 20px;max-width: 1480px; padding: 0 20px;  width: 100%;}
#sub02_main .inner .value {  text-align: center; background-size: cover; background-repeat: no-repeat; background-position: center;}
#sub02_main .inner .value .txt { padding: 80px 0 0;}
#sub02_main .inner .value .txt .tit { font-size: 2.5rem; font-weight: 700;}

/* only_m */
#sub02_main .only_m {display: block; width: 100%;  background-color: #fff;margin: 100px auto;letter-spacing: -0.4px;}
#sub02_main .only_m .txt {text-align: left; padding: 0 0 60px;}
#sub02_main .only_m .txt > * {display: inline-block;}
#sub02_main .only_m .txt .tit {font-size: 2rem; font-weight: 700; margin-right: 20px;}
#sub02_main .only_m .txt .sub {font-size: 1.125rem; color: #989898;}
#sub02_main .only_m ul {display: flex; flex-flow: row wrap; justify-content: space-between;}
#sub02_main .only_m ul li {transition: all 0.3s;}
#sub02_main .only_m ul li img {}
#sub02_main .staff {width: 100%;}
#sub02_main .staff img {width: 100%;}
.care-info-container {margin: 50px auto; padding: 0 20px;text-align: center;color: #346440;}

/* 상단 강조 텍스트 */
.highlight-text {font-size: 2rem; font-weight: 800;line-height: 1.4;margin-bottom: 30px;letter-spacing: -0.5px; word-break: keep-all;}
.description-text {font-size:1.25rem;font-weight: 400;line-height: 1.7;color: #444;word-break: keep-all;}

/* 공통 */
.sub-container { max-width: 1425px; margin: 0 auto; padding: 50px 20px; background: #f9f8f6; }
img { max-width: 100%; height: auto; }


/* --- 섹션 2: 가로 배치 리스트형 --- */
.list-grid-3 { display: flex; gap: 30px; }
.horizontal-item { flex: 1; display: flex; align-items: flex-start; gap: 15px; }
.side-icon { flex-shrink: 0; width:100px; height:100px; border-radius: 50%; background: #fff; border: 1px solid #eee; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.side-icon img { width: 50%; }
.side-text h4 { font-size: 1.5rem; font-weight: 700; margin-bottom: 10px; line-height: 1.3; }
.side-text p { font-size: 1rem; color: #555; line-height: 1.6; word-break: keep-all; }

/* 포인트 컬러 */
.green-t { color: #2e6d42; } /* 짙은 녹색 */
.orange-t { color: #ff5a00; } /* 주황색 */

/* 공통 스타일 */
.tech-card-section { padding: 80px 0; background-color: #f5f5f5;}
.tech-inner { max-width: 1425px;margin: 0 auto; padding: 0 20px;}
.main-title {font-size: 1.25rem;margin-bottom: 50px;text-align: center;color: #333;line-height: 1.5;}

/* 그리드 레이아웃 (4개 나열) */
.tech-grid-5 {display: flex;gap:15px;}

/* 개별 카드 디자인 */
.tech-card { flex: 1;min-width: 0;background-color: #fff;border-radius: 25px;padding: 35px 20px; display: flex;flex-direction: column;justify-content: flex-start;box-shadow: 0 10px 20px rgba(0,0,0,0.03);position: relative;transition: transform 0.3s ease;}
.tech-card:hover {transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0,0,0,0.08);}

/* 아이콘 위치 (우측 상단 박스 형태) */
.card-icon {align-self: flex-end;width:65px;height:65px;background-color: #f0f0f0; border-radius: 12px; display: flex;align-items: center;justify-content: center;margin-bottom: 30px;}
.card-icon img {width: 35px;height: auto;}
.card-content h3 {font-size: 1.5rem;font-weight: 700;color: #222; margin-bottom: 5px;}
.card-content .sub-eng {display: block;font-size: 0.75rem;color: #ff5a00;margin-bottom: 25px;}
.card-content p {font-size: 1rem; color: #666; line-height: 1.7;word-break: keep-all;}

.management-section { padding: 100px 0;overflow: hidden;}
.management-inner {max-width: 1425px; margin: 0 auto;padding: 0 20px;}
.content-row {display: flex;align-items: center; gap: 80px;margin-bottom: 120px;}
.content-row.reverse { flex-direction: row-reverse;}

/* 텍스트 영역 */
.text-box { flex: 1;}
.text-box h2 { font-size: 36px;font-weight: 700; margin-bottom: 30px;color: #111;}
.text-box p { font-size: 17px;line-height: 1.5; color: #555;margin-bottom: 20px;word-break: keep-all;}
.image-box {flex: 1;}
.image-box img {width: 100%; height: auto;border-radius: 0 0 100px 0; display: block; box-shadow: 0 20px 40px rgba(0,0,0,0.1);}

.content-row.reverse .image-box img {border-radius: 0 0 0 100px;}
.roadmap-section { padding: 80px 0; background-color: #f8f9fa; font-family: 'Pretendard', sans-serif; }
.roadmap-inner { max-width: 1425px; margin: 0 auto; padding: 0 20px; }
.roadmap-container { display: flex; gap: 40px; align-items: flex-start; }
.roadmap-column { flex: 1; }

/* 헤더 스타일 */
.column-header { background-color: #2b7fff; color: #fff; text-align: center; padding: 15px; border-radius: 12px;font-size: 18px;font-weight: 700; margin-bottom: 30px;}

/* 타임라인 줄 만들기 */
.timeline { position: relative; padding-left: 30px; }
.timeline::before { content: ''; position: absolute;left: 7px; top: 0; bottom: 0; width: 2px; background-color: #e0e0e0;}

/* 타임라인 항목 */
.timeline-item { position: relative; margin-bottom: 25px; display: flex; align-items: center; }

/* 타임라인 점 (Circle) */
.timeline-item::after {content: '';position: absolute; left: -30px; top: 50%; transform: translateY(-50%); width: 12px; height: 12px;background-color: #fff; border: 2px solid #e0e0e0;border-radius: 50%;z-index: 2;}
.timeline-item.active::after { border-color: #2b7fff; }

/* 연도 및 콘텐츠 박스 */
.year { font-weight: 700; color: #444; width: 50px; flex-shrink: 0; margin-right: 15px; }
.content-box { flex: 1; background: transparent; padding: 5px 0; }

/* 활성화된 항목 (흰색 박스 배경) */
.timeline-item.active .content-box { background: #fff; padding: 20px;border-radius: 15px;box-shadow: 0 4px 15px rgba(0,0,0,0.05);}
.content-box p { font-size: 15px; color: #555; line-height: 1.5; margin: 0; word-break: keep-all; }

/* 특허 뱃지 */
#sub02_main .badge {  display: inline-block; background-color: #00d285; color: #fff; font-size: 11px; padding: 2px 8px; border-radius: 4px;margin-left: 5px;vertical-align: middle;}


/* 기본 배경 및 폰트 설정 */
.patents-section { background-color: #23422a;color: #fff; padding: 100px 0;}
.patents-inner {max-width: 1425px;margin: 0 auto; padding: 0 20px;}

/* 타이틀 영역 */
.section-header { text-align: center; margin-bottom: 80px; }
.patents-inner .sub-title { font-family: 'Dancing Script', cursive; /* 구글 무료 필기체 폰트 */ font-size: 24px; color: #fff; opacity: 0.8; }
.patents-inner .main-title { font-size: 48px; color:#fff; font-weight: 800; margin-top: 10px; letter-spacing: -1px; }

/* 4단 기술 설명 그리드 */
.tech-info-grid { display: flex; justify-content: space-between;  gap: 30px;margin-bottom: 100px;}
.tech-col { flex: 1;position: relative;padding: 0 15px;}

/* 세로 구분선 (첫 번째 컬럼 제외) */
.tech-col:not(:first-child)::before {content: ''; position: absolute; left: -15px; top: 0; width: 1px; height: 100%;border-left: 1px dashed rgba(255,255,255,0.3);}
.tech-col h3 { font-size: 22px; color: #ff8a3d; margin-bottom: 20px; font-weight: 700; }
.tech-col p { font-size: 16px; line-height: 1.6; color: #eee; margin-bottom: 30px; word-break: keep-all; }

/* 아이콘 그룹 */
.icon-group { display: flex; gap: 10px; justify-content: space-between; }
.icon-item { text-align: center; flex: 1; }
.icon-item img { width: 45px; height: auto; margin-bottom: 8px; filter: brightness(1) invert(0); } /* 흰색 아이콘 처리 */
.icon-item span { display: block; font-size:13px; color: #ccc; line-height: 1.3; }

/* 특허증 리스트 */
.patent-list { display: flex; gap: 15px; justify-content: center;}
.patent-item { flex: 1; background: #fff; padding: 10px; border-radius: 4px;}
.patent-item img { width: 100%; height: auto; display: block; }

/* 기본 설정 */
.smarthome-hero { position: relative; padding: 20px 0;}

/* 상단 주황색 헤더 라인 */
.smart-cont { padding: 30px;}
.smart01 .hero-header { display: flex;justify-content: space-between;align-items: flex-end; border-bottom: 5px solid #e65d25; padding-bottom: 10px; margin-bottom: 25px; /* 이미지와의 간격 */}
.smart01 .hero-header .main-title { font-size:45px; color: #e65d25; font-weight: 800; margin: 0; }
.smart01 .hero-header .sub-title { font-size: 18px; color: #e65d25; font-weight: 600; margin: 0; }
.smart02, .smart03 { margin-top:100px;}
.smart02 { background:#f6f6f6;}
.smart02 .hero-header { display: flex;justify-content: space-between;align-items: flex-end; border-bottom: 5px solid #346440; padding-bottom: 10px; margin-bottom: 25px; /* 이미지와의 간격 */}
.smart02 .hero-header .main-title { font-size:45px; color: #346440; font-weight: 800; margin: 0; }
.smart02 .hero-header .sub-title { font-size: 18px; color: #346440; font-weight: 600; margin: 0; }
.smart03 .hero-header { display: flex;justify-content: space-between;align-items: flex-end; border-bottom: 5px solid #2f64af; padding-bottom: 10px; margin-bottom: 25px; /* 이미지와의 간격 */}
.smart03 .hero-header .main-title { font-size:45px; color: #2f64af; font-weight: 800; margin: 0; }
.smart03 .hero-header .sub-title { font-size: 18px; color: #2f64af; font-weight: 600; margin: 0; }

/* 일러스트 이미지 영역 */
.illustration-main { width: 100%;overflow: hidden; }
.full-img { width: 100%; /* 부모 너비에 맞춤 */ height: auto; /* 비율 유지 */ display: block; /* 하단 공백 제거 */}

/* 하단 설명 섹션 (이전과 동일) */
.smarthome-info { padding: 0 10px;  max-width: 1300px;margin: 0 auto; }
.info-main-title {   margin-bottom: 30px;  font-weight: 700;}
.info-main-title h2 {  font-size:30px;  color: #333;  font-weight: 700;    display: inline;}
.info-main-title .en { font-size:16px; color: #999; margin-left: 10px; font-weight: 400;display:inline }
.info-grid {  display: grid;  grid-template-columns: repeat(3, 1fr);  gap: 40px; }
.info-item h3 { font-size: 22px; font-weight: 700; color: #3e6b35; /* 다크 그린 톤 */ margin-bottom: 15px; display: flex; align-items: center; word-break: keep-all;}
.info-item h3 span { font-size: 20px;   font-weight: 800; margin-right: 10px; }
.info-item p {  font-size: 16px; color: #666; line-height: 1.6;  word-break: keep-all;}

#sub02_main .inner .intro .txt .sub { font-size: 1.25rem; padding: 20px 0 60px;}
.intro .txt {padding: 80px 0 0; text-align:center}
.intro .txt .tit {font-size: 1.875rem; font-weight: 700;}
.listbox {max-width: 1280px;margin: auto; width: 100%; height: 100%;position: relative;}
.listbox > ul { display:flex; gap:100px 50px; flex-wrap:wrap; }
.listbox > ul > li { width:calc((100% - 150px) / 4); cursor:pointer; }
.listbox > ul > li > img { border:1px solid #e7e7e7; width:100%; }
.listbox > ul > li .txtbox { padding-top:15px; }
.listbox > ul > li .txtbox dt { color:#111; font-weight:500; font-size:18px; line-height:1.4;  text-overflow:ellipsis;text-align:center}

.cer-popupbox { position:fixed; left:0; top:0; width:100%; height:100%; z-index:999999; display:none }
.cer-popupbox .bg { position:absolute; left:0; top:0; width:100%; height:100%; background-color:rgba(0,0,0,0.8); }
.cer-popupbox .pop-body { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); z-index:22; max-width:600px; width:100%; padding:40px 40px; background-color:#fff; }
.cer-popupbox .pop-body .imgbox { margin-top:30px; text-align:center; }
.cer-popupbox .pop-body .imgbox img {  height:100vh; max-height:620px; border:1px solid #e7e7e7 }
.cer-popupbox .pop-body .txtbox { text-align:center; }
.cer-popupbox .pop-body .txtbox dt { font-size:18px; color:#111; font-weight:700; line-height:1.4; }
.cer-popupbox .pop-body .btn_close { position:absolute; right:15px; top:15px; cursor:pointer; }
.cer-popupbox .pop-body .btn_close span { position:relative; width:25px; height:25px; display:block }
.cer-popupbox .pop-body .btn_close span:before { content:""; display:block; width:26px; height:2px; background-color:#111; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%) rotate(-45deg); }
.cer-popupbox .pop-body .btn_close span:after { content:""; display:block; width:26px; height:2px; background-color:#111; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%) rotate(45deg); }


.care-tit .eng {font-family: 'Dancing Script', cursive; display: block; font-size: 24px; font-weight: 400;color: #EF4023; text-align: center;}
.care-tit h3 {font-size: 40px; font-weight: 700;  color: #0E0E0E;   text-align: center; margin-top: 15px;}
.care_box { text-align: center;margin-top:50px; padding: 50px 60px;  background-color: #F3F3F3;  border-radius: 30px;}
.care_box h4 {font-size:30px;font-weight: 800; line-height:1.6;}
.care_box .green {color: #346440;}
.care_box p { font-size:20px;font-weight: 500; color: #222;line-height: 1.6;margin-top: 24px;}
/* 상단 */

.care-info-container .top-section{
display:flex;
gap:30px;
align-items:center;
margin-bottom:50px;
}

.care-info-container .info-card{
flex:1;
background:#fff;
border-radius:24px;
overflow:hidden;
box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.care-info-container .card-title{
padding:25px;
font-size:28px;
font-weight:700;
color:#fff;
}

.care-info-container .green .card-title{
background:#166534;
}

.care-info-container .orange .card-title{
background:#f97316;
}

.care-info-container .info-card ul{
padding:30px;
list-style:none;
}

.care-info-container .info-card li{
display:flex;
gap:15px;
margin-bottom:20px;
font-size:18px;
}

.care-info-container .center-arrow{
width:220px;
height:380px;
background:linear-gradient(180deg,#166534,#3d8d5c);
clip-path:polygon(50% 0,100% 20%,75% 20%,75% 100%,25% 100%,25% 20%,0 20%);
color:#fff;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
}

.care-info-container .main-title{
background:#166534;
color:white;
padding:25px;
border-radius:20px;
text-align:center;
font-size:30px;
font-weight:700;
width:70%;
margin:0 auto 60px;
}

/* 집 */

.care-info-container .house-svg{
position:relative;
    max-width:1200px;
    margin:0 auto;}
	
.care-info-container .house-svg svg{
    width:100%;
    height:auto;
    display:block;
}	

.care-info-container .roof{
fill:#eaf7ee;
stroke:#84c394;
stroke-width:8;
}

.care-info-container .house-body{
fill:white;
stroke:#84c394;
stroke-width:6;
}

.care-info-container .house-title{
position:absolute;

    top:120px;

    left:50%;

    transform:translateX(-50%);

    text-align:center;

    color:#166534;

    z-index:10;
	font-size:36px;
    font-weight:700;
}
.care-info-container .house-title i{

    display:block;

    font-size:42px;

    margin-bottom:10px;
}


.care-info-container .device-grid{
 position:absolute;

    top:200px;

    left:50%;

    transform:translateX(-50%);

    width:92%;

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:20px;

    z-index:20;
}

.care-info-container .device{
background:white;

    height:140px;

    border-radius:20px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    box-shadow:
    0 10px 25px rgba(0,0,0,.08);
}

.care-info-container .device i{
font-size:36px;
margin-bottom:12px;
color:#166534;
}

.care-info-container .house-section{ margin-bottom:120px;}
/* 플로우 */

.care-info-container .flow-section{
position:relative;
margin-top:30px;
padding-top:40px;
}

.care-info-container .flow-svg{
position:absolute;
top:0;
left:0;
width:100%;
height:450px;
pointer-events:none;
}

.care-info-container .flow-line{
fill:none;
stroke:#166534;
stroke-width:4;
stroke-dasharray:12;
animation:flow 1.3s linear infinite;
marker-end:url(#arrow);
}

@keyframes flow{
from{
stroke-dashoffset:24;
}
to{
stroke-dashoffset:0;
}
}

.care-info-container .gateway-card{
width:280px;
margin:auto;
background:#166534;
color:white;
padding:30px;
border-radius:25px;
text-align:center;
position:relative;
z-index:10;
}

.care-info-container .gateway-card i{
font-size:50px;
margin-bottom:15px;
}

.care-info-container .bottom-grid{
margin-top:100px;
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

.care-info-container .monitor-card,
.care-info-container .danger-card{
background:white;
border-radius:25px;
padding:30px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.care-info-container .monitor-card h3{
color:#166534;
margin-bottom:20px;
}

.care-info-container .danger-card h3{
color:#f97316;
margin-bottom:20px;
}

.care-info-container .grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:15px;
}

.care-info-container .grid div{
background:#f8faf9;
padding:20px;
border-radius:16px;
text-align:center;
}

.care-info-container .grid i{
display:block;
font-size:30px;
margin-bottom:10px;
}

.care-info-container .control-stack{
width:320px;
margin:50px auto;
display:flex;
flex-direction:column;
gap:15px;
}

.care-info-container .control-item{
background:white;
border:2px solid #166534;
padding:18px;
text-align:center;
border-radius:999px;
font-weight:600;
}






@media (max-width:1440px){
	main#sub02_main .inner .intro aside.snb {margin-left: 60px; margin-right:60px;}
	main#sub02_main .inner .intro .cont {margin-left: 60px; margin-right:60px;}
	main#sub02_main .inner .intro .left {margin-right:20px;}
	.listbox > ul { gap:120px 30px; }
    .listbox > ul > li { width:calc((100% - 120px) / 5); }
}

@media screen and (max-width:1280px){	  
	.listbox > ul { gap:100px 25px; }
	.listbox > ul > li { width:calc((100% - 75px) / 4); }
	.certification-cont1 { margin-top:150px; padding:150px 0; }
}

@media (max-width: 1200px) {
    .tech-grid-5 { display: grid;grid-template-columns: repeat(3, 1fr); }
	.tech-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
    .tech-col:not(:first-child)::before { display: none; } /* 구분선 제거 */
    .patent-list { display: grid; grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1024px){
	main#sub02_main .inner .intro .cont {flex-direction: column;}
	main#sub02_main .inner .intro .left {order:2; width:80%; align-items: center; justify-content: center;}
	main#sub02_main .inner .intro .right{order:1; width:auto; margin-bottom:20px;}
	.card-grid-4 { display: grid; grid-template-columns: 1fr 1fr; } /* 2개씩 2줄 */
	.list-grid-3 { flex-direction: column; gap: 40px; } /* 세로로 쌓기 */
	.content-row { gap: 40px; }
	.text-box h2 { font-size: 28px; }
	.roadmap-container { gap: 20px; }
	.column-header { font-size: 16px; }
	.listbox > ul { gap:80px 20px; }
    .listbox > ul > li { width:calc((100% - 40px) / 3); }
    .listbox > ul > li .txtbox dt { font-size:18px; }
    .listbox > ul > li .txtbox dd { padding-top:15px; font-size:13px; } 
}


@media screen and (max-height:800px){
  .cer-popupbox .pop-body .imgbox img {  height:auto; max-height:100%; max-width:400px; }
}

@media (max-width: 768px){
	#sub02_main .inner .value .txt {padding: 40px 0 0;}
	#sub02_main .only_m { margin:50px auto;}
	#sub02_main .only_m .txt { text-align:center; padding: 0 0 20px;}
	#sub02_main .only_m .txt .tit { font-size: 1.5rem;margin-right:0;}
	#sub02_main .only_m .txt .sub { padding-top:15px;}
	#sub02_main .inner .value .txt .tit { font-size:2rem}
	.care-info-container {margin:20px auto; padding: 0;text-align: center;color: #346440;}
	main#sub02_main .inner .top_visual .txt span {font-size: 25px;}
	main#sub02_main .inner .top_visual .txt em {font-size: 48px;}
	main#sub02_main .inner .intro .cont {margin-left: 40px; margin-right:40px;} 
	main#sub02_main .inner .intro aside.snb {margin-left: 40px; margin-right:40px;}
	.highlight-text {font-size: 18px;}
	.highlight-text br { display:none;}
	.description-text {font-size: 15px;}
	.tech-grid-5 { grid-template-columns: 1fr 1fr; }
	.management-section {padding:0; }
	.content-row, .content-row.reverse { flex-direction: column;  gap: 30px;margin-bottom:10px;text-align: center;}
    .image-box { order: -1; /width: 100%;}
    .image-box img { border-radius: 0 0 50px 0; }
    .text-box h2 { margin-top: 10px;font-size:20px;margin-bottom: 15px;}
    .text-box p { font-size: 15px; text-align: justify; text-align:center;}
	.roadmap-container { flex-direction: column; }
    .roadmap-column { width: 100%; margin-bottom: 50px; }    
    .timeline-item.active .content-box { padding: 15px; }
    .content-box p { font-size: 14px; }
	.patents-inner .main-title { font-size:24px; }
    .tech-info-grid { grid-template-columns: 1fr; }
    .tech-col { text-align: center; }
    .icon-group { max-width: 300px; margin: 0 auto; }
    .patent-list { grid-template-columns: repeat(2, 1fr); }
	.roadmap-section { padding: 40px 0;}
    .hero-header {  flex-direction: column; align-items: flex-start; gap: 5px;  }
    .main-title { font-size:18px; }
	.tech-card-section { padding:30px 0; }
    .sub-title { font-size: 14px; }
    .info-grid {  grid-template-columns: 1fr;  gap:20px; }
	.info-item p { line-height:1.3}
	.card-content h3 { font-size:20px;}
	.card-content p { font-size: 1rem; color: #666;line-height: 1.3; word-break: keep-all;}
	
	.smart-cont { padding:0px;}
	.smart01 .hero-header {         display: block;justify-content: space-between;align-items: flex-end; border-bottom:3px solid #e65d25; padding-bottom: 10px; margin-bottom: 25px; /* 이미지와의 간격 */}
	.smart01 .hero-header .main-title { font-size:25px; color: #e65d25; font-weight: 800; margin: 0; }
	.smart01 .hero-header .sub-title { font-size: 16px; color: #e65d25; font-weight: 600; margin: 0; }
	.smart02, .smart03 { margin-top:50px;}
	.smart02 { background:#fff;}
	.smart02 .hero-header {         display: block;justify-content: space-between;align-items: flex-end; border-bottom: 3px solid #346440; padding-bottom: 10px; margin-bottom: 25px; /* 이미지와의 간격 */}
	.smart02 .hero-header .main-title { font-size:25px; color: #346440; font-weight: 800; margin: 0; }
	.smart02 .hero-header .sub-title { font-size: 16px; color: #346440; font-weight: 600; margin: 0; }
	.smart03 .hero-header {        display: block;justify-content: space-between;align-items: flex-end; border-bottom: 3px solid #2f64af; padding-bottom: 10px; margin-bottom: 25px; /* 이미지와의 간격 */}
	.smart03 .hero-header .main-title { font-size:25px; color: #2f64af; font-weight: 800; margin: 0; }
	.smart03 .hero-header .sub-title { font-size: 16px; color: #2f64af; font-weight: 600; margin: 0; }
	.info-main-title h2 { font-size:20px;display: block;}
	.info-main-title .en {display: block;  margin-top: 10px; font-size: 14px; line-height: 1.2; margin-left:0; }
	.info-item h3 { font-size:18px; line-height:1.5; text-align: center; display: block;}
	.smarthome-info { padding:0;}
	.patents-section { padding:50px 0;}
	.section-header { margin-bottom:30px;}
	.tech-col h3 {font-size:20px;}
	.tech-col p { font-size:15px; line-height:1.3}
	.cer-popupbox .pop-body { padding:20px 20px; }
	.cer-popupbox .pop-body .imgbox { margin-top:30px; text-align:center; }
	.cer-popupbox .pop-body .imgbox img {  max-width:300px; }
	.cer-popupbox .pop-body .txtbox dt { font-size:17px; }
	.cer-popupbox .pop-body .txtbox dd { padding-top:12px; }
	.cer-popupbox .pop-body .btn_close { right:10px; top:10px; }
	.cer-popupbox .pop-body .btn_close span { width:23px; height:23px; }
	.cer-popupbox .pop-body .btn_close span:before,
	.cer-popupbox .pop-body .btn_close span:after { width:23px; }
	.care-tit h3 {font-size:26px;}
	.care_box { padding:20px 30px; margin-top:30px; border-radius:15px;}
	.care_box h4 {font-size: 20px;line-height: 1.3;}
	.care_box p {font-size:16px;}
}



@media (max-width: 640px) {
    .card-grid-4 { grid-template-columns: 1fr; } /* 1줄에 1개씩 */
    .horizontal-item { flex-direction: column; align-items: center; text-align: center; }
    .side-text h4 { font-size: 18px; margin-top: 10px; }
    .tech-card { padding: 30px 20px;}
    .card-icon {  width: 60px; height: 60px;margin-bottom: 20px;}
	.listbox { margin-top:50px; }
    .listbox > ul { gap:60px 20px; }
    .listbox > ul > li { width:calc((100% - 20px) / 2); }
    .listbox > ul > li .txtbox dt { font-size:17px; }
    .listbox > ul > li .txtbox dd { padding-top:12px; }
    .cer-popupbox .pop-body { position:absolute; left:0; top:50%; transform:translate(0, -50%); z-index:22; margin:0 20px; max-width:auto; width:calc(100% - 40px); padding:20px 20px; }
    .cer-popupbox .pop-body .imgbox { margin-top:30px; text-align:center; }
    .cer-popupbox .pop-body .imgbox img {  height:auto; max-height:100%; max-width:400px; }
    .cer-popupbox .pop-body .txtbox dt { font-size:17px; }
    .cer-popupbox .pop-body .txtbox dd { padding-top:12px; }
    .cer-popupbox .pop-body .btn_close { right:10px; top:10px; }
    .cer-popupbox .pop-body .btn_close span { width:23px; height:23px; }
    .cer-popupbox .pop-body .btn_close span:before,
    .cer-popupbox .pop-body .btn_close span:after { width:23px; }
}

@media (max-width: 554px) {
	main#sub02_main .inner .intro .cont {margin-left: 30px; margin-right:30px;} 
	main#sub02_main .inner .top_visual .txt span {font-size: 24px;}
	main#sub02_main .inner .intro aside.snb ul li a {font-size: 15px; padding: 25px 15px;}
	main#sub02_main .inner .top_visual .txt em {font-size: 40px;} 
	main#sub02_main .inner .intro aside.snb ul li a {font-size:14px; padding: 20px 10px;}
	.tech-grid-5 { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
	#subCare #mainArea {height: 400px;} 
	#subCare #mainArea .txt .sub {font-size: 1.375rem;}
	#subCare #mainArea .txt .tit {font-size: 2rem;}
	.patent-grid { grid-template-columns: 1fr; }
	.list-content strong { font-size: 16px;}
	main#sub02_main .inner .top_visual .txt em {font-size: 35px;}
	main#sub02_main .inner .top_visual .txt span {font-size: 18px;}
  
}

@media (max-width: 425px) {
    main#sub02_main .inner .intro .cont {margin-left: 15px; margin-right:15px;}  
	main#sub02_main .inner .intro aside.snb {margin-left: 10px; margin-right:10px;}
	main#sub02_main .inner .intro .left {margin-right:0; width:90%;}
	main#sub02_main .inner .intro .cont {padding: 40px 0 100px;}
	main#sub02_main .inner .intro aside.snb ul li a {font-size: 15px;}
	main#sub02_main .inner .intro .left .title .eng {font-size: 18px;}
	main#sub02_main .inner .intro .left .title .kor {font-size : 32px;}
	main#sub02_main .inner .intro .left p.txt_info {font-size: 17px;}	
    #sub02_main .only_m ul {display:flex; flex-flow: row nowrap; overflow-x: auto;  -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory;gap: 10px;width: 100%;padding: 10px 0;}
    .scroll-list li {flex: 0 0 80%; scroll-snap-align: center;}
	main#sub02_main .inner .top_visual .txt em {width: calc(100%/1.6); line-height: 1.3;}
	main#sub02_main .inner .top_visual .txt { top: 25%; }
}

@media (max-width: 375px){
	main#sub02_main .inner .top_visual .txt span {font-size: 18px;}
	main#sub02_main .inner .top_visual .txt em {font-size: 35px;}
	main#sub02_main .inner .intro aside.snb ul li a {font-size:14px; padding: 15px 6px;}  
	main#sub02_main .inner .top_visual .txt em {width: calc(100%/1.2);}
	#sub02_main .only_m {}
	#sub02_main .inner .value ul {padding: 0 40px;}
	.scroll-list img { width: 70%; }
	.scroll-list {gap: 5px;}
	#sub02_main .business {padding: 80px 20px 60px;}
	#sub02_main .ci_design {padding: 80px 20px 60px;}
	main#sub02_main .inner .top_visual .txt span {font-size: 18px;}
    main#sub02_main .inner .top_visual .txt em {font-size: 35px;}
    main#sub02_main .inner .intro aside.snb ul li a {font-size:14px; padding: 15px 6px;}  
    main#sub02_main .inner .top_visual .txt em {width: calc(100%/1.2);} 
	#sub04_main .only_m {padding: 80px 20px 60px;}
}

@media (max-width: 320px) {
	main#sub02_main .inner .top_visual .txt {left: 4%;}
	main#sub02_main .inner .top_visual .txt em {width: calc(100%/ 1.4); line-height: 1.3;}
}

