@charset "utf-8"; /* ========================================================================== 서브 페이지 공통 레이아웃 (subpage common layout) ========================================================================== */ /* --- 상단 비주얼 (Top Visual) --- */ .sub-visual { position: relative; height: 250px; background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; color: #fff; } /* 각 페이지별 배경 이미지 설정 (경로는 테마에 맞게 수정해주세요) */ .sub-visual.bg1 { background-image: url('../../../img/sub/sub/visual_bg_01.jpg'); } /* Hi창호는? */ .sub-visual.bg2 { background-image: url('../img/sub/visual_bg_02.jpg'); } /* Hi 고객스토리 */ .sub-visual .inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center; width: 100%; } .sub-visual .inner h2 { font-size: 40px; font-weight: 700; } /* --- 로컬 네비게이션 (LNB) --- */ .lnb-wrap { position: relative; border-bottom: 1px solid #ddd; background: #fff; } .lnb { max-width: 1200px; margin: 0 auto; } .lnb .swiper-wrapper { display: flex; justify-content: center; /* PC에서는 중앙 정렬 */ } .lnb .swiper-slide { flex-shrink: 0; /* 모바일 스와이프를 위해 축소 방지 */ width: auto; /* 내용에 맞게 너비 자동 조절 */ } .lnb .swiper-slide a { display: block; padding: 18px 30px; font-size: 17px; color: #333; font-weight: 500; text-align: center; position: relative; transition: color 0.3s; text-decoration: none; white-space: nowrap; } .lnb .swiper-slide.active a, .lnb .swiper-slide a:hover { color: #1c6a2f; /* 활성/호버 시 색상 */ font-weight: 700; } .lnb .swiper-slide.active a::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 3px; background: #1c6a2f; /* 활성 메뉴 하단 바 */ } /* --- 메인 콘텐츠 영역 (Main Contents Area) --- */ #container { padding: 80px 20px; /* 상하, 좌우 여백 */ } #contArea { max-width: 1200px; margin: 0 auto; } .sub-title { text-align: center; margin-bottom: 60px; } .sub-title h2 { font-size: 36px; font-weight: 700; color: #222; } /* ========================================================================== 콘텐츠 스타일 (Contents Style) ========================================================================== */ .greetings .heading { } /* --- 소개 페이지 (greetings) --- */ .greetings .heading { position: relative; height: 350px; padding: 50px; margin-bottom: 60px; display: flex; align-items: center; color: #fff; background-image: linear-gradient(to right, #2e67a7, #55a13f); } .greetings .heading .img img { position: absolute; bottom: 0; left: 108px; } .greetings .heading .txt { position: relative; margin-left: 440px; } .greetings .heading .txt .t2 { font-size: 24px; font-weight: 700; line-height: 1.5; margin: 0; } .greetings .content { font-size: 16px; line-height: 1.8; color: #555; } .greetings .content p { margin-bottom: 1.5em; } .greetings .content .lg-txt { font-size: 1.2em; font-weight: 600; color: #333; margin-top: 40px; } .greetings .content .text-green { color: #1c6a2f; } /* --- 페이지 이동 링크 (doc-cnt) --- */ .doc-cnt { margin-top: 80px; border-top: 1px solid #eee; padding-top: 40px; } .link-group { display: flex; justify-content: space-between; } .link-group .col a { display: inline-flex; align-items: center; text-decoration: none; color: #333; font-size: 16px; transition: color 0.3s; } .link-group .col a:hover { color: #1c6a2f; } .link-group .col a i { font-size: 20px; margin: 0 10px; } /* --- 아이콘 리스트 (sub01_3.php) --- */ .icon-list { list-style: none; padding: 0; margin: 0; } .icon-list li { display: flex; align-items: flex-start; margin-bottom: 1em; } .icon-list i { margin-right: 10px; font-size: 1.2em; line-height: 1.5; color: #1c6a2f; /* 아이콘 색상 */ } .icon-list .text { flex: 1; } /* --- 견적 폼 (sub02.php) --- */ .form-group { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #eee; } .form-group:last-child { border-bottom: 0; } .form-group label { font-weight: bold; display: block; margin-bottom: 8px; font-size: 18px; } .form-group input[type="text"], .form-group textarea { width: 100%; padding: 10px; font-size: 1em; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; } .form-group .options { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; align-items: center; } .form-group .options label { display: flex; align-items: center; background: #f9f9f9; border: 1px solid #ddd; border-radius: 20px; padding: 8px 15px; cursor: pointer; font-size: 15px; font-weight: normal; margin-bottom: 0; } .form-group .options input[type="radio"], .form-group .options input[type="checkbox"] { margin-right: 8px; } .form-group .sub-text { font-size: 0.9em; color: #666; margin-top: 5px; } .well3 { border: 1px solid #ddd; padding: 20px; border-radius: 8px; margin-top: 20px; background-color: #f5f5f5; } /* --- 버튼 스타일 --- */ .btn-group { text-align: center; margin-top: 40px; } .btn-group button { padding: 12px 30px; font-size: 16px; margin: 0 10px; border: none; border-radius: 6px; cursor: pointer; transition: opacity 0.3s; } .btn-group button[type="submit"] { background-color: #1c6a2f; color: white; } .btn-group button[type="button"] { background-color: #666; color: white; } .btn-group button:hover { opacity: 0.9; } /* ========================================================================== 반응형 스타일 (Responsive Style) ========================================================================== */ @media screen and (max-width: 992px) { .sub-visual .inner h2 { font-size: 32px; } .sub-title h2 { font-size: 28px; } #container { padding: 60px 15px; } } @media screen and (max-width: 768px) { .sub-visual { height: 200px; } .sub-visual .inner h2 { font-size: 28px; } .lnb .swiper-wrapper { justify-content: flex-start; /* 모바일에서는 왼쪽부터 정렬 */ } .lnb .swiper-slide a { padding: 15px 20px; font-size: 15px; } .greetings .heading .txt .t2 { font-size: 18px; } .link-group { flex-direction: column; gap: 20px; } .link-group .col { text-align: center; } .form-group .options { flex-direction: column; align-items: flex-start; } }