
@charset "utf-8";

.gj_section{
	padding:130px 0;
}
/*
|--------------------------------------------------------------------------
| 메인 비주얼
|--------------------------------------------------------------------------
*/

.gj_visual{
	position:relative;
	height:900px;
	background:#aaa;
}

.gj_visual_slide{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	opacity:0;
	visibility:hidden;
	background-image:var(--pc-bg);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	transition:opacity 1s;
}

.gj_visual_slide.is_active{
	opacity:1;
	visibility:visible;
}

.gj_visual_dim{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background:linear-gradient(
		90deg,
		rgba(20,16,13,0.55),
		rgba(20,16,13,0.05)
	);
}

.gj_visual_text{
	position:relative;
	height:100%;
	padding-top:260px;
	color:#fff;
}

.gj_visual_text > p,
.gj_kicker,
.gj_section_title > p{
	margin:0 0 22px;
	color:var(--sand);
	font-size:12px;
	font-weight:700;
	letter-spacing:3px;
}

.gj_visual_text h2{
	margin:0 0 30px;
	font-size:62px;
	font-weight:400;
	line-height:1.3;
	letter-spacing:-3px;
}

.gj_visual_text > div{
	font-size:17px;
	font-weight:300;
}

.gj_visual_text > a{
	display:inline-block;
	margin-top:55px;
	padding-bottom:10px;
	border-bottom:1px solid rgba(255,255,255,0.7);
	font-size:12px;
	letter-spacing:2px;
}

.gj_visual_text > a span{
	margin-left:30px;
}

.gj_visual_control{
	position:absolute;
	z-index:3;
	left:50%;
	bottom:55px;
	display:flex;
	align-items:center;
	gap:15px;
	width:calc(100% - 40px);
	max-width:1320px;
	color:#fff;
	font-size:11px;
	transform:translateX(-50%);
}

.gj_visual_control button{
	border:0;
	color:#fff;
	background:none;
	font-size:24px;
	cursor:pointer;
}

.gj_visual_control i{
	width:150px;
	height:1px;
	background:rgba(255,255,255,0.35);
}

.gj_visual_control b{
	display:block;
	width:33.3%;
	height:1px;
	background:#fff;
	transition:0.4s;
}

/*
|--------------------------------------------------------------------------
| 주요 시술 퀵 배너
|--------------------------------------------------------------------------
*/

.gj_quick{
	position:relative;
	z-index:5;
	margin-top:-45px;
}

.gj_quick_track{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	box-shadow:0 20px 50px rgba(40,30,20,0.12);
}

.gj_quick_card{
	min-width:0;
	min-height:250px;
	padding:45px 35px;
	color:#fff;
	background:#8c7461;
	transition:0.3s;
}

.gj_quick_card,
.gj_quick_card span,
.gj_quick_card strong,
.gj_quick_card p,
.gj_quick_card em{
	color:#fff;
}

.gj_quick_card:nth-child(2){
	background:#a78a75;
}

.gj_quick_card:nth-child(3){
	background:#725f55;
}

.gj_quick_card:nth-child(4){
	background:#b1997e;
}

.gj_quick_card:hover{
	transform:translateY(-10px);
}

.gj_quick_card span{
	font-size:11px;
	letter-spacing:2px;
}

.gj_quick_card strong{
	display:block;
	margin-top:35px;
	font-size:28px;
}

.gj_quick_card p{
	font-size:13px;
	opacity:0.8;
}

.gj_quick_card em{
	display:block;
	margin-top:35px;
	font-size:10px;
	font-style:normal;
	letter-spacing:1px;
}

/*
|--------------------------------------------------------------------------
| 가슴성형
|--------------------------------------------------------------------------
*/

.gj_breast_grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	align-items:center;
	gap:100px;
}

.gj_breast_photo{
	position:relative;
	height:680px;
	background:
		url("/img/main_breast.jpg") center/cover no-repeat,
		#ddd;
}

.gj_breast_photo span{
	position:absolute;
	right:-45px;
	bottom:50px;
	padding:25px;
	color:#fff;
	background:var(--brown);
	font-size:11px;
	line-height:1.8;
	letter-spacing:2px;
}

.gj_breast_content{
	min-width:0;
}

.gj_breast_content h2,
.gj_section_title h2{
	margin:0;
	font-size:48px;
	font-weight:400;
	line-height:1.35;
	letter-spacing:-2px;
}

.gj_breast_content h2 b{
	color:var(--brown);
}

.gj_breast_content h3{
	margin:30px 0 45px;
	font-size:18px;
	font-weight:500;
}

.gj_breast_content ul{
	margin:0;
	padding:0;
	list-style:none;
}

.gj_breast_content li{
	display:flex;
	gap:20px;
	padding:22px 0;
	border-top:1px solid var(--line);
	font-size:15px;
	line-height:1.7;
}

.gj_breast_content li > b{
	color:var(--sand);
	font-size:11px;
}

.gj_breast_content li strong{
	display:block;
}

/*
|--------------------------------------------------------------------------
| 역 오메가
|--------------------------------------------------------------------------
*/

.gj_omega{
	color:#fff;
	background:#302a27;
}

.gj_section_title.light h2{
	color:#fff;
}

.gj_omega_body{
	display:grid;
	grid-template-columns:380px minmax(0,1fr);
	align-items:center;
	gap:90px;
	margin-top:70px;
}

.gj_omega_symbol{
	position:relative;
	color:#bca486;
	font-family:Arial,sans-serif;
	font-size:250px;
	line-height:1;
	text-align:center;
	transform:scaleY(-1);
}

.gj_omega_symbol span{
	position:absolute;
	top:50%;
	left:50%;
	color:#fff;
	font:10px/1.5 Arial,sans-serif;
	letter-spacing:2px;
	transform:translate(-50%,-20%);
}

.gj_omega_body h3{
	font-size:36px;
}

.gj_omega_body p{
	max-width:700px;
	color:#d4ceca;
	line-height:1.8;
}

.gj_benefits{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	margin-top:40px;
}

.gj_benefits span{
	min-width:0;
	padding:20px 10px;
	border:1px solid rgba(255,255,255,0.16);
	font-size:13px;
	text-align:center;
}

.gj_omega small{
	display:block;
	margin-top:45px;
	color:#999;
}

/*
|--------------------------------------------------------------------------
| 섹션 제목
|--------------------------------------------------------------------------
*/

.gj_section_title.center{
	text-align:center;
}

.gj_section_title > span{
	display:block;
	margin-top:20px;
	color:#777;
}

/*
|--------------------------------------------------------------------------
| 안전 시스템
|--------------------------------------------------------------------------
*/

.gj_step_grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	margin-top:70px;
}

.gj_step_grid article{
	min-width:0;
	min-height:260px;
	padding:35px 25px;
	border:1px solid var(--line);
	border-right:0;
}

.gj_step_grid article:last-child{
	border-right:1px solid var(--line);
}

.gj_step_grid b{
	color:var(--sand);
	font-size:12px;
}

.gj_step_grid h3{
	margin:70px 0 15px;
	font-size:21px;
}

.gj_step_grid p{
	color:#777;
	font-size:13px;
	line-height:1.7;
}

/*
|--------------------------------------------------------------------------
| 회복 및 사후 관리
|--------------------------------------------------------------------------
*/

.gj_recovery{
	background:var(--cream);
}

.gj_recovery_grid{
	display:grid;
	grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
	align-items:center;
	gap:90px;
}

.gj_recovery_photo{
	height:610px;
	background:
		url("/img/main_recovery.jpg") center/cover no-repeat,
		#d8d1ca;
}

.gj_recovery_items{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:20px;
	margin-top:60px;
}

.gj_recovery_items article{
	min-width:0;
	padding:30px;
	background:#fff;
}

.gj_recovery_items b{
	color:var(--sand);
	font-size:11px;
	letter-spacing:2px;
}

.gj_recovery_items h3{
	font-size:18px;
}

.gj_recovery_items p{
	color:#777;
	font-size:13px;
	line-height:1.8;
}

/*
|--------------------------------------------------------------------------
| 공통 제목 라인
|--------------------------------------------------------------------------
*/

.gj_title_line{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	margin-bottom:55px;
}

.gj_title_line > a{
	flex:0 0 auto;
	padding-bottom:8px;
	border-bottom:1px solid #aaa;
	font-size:12px;
}


/*
|--------------------------------------------------------------------------
| 진료 항목
|--------------------------------------------------------------------------
*/

.gj_treatment{
	background:#faf9f7;
}

.gj_treatment_grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	margin-top:65px;
}

.gj_treatment_grid a{
	position:relative;
	min-width:0;
	min-height:280px;
	margin:-1px 0 0 -1px;
	padding:40px;
	border:1px solid var(--line);
	transition:0.3s;
}

.gj_treatment_grid a:hover{
	z-index:2;
	color:#fff;
	background:var(--brown);
}

.gj_treatment_grid b,
.gj_treatment_grid span{
	color:var(--sand);
	font-size:10px;
	letter-spacing:2px;
}

.gj_treatment_grid span{
	float:right;
}

.gj_treatment_grid h3{
	margin-top:70px;
	font-size:26px;
}

.gj_treatment_grid p{
	color:#888;
	font-size:13px;
}

.gj_treatment_grid i{
	position:absolute;
	right:35px;
	bottom:35px;
	font-style:normal;
}

/*
|--------------------------------------------------------------------------
| 영상·후기·블로그 공통 카드
|--------------------------------------------------------------------------
*/

.gj_video_grid,
.gj_review_grid,
.gj_blog_grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px;
}

.gj_media_card,
.gj_review_card,
.gj_blog_card{
	min-width:0;
}

.gj_media_card .thumb,
.gj_review_card .thumb,
.gj_blog_card .thumb{
	position:relative;
	padding-top:60%;
	overflow:hidden;
	background:#ddd;
}

.gj_media_card img,
.gj_review_card img,
.gj_blog_card img{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:0.4s;
}

.gj_media_card:hover img,
.gj_review_card:hover img,
.gj_blog_card:hover img{
	transform:scale(1.04);
}

.gj_media_card .thumb:after{
	content:"▶";
	position:absolute;
	left:25px;
	bottom:22px;
	color:#fff;
}

.gj_card_text{
	min-width:0;
	padding:24px 5px;
}

.gj_card_text span{
	color:#a38b70;
	font-size:10px;
	letter-spacing:1px;
}

.gj_card_text h3{
	margin:10px 0;
	font-size:18px;
}

.gj_card_text p{
	color:#888;
	font-size:12px;
}

/*
|--------------------------------------------------------------------------
| 유튜브 쇼츠
|--------------------------------------------------------------------------
*/

.gj_shorts{
	color:#fff;
	background:#302a27;
}

.gj_shorts_block{
	display:grid;
	grid-template-columns:300px minmax(0,1fr);
	gap:60px;
	margin-bottom:100px;
}

.gj_shorts_block:last-child{
	margin-bottom:0;
}

.gj_shorts_block.reverse{
	direction:rtl;
}

.gj_shorts_block.reverse > *{
	direction:ltr;
}

.gj_shorts_track{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
}

.gj_short_card{
	min-width:0;
}

.gj_short_card .thumb{
	position:relative;
	padding-top:177%;
	overflow:hidden;
	background:#555;
}

.gj_short_card img{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.gj_short_card h3{
	font-size:14px;
	font-weight:500;
}

/*
|--------------------------------------------------------------------------
| 공지사항·온라인 상담
|--------------------------------------------------------------------------
*/

.gj_board_tabs{
	display:flex;
	gap:35px;
	border-bottom:1px solid var(--line);
}

.gj_board_tabs button{
	padding:0 0 18px;
	border:0;
	border-bottom:2px solid transparent;
	color:#999;
	background:none;
	font-size:24px;
	cursor:pointer;
}

.gj_board_tabs button.is_active{
	border-color:var(--ink);
	color:var(--ink);
	font-weight:700;
}

.gj_board_list a{
	display:grid;
	grid-template-columns:90px minmax(0,1fr) 120px;
	padding:24px 10px;
	border-bottom:1px solid var(--line);
}

.gj_board_list b{
	color:var(--sand);
}

.gj_board_list time{
	color:#999;
	font-size:12px;
	text-align:right;
}

/*
|--------------------------------------------------------------------------
| 리얼스토리·감사합니다
|--------------------------------------------------------------------------
*/

.gj_real{
	background:var(--cream);
}

.gj_review_grid{
	margin-top:65px;
}

.gj_thanks{
	margin-top:90px;
	padding:45px;
	background:#fff;
}

.gj_thanks_title{
	margin-bottom:40px;
	text-align:left;
}

.gj_thanks_title > p{
	margin:0 0 10px;
	color:var(--sand);
	font-size:11px;
	font-weight:700;
	letter-spacing:3px;
}

.gj_thanks_title > h3{
	margin:0;
	color:var(--ink);
	font-size:32px;
	font-weight:500;
	line-height:1.4;
}

.gj_thanks_title > span{
	display:block;
	margin-top:10px;
	color:#888;
	font-size:13px;
}

/* PC: 가로 4개 */
.gj_thanks_list{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:24px;
	width:100%;
}

/* PC에서는 최대 8개까지만 표시 */
.gj_thanks_list > *{
	display:block;
	min-width:0;
}

.gj_thanks_list > *:nth-child(n+9){
	display:none;
}

.gj_thanks_card{
	display:block;
	min-width:0;
	color:inherit;
	text-decoration:none;
}

.gj_thanks_card .thumb{
	position:relative;
	width:100%;
	padding-top:72%;
	overflow:hidden;
	background:#e4ded7;
}

.gj_thanks_card .thumb img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 0.4s ease;
}

.gj_thanks_card:hover .thumb img{
	transform:scale(1.04);
}

.gj_thanks_card .gj_card_text{
	padding:18px 3px 5px;
}

.gj_thanks_card .gj_card_text span{
	display:block;
	color:#a38b70;
	font-size:10px;
	letter-spacing:1px;
}

.gj_thanks_card .gj_card_text h3{
	margin:8px 0 0;
	color:var(--ink);
	font-size:16px;
	font-weight:500;
	line-height:1.6;
	word-break:keep-all;
}

/*
|--------------------------------------------------------------------------
| 블로그
|--------------------------------------------------------------------------
*/

.gj_blog_card .thumb{
	padding-top:65%;
}

.gj_loading{
	grid-column:1/-1;
	padding:70px;
	color:#999;
	text-align:center;
}
/*
|--------------------------------------------------------------------------
| 모바일
| PC 설정은 위에서 유지하고 768px 이하에서만 1열로 변경
|--------------------------------------------------------------------------
*/

@media (max-width:768px){

	.gj_section{
		padding:80px 0;
	}
	/*
	| 모바일 메인 비주얼
	*/

	.gj_visual{
		height:690px;
	}

	.gj_visual_slide{
		background-image:var(--mo-bg);
	}

	.gj_visual_dim{
		background:linear-gradient(
			rgba(20,16,13,0.12),
			rgba(20,16,13,0.62)
		);
	}

	.gj_visual_text{
		padding-top:365px;
	}

	.gj_visual_text > p{
		font-size:10px;
	}

	.gj_visual_text h2{
		font-size:37px;
		line-height:1.35;
		letter-spacing:-2px;
	}

	.gj_visual_text > div{
		font-size:14px;
		line-height:1.7;
	}

	.gj_visual_text > a{
		margin-top:30px;
	}

	.gj_visual_control{
		bottom:28px;
		width:calc(100% - 32px);
	}

	.gj_visual_control i{
		width:100px;
	}

	/*
	| 퀵 배너 - 모바일만 1열
	*/

	.gj_quick{
		margin-top:0;
		padding:24px 0;
		background:#f5f1eb;
	}

	.gj_quick_track{
		display:grid;
		grid-template-columns:minmax(0,1fr);
		gap:12px;
		width:100%;
		box-shadow:none;
	}

	.gj_quick_card{
		width:100%;
		max-width:100%;
		min-height:215px;
		padding:32px;
	}

	/*
	| 가슴성형
	*/

	.gj_breast_grid{
		grid-template-columns:minmax(0,1fr);
		gap:50px;
	}

	.gj_breast_photo{
		width:100%;
		height:480px;
	}

	.gj_breast_photo span{
		right:15px;
		bottom:-25px;
		max-width:calc(100% - 30px);
	}

	.gj_breast_content h2,
	.gj_section_title h2{
		font-size:34px;
	}

	.gj_breast_content h3{
		font-size:16px;
		line-height:1.6;
	}

	.gj_breast_content li{
		font-size:13px;
	}

	/*
	| 역 오메가
	*/

	.gj_omega_body{
		grid-template-columns:minmax(0,1fr);
		gap:20px;
		margin-top:30px;
	}

	.gj_omega_symbol{
		font-size:190px;
	}

	.gj_omega_body h3{
		font-size:29px;
	}

	.gj_benefits{
		grid-template-columns:minmax(0,1fr);
	}

	/*
	| 안전 시스템
	*/

	.gj_step_grid{
		grid-template-columns:minmax(0,1fr);
		gap:12px;
	}

	.gj_step_grid article{
		width:100%;
		max-width:100%;
		min-height:230px;
		border-right:1px solid var(--line);
	}

	.gj_step_grid h3{
		margin-top:55px;
	}

	/*
	| 회복 관리
	*/

	.gj_recovery_grid{
		grid-template-columns:minmax(0,1fr);
		gap:50px;
	}

	.gj_recovery_photo{
		grid-row:1;
		width:100%;
		height:400px;
	}

	.gj_recovery_items{
		grid-template-columns:minmax(0,1fr);
	}

	/*
	| 제목 영역
	*/

	.gj_title_line{
		align-items:center;
		margin-bottom:35px;
	}

	.gj_title_line > a{
		font-size:10px;
	}

	/*
	| 이벤트
	*/

	.gj_event_grid{
		grid-template-columns:minmax(0,1fr);
		grid-template-rows:none;
		gap:14px;
		width:100%;
		height:auto;
	}

	.gj_event_grid a,
	.gj_event_grid a.big{
		width:100%;
		max-width:100%;
		height:420px;
		grid-row:auto;
		padding:30px 24px;
	}

	.gj_event_grid em{
		margin-top:190px;
	}

	/*
	| 진료 항목
	*/

	.gj_treatment_grid{
		grid-template-columns:minmax(0,1fr);
		width:100%;
	}

	.gj_treatment_grid a{
		width:100%;
		max-width:100%;
		min-height:220px;
		padding:25px 20px;
	}

	.gj_treatment_grid h3{
		margin-top:48px;
		font-size:20px;
	}

	.gj_treatment_grid p{
		font-size:11px;
		line-height:1.6;
	}

	/*
	| 영상·후기·감사합니다·블로그
	*/

	.gj_video_grid,
	.gj_review_grid,
	.gj_blog_grid,
	.gj_thanks{
		margin-top:60px;
		padding:28px 16px;
	}

	.gj_thanks_title{
		margin-bottom:25px;
	}

	.gj_thanks_title > h3{
		font-size:26px;
	}

	/* 모바일: 가로 2개 */
	.gj_thanks_list{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:20px 12px;
	}

	/* 모바일에서는 최대 4개까지만 표시 */
	.gj_thanks_list > *:nth-child(n+5){
		display:none;
	}

	.gj_thanks_card{
		width:100%;
		max-width:100%;
	}

	.gj_thanks_card .thumb{
		padding-top:78%;
	}

	.gj_thanks_card .gj_card_text{
		padding:13px 2px 0;
	}

	.gj_thanks_card .gj_card_text h3{
		font-size:14px;
		line-height:1.5;
	}

	.gj_media_card,
	.gj_review_card,
	.gj_blog_card{
		display:block;
		width:100%;
		max-width:100%;
	}

	/*
	| 쇼츠
	*/

	.gj_shorts_block,
	.gj_shorts_block.reverse{
		display:block;
		width:100%;
		direction:ltr;
	}

	.gj_shorts_track{
		display:grid;
		grid-template-columns:minmax(0,1fr);
		gap:16px;
		width:100%;
		max-width:100%;
		margin-top:40px;
	}

	.gj_short_card{
		display:block;
		width:100%;
		max-width:100%;
	}

	/*
	| 게시판
	*/

	.gj_board_tabs{
		gap:22px;
	}

	.gj_board_tabs button{
		font-size:19px;
	}

	.gj_board_list a{
		grid-template-columns:38px minmax(0,1fr);
		gap:8px;
	}

	.gj_board_list time{
		display:none;
	}
}




















/*
|--------------------------------------------------------------------------
| 네이버 블로그 공통 영역
|--------------------------------------------------------------------------
*/

.gj_rss_blog_section{
	width:100%;
	padding:110px 20px;
	box-sizing:border-box;
	overflow:hidden;
	background:#fff;
	font-family:'Pretendard','Noto Sans KR',Arial,sans-serif;
}

.gj_rss_blog_section *,
.gj_rss_blog_section *:before,
.gj_rss_blog_section *:after{
	box-sizing:border-box;
}

.gj_rss_blog_section_official{
	background:#f7f5f2;
}

.gj_rss_blog_section .gj_inner{
	width:100%;
	max-width:1320px;
	margin:0 auto;
}


/*
|--------------------------------------------------------------------------
| 블로그 상단
|--------------------------------------------------------------------------
*/

.gj_rss_blog_header{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:30px;
	width:100%;
	margin-bottom:42px;
}

.gj_rss_blog_header .gj_section_title{
	min-width:0;
}

.gj_rss_blog_header .gj_section_title p{
	margin:0 0 12px;
	font-size:13px;
	font-weight:700;
	line-height:1.4;
	letter-spacing:0.15em;
	color:#9a7661;
}

.gj_rss_blog_header .gj_section_title h2{
	margin:0;
	font-size:38px;
	font-weight:700;
	line-height:1.25;
	letter-spacing:-0.045em;
	color:#222;
}

.gj_rss_blog_header .gj_section_title span{
	display:block;
	margin-top:13px;
	font-size:16px;
	font-weight:400;
	line-height:1.65;
	letter-spacing:-0.025em;
	color:#777;
}


/*
|--------------------------------------------------------------------------
| 블로그 이동 버튼
|--------------------------------------------------------------------------
*/

.gj_rss_blog_more_group{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:10px;
	flex-shrink:0;
}

.gj_rss_blog_more{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	height:46px;
	padding:0 20px;
	border:1px solid #ddd6d0;
	border-radius:23px;
	background:#fff;
	font-size:13px;
	font-weight:600;
	line-height:1;
	letter-spacing:-0.02em;
	color:#555;
	text-decoration:none;
	white-space:nowrap;
	transition:
		border-color 0.25s ease,
		background-color 0.25s ease,
		color 0.25s ease;
}

.gj_rss_blog_more i{
	font-style:normal;
	font-size:16px;
	line-height:1;
}

.gj_rss_blog_more:hover{
	border-color:#9a7661;
	background:#9a7661;
	color:#fff;
}


/*
|--------------------------------------------------------------------------
| 블로그 리스트
|--------------------------------------------------------------------------
*/

.gj_rss_blog_list{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:28px 20px;
	width:100%;
	min-width:0;
}

.gj_rss_blog_item{
	display:block;
	min-width:0;
	margin:0;
	padding:0;
	border-radius:18px;
	background:#fff;
	box-shadow:0 10px 32px rgba(35, 29, 25, 0.07);
	overflow:hidden;
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.gj_rss_blog_item:hover{
	transform:translateY(-7px);
	box-shadow:0 18px 42px rgba(35, 29, 25, 0.13);
}

.gj_rss_blog_link{
	display:block;
	width:100%;
	height:100%;
	color:inherit;
	text-decoration:none;
}


/*
|--------------------------------------------------------------------------
| 썸네일
|--------------------------------------------------------------------------
*/

.gj_rss_blog_thumbnail{
	position:relative;
	width:100%;
	height:220px;
	overflow:hidden;
	background:#eeeae7;
}

.gj_rss_blog_thumbnail img{
	display:block;
	width:100%;
	height:100%;
	border:0;
	object-fit:cover;
	object-position:center;
	transition:transform 0.45s ease;
}

.gj_rss_blog_item:hover .gj_rss_blog_thumbnail img{
	transform:scale(1.045);
}

.gj_rss_blog_badge{
	position:absolute;
	top:16px;
	left:16px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:29px;
	padding:0 12px;
	border-radius:15px;
	background:rgba(255,255,255,0.92);
	box-shadow:0 4px 13px rgba(0,0,0,0.1);
	font-size:10px;
	font-weight:800;
	line-height:1;
	letter-spacing:0.13em;
	color:#765846;
}

.gj_rss_blog_source{
	position:absolute;
	right:14px;
	bottom:14px;
	display:inline-flex;
	align-items:center;
	max-width:calc(100% - 28px);
	height:28px;
	padding:0 11px;
	border-radius:14px;
	background:rgba(30,30,30,0.7);
	font-size:11px;
	font-weight:500;
	line-height:1;
	color:#fff;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}


/*
|--------------------------------------------------------------------------
| 카드 내용
|--------------------------------------------------------------------------
*/

.gj_rss_blog_content{
	display:flex;
	flex-direction:column;
	min-height:224px;
	padding:24px 23px 25px;
}

.gj_rss_blog_date{
	display:block;
	margin-bottom:10px;
	font-size:12px;
	font-weight:500;
	line-height:1.4;
	color:#a08f84;
}

.gj_rss_blog_content h3{
	display:-webkit-box;
	margin:0;
	overflow:hidden;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	font-size:18px;
	font-weight:700;
	line-height:1.5;
	letter-spacing:-0.035em;
	color:#252525;
	word-break:keep-all;
	overflow-wrap:break-word;
}

.gj_rss_blog_content p{
	display:-webkit-box;
	margin:13px 0 0;
	overflow:hidden;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	font-size:14px;
	font-weight:400;
	line-height:1.65;
	letter-spacing:-0.025em;
	color:#777;
	word-break:keep-all;
	overflow-wrap:break-word;
}

.gj_rss_blog_read{
	display:flex;
	align-items:center;
	gap:8px;
	margin-top:auto;
	padding-top:21px;
	font-size:13px;
	font-weight:600;
	line-height:1;
	color:#826451;
}

.gj_rss_blog_read i{
	font-style:normal;
	font-size:16px;
	transition:transform 0.25s ease;
}

.gj_rss_blog_item:hover .gj_rss_blog_read i{
	transform:translateX(4px);
}


/*
|--------------------------------------------------------------------------
| 로딩
|--------------------------------------------------------------------------
*/

.gj_rss_blog_loading{
	grid-column:1 / -1;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:250px;
	text-align:center;
}

.gj_rss_blog_loading_icon{
	display:block;
	width:34px;
	height:34px;
	border:3px solid #e8dfd9;
	border-top-color:#9a7661;
	border-radius:50%;
	animation:gjRssBlogLoading 0.8s linear infinite;
}

.gj_rss_blog_loading p{
	margin:16px 0 0;
	font-size:14px;
	color:#888;
}

@keyframes gjRssBlogLoading{
	from{
		transform:rotate(0deg);
	}

	to{
		transform:rotate(360deg);
	}
}


/*
|--------------------------------------------------------------------------
| 오류 및 빈 목록
|--------------------------------------------------------------------------
*/

.gj_rss_blog_empty{
	grid-column:1 / -1;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:250px;
	padding:35px 20px;
	border:1px solid #eee8e4;
	border-radius:18px;
	background:#fff;
	text-align:center;
}

.gj_rss_blog_empty strong{
	font-size:18px;
	font-weight:700;
	color:#333;
}

.gj_rss_blog_empty p{
	margin:10px 0 0;
	font-size:14px;
	line-height:1.6;
	color:#888;
}

.gj_rss_blog_empty a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:42px;
	margin-top:20px;
	padding:0 20px;
	border-radius:21px;
	background:#886956;
	font-size:13px;
	font-weight:600;
	color:#fff;
	text-decoration:none;
}


/*
|--------------------------------------------------------------------------
| 모바일
|--------------------------------------------------------------------------
*/

@media (max-width:768px){

	.gj_rss_blog_section{
		padding:72px 15px;
	}

	.gj_rss_blog_section .gj_inner{
		max-width:100%;
	}

	.gj_rss_blog_header{
		display:block;
		margin-bottom:28px;
	}

	.gj_rss_blog_header .gj_section_title p{
		margin-bottom:9px;
		font-size:11px;
		line-height:1.5;
		letter-spacing:0.1em;
		word-break:break-word;
	}

	.gj_rss_blog_header .gj_section_title h2{
		font-size:27px;
		line-height:1.3;
	}

	.gj_rss_blog_header .gj_section_title span{
		margin-top:10px;
		font-size:14px;
		line-height:1.65;
		word-break:keep-all;
	}

	.gj_rss_blog_more_group{
		justify-content:flex-start;
		flex-wrap:wrap;
		margin-top:20px;
	}

	.gj_rss_blog_more{
		height:40px;
		margin-top:20px;
		padding:0 15px;
		font-size:12px;
	}

	.gj_rss_blog_more_group .gj_rss_blog_more{
		margin-top:0;
	}

	.gj_rss_blog_list{
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:16px 10px;
	}

	.gj_rss_blog_item{
		border-radius:13px;
	}

	.gj_rss_blog_thumbnail{
		height:145px;
	}

	.gj_rss_blog_badge{
		top:10px;
		left:10px;
		height:24px;
		padding:0 9px;
		font-size:9px;
	}

	.gj_rss_blog_source{
		right:8px;
		bottom:8px;
		max-width:calc(100% - 16px);
		height:23px;
		padding:0 8px;
		font-size:9px;
	}

	.gj_rss_blog_content{
		min-height:190px;
		padding:16px 13px 17px;
	}

	.gj_rss_blog_date{
		margin-bottom:7px;
		font-size:10px;
	}

	.gj_rss_blog_content h3{
		font-size:15px;
		line-height:1.45;
		word-break:break-word;
	}

	.gj_rss_blog_content p{
		margin-top:9px;
		font-size:12px;
		line-height:1.55;
		word-break:break-word;
	}

	.gj_rss_blog_read{
		gap:5px;
		padding-top:15px;
		font-size:11px;
	}

	.gj_rss_blog_read i{
		font-size:13px;
	}

	.gj_rss_blog_loading,
	.gj_rss_blog_empty{
		min-height:200px;
	}

}







.gj_youtube{width:100%;padding:110px 20px 130px;box-sizing:border-box;background:#f7f7f5;color:#161616;font-family:'Pretendard','Noto Sans KR',Arial,sans-serif;overflow:hidden}
.gj_youtube *{box-sizing:border-box}
.gj_youtube_inner{width:100%;max-width:1320px;margin:0 auto}
.gj_youtube_head{text-align:center;margin-bottom:85px}
.gj_youtube_head p{margin:0 0 13px;font-size:12px;font-weight:800;letter-spacing:3px;color:#a98861}
.gj_youtube_head h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:48px;font-weight:500;letter-spacing:-2px}
.gj_youtube_head span{display:block;margin-top:17px;font-size:16px;color:#777;letter-spacing:-.4px}
.gj_youtube_section{margin-top:88px}
.gj_youtube_section:first-of-type{margin-top:0}
.gj_youtube_title{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #cfcfc9}
.gj_youtube_title small{display:block;margin-bottom:8px;font-size:11px;font-weight:800;letter-spacing:2.2px;color:#a98861}
.gj_youtube_title h3{margin:0;font-size:28px;font-weight:700;letter-spacing:-1.2px}
.gj_youtube_title>a{display:inline-flex;align-items:center;height:38px;padding:0 18px;border:1px solid #222;border-radius:20px;color:#222;text-decoration:none;font-size:12px;font-weight:700;transition:.25s}
.gj_youtube_title>a:hover{background:#222;color:#fff}
.gj_youtube_list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 20px;padding-top:28px}
.gj_youtube_card{display:block;width:100%;margin:0;padding:0;border:0;background:none;text-align:left;color:inherit;font:inherit;cursor:pointer;min-width:0}
.gj_youtube_thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#ddd}
.gj_youtube_thumb:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.32),transparent 45%);transition:.3s}
.gj_youtube_thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gj_youtube_card:hover .gj_youtube_thumb img{transform:scale(1.045)}
.gj_youtube_play{position:absolute;z-index:2;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 8px 25px rgba(0,0,0,.18)}
.gj_youtube_play:after{content:'';position:absolute;left:21px;top:17px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:14px solid #d51d1d}
.gj_youtube_thumb em{position:absolute;z-index:2;right:9px;bottom:8px;padding:4px 6px;border-radius:4px;background:rgba(0,0,0,.78);color:#fff;font-size:11px;font-style:normal}
.gj_youtube_info{display:block;padding:15px 3px 0}
.gj_youtube_info strong{display:-webkit-box;min-height:48px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:16px;line-height:24px;font-weight:700;letter-spacing:-.55px}
.gj_youtube_info small{display:block;margin-top:8px;color:#999;font-size:12px}
.gj_youtube_shorts_list{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 20px}
.gj_youtube_shorts_list .gj_youtube_thumb{aspect-ratio:9/16;max-height:510px;background:#111}
.gj_youtube_shorts_list .gj_youtube_thumb img{object-fit:cover}
.gj_youtube_loading,.gj_youtube_empty{grid-column:1/-1;display:flex;min-height:180px;align-items:center;justify-content:center;flex-direction:column;color:#888;font-size:14px}
.gj_youtube_loading span{width:30px;height:30px;margin-bottom:13px;border:3px solid #ddd;border-top-color:#a98861;border-radius:50%;animation:gjYoutubeSpin .7s linear infinite}
.gj_youtube_loading p{margin:0}
@keyframes gjYoutubeSpin{to{transform:rotate(360deg)}}
.gj_youtube_modal{position:fixed;z-index:99999;inset:0;display:none;align-items:center;justify-content:center;padding:30px}
.gj_youtube_modal.is_open{display:flex}
.gj_youtube_modal_bg{position:absolute;inset:0;background:rgba(0,0,0,.88)}
.gj_youtube_modal_box{position:relative;z-index:1;width:100%;max-width:1100px}
.gj_youtube_modal_close{position:absolute;right:0;top:-52px;width:42px;height:42px;padding:0;border:0;background:none;color:#fff;font-size:42px;line-height:42px;cursor:pointer}
.gj_youtube_player{position:relative;width:100%;padding-top:56.25%;background:#000;box-shadow:0 20px 70px rgba(0,0,0,.5)}
.gj_youtube_player iframe{position:absolute;inset:0;width:100%;height:100%}

@media(max-width:768px){
	.gj_youtube{padding:70px 15px 85px}
	.gj_youtube_head{margin-bottom:55px}
	.gj_youtube_head p{font-size:10px;letter-spacing:2px}
	.gj_youtube_head h2{font-size:35px;letter-spacing:-1.5px}
	.gj_youtube_head span{font-size:14px;line-height:22px}
	.gj_youtube_section{margin-top:68px}
	.gj_youtube_title{align-items:flex-start;padding-bottom:17px}
	.gj_youtube_title h3{font-size:21px;line-height:29px;letter-spacing:-.8px}
	.gj_youtube_title>a{flex:0 0 auto;height:32px;margin-left:12px;padding:0 12px;font-size:10px}
	.gj_youtube_list,.gj_youtube_shorts_list{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px;padding-top:18px}
	.gj_youtube_thumb{border-radius:8px}
	.gj_youtube_play{width:40px;height:40px;margin:-20px 0 0 -20px}
	.gj_youtube_play:after{left:17px;top:13px;border-top-width:7px;border-bottom-width:7px;border-left-width:11px}
	.gj_youtube_info{padding:11px 1px 0}
	.gj_youtube_info strong{min-height:42px;font-size:14px;line-height:21px}
	.gj_youtube_info small{margin-top:5px;font-size:11px}
	.gj_youtube_modal{padding:15px}
	.gj_youtube_modal_close{top:-46px}
}



.gj_event_board{
	width:100%;
	padding:110px 20px;
	box-sizing:border-box;
	overflow:hidden;
	background:#fff;
}

.gj_event_board *{
	box-sizing:border-box;
}

.gj_event_board_head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	margin-bottom:42px;
}

.gj_event_board_more{
	flex:none;
	padding-bottom:5px;
	color:#555;
	font-size:15px;
	line-height:1.4;
	text-decoration:none;
	transition:color .25s ease;
}

.gj_event_board_more:hover{
	color:#a48764;
}

/* PC: 한 줄에 4개 */
.gj_event_board_grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:24px 20px;
	width:100%;
}

/* 각각의 이벤트 게시물 */
.gj_event_board_item{
	position:relative;
	display:block;
	min-width:0;
	overflow:hidden;
	background:#eee;
	text-decoration:none;
}

/* 이미지 영역을 항상 4:3 비율로 유지 */
.gj_event_board_thumb{
	position:relative;
	width:100%;
	aspect-ratio:4 / 3;
	overflow:hidden;
	background:#eee;
}

/*
구형 브라우저에서 aspect-ratio를 지원하지 않을 경우
아래 padding 방식이 자동으로 적용됩니다.
*/
@supports not (aspect-ratio:4 / 3){

	.gj_event_board_thumb{
		height:0;
		padding-bottom:75%;
	}

	.gj_event_board_thumb img{
		position:absolute;
		top:0;
		left:0;
	}
}

.gj_event_board_thumb img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	transition:
		transform .45s ease,
		filter .35s ease,
		opacity .35s ease;
}

/* 진행 중인 이벤트에만 확대 효과 */
.gj_event_board_item:not(.is_expired):hover img{
	transform:scale(1.035);
}

/* 종료된 이벤트 */
.gj_event_board_item.is_expired{
	cursor:default;
	background:#d7d7d7;
}

/* 약한 흑백과 음영 적용 */
.gj_event_board_item.is_expired img{
	filter:grayscale(100%) brightness(.88);
	opacity:.58;
}

/* 종료된 이미지 위에 옅은 음영 */
.gj_event_board_item.is_expired::after{
	content:"";
	position:absolute;
	z-index:2;
	top:0;
	right:0;
	bottom:0;
	left:0;
	pointer-events:none;
	background:rgba(30,30,30,.08);
}

/* 모바일 */
@media (max-width:768px){

	.gj_event_board{
		padding:70px 15px;
	}

	.gj_event_board_head{
		align-items:flex-end;
		margin-bottom:25px;
	}

	.gj_event_board_more{
		padding-bottom:2px;
		font-size:13px;
	}

	/* 모바일: 한 줄에 2개 */
	.gj_event_board_grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:10px;
	}

}







/*==================================================
메인 이미지 슬라이드 배너
==================================================*/
.gjs_banner{
	position:relative;
	width:100%;
	margin:0;
	padding:0;
	overflow:hidden;
	background:#f3f3f3;
	box-sizing:border-box;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}

.gjs_banner *,
.gjs_banner *:before,
.gjs_banner *:after{
	box-sizing:border-box;
}

.gjs_banner_view{
	position:relative;
	width:100%;
	margin:0;
	padding:0;
	overflow:hidden;
	cursor:grab;
	touch-action:pan-y;
}

.gjs_banner_view.is_dragging{
	cursor:grabbing;
}

.gjs_banner_track{
	display:flex;
	width:100%;
	margin:0;
	padding:0;
	list-style:none;
	transform:translate3d(0, 0, 0);
	will-change:transform;
}

.gjs_banner_track.is_animated{
	transition:transform 0.55s cubic-bezier(
		0.22,
		0.61,
		0.36,
		1
	);
}

.gjs_banner_slide{
	position:relative;
	flex:0 0 100%;
	width:100%;
	min-width:100%;
	margin:0;
	padding:0;
	overflow:hidden;
	background:#f3f3f3;
}

.gjs_banner_slide a{
	display:block;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	text-decoration:none;
}

.gjs_banner_slide img{
	display:block;
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	border:0;
	aspect-ratio:1920 / 800;
	object-fit:cover;
	object-position:center center;
	pointer-events:none;
	-webkit-user-drag:none;
	user-drag:none;
}


/*==================================================
좌우 이동 버튼
==================================================*/
.gjs_banner_arrow{
	position:absolute;
	top:50%;
	z-index:10;
	display:flex;
	align-items:center;
	justify-content:center;
	width:58px;
	height:58px;
	margin:0;
	padding:0;
	border:1px solid rgba(255,255,255,0.55);
	border-radius:50%;
	outline:none;
	background:rgba(0,0,0,0.18);
	color:#fff;
	font-family:Arial, sans-serif;
	cursor:pointer;
	transform:translateY(-50%);
	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		opacity 0.25s ease;
}

.gjs_banner_arrow:hover{
	border-color:rgba(255,255,255,0.95);
	background:rgba(0,0,0,0.43);
}

.gjs_banner_arrow:focus{
	border-color:#fff;
	background:rgba(0,0,0,0.5);
}

.gjs_banner_arrow span{
	display:block;
	margin-top:-5px;
	font-size:48px;
	font-weight:200;
	line-height:1;
}

.gjs_banner_prev{
	left:40px;
}

.gjs_banner_next{
	right:40px;
}


/*==================================================
하단 페이지 및 재생 컨트롤
==================================================*/
.gjs_banner_control{
	position:absolute;
	left:50%;
	bottom:28px;
	z-index:10;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:13px;
	min-height:42px;
	padding:9px 15px;
	border-radius:30px;
	background:rgba(0,0,0,0.27);
	transform:translateX(-50%);
	backdrop-filter:blur(5px);
	-webkit-backdrop-filter:blur(5px);
}

.gjs_banner_dots{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:9px;
}

.gjs_banner_dot{
	display:block;
	width:8px;
	height:8px;
	margin:0;
	padding:0;
	border:0;
	border-radius:50%;
	outline:none;
	background:rgba(255,255,255,0.55);
	cursor:pointer;
	transition:
		width 0.25s ease,
		border-radius 0.25s ease,
		background 0.25s ease;
}

.gjs_banner_dot:hover{
	background:rgba(255,255,255,0.85);
}

.gjs_banner_dot.is_active{
	width:28px;
	border-radius:10px;
	background:#fff;
}

.gjs_banner_toggle{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	margin:0;
	padding:0;
	border:0;
	outline:none;
	background:transparent;
	color:#fff;
	cursor:pointer;
}

.gjs_banner_toggle span{
	font-family:Arial, sans-serif;
	font-size:11px;
	font-style:normal;
	font-weight:700;
	line-height:1;
}

.gjs_toggle_pause{
	display:block;
}

.gjs_toggle_play{
	display:none;
	margin-left:2px;
}

.gjs_banner_toggle.is_paused .gjs_toggle_pause{
	display:none;
}

.gjs_banner_toggle.is_paused .gjs_toggle_play{
	display:block;
}


/*==================================================
배너가 없을 때
==================================================*/
.gjs_banner_empty{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:300px;
	padding:30px;
	background:#f4f4f4;
	color:#999;
	font-size:15px;
	text-align:center;
}


/*==================================================
모바일
==================================================*/
@media (max-width:768px){

	.gjs_banner_slide img{
		width:100%;
		height:auto;
		aspect-ratio:500 / 600;
		object-fit:cover;
		object-position:center center;
	}

	.gjs_banner_arrow{
		display:none;
	}

	.gjs_banner_control{
		bottom:16px;
		gap:10px;
		min-height:36px;
		padding:7px 12px;
	}

	.gjs_banner_dots{
		gap:7px;
	}

	.gjs_banner_dot{
		width:7px;
		height:7px;
	}

	.gjs_banner_dot.is_active{
		width:22px;
	}

	.gjs_banner_toggle{
		width:20px;
		height:20px;
	}

	.gjs_banner_empty{
		min-height:300px;
		font-size:14px;
	}

}