@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css'); /* 공통 */ .main-container { width: 100%; overflow: hidden; } .container { max-width: 1600px; margin: 0 auto; padding: 0 15px; box-sizing: border-box; } .section-title { text-align: center; margin-bottom: 50px; } .section-title h3 { font-size: 32px; font-weight: 700; color: #333; margin-bottom: 15px; position: relative; display: inline-block; } .section-title h3::after { content: ''; display: block; width: 40px; height: 2px; background: #0054a6; margin: 15px auto 0; } .section-title p { font-size: 16px; color: #666; } /* 1. 메인 비주얼 */ .main-visual { width: 100%; height: auto; /* 슬라이드 높이 증가 */ position: relative; padding-top: 190px; /* 헤더 높이만큼 상단 여백 추가 */ box-sizing: border-box; /* 패딩을 높이에 포함 */ } .visual-slider, .swiper-wrapper, .swiper-slide { height: 100%; } .visual-link { display: block; width: 100%; height: 100%; position: relative; } .visual-img { width: 100%; height: 100%; background-size: cover; background-position: center; position: absolute; top: 0; left: 0; z-index: 1; } /* 텍스트 레이어 */ .visual-layer-wrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; /* 수직 중앙 정렬 */ z-index: 2; box-sizing: border-box; text-align: center; color: #fff; text-shadow: 2px 2px 8px rgba(0,0,0,0.5); } .visual-title { font-size: 48px; font-weight: 700; color: #ffd200; margin: 0; } .visual-divider { display: block; width: 50px; height: 2px; background-color: rgba(255, 255, 255, 0.5); margin: 30px auto; } .visual-subtitle { font-size: 24px; font-weight: 500; line-height: 1.6; margin: 0; } /* Swiper 네비게이션 버튼 스타일 */ .main-visual .swiper-button-next, .main-visual .swiper-button-prev { width: 70px; height: 70px; background-color: rgba(0, 0, 0, 0.1); border-radius: 50%; color: #fff; transition: background-color 0.3s; position: absolute; /* Swiper 기본 스타일 오버라이드 */ top: calc(50% + 45px); /* 90px(padding-top)의 절반만큼 아래로 이동 */ transform: translateY(-50%); z-index: 10; display: flex; justify-content: center; align-items: center; cursor: pointer; } .main-visual .swiper-button-prev { left: 20px; } .main-visual .swiper-button-next { right: 20px; } .main-visual .swiper-button-next:hover, .main-visual .swiper-button-prev:hover { background-color: rgba(0, 0, 0, 0.5); } .main-visual .swiper-button-next:after, .main-visual .swiper-button-prev:after { font-size: 20px; } /* 썸네일 미리보기 스타일 */ .main-visual .swiper-button-prev .thumb-wrapper, .main-visual .swiper-button-next .thumb-wrapper { position: absolute; top: 0; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; opacity: 0; transform: scale(0); transition: all 0.3s ease; pointer-events: none; /* 썸네일 위로 마우스가 올라가도 버튼 hover 상태 유지 */ } .main-visual .swiper-button-prev:hover .thumb-wrapper, .main-visual .swiper-button-next:hover .thumb-wrapper { opacity: 1; transform: scale(1); } .main-visual .swiper-button-prev .thumb-wrapper { left: -110px; /* 버튼 왼쪽에 썸네일 표시 */ } .main-visual .swiper-button-next .thumb-wrapper { right: -110px; /* 버튼 오른쪽에 썸네일 표시 */ } .main-visual .swiper-button-prev .thumb, .main-visual .swiper-button-next .thumb { width: 100px; /* 썸네일 크기 */ height: 100px; background-size: cover; background-position: center; border-radius: 50%; position: absolute; top: 50%; transform: translateY(-50%); border: 2px solid rgba(255, 255, 255, 0.8); } .main-visual .swiper-button-prev .thumb { left: 0; } .main-visual .swiper-button-next .thumb { right: 0; } /* 기본 초기화 및 폰트 */ /* 폰트 및 초기화 */ #eklim_main_wrap { font-family: 'Pretendard', 'Apple SD Gothic Neo', sans-serif; letter-spacing: -0.05em; line-height: 1.2; } /* 상단 유틸 (기획안 우측 상단 소형 글자) */ .top_util_bar { background: #fff; border-bottom: 1px solid #f0f0f0; } .top_util_bar .inner { max-width: 1600px; margin: 0 auto; text-align: right; padding: 10px 20px; } .top_util_bar a { font-size: 12px; color: #888; text-decoration: none; margin-left: 15px; } /* [추가] 공정(Process) 섹션 및 레이아웃 그리드 스타일 */ .process-section { padding: 60px 0; background: #f8f9fa; } .layout-main-content1 { width: 100%; } .layout-row { display: flex; flex-wrap: nowrap; gap: 20px; margin-bottom: 20px; } .layout-row:last-child { margin-bottom: 0; } .layout-col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 20px; } .layout-inner-row { flex: 1; min-height: 100px; background: #fff; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); padding: 20px; transition: transform 0.3s ease, box-shadow 0.3s ease; } .layout-inner-row:hover { transform: translateY(-5px); box-shadow: 0 8px 24px rgba(0,0,0,0.1); } /* 애니메이션 */ .animate-in { animation: fadeInUp 0.6s ease-out forwards; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }