/* === FIXED main_visual_section module.css === */ .main-visual-module { display: flex; gap: 0; /* 간격 제거 */ background-color: #f8f8f8; border-radius: 12px; overflow: hidden; box-shadow: 0 5px 20px rgba(0,0,0,0.05); /* height는 JS에서 동적으로 설정 */ } .main-visual-left { flex: 2; /* 레퍼런스 비율 */ position: relative; overflow: hidden; height: 100%; } .main-visual-left .content-group { position: absolute; inset: 0; display: none; } .main-visual-left .content-group.active { display: block; } .main-visual-left [class^="headmain-slider-"] { position: relative !important; width: 100%; height: 100%; } .main-visual-left [class^="headmain-slider-"] .main_visual { position: absolute; inset: 0; } .main-visual-left .headmain_wrap { position: relative; width: 100%; height: 100%; display: none; } .main-visual-left .headmain-slider { width: 100%; height: 100%; } .main-visual-left .main_visual { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: none; } .main-visual-left .main_visual:first-child { display: block; } .main-visual-left .main_visual a { display: block; position: relative; width: 100%; height: 100%; text-decoration: none; color: inherit; } .main-visual-left .visual_img_con { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } .main-visual-left .visual_img_con img { width: 100%; height: 100%; object-fit: cover; } .main-visual-left .main_title { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 2; padding: 20px; background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%); color: #fff; } .main-visual-left .main_title .line2 { display: block; font-size: 1.5rem; font-weight: 700; line-height: 1.4; max-height: 2.8em; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .main-visual-left .btn_left, .main-visual-left .btn_right { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.5); border: none; color: #fff; padding: 10px; cursor: pointer; z-index: 10; font-size: 1.5rem; width: 40px; height: 60px; display: flex; justify-content: center; } .main-visual-left .btn_left { left: 0; border-radius: 0 5px 5px 0; } .main-visual-left .btn_right { right: 0; border-radius: 5px 0 0 5px; } .main-visual-left .content-list-static-inner { width: 100%; height: 100%; padding: 20px; overflow-y: auto; } .main-visual-left .content-list-static-inner ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; height: 100%; } .main-visual-left .content-list-static-inner li { flex: 1; margin-bottom: 0; padding-bottom: 0; border-bottom: 1px dashed #eee; overflow: hidden; } .main-visual-left .content-list-static-inner li:last-child { border-bottom: none; } .main-visual-left .content-list-static-inner li a { display: flex; text-decoration: none; color: inherit; height: 100%; padding: 5px 0; } .main-visual-left .content-list-static-inner .content-list-thumb { flex-shrink: 0; width: 25%; height: 100%; overflow: hidden; border-radius: 5px; margin-left: 15px; order: 2; } .main-visual-left .content-list-static-inner .content-list-thumb img { width: 100%; height: 100%; object-fit: cover; } .main-visual-left .content-list-static-inner .content-list-summary { flex: 3; order: 1; padding-right: 15px; } .main-visual-left .content-list-static-inner .content-list-summary h3 { font-size: 1.1rem; font-weight: 700; line-height: 1.3; margin-bottom: 3px; color: #222; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .main-visual-right { flex: 1; background-color: #fff; border-left: 1px solid #eee; padding: 0; position: relative; } .main-visual-right .menu-list { list-style: none; padding: 0; margin: 0; height: 100%; overflow: hidden; position: relative; display: flex; flex-direction: column; } .main-visual-right .menu-list.static-menu { overflow: visible; height: auto; } .main-visual-right .menu-item { display: flex; align-items: center; } .main-visual-right .menu-item a { display: block; padding: 18px 25px; text-decoration: none; color: #555; font-size: 1.1rem; font-weight: 500; transition: background-color 0.3s ease, color 0.3s ease; border-left: 5px solid transparent; width: 100%; } .main-visual-right .menu-item.active a { background-color: #e0f2f7; color: #0056b3; font-weight: 700; border-left-color: #0056b3; } .main-visual-right .menu-item a:hover:not(.active) { background-color: #f0f0f0; color: #333; border-left-color: #ccc; } @media (max-width: 1024px) { .main-visual-module { flex-direction: column-reverse; min-height: auto; } .main-visual-left { height: auto; min-height: 300px; } .main-visual-left .main_title .line2 { font-size: 1.2rem; } .main-visual-right { border-left: none; border-bottom: 1px solid #eee; height: auto; } .main-visual-right .menu-list { height: auto; flex-direction: row; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; } .main-visual-right .menu-item { height: auto; flex-shrink: 0; width: 20%; } .main-visual-right .menu-item a { padding: 8px 15px; /* 💡 [최종 수정] 세로 패딩을 줄여 높이를 약 30px로 맞춤 */ font-size: 0.8rem; /* 💡 [최종 수정] 폰트 크기 조정 */ border-left: none; border-bottom: 3px solid transparent; text-align: center; } .main-visual-right .menu-item.active a { border-left-color: transparent; border-bottom-color: #0056b3; } } @media (max-width: 1024px) { .main-visual-module { min-height: auto !important; height: auto !important; } .main-visual-right { height: auto !important; } .main-visual-right .menu-list { height: auto !important; min-height: unset !important; overflow-x: auto; overflow-y: hidden; } .main-visual-right .menu-item { flex: 0 0 auto; width: auto; } }