        .gallery-container {
            width: 100%;
            max-width: 900px;
            background-color: #fff;
            border-radius: 12px;
            overflow: hidden;
            display: flex;
            flex-wrap: wrap; /* 반응형을 위해 추가 */
            min-height: 400px; /* 갤러리 최소 높이 지정 */
			margin-bottom:20px;
        }

        .gallery-main-image {
            flex: 1 1 50%; /* 왼쪽 50% */
            min-width: 300px; /* 작은 화면에서 너무 작아지지 않게 */
            position: relative;
            padding-bottom: 50%; /* 1:1 비율 유지 */
            overflow: hidden;
            border-right: none; /* 구분선 */
        }

        .gallery-main-image img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover; /* 이미지가 잘리지 않고 비율에 맞게 채워지도록 */
            border-top-left-radius: 12px;
            border-bottom-left-radius: 12px;
            transition: transform 0.3s ease;
        }

        .gallery-main-image img:hover {
            transform: scale(1.05);
        }

        .gallery-main-image .image-description {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            min-height: 20%; /* 내용에 따라 높이 조절되도록 최소 높이 지정 */
            background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%); /* 하단에서 상단으로 그라디언트 적용 */
            color: #fff;
            font-size: 0.95em;
            line-height: 1.4;
            padding: 15px; /* 내부 여백 */
            box-sizing: border-box; /* 패딩이 너비/높이에 포함되도록 */
            display: flex; /* 텍스트 정렬을 위함 */
            align-items: flex-end; /* 텍스트를 바닥에 정렬 */
            justify-content: flex-start; /* 텍스트를 좌측에 정렬 */
            text-align: left; /* 텍스트 좌측 정렬 */
            border-bottom-left-radius: inherit; /* 부모 .image-visual-area의 radius 상속 */
            border-bottom-right-radius: 0; /* 우측은 라운딩 제거 (오버레이라 의미 없을 수 있음) */
            z-index: 2; /* 이미지 위에 오도록 */
        }

        .gallery-sub-images {
            flex: 1 1 50%; /* 오른쪽 50% */
            min-width: 300px; /* 작은 화면에서 너무 작아지지 않게 */
            display: grid;
            grid-template-columns: repeat(2, 1fr); /* 2x2 그리드 */
            grid-template-rows: repeat(2, 1fr);
            gap: 0px;
            padding: 0px;
            box-sizing: border-box;
        }

        .sub-image-item {
            position: relative;
            padding-bottom: 100%; /* 1:1 비율 유지 */
            overflow: hidden;
            border-radius: 0px;
        }

        .sub-image-item img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 0px;
            transition: transform 0.3s ease;
        }

        .sub-image-item img:hover {
            transform: scale(1.05);
        }

        .plus-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            color: #fff;
            font-size: 2em;
            font-weight: bold;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 0px;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }

        .plus-overlay:hover {
            background-color: rgba(0, 0, 0, 0.7);
        }

        /* 모바일 반응형 */
        @media (max-width: 768px) {
            .gallery-container {
                flex-direction: column;
                border-radius: 0; /* 모바일에서 전체 화면 사용 시 */
                box-shadow: none;
                width: 100%;
                padding: 0;
				height: 300px;
	            min-height: 300px; /* 갤러리 최소 높이 지정 */
            }

            .gallery-main-image {
                flex: none; /* flexgrow를 없앰 */
                width: 100%;
                height: 200px; /* 상단 60% */
                padding-bottom: 0; /* padding-bottom 기반 비율 제거 */
                border-right: none;
                border-bottom: 1px solid #eee;
                border-top-left-radius: 0;
                border-top-right-radius: 0;
            }
            .gallery-main-image img {
                border-top-left-radius: 0;
                border-top-right-radius: 0;
            }

            .gallery-sub-images {
                flex: none; /* flexgrow를 없앰 */
                width: calc(25% - 10px);
                height: auto;
                min-width: unset; /* unset으로 최소값 제한 해제 */
                padding: 0px; /* 내부 여백 유지 */
            }
		}

        /* 모바일 반응형 */
        @media (max-width: 480px) {

            .gallery-container {
                border-radius: 10px; /* 모바일에서 전체 화면 사용 시 */
	            overflow: hidden;
                box-shadow: none;
                width: 100%;
                padding: 0;
				height: 280px;
	            min-height: 280px; /* 갤러리 최소 높이 지정 */
            }

            .gallery-main-image {
                flex: none; /* flexgrow를 없앰 */
                width: 100%;
                height: 70%; /* 상단 60% */
                padding-bottom: 0; /* padding-bottom 기반 비율 제거 */
                border-right: none;
                border-bottom: none;
                border-radius: 0;
            }
            .gallery-main-image img {
                border-radius: 0;
            }

			.gallery-sub-images {
				flex: none; /* 오른쪽 50% */
				min-width: 100%; /* 작은 화면에서 너무 작아지지 않게 */
				display: grid;
				grid-template-columns: repeat(4, 1fr); /* 2x2 그리드 */
				grid-template-rows: repeat(1, 1fr);
				gap: 0px;
				padding: 0px;
				box-sizing: border-box;
                height: 30%; /* 상단 60% */
			}

			.plus-overlay {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 90%;
				background-color: rgba(0, 0, 0, 0.5);
				color: #fff;
				font-size: 1.1em;
				font-weight: bold;
				display: flex;
				justify-content: center;
				align-items: center;
				border-radius: 0px;
				cursor: pointer;
				transition: background-color 0.3s ease;
			}

		}