@charset "UTF-8";

/* 기본 색상 */
:root {
	--main-color: #000000;
	--accent-color: #ce0026;
	--dark-main-color: #000000;
	--text-bright-color: #fff;
	--icon-color: #fff;
	--icon-bk-color: #ce0026;
	--gray-color: #565656;
	--large-width: 1000px;
	--middle-width: 800px;
}


/* 기본 설정: 폰트 크기 */
@media (max-width: 599px) {
	:root {
		font-size: 14px;
	}
}

@media (min-width: 600px) and (max-width: 799px) {
	:root {
		font-size: 16px;
	}
}

@media (min-width: 800px) {
	:root {
		font-size: 18px;
	}
}

body {font-size: 16px;
}


/* 기본 설정: 페이지 전체 */
body {
	margin: 0;
	font-family: '맑은 고딕',
		'Apple SD Gothic Neo','sans-serif';
}


/* 모바일 기본 conA 스타일 */
.conA {
    position: relative;
    height: 100vh;
    overflow: hidden; /* 비디오가 영역 넘지 않게 */
    background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.1)), url(img/main.jpg);
    background-position: center right;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #ffffff;
    padding-left: 9vw;
    padding-right: 5vw;
}

/* 모바일 텍스트 */
.mobile-text h1 {
    margin: 0 0 0.3em 0;
    letter-spacing: 5px;
    font-size: 15vw;
    color: #ffffff;
}

.mobile-text p {
    margin: 0;
    font-size: 18px;
    color: #ffffff;
}

.sub-text span {
    margin-right: 50px;
    color: #c2c2c2;
    font-size: 14px;
}

/* PC 비디오: 모바일에서는 숨김 */
.pc-video {
    display: none;
}


@media (min-width: 768px) {

    /* PC에서는 배경이미지 제거 */
    .conA {
        background: none;
        padding: 0;
        position: relative;
        overflow: hidden;
    }

    /* 모바일 텍스트 숨김 */
    .mobile-text {
        display: none;
    }

    /* PC에서 비디오 표시 */
    .pc-video {
        display: block;
        position: absolute;
        top: 0;
        left: 0;

        width: 100%;
        height: 100%;
        object-fit: cover; /* 비디오가 꽉 차도록 */

        z-index: -1; /* 뒤로 보내기 */
    }
}



/* Mobile size - 콘텐츠B: 개요(icon+text)*/
.conB .container {
	padding-top: 80px;
	padding-bottom: 20px;
}
.conB .text {
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 60px;
	text-align: center;
}

.conB h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
}

.conB p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.8;
	opacity: 0.8;
}

.conB a {
	color: #b3b3b3;
	color: var(--main-color);
	text-decoration: none;
}

.conB a:hover {
	text-decoration: underline;
}

.conB i {
	font-size: 50px;
	color: #363636;
	margin-bottom: 10px;
	transform: scale(0.98);
	transition: 0.3s;
}

.conB i:hover{
	transform: scale(1.2);
}


/* pc - 콘텐츠B: 개요(아이콘+글자) [width=768px]를 기준으로*/
@media (min-width: 768px) {
	.conB .container {
		display: flex;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}

	.conB .text {
		flex: 1;
	}
}


/* Mobile size - 콘텐츠c: 개요(이미지+글자)*/
.conC {
	background-color: #66CBE5;
	background-color: var(--main-color);
	color: #fff; 
	color: var(--text-bright-color);
	margin-bottom: 80px;
}

.conC .text {
	padding: 20px;
}

.conC h2{
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
}

.conC p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.8;
	opacity: 0.8;
}

.conC a {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 20px;
	background-color: #B2A83D;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 14px;
	text-decoration: none;
}

.conC a:hover {
	background-image: linear-gradient(rgba(255,255,255,0.2), rgba(255,255,255,0.2));
}

.conC .photo{
	min-height: 200px;
	background-image: url(img/art.jpg);
	background-position: center;
	background-size: cover;
}


/* pc - 콘텐츠C: 개요(이미지+글자) [width=768px]를 기준으로*/
@media (min-width: 768px) {
	.conC .container {
		display: flex;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 80px;
	}
	
	.conC .photo {
		flex: 3;
	}

	.conC .text {
		flex: 2;
		padding: 50px;
	}
}


/* Mobile size - 콘텐츠D: 개요(글자+이미지)*/
.conD .container {
	padding-top: 2px;
 
}

.conD .text {
	padding: 20px;
}

.conD h2{
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
}

.conD p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.8;
	opacity: 0.8;
}

.conD a {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	box-shadow: 0 0 0 1px #888;
	border: solid 3px currentColor;
	border-radius: 20px;
	background-color: #B2A83D;
	background-color: var(--dark-main-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 14px;
	text-decoration: none;
}

.conD a:hover {
	background-image: linear-gradient(rgba(255,255,255,0.2), rgba(255,255,255,0.2));
	background-color: var(--accent-color);
}

.conD .photo{
	min-height: 200px;
	background-image: url(img/h.jpg);
	background-position: center;
	background-size: cover;
}

.conD hr {
    background: var(--dark-main-color);
    height: 2px;
    border: 0;
    width: 360px; 
    margin: 0 auto; 
	margin-bottom: 40px;
}


/* pc - 콘텐츠D: 개요(글자+이미지) [width=768px]를 기준으로*/
@media (min-width: 768px) {
	.conD .container {
		display: flex;
		flex-direction: row-reverse;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	
	.conD .photo {
		flex: 0 0 400px;
	}

	.conD .text {
		flex: 1;
		padding: 50px;
	}
}


/* Mobile size - 콘텐츠E: 개요(글자+이미지)*/
.conE {
	margin-top: 60px; /* 헤더와의 간격 추가 */
}

.conE .container {
	padding-top: 2px;
}

.conE .text {
	padding: 20px;
}

.history h1 {
	font-size: 2rem;
	text-align: center;
}


/*어바웃 페이지 소개*/
.conE h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 28px;
}

.conE p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.8;
	opacity: 0.8;
}

.conE .photo {
	min-height: 500px;
	background-image: url(img/lie_abou.jpg);
	background-position: center;
	background-size: cover;
	margin-bottom: 30px; /*밑 섹션과 넓이 수정*/
}

.conE h1 {
	font-size: 2rem;
	text-align: center;
}

.conE hr {
    background: var(--dark-main-color);
    height: 2px;
    border: 0;
    width: 360px; 
    margin: 0 auto; 
	margin-bottom: 40px;
}

/* pc - 콘텐츠E: 개요(글자+이미지) [width=768px]를 기준으로*/
@media (min-width: 768px) {
	.conE {
		margin-top: 80px; 
	}

	.conE .container {
		display: flex;
		flex-direction: row-reverse;
		max-width: 1000px;
		max-width: var(--large-width);
		margin: 30px auto;
		padding-top: Spx;
		padding-bottom: 40px;
	}
	
	.conE .photo {
		flex: 0 0 400px;
	}

	.conE .text {
		flex: 1;
		padding: 50px;
	}
}

.history hr {
	background: var(--dark-main-color);
    height: 2px;
    border: 0;
	margin: 0 360px;
}


/*conF: 비디오*/
.conF {
	background-color: var(--main-color);
	color: var(--text-bright-color);
    color: #fff;
    color: var(--text-bright-color);
}

.conF video {
	width: 100%;
	position: center;
}

/*PC-pptx: 개요(image+text) [width=768px]를 기준으로*/
@media(min-width: 768px) {
    .pptx .container {
        display: block;
        width: 1500px;
        margin-left: auto;
        margin-right: auto;
    }
}



/* Mobile size - 콘텐츠G: 개요(글자+이미지)*/
.conG {
	margin-top: 60px; /* 헤더와의 간격 추가 */
	margin-bottom: 160px;
}

.conG .container {
	padding-top: 2px;
}

.conG .text {
	padding: 20px;
}


/*news 페이지*/
.conG h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 28px;
}

.conG p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.8;
	opacity: 0.8;
}

.conG .photo {
	min-height: 500px;
	background-image: url(img/news\ brand.jpg);
	background-position: center;
	background-size: cover;
	margin-bottom: 30px; /*밑 섹션과 넓이 수정*/
}

.conG  h1 {
	font-size: 2rem;
	text-align: center;
	padding-top: 40px;
}

.conG hr {
    background: var(--dark-main-color);
    height: 2px;
    border: 0;
    width: 360px; 
    margin: 0 auto; 
	margin-bottom: 40px;
}

/* pc - 콘텐츠E: 개요(글자+이미지) [width=768px]를 기준으로*/
@media (min-width: 768px) {
    .conG {
        margin-top: 80px; 
    }

    .conG .container {
        display: flex;
        flex-direction: row;     
        max-width: 1000px;
        max-width: var(--large-width);
        margin: 30px auto;
        padding-top: Spx;
    }
    
    .conG .photo {
        flex: 0 0 400px;
    }

    .conG .text {
        flex: 1; 
        padding: 50px;
    }
}


/*footer 푸터*/
footer, .footer-wrapper {
    margin-top: -30px;
    padding-top: 0;
}

footer {
    color: #888;
    /*color: var(--text-bright-color);*/
    background-color: var(--dark-main-color);
}


footer .container {
    padding: 40px 20px;
    display: flex;
    flex-direction: column; 
    align-items: center;
    text-align: center;
}


/*PC - footer: 구조 레이아웃 [width=768]를 기준으로*/
@media (min-width: 768px) {
    footer .container {
        max-width: 1000px;
        max-width: var(--large-width);
        margin-left: auto;
        margin-right: auto;
    }

    /* .footA의 PC 중앙 정렬 설정 */
    .footA {
        display: flex; 
        flex-direction: column; 
        align-items: center; 
        width: 100%; 
        margin-bottom: 20px; 
		
    }
    
    .footC{
        flex: 0 0 100%; 
    }
}


/*푸터A: 사이트 정보*/
.footA {
    margin: 30px 0;
}

.footA h2 {
    margin-top: 0;
    margin-bottom: 5px; 
    font-family: 'Montserrat', sans-serif; 
    font-size: 30px;
    letter-spacing: 0.1em; color:#ccc;
}

.footA p {
    margin-top: 0;
    margin-bottom: 15px; 
    font-size: 14px;
}

.footA a {
    color:inherit;
    text-decoration: none;
}


/*footer B: 푸터 메뉴(모바일)*/
.footB div {
    margin-bottom: 20px; 
}

.footB ul {
    display: flex; 
    justify-content: center; gap: 10px; 
    margin: 0;
    padding: 0;
    list-style: none;
}

.footB a {
    display: flex; 
    justify-content: center;
    align-items: center;
    width: 30px; 
    height: 30px; 
    padding: 0; 
    color: inherit;
    font-size: 18px; 
    text-decoration: none;
    border: 2px solid currentColor; 
    border-radius: 50%; 
}

.footB a:hover {
    background-color: rgba(255,255,255,0.3); color: #000;
}


/*푸터C: 저작권*/
.footC {
    font-size: 12px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
}


/*푸터 D: SNS 메뉴*/
.footD {
    margin-top: 20px; 
}

.footD ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footD a {
    display: block;
    margin-right: 8px;
    padding: 0;
    color: inherit;
    font-size: 16px;
    text-decoration: none;
    border: solid 1px currentColor;
    width: 2em;
    line-height: 2em;
    border-radius: 50%;
    text-align: center;
}

.footD a:hover {
    background-color: rgba(0,0,0,0.3);
}


/*header 헤더*/
header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.9);
}

.nohero header {
	position: static;
	border-bottom: solid 1px #ddd;
	border-bottom: solid 1px var(--dark-main-color);
}

.headA {
	display: inline-block;
	line-height: 70px;
	padding: 0;
	color: #fff;
	color: var(--text-bright-color);
	font-family: 'Montserrat',sans-serif;
	font-size: 24px;
	text-decoration: none;
}

.headA img {
	height: 70px;
	width: auto;
	display: block;
}


/*headerB:네비게이션 메뉴*/
.headB ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.headB a {
	display: block;
	padding: 15px;
	color: inherit;
	font-size: 12px;
	text-decoration: none;
	color: #fff;
}

.headB a:hover {
	background-color: rgba(255, 0, 0, 0.3);
}


/*headerB PC*/
@media (min-width:768px) {
	header .container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		max-width: 1000px; /*지워도 된다*/
		max-width: var(--large-width);
		margin: 0 auto;
	}
	.headB ul{
		display: flex;
	}
}


/*headerC: 토굴버튼*/
@media(max-width:767px) {
	header .container-small {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.headC {
		margin-right: 10px;
		padding: 0;
		border: none;
		outline: none;
		background: none;
		font-size: 20px;
		opacity: 0.5;
		cursor: pointer;
		color: #fff;
	}

	.headC:hover {
		opacity: 0.3;
	}

	.headB {
		display: none;
	}
}


@media (min-width:768px){
	/*PC화면 전용 설정*/
	.headC {
		display: none;
	}

	.headB {
		display: block !important;
	}
}


/*소개 페이지: 이미지와 연혁*/
.history {
	color: #000000;
	margin-bottom: 90px;
}

.history .text {
	padding: 20px;
}

.history h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.5rem;
}

.history .photo {
	min-height: 300px; /*~500px min-height 최소한 보여지는 영역 수정해도 괜찮음*/
	background-image: url(img/plant.jpg);
	background-position: center;
	background-size: cover;
}

.history table {
	border-collapse: collapse;
	border-top: solid 1px #ddd;
	border-top: solid 1px var(--gray-color);
	font-size: 0.875rem;
	width: 100%;
}

.history th, .history td {
	padding-top: 1.8rem;
	padding-bottom: 1.8rem;
	border-bottom: solid 1px #ddd;
	border-bottom: solid 1px var(--gray-color);
}

.history th {
	padding-right: 1rem;
	text-align: start;
	word-break: keep-all;
}

.history-top {   /* <- 상단 얕은 이미지 배너 */
	width: 100%;
	height: 180px; /* 세로가 얕은 형태 */
	background-image: url('img/history_img.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	margin-bottom: 40px; /* 아래 내용과 간격 */
}

@media (min-width: 768px) {
	.history .container {
		display: flex;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}
	
	.history .photo {
		flex: 3;
		
	}

	.history .text {
		flex: 2;
		padding: 50px;
	}
}


/*인덱스 Runway 소개*/
.listA h1 {
	font-size: 2rem;
	text-align: center;
}

.listA .container {
	display: flex;
	flex-wrap: wrap;
	max-width: var(--large-width, 1000px);
	margin: 30px auto;
}

.listA article {
	flex: 1 1 300px;
	display: flex;
}

.listA a {
	flex: 1;
	position: relative;
	display: block;
	margin: 10px;
	border: solid 1px #ddd;
	color: inherit;
	text-decoration: none;
	overflow: hidden;
	box-sizing: border-box;
}

.listA a:hover {
	background-color: transparent;
	color: inherit;
}

.listA .photo {
	min-height: 500px;
	background-position: center;
	background-size: cover;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.5s ease;
	overflow: hidden;
}

.listA .photo::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0); /* 초기엔 투명 */
	backdrop-filter: blur(0px);
	transition: all 0.5s ease;
	z-index: 1; /* 이미지 위, 텍스트 아래 */
}

.listA .overlay { /* <- 오버레이 (텍스트만) */
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2; /* blur 위에 표시됨 */
	pointer-events: none; /* hover 방해 X */
}

.listA .overlay p {  /*  <- 오버레이 안의 텍스트 */
	color: #fff;
	font-size: 1.5rem;
	font-weight: 500;
	text-align: center;
	opacity: 0;
	transform: translateY(15px);
	transition: all 0.5s ease;
}

.listA a:hover .photo::before {
	background-color: rgba(0, 0, 0, 0.45);
	backdrop-filter: blur(3px);
}

.listA a:hover .overlay p {
	opacity: 1;
	transform: translateY(0);
}

.listA .more-btn-wrap {
	width: 100%;
	text-align: center;
	margin-top: 20px;
	margin-bottom: 120px;
}

.listA .more-btn {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	box-shadow: 0 0 0 1px #888;
	border: solid 3px currentColor;
	border-radius: 20px;
	background-color: var(--dark-main-color, #B2A83D);
	color: var(--text-bright-color, #fff);
	font-size: 14px;
	text-decoration: none;
}

.listA .more-btn:hover {
	background-image: linear-gradient(rgba(255,255,255,0.2), rgba(255,255,255,0.2));
	background-color: var(--accent-color, #a89c32);
	color: #fff;
}

.listA hr {
    background: var(--dark-main-color);
    height: 2px;
    border: 0;
    width: 360px; 
    margin: 0 auto; 
}


/*뉴스 런웨이 소개*/
.listB{
	margin-top: 140px;
}

.listB h1 {
	font-size: 2rem;
	text-align: center;
}

.listB .container {
	display: flex; 
    max-width: 1000px;
    margin: 30px auto;
}

.listB .column {
    display: flex;
    flex-direction: column;
    padding: 0 10px 10px 10px;
	flex: 1;
}

.listB .column.left,
.listB .column.right {
    gap: 10px;
}

.listB .column.center {
    flex: 2;
}

.listB article {
	width: 100%;
    flex: 1;
}

.listB a {
	flex: 1;
    flex-direction: column;
    margin: 0;
    display: flex;
    border: none;
    color: inherit;
    text-decoration: none;
}

.listB article.large .photo {
    min-height: 680px; 
}

/* 좌우 이미지(p01, p02, p04, p05)를 위한 스타일 */
.listB article .photo {
    min-height: 308px; 
}

.listB a:hover {
	background-color: var(--main-color, #000); 
    color: #fff;
}

.listB .photo {
	flex: 1; 
    min-height: 0; 
    width: 100%;
    background-position: center; 
    background-size: cover;
}


.listB .text {
    flex: 0 0 auto;
    width: 100%;
    border: none; 
}

.listB h2 {
    font-size: 18px;
    text-align: center; 
}

.listB hr{
	background: var(--dark-main-color);
    height: 2px;
    border: 0;
    width: 360px; 
    margin: 0 auto; 

}


/*뉴스 런웨이 - 모바일에서*/
@media (max-width: 767px) {
    .listB .container {
        flex-direction: column;
        padding: 0 10px; 
    }

    .listB .column {
        flex: none; 
        width: 100%; 
        padding: 0;
        gap: 10px; 
    }
    
    .listB .column:not(:last-child) {
        margin-bottom: 10px; 
    }

    .listB article.large .photo,
    .listB article .photo {
        min-height: 700px;
        height: auto;
    }
    
    .listB p {
        display: none;
    }
}


/*인덱스 뉴스*/
.listC {
	margin-bottom: 80px;
}

.listC h1 {
	font-size: 2rem;
	text-align: center;
}

.listC .container {
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	max-width: var(--large-width);
	margin: 30px auto; /*윗마진*/
}

.listC article {
	flex: 1 1 200px;
	display: flex;
}

.listC a {
	flex: 1;
	margin: 5px;
	display: block;
	border: solid 1px #ddd;
	border: solid 1px var(--gray-color);
	color: inherit;
	text-decoration: none;
}

.listC a:hover {
	/*opacity: 0.8;*/
	background-color: var(--main-color);
	color: #fff;
}

.listC .photo {
	min-height: 150px; /*사진 높이 길이 내 마음대로 수정 가능 최대 400px이 좋을 것 같음*/
	background-position: center; /*사진 기준을 center, bdttom, top 선택*/
	background-size: cover; 
}

.listC .text {
	margin: 10px;
}

.listC h2 {
	font-size: 16px;
}

.listC p {
	font-size: 12px;
	opacity: 0.8;
}

.listC hr {
    background: var(--dark-main-color);
    height: 2px;
    border: 0;
    width: 360px; 
    margin: 0 auto; 
}

.listC .more-btn-wrap {
	width: 100%;
	text-align: right;
	margin-top: 2px;
}

.listC .more-btn-wrap a {
	display: inline-block;
	padding: 0;
	font-size: 14px;
	color: inherit; 
	text-decoration: none;
	border: none;
	background: none; 
	transition: color 0.3s ease;
}

.listC .more-btn-wrap a:hover {
	color: var(--main-color);
	background: none;
	border: none;
}


/* 런웨이 부분의 sub배너 이미지 */
.conH.compact {
	margin-bottom: -30px;
	height: 50vh;
    padding: inherit;
	background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.1)), url(img/Runway_b.jpg);
}

.conH {
	display: flex;
	flex-direction: column; 
    align-items: center; 
	justify-content: flex-end;
	height: 100vh;
	min-height: 50px;
	background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.1)), url(img/main.jpg);
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
	color: #fff;
	color: var(--text-bright-color);
	text-align: left;
}

.conH .container {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.black-box-fixed h1 {
    display: block;
    font-size: 2em;
    font-weight: bold;
    unicode-bidi: isolate;
}

.black-box-fixed {
    width: 100%; 
    max-width: 1200px;
    height: 150px; 
    background-image: linear-gradient(rgba(0, 0, 0, 0.3),rgba(0, 0, 0, 0.9), #000000);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column; 
    align-items: center; 
    justify-content: flex-end;
    color: #ffffff; 
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.black-box-fixed hr {
    background: #ffffff;
    height: 2px;
    border: 0;
    margin-bottom: 40px; /* PC 마진 */
    width: 360px;
}

/* 모바일 */
@media (max-width: 768px) {
    .black-box-fixed {
        width: 100%; 
        height: 100px; 
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
    }
    
    .black-box-fixed h1 {
        font-size: 2rem;
        margin-bottom: 5px;
    }
    
    .black-box-fixed hr {
        margin-bottom: 20px; 
        margin-top: 10px; 
    }
    
    .conH.compact {
        margin-bottom: -30px; 
    }
}


/*런웨이*/
.listD {
    background-color: #000000;
    padding-top: 2px;
}

.listD h1 {
	font-size: 2rem;
	text-align: center;
    color: #ffffff;
}

.listD .container {
    display: flex;
    flex-wrap: wrap;
    max-width: 1000px; /* 또는 var(--large-width); */
    max-width: var(--large-width);
    margin: 30px auto;
}

.listD article {
	flex: 1 1 300px;
	display: flex;
}

.listD a {
	flex: 1;
	position: relative;
	display: block;
	margin: 10px;
	color: inherit;
	text-decoration: none;
	overflow: hidden;
	box-sizing: border-box; 
}

.listD a:hover {
	background-color: transparent;
	color: inherit;
}

.listD .photo {
	min-height: 500px;
	background-position: center;
	background-size: cover;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.5s ease;
}

.listD hr {
    background: #ffffff;
    height: 2px;
    border: 0;
    width: 360px; 
    margin: 0 auto; 
 	margin-bottom: 40px;
}

@media (max-width: 767px) {
    .list-wrapper {
        margin-top: 0; 
        max-width: 100%; 
    }

    .listD .container {
        padding: 0 15px; 
        max-width: 100%;
    }

    .listD article {
        flex: 1 1 100%; 
    }
    
    .listD a {
        margin: 10px 0;
        border: none; 
    }
    
    .listD .photo {
        min-height: 700px; 
    }
    
    .listD hr {
        width: 70%; 
    }
}


/*인덱스 3단 이미지(왼쪽1 / 오른쪽2)*/
.listE {
    width: 100%;
    text-align: center;
    margin: 80px 0;
	margin-bottom: 200px;
}

.listE h1 {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 20px;
}

.listE hr {
    background: var(--dark-main-color);
    height: 2px;
    border: 0;
    width: 360px; 
    margin: 0 auto; 
}

.listE .container {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    max-width: 1000px;
    margin: 40px auto;
    flex-wrap: wrap;
}

.listE .left-box {
    flex: 2;
    min-width: 400px;
}

.listE .right-box {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 300px;
}

.listE .photo {
    position: relative;
    background-size: cover;
    background-position: center;
    height: 100%;
    min-height: 350px;
    overflow: hidden;
    transition: transform 0.5s ease;
}

.listE .photo::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.45); 
    backdrop-filter: blur(2px); 
    transition: all 0.5s ease;
    z-index: 1;
}

.listE .overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    z-index: 2; /* 흐림/어두움 위에 표시 */
    padding: 20px;

    display: flex;
    flex-direction: column;
    align-items: center;     /* 수평 중앙 고정 */
    justify-content: center; /* 수직 중앙 고정 */
    width: 100%;             
    box-sizing: border-box;  
}

.listE .overlay-text h1 {
    margin: 0 auto;
    text-align: center;
}

.listE .overlay-text p {
    margin: 0 auto;
    text-align: center;
}

.listE a:hover .photo { /* <- hover 시 효과: 이미지만 확대되고 배경만 더 어두워짐 */
    transform: scale(1.03);
}

.listE a:hover .photo::before {
    backdrop-filter: blur(3px);
}

@media (max-width: 768px) {
    .listE .overlay-text {
        left: 50%;
        transform: translate(-50%, -50%);
        align-items: center;
        text-align: center;
    }

    .listE .overlay-text h1 {
        font-size: 1.3rem; /* 글자 크기 자동 조정 */
    }

    .listE .overlay-text p {
        font-size: 0.95rem;
        max-width: 90%;    /* 너무 길어질 때만 폭 제한 */
    }
}


/*뉴스 페이지 하단*/
.listF {
    width: 100%;
    text-align: center;
    margin: 80px 0;
	margin-bottom: 70px;
	margin-top: 140px;
}


.listF h1 {
	font-size: 2rem;
	text-align: center;
}

.listF hr {
    background: var(--dark-main-color);
    height: 2px;
    border: 0;
    width: 360px; 
    margin: 30px auto; 
}

.listF .container {
	display: flex;
	max-width: 1000px;
	margin: 30px auto;
	align-items: flex-start;
}

.listF .column {
    padding: 10px; 
    flex: 1;
}

.listF .column.left {
    flex: 2; 
}

.listF .column.right {
    flex: 1; 
    display: flex;
    flex-direction: column;
    gap: 20px; 
}

.listF article {
	width: 100%;
}

.listF article a {
    flex: 1;
    display: flex;
    color: inherit;
    text-decoration: none;
    margin: 0;
}

.listF a {
    flex: 1;
    margin: 0; 
    display: flex;
    border: none; 
    color: inherit;
    text-decoration: none;
}

.listF a:hover {
    background-color: var(--main-color);
    color: #fff;
}

.listF article.large a {
    flex-direction: column;
}

.listF article.large .photo {
    min-height: 380px;
    width: 100%; 
    flex: 1;
    background-position: center; 
    background-size: cover; 
}

.listF article.large .text {
    flex: 0 0 auto;
    padding: 20px; 
}

.listF .column.right article a {
    flex-direction: row; 
    align-items: center;
}

.listF .column.right .photo {
    flex: 1;
    min-height: 100px; 
    min-width: 100px;
    background-position: center; 
    background-size: cover; 
	min-height: 158px;
    min-width: 158px;
}

.listF .column.right .text {
    flex: 2;
    margin: 0;
    padding: 10px;
}

.listF h2 {
    font-size: 18px;
    margin: 5px 0;
    text-align: start;
}

.listF .column.right h2 {
    font-size: 16px;
}

.listF p {
	text-align: initial;
    font-size: 14px;
    opacity: 0.8;
}

.listF .column.right p {
    font-size: 12px;
}


/*너비가 600px이하의 미디어에서*/
@media (max-width: 768px) {

    .listF {
        padding: 0; 
    }

    .listF .container {
        flex-direction: column;
        width: 100%;
        max-width: none;
        margin: 0 auto;
        padding: 0 10px;
        box-sizing: border-box;
    }

    .listF .column {
        flex: none; 
        width: 100%;
        padding: 0;
        align-items: center;
    }

    .listF .column:not(:last-child) {
        margin-bottom: 20px;
    }

    .listF .column.right {
        gap: 0px;
    }

    .listF article,
    .listF article.large {
        width: 100%;
        margin: 0; 
        box-sizing: border-box;
    }

    .listF article:not(:last-child) {
        margin-bottom: 20px;
    }

    /* 이미지 크기 */
    .listF article.large .photo,
    .listF .column.right .photo,
    .listF article .photo {
        min-height: 250px;
        width: 100%;
    }

    /* 큰 article 텍스트 중앙 정렬 */
    .listF article.large .text {
        flex: 0 0 auto;
        padding: 20px 0;
        text-align: center;
    }

    .listF article.large h2,
    .listF article.large p {
        text-align: center;
    }

    /* 오른쪽 컬럼의 article도 모바일에서는 세로 정렬 */
    .listF .column.right article a {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .listF .column.right .text {
        text-align: center;
        padding: 10px 0;
    }

    .listF .column.right h2,
    .listF .column.right p {
        text-align: center;
    }
}

/* 비즈니스 부분의 sub배너 이미지 */
.banner-top {
    margin-bottom: 0;
    height: 40vh; 
    background-image: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.1)), url(img/business_b.jpg);
    background-size: cover;
    background-position: center;
}


/*about 페이지: post 작성*/
.post {
	margin-top: -280px; 
    padding-top: 280px;
	margin-bottom: 50px;
}

.post .container {
	max-width: var(--middle-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px 30px 10px;
    position: relative;
}

.left-content {
    padding-right: 400px; 
    margin-left: -150px;
}

.post h1 {
    padding-top: 60px;
    line-height: 30px;
    text-align: left;
    padding-left: 0; 
    font-size: 2rem;
    margin-top: 30px 0; 
}

.post p {
	font-size: 1rem;
	line-height: 2;    /*2; = 1rem의 2배*/
}

.right-image-area {
	position: absolute;
    top: -200px;
	right: 0; 
    bottom: 50px;  
    width: 300px; 
    min-width: 300px; 
    height: auto; 
    z-index: 10;
}

.post .photo.business-photo {
	width: 130%;
    height: 104%; 
    margin: auto -20px 0;
    background-position: center;
    background-size: cover;
    border-radius: 250px 250px 0 0; 
    box-sizing: border-box;
    border: solid #ffffff 12px;
}


.post .header-image-bg {
    display: block;
    width: 100%; 
    max-width: 600px; 
    height: 180px;
    margin: 0 auto 30px auto; 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: solid 2px red; 
    box-sizing: border-box;
}


/* post 모바일*/
@media(max-width: 768px) {
    .post {
        margin-top: 0;
        padding-top: 0;
    }

    .post .container {
        position: static;
        padding: 0 15px 30px 15px;
    }
    
    .left-content {
        padding-right: 0;
        margin-left: 0; 
        text-align: center; 
        padding-top: 20px; 
    }
    
    .post h1 {
        text-align: center;
        padding-top: 20px; 
        margin-top: 0; 
        margin-bottom: 10px;
    }
    
    .post p {
        text-align: center;
    }
    
    .contact-warp {
        justify-content: center;
        gap: 40px;
        margin-left: 0;
        display: flex;
    }

    .right-image-area {
        position: static;
        width: 100%;
        height: 300px;
        margin-top: 20px;
        right: auto;
        bottom: auto;
        display: flex;
        justify-content: center; 
        align-items: center; 
        padding: 0 15px;
        box-sizing: border-box;
    }

    .post .photo.business-photo {
        height: 300px;
        width:  100%; 
        max-width: none; 
        border-radius: 1px;
        margin: 0;
        border: none;
        box-sizing: border-box;
    } 
}


/*모바일 .contact-warp */
@media(max-width: 768px) {
    .contact {
        width: 140px; 
        padding-top: 15px;
        margin: 0;
        text-align: center;
    }

    .contact a,
    .contact a.phone-num {
        margin: 0 auto !important;
        transform: none !important;
    }
}

.business-area-wrapper {
    display: flex;
    align-items: flex-start; 
}

.contact {
    width: 160px; 
    text-align: center;
    padding-top: 50px;
}


.contact span {
    display: inline-block;
    margin-bottom: 10px; 
    font-size: 2.2rem;
    width: 2em;
    line-height: 2em;
    border-radius: 50%;
    text-align: center;
    background-color: var(--main-color);
    color: var(--icon-color);
}

.contact h2 {
    margin-top: 0;
    margin-bottom: 5px; 
    font-size: 1.2rem;
}

.contact a {
    font-size: 0.91rem;
    color: inherit;
    text-decoration: none;
    display: block; 
    width: fit-content; 
    margin: 0 auto; 
    transform: translateX(-20px); 
}

.contact-warp {
    margin-top: 20px;
    display: flex; 
    gap: 60px; 
    flex-wrap: nowrap;
    margin-left: -10px; 
}

.contact a.phone-num {
    transform: none;
    margin: 0 auto; 
}



/*방문 섹션*/
.contact-section {
	margin-top: 180px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 250px;
    display: flex; 
    width: 100%;
    min-height: 500px; 
    box-sizing: border-box;
}

.visit-form {
    flex: 1; 
    background-color: var(--dark-bg-color);
    color: var(--main-color); 
    padding: 40px 50px;
}

.visit-form h1 {
    font-size: 2rem;
    margin-top: 0;
    margin-bottom: 10px;
    text-align: left; 
}

.visit-form p {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 50px;
    text-align: left; 
}

.visit-data-form input[type="text"],
.visit-data-form input[type="email"],
.visit-data-form input[type="password"] {
    width: 100%;
    padding: 15px 10px;
    margin-bottom: 15px;
    border: none;
    background-color: rgba(255, 255, 255, 5); 
    color: var(--main-color);
	border-bottom: solid #000000;
    box-sizing: border-box; 
}

.visit-data-form input[type="submit"] {
    display: block;
    width: 100%;
    padding: 15px 10px;
    border: none;
    background-color: var(--accent-color);
    color: var(--text-bright-color);
    font-size: 1.1rem;
    cursor: pointer;
    border-radius: 5px;
    margin-top: 20px;
}

.location {
    flex: 1.2; 
    display: flex;
    flex-direction: column; 
    align-items: center; 
	margin-right: 0;
	margin-bottom: 80px;
    padding: 0 50px;
    box-sizing: border-box;
}

.location h2 {
	margin: 0;
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: var(--main-color);
	color: var(--text-bright-color);
	font-size: 1.5rem;
	text-align: center;
    width: 100%;
}

.location iframe {
    flex-grow: 1; 
    width: 100%; 
    max-width: 100%;
    height: 380px;
}

/* 모바일 반응형*/
@media (max-width: 768px) {
    .contact-section {
        flex-direction: column;
        align-items: center;
        margin-top: 50px;
        max-width: none;
        padding: 0;
    }
    
    .visit-form {
        width: 100%;
        flex: none;
        padding: 40px 15px;
        box-sizing: border-box;
    }

    .location {
        width: 100%;
        flex: none;
        margin-right: 0; 
        margin-bottom: 80px; 
        padding: 0 15px;
    }
	
    .visit-form {
        text-align: center; 
        padding: 0 0 40px 0; 
    }

    .visit-form h1,
    .visit-form p {
        text-align: center;
    }

    .visit-data-form {
        margin-left: auto;
        margin-right: auto;
        max-width: 300px; 
    }

    .visit-data-form input[type="text"],
    .visit-data-form input[type="email"],
    .visit-data-form input[type="submit"] {
        width: 100%; 
    }
}