/* =========================
   CSS RESET (PC 기준)
========================= */

/* 기본 요소 초기화 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	box-sizing: border-box;
}

/* HTML5 display-role reset */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

/* 사용 폰트 */
/* 프리텐다드 Pretendard */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

/* 프리텐다드 Pretendard font-weight 폰트 두께
-----------------------
Thin
font-weight:100;
ExtraLight
font-weight:200;
Light
font-weight:300;
Regular
font-weight:400;
Medium
font-weight:500;
SemiBold
font-weight:600;
Bold
font-weight:700;
ExtraBold
font-weight:800;
Black
font-weight:900; */


/* 구글 노토산스 Noto Sans KR - 고딕 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');

/* 구글 노토산스 Noto Sans KR  font-weight 폰트 두께
-----------------------
Thin
font-weight:100;
ExtraLight
font-weight:200;
Light
font-weight:300;
Regular
font-weight:400;
Medium
font-weight:500;
SemiBold
font-weight:600;
Bold
font-weight:700;
ExtraBold
font-weight:800;
Black
font-weight:900; */

/* 구글 노토세리프 Noto Serif KR - 명조 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200..900&display=swap');

/* 구글 노토세리프Noto Serif KR  font-weight  폰트 두께
-----------------------
ExtraLight
font-weight:200;
Light
font-weight:300;
Regular
font-weight:400;
Medium
font-weight:500;
SemiBold
font-weight:600;
Bold
font-weight:700;
ExtraBold
font-weight:800;
Black
font-weight:900; */

/* body */
body {
	margin: 0;
	padding: 0;
	line-height: 1;
	font-family: "pretendard", 'Noto Sans KR', "맑은 고딕", "Malgun Gothic", Arial, sans-serif;
	color: #000;
	background: #fff;
	height: auto !important;
    overflow: auto !important;
}

/* 리스트 */
ol, ul {
	list-style: none;
}

/* 링크 */
a {
	text-decoration: none;
	color: inherit;
}

/* 이미지 */
img {
    border: 0;
    display: block;
    max-width: 100%;
    height: auto;
}

/* 테이블 */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* 버튼 */
button {
	border: none;
	background: none;
	cursor: pointer;
	font-family: inherit;
}

/* input / textarea */
input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	border: none;
	outline: none;
}

/* placeholder */
input::placeholder,
textarea::placeholder {
	color: #aaa;
}

/* strong */
strong {
	font-weight: bold;
}

/* em */
em {
	font-style: normal;
}

/* hidden */
.hidden {
	display: none !important;
}

/* clearfix */
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}


/*===== 폰트 크기 =====*/
.font_12 {
	font-size: 12px !important;
}

.font_13 {
	font-size: 13px !important;
}

.font_14 {
	font-size: 14px !important;
}

.font_15 {
	font-size: 15px !important;
}

.font_16 {
	font-size: 16px !important;
}

.font_17 {
	font-size: 17px !important;
}

.font_18 {
	font-size: 18px !important;
}

.font_19 {
	font-size: 19px !important;
}

.font_20 {
	font-size: 20px !important;
}

.font_22 {
	font-size: 22px !important;
}

.font_23 {
	font-size: 23px !important;
}

.font_24 {
	font-size: 24px !important;
}

.font_25 {
	font-size: 25px !important;
}

.font_27 {
	font-size: 27px !important;
}

.font_30 {
	font-size: 30px !important;
}

.font_35 {
	font-size: 35px !important;
}

.font_40 {
	font-size: 40px !important;
}

.font_45 {
	font-size: 45px !important;
}

.font_50 {
	font-size: 50px !important;
}

.font_55 {
	font-size: 55px !important;
}

.font_60 {
	font-size: 60px !important;
}

/* 레드 컬러 공통 */
.red_default {
	color: #fe2743 !important;
}
.red_light_01 {
	color:#fe2743 !important;
}
.red_dark {
	color: #bb2337 !important;	
} 
.red_sub {
	color: #cf1926 !important;
}

/* 폰트 두께 */
.font_M {
	font-weight:500 !important;
}
.font_SB {
	font-weight:600 !important;
}
.font_B {
	font-weight:700 !important;
}

.font_EB {
	font-weight:800 !important;
}

/*===== 디스플레이 =====*/ 
.dp_b {
	display: block !important;
}

.dp_ib {
	display: inline-block !important;
}


/* float 위치 */
.fL {
	float: left !important;
}

.fR {
	float: right !important;
}


/*===== 가로정렬 =====*/
.aL {
	text-align:left !important;
}
.aR {
	text-align:right !important;
}
.aC {
	text-align:center !important;
}
.aJ {
	text-align: justify !important;
}


/*===== 패딩값 =====*/
.pt5 {
	padding-top: 5px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pt60 {
	padding-top: 60px !important;
}

.pt70 {
	padding-top: 70px !important;
}

.pt80 {
	padding-top: 80px !important;
}

.pt90 {
	padding-top: 90px !important;
}

.pt100 {
	padding-top: 100px !important;
}

.pt138 {
	padding-top: 138px !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.pb3 {
	padding-bottom: 3px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pb60 {
	padding-bottom: 60px !important;
}

.pb70 {
	padding-bottom: 70px !important;
}

.pb77 {
	padding-bottom: 77px !important;
}

.pb80 {
	padding-bottom: 80px !important;
}

.pb90 {
	padding-bottom: 90px !important;
}

.pb100 {
	padding-bottom: 100px !important;
}

.pb120 {
	padding-bottom: 120px !important;
}

.pb130 {
	padding-bottom: 130px !important;
}

.pb138 {
	padding-bottom: 138px !important;
}

.pb150 {
	padding-bottom: 150px !important;
}

.pb200 {
	padding-bottom: 200px !important;
}

.pb300 {
	padding-bottom: 300px !important;
}

.pb400 {
	padding-bottom: 400px !important;
}

.pb500 {
	padding-bottom: 500px !important;
}

.pb600 {
	padding-bottom: 600px !important;
}


.pl0 {
	padding-left: 0 !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.pl45 {
	padding-left: 45px !important;
}

.pl50 {
	padding-left: 50px !important;
}



.pr10 {
	padding-right: 10px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pr45 {
	padding-right: 45px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.pr0 {
	padding-right: 0 !important;
}


/*===== 마진값 =====*/
.ml_minus20 {
	margin-left: -20px !important;
}

.ml_minus10 {
	margin-left: -10px !important;
}

.ml_minus5 {
	margin-left: -5px !important;
}

.mr_minus20 {
	margin-right: -20px !important;
}

.mr_minus10 {
	margin-right: -10px !important;
}

.mr_minus5 {
	margin-right: -5px !important;
}

.mr0 {
	margin-right: 0 !important;
}

.mr5 {
	margin-right: 5px !important;
}

.mr7 {
	margin-right: 7px !important;
}

.mr8 {
	margin-right: 8px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr12 {
	margin-right: 12px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mr60 {
	margin-right: 60px !important;
}

.mr70 {
	margin-right: 70px !important;
}

.mr80 {
	margin-right: 80px !important;
}

.mr90 {
	margin-right: 90px !important;
}

.mr100 {
	margin-right: 100px !important;
}

.mr150 {
	margin-right: 150px !important;
}

.mr200 {
	margin-right: 200px !important;
}


.mt_minus5 {
	margin-top: -5px !important;
}

.mt_minus10 {
	margin-top: -10px !important;
}

.mt_minus20 {
	margin-top: -20px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt7 {
	margin-top: 7px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt55 {
	margin-top: 55px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt75 {
	margin-top: 75px !important;
}

.mt78 {
	margin-top: 78px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt90 {
	margin-top: 90px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mt105 {
	margin-top: 105px !important;
}

.mt110 {
	margin-top: 110px !important;
}

.mt120 {
	margin-top: 120px !important;
}

.mt130 {
	margin-top: 130px !important;
}

.mt140 {
	margin-top: 140px !important;
}

.mt150 {
	margin-top: 150px !important;
}

.mt160 {
	margin-top: 160px !important;
}

.mt279 {
	margin-top: 279px !important;
}

.mt308 {
	margin-top: 308px !important;
}


.mb0 {
	margin-bottom: 0px !important;
}

.mb3 {
	margin-bottom: 3px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb13 {
	margin-bottom: 13px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb85 {
	margin-bottom: 85px !important;
}

.mb90 {
	
	margin-bottom: 90px !important;
}
.mb95 {
	margin-bottom: 95px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.mb130 {
	margin-bottom: 130px !important;
}

.mb150 {
	margin-bottom: 150px !important;
}

.mb175 {
	margin-bottom: 175px !important;
}

.mb180 {
	margin-bottom: 180px !important;
}

.mb200 {
	margin-bottom: 200px !important;
}

.mb220 {
	margin-bottom: 220px !important;
}

.mb240 {
	margin-bottom: 240px !important;
}

.mb250 {
	margin-bottom: 250px !important;
}

.mb280 {
	margin-bottom: 280px !important;
}

.mb300 {
	margin-bottom: 300px !important;
}

.mb304 {
	margin-bottom: 304px !important;
}

.mb324 {
	margin-bottom: 324px !important;
}

.mb400 {
	margin-bottom: 400px !important;
}

.mb500 {
	margin-bottom: 500px !important;
}


.ml5 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml11 {
	margin-left: 11px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.ml55 {
	margin-left: 55px !important;
}

.ml58 {
	margin-left: 58px !important;
}

.ml60 {
	margin-left: 60px !important;
}

.ml65 {
	margin-left: 65px !important;
}

.ml70 {
	margin-left: 70px !important;
}

.ml80 {
	margin-left: 80px !important;
}

.ml90 {
	margin-left: 90px !important;
}

.ml100 {
	margin-left: 100px !important;
}

.a_L {
	text-align: left !important;
}
.a_C {
	text-align: center !important;
}
.a_R {
	text-align: right !important;
}

/*===== 1280영역 =====*/
.w1280 {
	display: block;
	width: 1280px !important;
	position: relative !important;
}

.w1280_c {
	display: block;
	width: 1280px !important;
	margin: 0 auto !important;
	position: relative !important;
}


/* =========================
   📌 스크롤트리거
   ========================= */
@keyframes fadein {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@-moz-keyframes fadein {

	/* Firefox */
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@-webkit-keyframes fadein {

	/* Safari and Chrome */
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@-o-keyframes fadein {

	/* Opera */
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

[data-trigger]{
	opacity:0;
	position: relative;
	top:30px;
	transition: 0.5s ease-out;
}

[data-trigger].visible{
	opacity:1;
	top:0px;
}



.container {
	display: block;
	width: 100%; 
	margin: 0 auto;
}

/* =========================
   서브 공통 HEADER
========================= */

#header_container {
	position: fixed;
	top: 0;
	width: 100%;
	height: 108px;
	z-index: 1000;
	background: rgba(255,255,255,0);
	transition: all 0.5s;
	border-bottom: 1px solid rgba(167,167,167,1);

	/* 260607 추가 */
	transform: translateY(0);
}
/* ========================
   📌 헤더 숨김(260607 추가)
========================== */
#header_container.hide {
	transform: translateY(-108px);
}

#header_container:hover,
#header_container.on {
	background-color: rgba(255, 255, 255, 0.95);
	/* backdrop-filter: blur(15px); */
}

/* =========================
   서브 공통 로고
========================= */

.header_inner {
	width: 1280px;
	margin: 0 auto;
	position: relative;
}

.header_logo {
	position: absolute;
	top: 12px;
	left: 0;
}

.header_logo img { display: block; }

#header_container:hover,
#header_container.on {
	display: block;
}

/* =========================
   서브 공통 GNB
========================= */

.gnb {
	position: absolute;   /* ❗ fixed → absolute */
	right: 0;             /* ⭐ header_inner 기준 오른쪽 */
	top: 0;
	z-index: 1100;	
}

.gnb .area {
	margin: 0 auto;
	position: relative;
}

/* depth1 */
.depth1 {
	display: flex;
	justify-content: flex-end; /* 👉 오른쪽 정렬 */
	padding-left: 0; /* ❗ 제거 */
}

.depth1 > li {
	position: relative;
	padding: 45px 60px 45px 0;
	z-index: 15;
}

.depth1 > li:last-child {
	padding-right: 0;
}

/* 메뉴 링크 */
.depth1 > li > div > a {
	font-size: 17px;
	font-weight: 500;
	color: #000;
	text-decoration: none;
	transition: all 0.3s;
	display: block;
}

/* 기본 hover */
.depth1 > li:hover > div > a {
	color: #fe2743;
}

/* 현재 활성 메뉴 */
.depth1 > li.active > div > a {
	color: #fe2743;
}

/* 헤더 hover 상태 */
#header_container:hover .depth1 > li > div > a,
#header_container.on .depth1 > li > div > a {
	color: #000;
}

#header_container:hover .depth1 > li:hover > div > a,
#header_container.on .depth1 > li:hover > div > a {
	color: #fe2743;
}

/* 🔥 hover 상태에서도 active 유지 */
#header_container:hover .depth1 > li.active > div > a,
#header_container.on .depth1 > li.active > div > a {
	color: #fe2743;
}

/* =========================
   서브 공통 depth2 애니메이션
========================= */

.depth2 {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	padding-top: 20px;	
	background: none;
	backdrop-filter: none;
	z-index: 20;

	/* 🔥 애니메이션 초기 상태 */
	opacity: 0;
	transform: translateY(-20px);
	pointer-events: none;

	transition: 
		opacity 0.4s ease,
		transform 0.4s ease;
}

/* 🔥 hover 시 */
/* 기본은 막기 */
.depth1 > li:hover .depth2 {
	opacity: 0;
	pointer-events: none;
}

/* 있는 경우만 열기 */
.depth1 > li.has-depth2:hover .depth2 {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* depth2가 있는 경우만 hover 작동 */
.depth1 > li:has(.depth2):hover .depth2 {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.depth1 > li:not(.has-depth2):hover {
	cursor: default;
}

/* =========================
   서브 공통 depth2 내부
========================= */

.depth2 li {
	margin-top: 10px;
}

.depth2 li a {
	display: block;
	font-size: 17px;
	color: #000;
	line-height: 24px;
	margin-bottom: 10px;
	transition: color 0.2s;
}

.depth2 li a:hover {
	color: #fe2743;
}


/* =========================
   🔥 배경 애니메이션 (수정)
========================= */

.depth1 > li.has-depth2::after {
	content: "";
	position: absolute;
	left: -100vw;
	top: 100%;
	width: 200vw;

	/* 🔥 높이 증가 (+100px 반영) */
	height: 0;

	background: rgba(255,255,255,0.95);
	/* backdrop-filter: blur(15px); */

	border-top: 1px solid rgba(167,167,167,1);	

	z-index: 10;

	/* 🔥 아래로 펼쳐지는 느낌 */
	transform-origin: top;
	transition: all 0.4s ease;
}

/* 펼쳐질 때 */
.depth1 > li.has-depth2:hover::after {
	height: 190px;   /* 260405 depth2 전체 메뉴 한 줄이 줄어들면서 높이값 수정 */
	/* height: 230px;  */
	
	border-bottom: 1px solid rgba(167,167,167,1);
}

/* =========================
   📌 서브상단 네비
   ========================= */
.sub_navi {
	display: block;
	width: 1280px;
	margin: 100px auto 0;
	padding-top: 100px;
}
.sub_navi ul {
	overflow: hidden;
}
/* li 공통 */
.sub_navi ul li {
	float: left;
	display: flex;
	align-items: center;   /* 🔥 세로 중앙 정렬 */
	height: 19px;          /* 🔥 아이콘 높이에 맞춤 (icon_home 기준) */
	margin-right: 15px;
	position: relative;
}
/* 🔥 li 사이 화살표 */
.sub_navi ul li::after {
	content: "";
	display: block;
	width: 6px;
	height: 10px;
	margin-left: 15px;
	background: url('../images/common/icon_navi_arrow_01.png') no-repeat center;
	background-size: contain;
}
/* 마지막 li는 화살표 제거 */
.sub_navi ul li:last-child::after {
	display: none;
}
/* 링크 정리 */
.sub_navi ul li a {
	display: flex;
	align-items: center;
	line-height: 1;
	transition: all 0.3s;
}
.sub_navi ul li a:hover {
	color: #fe2743;
}
.sub_navi ul li.home a {
	display: block;
	width: 19px;
	height: 19px;
	background: url('../images/common/icon_home.png') no-repeat center;
	background-size: contain;
	transition: all 0.3s;
}

.sub_navi ul li.home a:hover {
	background-image: url('../images/common/icon_home_over.png');
}


/* =========================
   📌 서브 공통 - 배경 컬러
   ========================= */
.bg_white_01 {
	background: #fff;
}
.bg_gray_01 {
	background: #f5f5f5;
}
.bg_blue_01 {
	background: #0086b0;
}
.bg_pink_01 {
	background: #ffbac4;
}
.bg_pink_02 {
	background: #ffebee;
}
.bg_pink_gradient_01 {
	background: linear-gradient(to right, #f4556a, #ff7c8d);
}


/* =========================
   📌 서브 공통 - 전체 제목
   ========================= */
.sub_title_blue_01 {
	font-size: 45px;
	font-weight: 300;
	color: #0064e0;
	margin-bottom: 45px;
}

/* =========================
   📌 서브 공통 - 본문 제목
   ========================= */
.sub_desc_title_01 {
	display: inline-block;
	font-size: 25px;
	font-weight: 500;
	color: #000;
	margin-bottom: 40px;
}
.sub_title_white_01 {
	font-size: 45px;
	font-weight: 300;
	color: #fff;
	margin-bottom: 45px;
}

/* =========================
   📌 서브 공통 - 본문 텍스트
   ========================= */
.sub_desc_text_01 {
	display: block;
	width: 100%;
	font-size: 20px;
	font-weight: 300;
	color: #000;
	line-height: 40px;
	letter-spacing: -0.25px;
	word-break: keep-all;
	text-align: justify; 
}
.sub_desc_text_02 {
	display: block;
	width: 100%;
	font-size: 20px;
	font-weight: 300;
	color: #fff;
	line-height: 40px;
	letter-spacing: -0.25px;
	word-break: keep-all;
	text-align: justify; 
}

/* =========================
   📌 서브 공통 - 준비 중
   ========================= */
.preparing_wrap {
	display: block;
	width: 100%;
	margin: 0 auto;
}

.preparing_inner {
	display: block;
	width: 550px;
	margin: 0 auto 80px;;
}


/* ========================================
   📌 서브 공통 - 하단 라인 있는 서브 타이틀 
   ======================================== */
.section_sub_title_lineY {
	display: block;
	width: 1280px;
	margin: 67px auto 0;
	padding-bottom: 27px;
	border-bottom: 1px solid rgba(167,167,167,1);
	position: relative;
}
.section_sub_title_lineY p {
	display: inline-block;
	font-size: 45px;
	font-weight: 300;
	overflow: hidden;
}

/* ========================================
   📌 서브 공통 - 하단 라인 없는 서브 타이틀
   ======================================== */
.section_sub_title_lineN {
	display: block;
	width: 1280px;
	margin: 67px auto 60px;
	position: relative;
}
.section_sub_title_lineN p {
	display: inline-block;
	font-size: 45px;
	font-weight: 300;
	overflow: hidden;
}

.section_sub_title_lineN_02 {
	display: block;
	width: 1280px;
	margin: 67px auto 30px;
	position: relative;
}
.section_sub_title_lineN_02 p {
	display: inline-block;
	font-size: 45px;
	font-weight: 300;
	overflow: hidden;
}


/* =========================
   📌 서브 공통 - 메뉴 탭(2개)
   ========================= */
.tab_nav_2pcs {
	position: relative; 
	width: 1280px;
}

.tab_nav_2pcs.sub {
	margin: 0 0 15px;
}

.tab_nav_2pcs ul {
	border-bottom: 1px solid rgba(167,167,167,1);
	overflow: hidden;
}

.tab_nav_2pcs ul li {
	float: left;
	width: 640px;
	margin-bottom: -1px;
	box-sizing: border-box;
	outline: none;
	text-align: center;
}

.tab_nav_2pcs ul li a {
	display: inline-block; 
	width: 100%;
	padding: 0 0 20px;
	font-size: 25px;
	font-weight: 300; 
	color: #777;
	box-sizing: border-box;
	outline: none;
}

.tab_nav_2pcs ul a.on {
	color: #fe2743;
}

.tab_nav_2pcs ul li.on a {
	font-weight: 500; 
	color: #fe2743;
}

.tab_nav_2pcs ul li.on {
	display: inline-block;
}

.tab_nav_2pcs ul li.on {
	border-bottom: 3px solid rgba(254,39,67,1);
}

/* =========================
   📌 서브 공통 - 메뉴 탭(3개)
   ========================= */
.tab_nav_3pcs {
	position: relative; 
	width: 1280px;
}

.tab_nav_3pcs.sub {
	margin: 0 0 15px;
}

.tab_nav_3pcs ul {
	border-bottom: 1px solid rgba(167,167,167,1);
	overflow: hidden;
}

.tab_nav_3pcs ul li {
	float: left;
	width: 426px;
	margin-bottom: -1px;
	box-sizing: border-box;
	outline: none;
	text-align: center;
}

.tab_nav_3pcs ul li a {
	display: inline-block; 
	width: 100%;
	padding: 0 0 20px;
	font-size: 25px;
	font-weight: 300; 
	color: #777;
	box-sizing: border-box;
	outline: none;
}

.tab_nav_3pcs ul a.on {
	color: #fe2743;
}

.tab_nav_3pcs ul li.on a {
	font-weight: 500; 
	color: #fe2743;
}

.tab_nav_3pcs ul li.on {
	display: inline-block;
}

.tab_nav_3pcs ul li.on {
	border-bottom: 3px solid rgba(254,39,67,1);
}

/* ====================================================
   📌 서브 공통 - section_default(위아래 마진값 없는 경우)
   =====================================================*/
.section_default_wrap {
	display: flex;
    position: relative;
    margin: 0 auto;
	padding: 100px 0;	
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}

/* ====================================================
   📌 서브 공통 - section_default(아래 마진값 100px인 경우)
   =====================================================*/
.section_mb100_wrap {
	display: flex;
    position: relative;
    margin: 0 auto 100px;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}

/* ======================================================================
   📌 서브 공통 - section_top_minus28_wrap(서브 타이틀 아래 라인 없을 경우)
   ======================================================================= */
.section_top_minus30_wrap {
	display: flex;
    position: relative;
    width: 100%;
	margin: -28px auto 0;   
	padding: 100px 0;	
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}

/* =========================================================================================
   📌 서브 공통 - section_top_minus30_p0_wrap(서브 타이틀 아래 라인 없고 하단 패딩 없는 경우)
   ========================================================================================== */
.section_top_minus30_p0_wrap {
	display: flex;
    position: relative;
    width: 100%;
	margin: -28px auto 0;   
	padding: 100px 0 0;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}


/* =================================
   📌 서브 공통 - section_default_inner
   ================================== */
.section_default_inner {
	display: block;
	width: 1280px;
	margin: 0 auto;
}


/* ====================================
   📌 서브 공통 - 라운드박스(15픽셀)
   ==================================== */
.R15box_white_box_borderN {
	display: block;
	padding: 60px 50px;
	border-radius: 15px;
	background: #fff;
	box-sizing: border-box;
}
.R15box_white_box_borderY {
	display: flex;
	flex-direction: column;

	/* 세로 중앙 */
	justify-content: center;

	/* 가로 중앙 */
	align-items: center;

	width: 100%;
	height: 100%;

	/* display: block; */
	padding: 60px 50px;
	border: 1px solid #e2e2e2;
	border-radius: 15px;
	background: #fff;
	box-sizing: border-box;
}

.division_line_01 {
	display: block;
	width: 100%;
	padding-bottom: 2px;
	border-bottom: 1px solid rgba(167, 167, 167, 1);
}

.division_line_02 {
	display: block;
	width: 100%;
	height: 1px;
	margin: 20px 0;
	background: #d4d4d4;
}

.division_bar_01 {
	display: inline-block;
	width: 1px;
	height: 17px;
	margin: 0 20px ;
	background: #d4d4d4;
}

.description_text_01 {
	display: inline-block;
	font-size: 16px;

	position: absolute;
    right: 0;
    bottom: 0;
}
.description_text_02 {
	display: inline-block;
	font-size: 16px;
	color: #bb2337;
	margin: 15px 0;
}
.symbol_01 {
	display: inline-block;
	font-size: 20px;
	font-weight: 400;
	color: #fe2743;

	position: relative;
	top: 5px;
}
.symbol_02 {
	display: inline-block;
	font-size: 20px;
	font-weight: 400;
	color: #fe2743;

	position: relative;
	top: 3px;
}

/* =========================
   📌 About - 인사말
   ========================= */
.section_default_inner .greetings ul {
	overflow: hidden;
}
.section_default_inner .greetings ul li {
	float: left;
}
.section_default_inner .greetings ul li:nth-child(1) {
	width: 854px;
	margin-right: 94px;
}
.section_default_inner .greetings ul li:nth-child(2) {
	
}
.section_default_inner .greetings ul li:nth-child(2) p {
	width: 332px;
	text-align: center;
	margin-top: 27px;
	font-size: 18px;
	font-weight: 300;
}
.section_default_inner .greetings ul li:nth-child(2) p span {
	font-size: 20px;
	font-weight: 700;
}


/* =========================
   📌 About - 연혁
   ========================= */
.history_list {
	display: block;
}
.history_list ul {
	overflow: hidden;
}
.history_list ul li {
	float: left;
}
.history_list ul li {

}
.history_photo {
	display: block;
	width: 598px;
	margin-right: 40px;
	cursor: pointer;
}
.history_photo div {
	margin-bottom: 40px;
	box-sizing: border-box;
}
/* ======================================
   📌 About > 연혁 history_photo 오버레이
====================================== */

/* 기준 잡기 */
.history_photo a {
    position: relative;
    display: block;
}

/* 이미지 */
.history_photo img {
    display: block;
    width: 100%;
}

/* 오버레이 */
.history_photo_detail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 50px;
    box-sizing: border-box;

    background: rgba(0,0,0,0.5);
    border: 5px solid #0099df;

    font-size: 15px;
    font-weight: 300;
    color: #fff;
    text-align: center;

    max-width: 598px;
    margin: 0 auto;

    line-height: 24px;
	word-break: keep-all;

    opacity: 0;
    transition: all 0.3s ease;
}

/* hover 시 */
.history_photo a:hover .history_photo_detail {
    opacity: 1;
}

.history_photo ul {
	overflow: hidden;
}
.history_photo ul li {
	float: left;
	width: 299px;
}


/* =========================
   📌 기본 (IE11 대응용)
   ========================= */

.history_detail {
	position: relative;
	z-index: 1;
	padding-top: 25px;
}

.history_line {
	display: block;
	margin-bottom: 41px;
}

.history_line ul {
	display: block;
}

.history_line ul::after {
	content: "";
	display: block;
	clear: both;
}

/* year */
.history_year {
	float: left;
	width: 100px;

	font-size: 25px;
	font-weight: 800;
	color: #0099df;
	text-align: center;
}

/* dash */
.history_dash {
	float: left;
	width: 30px;
	height: 9px;

	background: url('../images/sub/about/about_history_line_01.png') no-repeat center;
	background-size: contain;

	margin-left: -5px;
	margin-right: 15px;
	margin-top: 12px; /* ⭐ 세로 위치 보정 */
}

/* day */
.history_day {
	float: left;
	width: 60px;

	font-size: 20px;
	font-weight: 600;
	color: #0099df;

	margin-right: 15px;
}

/* text 영역 */
.history_text_top {
	margin-left: 205px; /* ⭐ 100 + (30-5) + 15 + 60 = 계산 */
	font-size: 18px;
	font-weight: 300;
	color: #000;
}

.history_text_sub {
	margin-left: 205px;
	margin-top: 5px;

	font-size: 18px;
	font-weight: 200;
	color: #909090;
}

/* tree */
.history_tree {
	position: absolute;
	top: 0;
	left: 0;

	width: 100px;
	height: 1700px;

	background: #d8f3ff;
	z-index: -1;

	/* 🔥 추가 (애니메이션용) */
	overflow: hidden;
	transform-origin: top;
}


/* =========================
   📌 최신 브라우저 (grid)
   ========================= */

@supports (display: grid) {

	.history_line ul {
		display: grid;
		grid-template-columns: 100px auto 60px 1fr;
		grid-template-rows: auto auto;

		row-gap: 5px;
		align-items: center;
	}

	.history_year {
		grid-column: 1;
		grid-row: 1;
		float: none;
		width: auto;
	}

	.history_dash {
		grid-column: 2;
		grid-row: 1;

		float: none;
		margin-top: 0;
	}

	.history_day {
		grid-column: 3;
		grid-row: 1;

		float: none;
		width: auto;
		margin-right: 15px;
	}

	.history_text_top {
		grid-column: 4;
		grid-row: 1;

		margin-left: 0;
		padding-left: 8px;
	}

	.history_text_sub {
		grid-column: 4;
		grid-row: 2;

		margin-left: 0;
		padding-left: 8px;
		margin-top: 0;
	}
}


/* ====================
   📌 기도대성회 > 강사
   ===================== */
.section_top_plus70_h360_wrap {
	display: flex;
    position: relative;
    width: 100%;
	margin: 70px auto 0;   /* 서브 네비와 100픽셀 간격인데 data-trigger 세팅값 때문에 서브 네비와 30픽셀의 간격이 생기는 문제로 */
	height: 360px;	
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.section_h360_wrap {
	display: flex;
    position: relative;
    width: 100%;
	margin: 0 auto;  
	height: 360px;	
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.section_speaker_inner {
	display: block;
	width: 1400px;
	margin: 0 auto;
	/* padding: 0 50px; */
}

.speaker_pink_wrap {
	display: flex;
	padding: 60px 40px 20px 60px;
	padding-top: 60px;

	overflow-x: auto;
	overflow-y: hidden;

	-webkit-overflow-scrolling: touch;

	/* 🔥 핵심 */
	touch-action: pan-x pan-y;
}
.speaker_pink_wrap ul {
	display: flex;
	gap: 44px; /* li 사이 간격 */
	height: 100%; /* ⭐ 추가 */
	width: max-content; /* 🔥 중요 */
}
.speaker_pink_wrap ul li {
	margin-right: 0; /* 기존 제거 */
	float: none;     /* 중요 */
	width: 176px;
	flex-shrink: 0; /* ⭐ 줄어들지 않게 */
}
.speaker_pink_wrap ul li img {
	margin-bottom: 23px;
	image-rendering: -webkit-optimize-contrast; 
	transform: translateZ(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	border-radius: 50%;
}
.speaker_pink_name {
	display: block;
	width: 176px;
	font-size: 16px;
	font-weight: 500;
	color: #000;
	letter-spacing: -0.65px;
	line-height: 20px;
	text-align: center;
	margin-bottom: 7px;
}
.speaker_pink_affiliation {
	display: block;
	width: 176px;
	font-size: 12px;
	font-weight: 400;
	color: #da596c;
	line-height: 15px;
	text-align: center;
}

.speaker_white_wrap {
	display: flex;
	padding: 60px 40px 20px 60px;
	padding-top: 60px;

	overflow-x: auto;
	overflow-y: hidden;

	-webkit-overflow-scrolling: touch;

	/* 🔥 핵심 */
	touch-action: pan-x pan-y;
}
.speaker_white_wrap ul {
	display: flex;
	gap: 44px; /* li 사이 간격 */
	height: 100%; /* ⭐ 추가 */
	width: max-content; /* 🔥 중요 */
}
.speaker_white_wrap ul li {
	margin-right: 0; /* 기존 제거 */
	float: none;     /* 중요 */
	width: 176px;
	flex-shrink: 0; /* ⭐ 줄어들지 않게 */
}
.speaker_white_wrap ul li img {
	margin-bottom: 23px;
	image-rendering: -webkit-optimize-contrast; 
	transform: translateZ(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	border-radius: 50%;
}
.speaker_white_name {
	display: block;
	width: 176px;
	font-size: 16px;
	font-weight: 500;
	color: #000;
	letter-spacing: -0.65px;
	line-height: 20px;
	text-align: center;
	margin-bottom: 7px;
}
.speaker_white_affiliation {
	display: block;
	width: 176px;
	font-size: 12px;
	font-weight: 400;
	color: #909090;
	line-height: 15px;
	text-align: center;
}
.speaker_pink_wrap ul li,
.speaker_white_wrap ul li {
	display: flex;
	flex-direction: column;
	justify-content: center;  /* ⭐ 세로 중앙 */
	align-items: center;      /* ⭐ 가로 중앙 */
	height: 100%;             /* ⭐ 중요 */
}

/* li 기본 상태 */
.speaker_pink_wrap ul li,
.speaker_white_wrap ul li {
    transition: transform .4s cubic-bezier(.22,.61,.36,1);
}

/* hover 시 확대 */
.speaker_pink_wrap ul li:hover,
.speaker_white_wrap ul li:hover {
    transform: scale(1.15);
    z-index: 10; 
}

.speaker_pink_wrap ul,
.speaker_white_wrap ul {
    overflow: visible;
}

/* li 기본 상태 */
/* .speaker_pink_wrap ul li img,
.speaker_white_wrap ul li img {
    transition: transform 0.3s ease;
}
 */
/* hover 시 확대 */
/* .speaker_pink_wrap ul li img:hover,
.speaker_white_wrap ul li img:hover {
    transform: scale(1.15);
    z-index: 10; 
} */


/* ===============================
   📌 기도대성회 > 일정
   =============================== */
.schedule_group_01 {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff5f5;
	padding-top: 62px;
}
.schedule_group_02 {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff5f5;
	padding-top: 25px;
}
.schedule_group_03 {
	display: block;
	width: 241px;
	height: 310px;
	background: #fff5f5;
	border-radius: 15px;
	margin: 280px auto 0;
	padding-top: 25px;
}
.schedule_group_04 {
	display: block;
	width: 100%;
	height: 100%;
	background: #ffbac3;
	padding-top: 62px;
}


.schedule_title_01 {
	display: block;
	font-size: 18px;
	font-weight: 500;
	color: #bb2337;
	margin-bottom: 7px;
}
.schedule_title_02 {
	display: block;
	width: 251px;
	height: 32px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 31px;
	text-align: center;
	margin: 0 auto 20px;
	background: #de4c5f;
	border-radius: 50px;
} 
.schedule_title_03 {
	display: block;
	width: 251px;
	height: 32px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 31px;
	text-align: center;
	margin: 0 auto 20px;
	background: #6f141b;
	border-radius: 50px;
}
.schedule_title_04 {
	display: block;
	width: 211px;
	height: 32px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 31px;
	text-align: center;
	margin: 0 auto 20px;
	background: #de4c5f;
	border-radius: 50px;
}
.schedule_title_05 {
	display: block;
	font-size: 18px;
	font-weight: 500;
	color: #000;
}
.schedule_title_06 {
	display: block;
	width: 100%;
    height: 100%;
	font-size: 18px;
	font-weight: 500;
	color: #c08300;
	line-height: 78px;
	background: #fefde9;
}


.schedule_text_01 {
	display: block;
	font-size: 17px;
	font-weight: 200;
	color: #000;
}
.schedule_text_02 {
	display: block;
	font-size: 18px;
	font-weight: 500;
	color: #000;
}
.schedule_text_03 {
    display: block;
    text-align: center; /* 전체 가운데 */
}
/* 텍스트 기준 영역 */
.schedule_text_03 .text_inner {
    position: relative;
    display: inline-block; /* ⭐ 텍스트 길이만큼만 영역 */
    padding-left: 10px;    /* 점 + 간격 */
	margin-bottom: 13px;
}
.schedule_text_03:last-child .text_inner {
	margin-bottom: 0;
}

/* 점 */
.schedule_text_03 .text_inner::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 3px;
    background: #000;
    border-radius: 50%;
    transform: translateY(-70%);
}
.schedule_text_04 {
	display: block;
	font-size: 20px;
	font-weight: 600;
	color: #bb2337;
	margin-bottom: 12px;
}
.schedule_text_05 {
	display: block;
	font-size: 20px;
	font-weight: 300;
	color: #bb2337;
	margin-bottom: 12px;
}


.schedule_blank {
	background: #e5e5e5;
}

.schedule_bg {
	position: absolute;
	top: 495px;
	left: 50%;
	margin-left: -225px;
}




/* ===============================
   📌 기도대성회 > 장소/오시는 길
   =============================== */
.info_location_wrap {
	display: block;
	width: 100%;
	margin: 50px auto 100px;
}
.info_location_wrap ul {
	overflow: hidden;
}
.info_location_wrap ul li {
	float: left;
}
.info_location_map {
	display: block;
	width: 100%;
}


/* 카카오 약도 전체 */
.root_daum_roughmap{
	display:grid !important;

	grid-template-columns:54% 46%;
	grid-template-areas:
		"map info"
		"ctrl info";

	column-gap:30px;
}

/* 지도 */
.root_daum_roughmap > .wrap_map{
	grid-area:map;
	width:n: relative;
    width: 100% !important;
}
.root_daum_roughmap {
    background-color: #fff;
    margin: 0 auto;
    position: relative;
    width: 100% !important;
}

/* 정보 */
.root_daum_roughmap > .cont{
	grid-area:info;
	width:auto !important;
	padding-left:0;
}

.root_daum_roughmap .cont {
    margin-top: -15px !important;
    overflow: hidden;
    position: relative;
}

/* 컨트롤러 숨김 */
.root_daum_roughmap > .wrap_controllers{
	grid-area:ctrl;
	display:block !important;
}

.root_daum_roughmap .section_busstop .wrap_list {
    margin: 0 !important;
}

.root_daum_roughmap .section_busline .wrap_list li {
    margin-bottom: 7px;
	margin-right: 5px !important;
    overflow: hidden;    
}

.root_daum_roughmap .section_address .tit {
    font-size: 16px !important;
    line-height: 20px !important;
    width: 78px;
}
.root_daum_roughmap .section_address .txt {
    font-size: 16px !important;
    line-height: 20px !important;
}

.root_daum_roughmap .section .title {
     font-size: 16px !important;
    line-height: 20px !important;
}

.root_daum_roughmap .section_subway .ico_subway {
	 background-image:url('../images/sub/program/ico_traffic_self.png') !important;
    /* background: url(//t1.kakaocdn.net/localimg/localimages/07/2018/pc/ico_traffic_241114.png) no-repeat; */   
    background-repeat:no-repeat !important;
	background-size:54px 18px !important;

    width:18px !important;
    height:18px !important;    

	position: relative;
    top: -2px;

    float:left;
    margin-right:5px;
    overflow:hidden;
}

.root_daum_roughmap .section_subway .ico_subway02{
    background-position:0 0 !important;
}

.root_daum_roughmap .section_subway .ico_subway05{
    background-position:-18px 0 !important;
}

.root_daum_roughmap .section_subway .ico_subway09{
    background-position:-36px 0 !important;
}

.info_location_wrap ul {
    overflow: visible !important;
}

.info_location_wrap ul::after {
    content: "" !important;
    display: block !important;
    clear: both !important;
}


.root_daum_roughmap .section_subway .wrap_list li a {
    font-size: 15px !important;
    line-height: 19px !important;
    position: relative;
    top: -2px;
}

.root_daum_roughmap .section_busline .wrap_list li {
    margin-bottom: 10px !important;
    overflow: hidden;
}
.root_daum_roughmap .section_busstop .wrap_list li a {
    font-size: 15px !important;
    line-height: 19px !important;
}
.root_daum_roughmap .section_busline .wrap_list .txt .txt_item {
    font-size: 15px !important;
    line-height: 19px !important;
}


/* .root_daum_roughmap .section_subway .ico_subway{
    width:16px !important;
    height:16px !important;

    transform:scale(1.15);
    transform-origin:left center;

    margin-right:8px !important;
} */

/* 자가용 이용 별도 표기 */
.car_add_text {
	position: absolute;
	top: 410px!important;
    left: 743px!important;

	width: 100%;
	background: #fff;

	color: #333;
    font-family: Malgun Gothic, dotum, sans-serif;
    font-size: 16px;
    letter-spacing: -1px;
    line-height: 1.5;

	border-top: 1px solid #f2f2f2 !important;
    padding: 20px 0 !important;

	z-index: 99 !important;
}

/* 전화번호 별도 표기 */
.tel_add_text {
	position: absolute;
	top: 33px;
    left: 819px;

	width: 100%;
	background: #fff;

	color: #333;
    font-family: Malgun Gothic, dotum, sans-serif;
    font-size: 16px;
    letter-spacing: -1px;
    line-height: 1.5;
	z-index: 99 !important;
}


.icon_num {
    background: url(//t1.kakaocdn.net/localimg/localimages/07/2018/pc/roughMap/ico_bus.png) no-repeat;
    float: left;
    height: 18px;
    margin-right: 6px;
    overflow: hidden;
    width: 18px;
}
.icon_num1 {
    background-position: 0 0;
}
.icon_num2 {
    background-position: 0 -20px;
}



.info_location_more {
	display: block;
	width: 100%;
	margin: 50px auto;
}

.info_location_shuttle {
	display: block;
	width: 100%;
	margin: 50px auto;
}
.info_location_zone {
	display: block;
	width: 1280px;
	margin: 30px auto 100px; 
}
.info_location_detail_title {
	display: block;
	width: 100%;
	padding: 15px 0;
	text-align: center;
	background: #fff5f6;
	font-size: 18px;
	font-weight: 500;
	color: #bb2337;
	/* margin-bottom: 10px; */
}
.info_location_zone {
	position: relative;
}
.info_sub_text {
	display: block;
	margin-top: 7px;
	font-size: 13px;
	font-weight: 300;
	color: #000;
	text-align: center;
}

.btn_VR_link {
	display: block;
	position: absolute;
	top: 16px;
    right: 20px;
}

.btn_VR_link a {
	display: block;
	width: 160px;
	height: 35px;
	font-size: 15px;
	color: #fff;
	text-align: center;
	line-height: 35px;
	background: #bb2337;	
	/* border: 1px solid #9e0e21; */
	border-radius: 50px;
	transition: 0.3s;
}
.btn_VR_link a:hover {
	background: #831723;
	/* border: 1px solid #6b0a15;	 */
}


.seating_chart {
	display: block;
	margin-top: 20px;
}
.seating_chart ul {

}
.seating_chart ul li {
	display: block;
	width: 393px;
	margin-right: 50px;
}
.seating_chart ul li:last-child {
	margin-right: 0;
}
.seating_chart ul li img:hover {
	cursor: url('../images/common/icon_zoomin.png'), auto;
	/* cursor: zoom-in; */
}



.tblArea_04 {
    width: 100%;
}
.tb_basic_04 {
    border-collapse: collapse;
    width: 100%;
	table-layout: fixed;  /* 반응형이나 컬럼 비율 바뀌면 바로 깨지는 문제 차단 */
	font-family: 'pretendard', 'Noto Sans KR', "Malgun Gothic", "맑은 고딕", dotum, "돋움", sans-serif !important;
}
/* 기본 border 제거 */
.tb_basic_04 th,
.tb_basic_04 td {
	border: none;
	padding: 30px 50px 30px 80px;
	text-align: left;
	vertical-align: middle;
}
/* 가로 선 (tr 사이) */
.tb_basic_04 tr + tr th,
.tb_basic_04 tr + tr td {
	border-top: 1px solid #dcdcdc;
}
/* 세로 선 (td 사이) */
.tb_basic_04 th + th,
.tb_basic_04 td + td {
	border-left: 1px solid #dcdcdc;
}
/* 맨 밑줄 선 */
.tb_basic_04 tr:last-child{
	border-bottom: 1px solid #dcdcdc;
}
.tb_basic_04 th {
	color: #000;
	font-size: 16px;
	font-weight: 500;
	background-color: #f5f5f5;
}
.tb_basic_04 td {
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
	vertical-align: top;
}

/* .tb_basic_02 tr:hover {
	background: rgba(248,248,248,1);
} */

.td_title_02 {
	font-weight: 700;
	margin-bottom: 10px;
}
.td_text_02 {
	margin-bottom: 5px;			
	display:flex;
	align-items:center;  /* ⭐세로 중앙 */
}
.td_title_02_sub {
	font-weight: 500;
	color: #bb2337;
	margin-bottom: 5px;
	position: relative;
}
.tb_basic_04 .td_center {
	display: block;
	width: 100%;
	padding: 30px 30% !important;
}


/* 지하철 구분 표기 */
.subway_5line{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width: 20px;
	height: 20px;
	background: #914add;
	border-radius: 50%;
	font-size: 12px;
	color: #fff;
	text-align: center;
	margin-right: 8px;
	flex-shrink:0;
	margin-top: -2px;
	box-sizing: border-box;
}
.subway_9line{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width: 20px;
	height: 20px;
	background: #aa8874;
	border-radius: 50%;
	font-size: 12px;
	color: #fff;
	margin-right: 8px;
	flex-shrink:0;
	margin-top: -1px;
	box-sizing: border-box;
}

/* 버스 구분 표기 */
.bus_general {
	display: inline-block;
	padding: 0 5px;
	background: #00b3c5;
	border-radius: 5px;
	font-size: 12px;
	color: #fff;
	margin-top: -1px;
	margin-right: 8px;
	box-sizing: border-box;
}
.bus_green {
	display: inline-block;
	padding: 0 5px;
	background: #5fb73c;
	border-radius: 5px;
	font-size: 12px;
	color: #fff;
	margin-top: -1px;
	margin-right: 8px;
	box-sizing: border-box;
}
.bus_blue {
	display: inline-block;
	padding: 0 5px;
	background: #7182f5;
	border-radius: 5px;
	font-size: 12px;
	color: #fff;
	margin-top: -1px;
	margin-right: 8px;
	box-sizing: border-box;
}
.bus_red {
	display: inline-block;
	padding: 0 5px;
	background: #f01c11;
	border-radius: 5px;
	font-size: 12px;
	color: #fff;
	margin-top: -1px;
	margin-right: 8px;
	box-sizing: border-box;/
}
.bus_airport {
	display: inline-block;
	padding: 0 5px;
	background: #aa8874;
	border-radius: 5px;
	font-size: 12px;
	color: #fff;
	margin-top: -1px;
	margin-right: 8px;
	box-sizing: border-box;
}


.info_location_detail_sub {
	display: block;
	width: 79.5%;
}
.info_location_detail_sub ul {
	display: flex;
	justify-content: center;
    gap: 10px;
}
.info_location_detail_sub ul li {
	position:relative;
	flex:1;
}
/* 마지막 li 제외 */
.info_location_detail_sub ul li:not(:last-child)::after{
	content:'';
	position:absolute;

	top:0;
	right:15%;     

	width:1px;
	height:100%;

	background:#dcdcdc;

	/* margin-right: 15%; */
}

/* 로드뷰 보기 버튼 */
.btn_roadview_01 {
	display: block;
	padding: 5px 15px;
	background: #f1f1f1;

	font-size: 12px;
	font-weight: 500;
	color: #000;
	text-align: center;

	border-radius: 16px;

	box-sizing: border-box;
	transition: all 0.3s;
}
.btn_roadview_01:hover {
	background: #ccc;
}
.btn_roadview_02 {
	display: inline-block;
	position:absolute;
	top: 1px;
	width: 45px;
	height: 20px;
	background: #f1f1f1;

	font-size: 10px;
	font-weight: 500;
	color: #000;
	text-align: center;
	line-height: 19px;

	border-radius: 10px;

	box-sizing: border-box;
	transition: all 0.3s;
}
.btn_roadview_02:hover {
	background: #ccc;
}



/*===== 행사장 확대 팝업 =====*/
/* 모달 전체 */
.img_modal {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.0);

	overflow: auto;   /* 이미지가 너무 커서 스크롤이 필요한 경우를 위해 */

	opacity: 0;
	transition: opacity 0.3s ease;
}
.img_modal.on {
	display: block;
	background: rgba(0,0,0,0.8);
	opacity: 1;
}

/* 이미지 */
.img_modal_content {
	display: block;
	margin: 0 auto;
	position: relative;
	top: 100px; /* 🔥 여기만 핵심 */
	
	transform: scale(0.95);
	opacity: 0;
	transition: all 0.35s ease;
}
/* 활성화 시 */
.img_modal.on .img_modal_content {
	transform: scale(1);
	opacity: 1;
}

/* 닫기 버튼 */
.img_close {
    display: flex;
    align-items: center;
    justify-content: center;

	position: absolute;
    top: 20px;
	right: 30px;
	color: #fff;
    width: 40px;
    height: 40px;
    background: #fff url('../images/common/btn_close_01.png') no-repeat;
    background-position: center center;
	background-size: 40% auto; 
    border-radius: 50%;
	cursor: pointer;
}

/* .img_close {
	position: absolute;
	top: 20px;
	right: 30px;
	color: #fff;
	font-size: 40px;
	cursor: pointer;
} */

/* 커서 */
.seating_chart img {
	cursor: pointer;
}
.seating_chart img:hover {
	opacity: 0.85;
	transform: scale(1.02);
	transition: 0.3s;
}


/* =========================================
   📌 자료·미디어 > 홍보자료실
   ========================================= */
.Rbox_one_inner {
	display: block;
}
.Rbox_one_inner ul {
	display: flex;
	align-items: flex-start;
}
.Rbox_one_inner ul li {
	float: left;
}  
.Rbox_two_inner {
	display: block;
}
.Rbox_two_inner ul {
	display: flex;
    gap: 50px;
    height: 950px;
    /* height: 100%; */

	align-items: stretch;
}
.Rbox_two_inner ul li {
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	
    height: 100%;
	position: relative;
	z-index: 1;
}  
.Rbox_two_inner ul li:hover {
	z-index: 9999;
}

.w253 {
	display: block;
	width: 303px;
	margin-right: 50px;
	padding-right: 50px;
	border-right: 1px solid #e2e2e2;
	text-align: center;
	position: relative;
	z-index: 5;
	overflow: visible;
}
.w826 {
	display: block;
	width: 825px;
}
.descript_title {
	display: block;	
	font-size: 20px;
	font-weight: 500;
	color: #000;
	text-align: center;
	margin-bottom: 20px;
}
.btn_download {
	display: block;
    width: 120px;
    height: 35px;
	margin: 0 auto;
}
.btn_download a {
	display: block;
    width: 100%;
    height: 100%;

    font-size: 14px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    line-height: 35px;

    border-radius: 50px;
    box-sizing: border-box;

    background-color: #777;
    background-image: url('../images/common/icon_download.png');
    background-repeat: no-repeat;
    background-position: right 23px center; /* 👉 오른쪽 정렬 */
    background-size: 15px 13px;

    padding-right: 29px; /* 👉 아이콘 공간 확보 */
	transition: all 0.3s;
}
.btn_download a:hover {
	background-color: #901927;
}


.logo_descript {
	display: block;
	width: 825px; 
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.logo_descript_title_main {
	display: block;
	font-size: 25px;
	font-weight: 500;
	color: #000;
	margin-bottom: 38px;
}
.logo_descript_paragraph {
	display: block;
	margin-bottom: 29px;
}
.logo_descript_paragraph:last-child {
	margin-bottom: 0;
}
.logo_descript_title_sub {
	display: block;
	font-size: 21px;
	font-weight: 500;
	color: #cf1926;
	text-align: left;
}
/* 텍스트 기준 영역 */
.logo_descript_title_sub .text_inner {
    position: relative;
    display: inline-block; /* ⭐ 텍스트 길이만큼만 영역 */
    padding-left: 10px;    /* 점 + 간격 */
	margin-bottom: 7px;
}
.logo_descript_title_sub:last-child .text_inner {
	margin-bottom: 0;
}

/* 점 */
.logo_descript_title_sub .text_inner::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 6px;
    height: 6px;
    background: #cf1926;
    border-radius: 50%;
    transform: translateY(-70%);
}

.logo_descript_text_01 {
	display: block;
	font-size: 18px;
	font-weight: 300;
	color: #000;
	line-height: 35px;
	padding-left: 10px;
	word-break: keep-all;
}

/* 이미지 오버 효과 */
.img_hover_wrap {
	position: relative;
	display: flex;

	/* 추가 */
	align-items: center;
	justify-content: center;

	flex: 1;

	width: 100%;
	z-index: 10;
}

/* before */
.img_bofore_hover {
	display: inline-block;
}
.img_bofore_hover img {
	display: block;
	width: 100%;
	transition: all 0.4s ease;
}

/* after */
.img_after_hover {
	position: absolute;
	top: 50%;
	left: 50%;

	transform: translate(-50%, -50%) scale(0.7);
	opacity: 0;

	pointer-events: none;
	transition: all 0.4s ease;

	z-index: 1000;
}

.img_after_hover img {
	display: block;
	width: auto;
	height: auto;
	max-width: none; /* ⭐ 수정 완료 */

	padding: 20px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 0 20px rgba(0,0,0,0.25);
}

/* hover */
/* ⭐ hover 기준을 img로 제한 */
.img_bofore_hover:hover + .img_after_hover {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}


/* 홍보영상 */
.section_movie_wrap {
	display: flex;
	width: 100%;
	/* height: 920px; */  /* 임시 */
	height: 1272px;   /* 하단 슬라이드 모두 포함된 높이 */
	background: linear-gradient(to right, #6c131a, #a71a2b);   
	position: relative;
	padding: 100px 0;	
}
.section_movie_inner {
	display: block;
	width: 1280px;	 
	margin: 0 auto;
	/* margin-top: -36px; */    /* 하단 슬라이드 모두 있을 경우 */
}
.section_movie_slide {
	width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.slide_mask {
	width: 1280px;
	overflow: hidden;
	margin: 0 auto;
	user-select: none;
	cursor: grab;
}
.slide_mask ul {
	pointer-events: auto;
}
.slide_mask li {
	pointer-events: auto;
	cursor: pointer;
}
.slide_mask:active {
	cursor: grabbing;
}

.section_movie_slide ul {
	display: flex;
	justify-content: center;
   /*  gap: 80px; */
}
.section_movie_slide ul li {
	flex: 0 0 426px;
	margin-right: 1px;
}
.e_movie_1280 {
	width: 1280px;
	margin: 0 auto 50px;   /* 하단 슬라이드 모두 있을 경우 */
}
.e_movie_m {
	width: 426px;
	flex-shrink: 0;
	margin-right: 1px;
	cursor: pointer;
} 

.slide_title {
	display: block;
	text-align: center;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 15px;
	font-weight: 400;
	color: #fff;
	margin-top: 10px;
}

.slide_paging {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: calc(100% + 30px); 
}

.paging_dot {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #6c131a;
	margin: 0 5px;
	cursor: pointer;
}

.paging_dot.on {
	background: #ff1634;
}

.slide_arrow {

}
.slide_arrow_left,
.slide_arrow_right {
	position: absolute;
	top: 45%;
	transform: translateY(-50%);
	cursor: pointer;
	z-index: 10;
}
.slide_arrow_left {
	left: -86px;
}
.slide_arrow_right {
	right: -86px;
}
.slide_arrow_left img:hover {
	content: url('/images/main/slide_arrow_left_on.png');
	left:-86px;

	/* 애니메이션 적용 */
    animation: movePrevtButton 0.5s infinite linear;
}
.slide_arrow_right img:hover {
	content: url('/images/main/slide_arrow_right_on.png');
	right: -86px;
    
    /* 애니메이션 적용 */
    animation: moveNextButton 0.5s infinite linear;
}

@keyframes moveNextButton {
    0% { transform: translateX(0); } /* 원래 위치 */
    50% { transform: translateX(10px); } /* 오른쪽으로 이동 */
    100% { transform: translateX(0); } /* 다시 원래 위치 */
}

@keyframes movePrevtButton {
    0% { transform: translateX(0); } /* 원래 위치 */
    50% { transform: translateX(-10px); } /* 오른쪽으로 이동 */
    100% { transform: translateX(0); } /* 다시 원래 위치 */
}




/* =========================================
   📌 자료·미디어 > 뉴스/공지사항 내용 보기
   ========================================= */
#view_media_news {

}

.list_media {
	display: block;	
}

/* 🔥 각 줄 */
.list_media div {
	padding: 22px 0;   /* 고해상도 모니터에서 두번째 라인이 두꺼워지는 문제로 짝수 단위로 패딩값 수정 */
	/* padding: 23px 0 22px; */
	position: relative;
	cursor: pointer;
	overflow: hidden;
}

/* 🔥 기본 회색 라인 */
.list_media div::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: #a7a7a7;
	z-index: 1;
}

/* 🔥 컬러 애니메이션 라인 */
.list_media div::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #bb2337, #ff6b81);

	transform: scaleX(0);
	transform-origin: var(--origin, left); /* 🔥 핵심 */
	transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) 0.08s;

	z-index: 2;
}

/* 🔥 hover 시 라인 */
.list_media div:hover::before {
	transform: scaleX(1);
}

/* 🔥 dot (완전 분리) */
.list_media div::marker { display: none; } /* 혹시 모를 기본 제거 */

.list_media div .dot {
	position: absolute;
	left: 25px;
	top: 50%;
	transform: translateY(-50%) scale(1);
	width: 5px;
	height: 5px;
	background: url('/images/main/dot_red.png') no-repeat center;
	background-size: 5px 5px;
	transition: transform 0.25s ease;
}

/* 🔥 hover 시 dot 살짝 커짐 */
.list_media div:hover .dot {
	transform: translateY(-50%) scale(1.2);
}

/* 🔥 리스트 구조 */
.list_media div ul {
	overflow: hidden;
	width: 100%;
}
.list_media div ul li {
	float: left;
	line-height: 16px;
}

/* 🔥 텍스트 영역 */
.list_media .list_num {
	width: 10%;
	font-size: 15px;
	font-weight: 300;
	color: #8d8d8d;
	text-align: center;
}
.list_media .list_titlle {
	width: 65%;
}
.list_media .list_titlle a {
	display: inline-block;
	width: 830px;
	font-size: 16px;
	font-weight: 300;
	color: #000;
	text-align: left;
	text-indent: 17px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	/* transition: color 0.3s ease; */
}
.list_media .list_writer {
	width: 15%;
	font-size: 13px;
	font-weight: 300;
	color: #8d8d8d;
	text-align: center;
	/* transition: color 0.3s ease; */
}
.list_media .list_date {
	width: 10%;
	font-size: 13px;
	font-weight: 300;
	color: #8d8d8d;
	text-align: center;
	/* transition: color 0.3s ease; */
}

/* 🔥 hover 시 텍스트 전체 컬러 */
.list_media div:hover .list_titlle a,
.list_media div:hover .list_writer,
.list_media div:hover .list_date,
.list_media div:hover .list_num {
	color: #bb2337;
}

/* 🔥 no data */
.list_noData {
	display: block;
	width: 100%;
	text-align: center;
}


.view_media_news {
	display: block;	
	font-family: "pretendard", "맑은 고딕", "Malgun Gothic", Arial, sans-serif;
}
.view_contents_wrap {
	display: block;
}
.view_contents_top {
	display: block;
	width: 100%;
	height: 81px;
	line-height: 80px;
	padding: 0 30px;
	border-top: 1px solid #555;
	border-bottom: 1px solid #dcdcdc;
}
.view_contents_top ul {
	overflow: hidden;
}
.view_contents_top ul li {
	float: left;
}
.view_contents_top ul li:nth-child(3) {
	float: right;
}
.view_contents_title {
	display: block;	
	margin-right: 50px;	
}
.view_contents_title p {
	width: 830px;
	font-size: 21px;
	font-weight: 600;
	color: #000;
	text-align: left;

	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.view_contents_date {
	display: block;
	/* margin-right: 69px; */	
}
.view_contents_date p {
	width: 100px;
	font-size: 15px;
	font-weight: 300;
	color: #555;
	text-align: center;
}
.view_contents_top_btn {
	
}

.view_contents_top_btn a + a {
	margin-left: 6px;
}
.view_contents_top_btn a:nth-child(1) {
	margin-left: 0;
}

.btn_view_prev {
	display: inline-block;
	width: 80px;
	/* height: 35px; */
	font-size: 14px;
	color: #fff;
	text-align: center;
	line-height: 34px;
	background: #777;
	border: 1px solid #676767;
	border-radius: 25px;
	box-sizing: border-box;
	transition: all 0.3s;
}
.btn_view_prev:hover {
	display: inline-block;
	background: #4a4a4a;
	border: 1px solid #323232;
	box-sizing: border-box;
}
.btn_view_next {
	display: inline-block;
	width: 80px;
	/* height: 35px; */
	font-size: 14px;
	color: #fff;
	text-align: center;
	line-height: 34px;
	background: #777;
	border: 1px solid #676767;
	border-radius: 25px;
	box-sizing: border-box;
	transition: all 0.3s;
}
.btn_view_next:hover {
	display: inline-block;
	background: #4a4a4a;
	border: 1px solid #323232;
	box-sizing: border-box;
}

.attached_file {
	display: flex;
	width: 1280px;
	padding: 25px 30px 0;
	border-bottom: 1px solid #dcdcdc;
	align-items: flex-start;
}
.attached_file_title {
	width: 79px;
	flex-shrink: 0;              /* 줄어들지 않게 */
	font-size: 16px;
	font-weight: 500;
	color: #000;
}
.attached_file_list {
	flex: 1;
}
.attached_file_list a {
	display: inline-block;
	font-weight: 500;
	color: #a1a1a1;
	margin-right: 20px;
	padding-bottom: 25px;
	transition: color 0.3s ease;
}
.attached_file_list a:hover {
	color: #bb2337;
}


.view_contents_body {
	display: block;
	padding: 50px 30px; 100px;
	border-bottom: 1px solid #dcdcdc;
}
.view_contents_body p {
	font-size: 18px;
	font-weight: 300;
	color: #000;
	text-align: left;
	line-height: 40px;
}
.view_contents_body img {
	display: block;
	max-width: 1220px;
}
.view_contents_bottom {
	display: block;
	width: 1280px;
	position: relative;
}
.btn_go_list {
	display: block;
	text-align: right;
	margin-top: 40px;
}
.btn_go_list a {
	display: inline-block;
	width: 80px;
	height: 30px;
	font-size: 14px;
	color: #fff;
	text-align: center;
	line-height: 29px;
	background: #4a4a4a;
	border: 1px solid #323232;
	border-radius: 25px;
	box-sizing: border-box;
	transition: all 0.3s;
}
.btn_go_list a:hover {
	display: inline-block;
	background: #831723;
    border: 1px solid #6b0a15;
	box-sizing: border-box;
}







/* ===================================
   📌 서브 공통 - section_footer - 푸터
   ==================================== */
.section_footer_wrap {
	display: flex;
	width: 100%;
	padding: 49px 0 70px;
	background: #3b2828;
	position: relative;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-weight: 300;
	z-index: 1;
}
.section_footer_inner {
	display: block;
	width: 1280px;
	margin: 0 auto;
}
.section_footer_inner ul {

}
.section_footer_inner ul li {
	float: left;
}
.section_footer_inner ul li:nth-child(1) {
	margin-right: 40px;
}
.section_footer_inner ul li:nth-child(2) {
	margin-top: 20px;
}
.section_footer_inner .footer_info {
	text-align: left;
}
.footer_info_text_01 {
	font-size: 16px;
	color: #7a7a7a;
	margin-bottom: 15px;
}
.footer_info_text_01:nth-child(3) {
	margin-bottom: 30px;
}
.footer_info_subject {
	color: #cac9c9;
	margin-right: 5px;
}
.footer_info_text_01:nth-child(3) .address {
	display: inline-block;
	margin-right: 25px;
}
.footer_info_text_01:nth-child(3) .phone {
	display: inline-block;
}
.footer_info_text_02 {
	font-size: 12px;
	color: #7a7a7a;
}
.footer_info_text_02 span {
	display: inline-block;
	margin-right: 30px;
}



/*===== 관리자 페이지 =====*/
/* =========================
   관리자 HEADER
========================= */

#admin_header_container {
	position: fixed;
	top: 0;
	width: 100%;
	height: 108px;
	z-index: 1000;
	background: rgba(255,255,255,1);
	transition: all 0.5s;
	border-bottom: 1px solid rgba(167,167,167,1);
}

/* =========================
   관리자 로고
========================= */

.admin_header_inner {
	width: 1280px;
	margin: 0 auto;
	position: relative;
}

.admin_header_inner .header_logo {
	position: absolute;
	top: 12px;
	left: 0;
}

.admin_header_inner  .header_logo img { display: block; }

#header_container:hoverr,
#header_container.on {
	display: block;
}

/* =========================
   관리자 GNB
========================= */

.admin_header_inner .gnb {
	position: absolute;   /* ❗ fixed → absolute */
	right: 0;             /* ⭐ header_inner 기준 오른쪽 */
	top: 0;
	z-index: 1100;	
}

.admin_header_inner .gnb .area {
	margin: 0 auto;
	position: relative;
}

/* depth1 */
.admin_header_inner .gnb .area ul {
	display: flex;
	justify-content: flex-end; /* 👉 오른쪽 정렬 */
	padding-left: 0; /* ❗ 제거 */
}

.admin_header_inner .gnb .area ul > li {
	position: relative;
	padding: 45px 60px 45px 0;
	z-index: 15;
}

.admin_header_inner .gnb .area ul > li:last-child {
	padding-right: 0;
}

/* 메뉴 링크 */
.admin_header_inner .gnb .area ul > li > div > a {
	font-size: 17px;
	font-weight: 500;
	color: #000;
	text-decoration: none;
	transition: all 0.3s;
	display: block;
}

/* 기본 hover */
.admin_header_inner .gnb .area ul > li:hover > div > a {
	color: #fe2743;
}

/* 현재 활성 메뉴 */
.admin_header_inner .gnb .area ul > li.active > div > a {
	color: #fe2743;
}

/* 헤더 hover 상태 */
#admin_header_container:hover div > li > div > a,
#admin_header_container.on div > li > div > a {
	color: #000;
}

#admin_header_container:hover div > li:hover > div > a,
#admin_header_container.on div > li:hover > div > a {
	color: #fe2743;
}

/* 🔥 hover 상태에서도 active 유지 */
#admin_header_container:hover div > li.active > div > a,
#admin_header_container.on div > li.active > div > a {
	color: #fe2743;
}


/* 관리자 로그인 */
.login_wrap {
	display: flex;
    position: relative;
    width: 100%;
	margin: 0 auto;
	padding: 100px 0;	
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.login_inner {
	display: block;
	width: 1280px;
	margin: 0 auto;
}
.login_inner p {
	margin-top: 100px;
	font-size: 25px;
	font-weight: 500;
}

.cnt_square {
	width: 1280px;
	border: 1px solid #cccccc;
	min-height: 300px;
	margin: 50px auto 0;
	padding: 60px;
	text-align: center;
}
.input_area_01 {
	width: 618px;
	margin: 0 auto;
}

.member_login ul {
	display: inline-block;
	margin-bottom: 12px;
}
.member_login ul li {
	float: left;
}

.input_title_01 {
	width: 118px;
	font-size: 18px;
	font-weight: 500;
	color: #323232;
	text-align: left;
	line-height: 60px;
}

.input_box_01 {
	line-height: 0px;
}

.text_st_01 {
	display: inline-block;
	width: 476px;
	height: 56px;
	background: #fff;
	border: 1px solid #d4d4d4;
	font-size: 18px;
	color: #323232;
	text-align: left;
	vertical-align: middle;
	padding-left: 20px;
}
.text_st_01:focus {
	border: 1px solid #9e0e21;
	outline: none; /* 기본 테두리 제거 (선택사항) */
}

.btn_login {
	display: block;
	width: 500px;
	height: 70px;
	background: #b22134;
	border: 1px solid #9e0e21;
	font-size: 18px;
	color: #ffffff;
	vertical-align: middle;
	text-align: center;
	line-height: 69px;
	transition: all 0.3s;
}

.btn_login:hover {
	display: block;
	width: 500px;
	height: 70px;
	background: #831723;
	border: 1px solid #6b0a15;
	font-size: 18px;
	color: #ffffff;
	vertical-align: middle;
	text-align: center;
	line-height: 69px;
}

input[type="checkbox"]{
	display: none;
}
input[type="checkbox"] + label{
	display: inline-block;
	position: relative;
}
input[type="checkbox"] + label::before{
	display:block;
	content:'';
	width: 15px;
	height: 15px;
	line-height: 15px;
	text-align: center;
	position: absolute;
	left: -9px;
	top: -13px;
	border:1px solid #dcdcdc;
	background: #fff;
}

input[type="checkbox"]:checked + label::before{
	background: #831723 url('../images/common/icon_check_01.png') no-repeat center;
	background-size: contain;
}


/* 관리자 페이지 */
.admin_list_wrap {
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.admin_list_wrap ul {
	display: flex;
}
.admin_list_wrap ul li {
	float: none;
}
.admin_sidebar {
	width: 15%;
	min-width: 174px;
    background: #eee;
    color: #333;
    padding: 30px;
    
    text-align: center;
    min-height: 100vh;
}
.admin_sidebar img {
	display: block;
	width: 80px;
	margin: 20px auto 30px;
}
.admin_sidebar p {	
	font-size: 25px !important;
    font-weight: 500;
	margin: 0 0 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid rgba(167,167,167,1);
}
.admin_menu {
	display: block;
	margin-bottom: 15px;
}
.admin_menu a {
	display: block;
	width: 100%;
	height: 50px;
	color: #fff;
	font-size: 16px;
	font-weight: 300;
	line-height: 50px;
	text-align: center;
	background: #777;
	border: 1px solid #676767;
	box-sizing: border-box;
	transition: all 0.3s;
}
.admin_menu a:hover {
	background: #831723;
	border: 1px solid #6b0a15;
}

.admin_list {
	width: 85%;
    padding: 50px;
}
.admin_btn_write {
	text-align: right;
}
.admin_btn_write a {
	display: inline-block;
	width: 80px;
	height: 35px;
	font-size: 14px;
	color: #fff;
	text-align: center;
	line-height: 34px;
	background: #777;
	border: 1px solid #676767;
	box-sizing: border-box;
	transition: all 0.3s;
}
.admin_btn_write a:hover {
	display: inline-block;
	background: #831723;
	border: 1px solid #6b0a15;
}


.admin_list_title{
	text-align: center;
	font-size: 25px;
	font-weight: 500;
	margin-bottom: 30px;
}

/* 서브 공통 - 테이블 스타일 01 */
.tblArea_01 {
    width: 100%;
    border-top: 1px solid #555; 
    border-bottom: 1px solid #555;
}
.tb_basic_01 {
    border-collapse: collapse;
    width: 100%;
	table-layout: fixed;  /* 반응형이나 컬럼 비율 바뀌면 바로 깨지는 문제 차단 */
	font-family: 'pretendard', 'Noto Sans KR', "Malgun Gothic", "맑은 고딕", dotum, "돋움", sans-serif !important;
}
.tb_basic_01 th, .tb_basic_01 td {
	border: 1px solid #dcdcdc;
	padding: 15px 20px;
	text-align: center;
	vertical-align: middle;
}
.tb_basic_01 th {
	color: #000;
	font-size: 17px;
	font-weight: 500;
	background-color: #eee;
}
.tb_basic_01 td {
	font-size: 17px;
	font-weight: 300;
}
.tb_basic_01 tr:hover {
	background: rgba(248,248,248,1);
}
.tb_basic_01 td:nth-child(2) a {
	display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 서브 공통 - 테이블 스타일 02 */
.tblArea_02 {
    width: 100%;
}
.tb_basic_02 {
    border-collapse: collapse;
    width: 100%;
	table-layout: fixed;  /* 반응형이나 컬럼 비율 바뀌면 바로 깨지는 문제 차단 */
	font-family: 'pretendard', 'Noto Sans KR', "Malgun Gothic", "맑은 고딕", dotum, "돋움", sans-serif !important;
}
/* 기본 border 제거 */
.tb_basic_02 th,
.tb_basic_02 td {
	border: none;
	padding: 15px 20px;
	text-align: center;
	vertical-align: middle;
}
/* 가로 선 (tr 사이) */
.tb_basic_02 tr + tr th,
.tb_basic_02 tr + tr td {
	border-top: 1px solid #dcdcdc;
}
/* 세로 선 (td 사이) */
.tb_basic_02 th + th,
.tb_basic_02 td + td {
	border-left: 1px solid #dcdcdc;
}
/* 맨 밑줄 선 */
.tb_basic_02 tr:last-child{
	border-bottom: 1px solid #dcdcdc;
}
.tb_basic_02 th {
	color: #000;
	font-size: 16px;
	font-weight: 500;
	background-color: #f5f5f5;
}
.tb_basic_02 td {
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
}
/* .tb_basic_02 tr:hover {
	background: rgba(248,248,248,1);
} */

.td_title {
	font-weight: 700;
}


.list_title_01 {
	display: block;
	/* width: 790px; */   /* 해상도 바뀌거나 유지보수시 다시 계산해야하는 번거로움을 없애기 위채 주석처리 */
	padding: 7px 0;  /* a태그가 되면서 위아래 높이가 줄어두는 이슈로 추가 */
	
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.td_actions {
	white-space: nowrap;
}

/* 실제 정렬은 내부에서 처리 */
.actions_wrap {
	display: flex;
	justify-content: center;
}

.actions_wrap a + a {
	margin-left: 10px;
}

/* 버튼 기준 잡기 */
.td_actions a {
	position: relative;
	display: inline-block; /* ← 혹시 block 덮어쓴거 방지 */
	overflow: visible;     /* ← 안전하게 한 번 더 */
}

/* 말풍선 */
.td_actions a::after {
	content: attr(title);
	position: absolute;
	bottom: calc(100% + 12px); /* 버튼 위 + 여백 */
	left: 50%;
	transform: translateX(-50%);

	background: #333;
	color: #fff;
	font-size: 12px;
	padding: 5px 8px;
	border-radius: 4px;
	white-space: nowrap;

	opacity: 0;
	pointer-events: none;
	transition: all 0.2s;
}

/* 삼각형 꼬리 */
.td_actions a::before {
	content: "";
	position: absolute;
	bottom: calc(100% + 2px); /* 삼각형 위치 */
	left: 50%;
	transform: translateX(-50%);
	
	border-width: 5px;
	border-style: solid;
	border-color: #333 transparent transparent transparent;

	opacity: 0;
	transition: all 0.2s;
}

/* hover 시 노출 */
.td_actions a:hover::after,
.td_actions a:hover::before {
	opacity: 1;
	transform: translate(-50%, 0);
}


.btn_modify_01 {
	display: inline-block;
	width: 30px;
	height: 30px;
	background: #fff url('../images/common/icon_modify_01.png') no-repeat center;
	background-size: 19px 18px;
	border: 1px solid #888;
	border-radius: 6px;
	transition: all 0.3s;
}
.btn_modify_01:hover {
	background: #777 url('../images/common/icon_modify_01_over.png') no-repeat center;
	background-size: 19px 18px;
}
.btn_delete_01 {
	display: inline-block;
	width: 30px;
	height: 30px;
	background: #fff url('../images/common/icon_delete_01.png') no-repeat center;
	background-size: 13px 18px;
	border: 1px solid #888;
	border-radius: 6px;
	transition: all 0.3s;
}
.btn_delete_01:hover {
	background: #777 url('../images/common/icon_delete_01_over.png') no-repeat center;
	background-size: 13px 18px;
	border: 1px solid #555;
}


/* 등록 */
.admin_btn_viewlist {
	text-align: right;
}
.admin_btn_viewlist a {
	display: inline-block;
	width: 80px;
	height: 35px;
	font-size: 14px;
	color: #fff;
	text-align: center;
	line-height: 34px;
	background: #777;
	border: 1px solid #676767;
	box-sizing: border-box;
	transition: all 0.3s;
}
.admin_btn_viewlist a:hover {
	display: inline-block;
	background: #831723;
	border: 1px solid #6b0a15;
}


.admin_write_wrap {
	display: flex;
    position: relative;
    margin: 20px auto 50px;	
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	border-top: 1px solid rgba(167, 167, 167, 1);
}
.admin_write_inner {
	display: block;
	width: 840px;
	margin: 0 auto;
}
.input_area_02 {
	width: 840px;
	margin: 0 auto;
}
.input_title_02 {
	width: 100px;
	font-size: 18px;
	font-weight: 500;
	color: #323232;
	text-align: left;
	line-height: 60px;
}

.input_box_02 {
	line-height: 0px;
}

.text_st_02 {
	display: inline-block;
	width: 697px;
	background: #fff;
	border: 1px solid #d4d4d4;
	font-size: 18px;
	color: #323232;
	text-align: left;
	vertical-align: middle;
	padding: 20px 20px;
}
.text_st_03 {
	display: inline-block;
	width: 740px;
	background: #fff;
	font-size: 18px !important;
	color: #323232;
	text-align: left !important;
	vertical-align: middle !important;
	padding-bottom: 20px !important;
	margin-top: 15px;
	line-height: 30px;
}
.text_body {
	display: block;
	width: 740px;
	background: #fff;
	font-size: 18px !important;
	color: #323232;
	text-align: left !important;
	padding-bottom: 20px !important;
	margin-top: 15px;
	line-height: 30px;
}
.admin_write ul {
	display: inline-block;
	margin-bottom: 12px;
}
.admin_write ul li {
	float: left;
}
#content {
	width: 697px;
	height: auto;
	background: #fff;
	border: 1px solid #d4d4d4;
	font-size: 18px;
	color: #323232;
	text-align: left;
	padding: 20px;
}
.file_st_01 {
	display: inline-block;
	width: 697px;
	background: #fff;
	border: 1px solid #d4d4d4;
	font-size: 18px;
	color: #323232;
	text-align: left;
	vertical-align: middle;
	padding: 15px 20px;
}

.btn_registration {
	display: block;
	width: 100%;
	height: 70px;
	background: #b22134;
	border: 1px solid #9e0e21;
	font-size: 18px;
	color: #ffffff;
	vertical-align: middle;
	text-align: center;
	line-height: 69px;
	transition: all 0.3s;
}

.btn_registration:hover {
	display: block;
	width: 100%;
	height: 70px;
	background: #831723;
	border: 1px solid #6b0a15;
	font-size: 18px;
	color: #ffffff;
	vertical-align: middle;
	text-align: center;
	line-height: 69px;
}


/*=== 뉴스 등록하기 에디터툴 ===*/
.fr-box {
    position: relative;
	width: 739px;
}

.fr-box.fr-basic .fr-element {
    color: #000000;
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    overflow-x: auto;
    min-height: 200px !important;
	line-height: 25px !important;
}





/* 서브 공통 - 테이블 스타일 03 */
.tblArea_03 {
    width: 100%;
    border: 1px solid #a7a7a7;
    border-bottom: 0; 
	position: relative;
	z-index: 1;
}

.tb_basic_03 {
    border-collapse: collapse;
	border: 0 !important;
    width: 100%;
    table-layout: fixed;
    font-family: 'pretendard', 'Noto Sans KR', "Malgun Gothic", "맑은 고딕", dotum, "돋움", sans-serif !important;
    
    /* background: #fff url('../images/sub/program/m03_schedule_bg.png') no-repeat;
    background-size: 453px 434px;
    background-position: center center; */

    border-bottom: 0; /* ⭐ table 하단 border 제거 */
}

/* 헤더 */
.tb_basic_03 th {
    padding: 15px 20px;
    text-align: center;
    vertical-align: middle;
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    background-color: #bb2337;
    border-right: 1px solid #a7a7a7;
    border-bottom: 1px solid #a7a7a7;
}

.tb_basic_03 th:first-child {
    background-color: #ffe0e3;
}

.tb_basic_03 th:last-child {
    border-right: 0;
}

/* 셀 */
.tb_basic_03 td {
    width: 100%;
    height: 79px;
    text-align: center;
    vertical-align: middle;
    font-size: 17px;
    font-weight: 300;
    border-right: 1px solid #a7a7a7;
    border-bottom: 1px solid #a7a7a7; 
}

/* 마지막 컬럼 오른쪽 선 제거 */
.tb_basic_03 td:nth-child(5) {
    border-right: 0;    
}




/* ====================
   📌 갤러리
   ===================== */
   /* 갤러리 > 인트로 */
.bg_pink_blue_gradient_01 {
	background: linear-gradient(125deg, rgba(240, 62, 86, 1) 0%, rgba(20, 51, 151, 1) 100%);
}
.gallery_intro_wrap {
	display: block;
	width: 1280px;
	margin: 0 auto;
}
.gallery_intro_wrap ul {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.gallery_intro_wrap ul li {
	width: 308px;
	flex-shrink: 0;
}
.gallery_intro_box {
	position: relative;
	transition: all .35s ease;
}
.gallery_intro_box img {
	display: block;
	width: 100%;
	height: auto;
	transition: filter .35s ease;
}
.gallery_intro_year {
	display: block;
	font-size: 50px;
	font-weight: 900;
	color: #fff;
	text-align: center;
	margin: 38px 0 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #fff;

	transition: color .35s ease,
					border-color .35s ease;
}
.gallery_intro_title {
	display: block;
	font-size: 20px;
	font-weight: 300;
	color: #fff;
	text-align: center;
	line-height: 28px;

	transition: color .35s ease;
}

/* 박스 위로 올라감 */
.gallery_intro_box:hover {
	transform: translateY(-6px);
}

/* 이미지 밝아짐 */
.gallery_intro_box:hover img {
	filter: brightness(1.15) contrast(1.05);
}

/* 연도 색상 변경 */
.gallery_intro_box:hover .gallery_intro_year {
	color: rgba(0,252,255,1);
	border-bottom-color: rgba(0,252,255,1);
}

/* 제목 색상 변경 */
.gallery_intro_box:hover .gallery_intro_title {
	color: rgba(0,252,255,1);
}

.gallery_sub_title_01 {
	display: inline-block;
	font-size: 30px;
	font-weight: 300;
	color: #000;
	text-align: right;

	position: absolute;
	bottom: 5px;
	right: 0;
}


/* 갤러리 > 연도별 */
.gallery_photo_view {
	display: flex;	
	align-items: center;   /* 🔥 세로 중앙 정렬 */
	justify-content:center;     /* ⭐ 가로 중앙 */

	width: 100%;
	height: 859px;
	margin: 0 auto 40px;

	background: rgba(0,0,0, 1);

	position: relative;
}
.gallery_photo_view img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	cursor: pointer;
	/* =========================
	   이미지 전환 효과
	========================= */
	opacity: 1;
	transition: opacity .4s ease;
}
/* =========================
   페이드 아웃 상태
========================= */
.gallery_photo_view img.fade-out {
	opacity: 0;
}

.gallery_photo_view_prev {
	opacity:0;
    visibility:hidden;
    transition:.3s;
	position: absolute;
	top: 50%;
	left: 20px;

	width: 60px;
	height: 60px;
	border-radius: 50px;
	background: rgba(255,255,255,0.75) url(../images/common/btn_arrow_14x25_prev.png) no-repeat;
	background-position: center center; 
	cursor: pointer;
}
.gallery_photo_view_next {
	opacity:0;
    visibility:hidden;
    transition:.3s;
	position: absolute;
	top: 50%;
	right: 20px;

	width: 60px;
	height: 60px;
	border-radius: 50px;
	background: rgba(255,255,255,0.75) url(../images/common/btn_arrow_14x25_next.png) no-repeat;
	background-position: center center; 
	cursor: pointer;
}

.gallery_photo_view:hover
.gallery_photo_view_prev,

.gallery_photo_view:hover
.gallery_photo_view_next{
    opacity:1;
    visibility:visible;
}

.gallery_photo_view_prev:hover  {
    background: rgba(255,255,255,0.95) url(../images/common/btn_arrow_14x25_prev_over.png) no-repeat;
	background-position: center center; 
	animation:arrowPrev01 .6s infinite;
}

.gallery_photo_view_next:hover  {
    background: rgba(255,255,255,0.95) url(../images/common/btn_arrow_14x25_next_over.png) no-repeat;
	background-position: center center; 
	animation:arrowNext01 .6s infinite;
}

.gallery_photo_thumb {
	display:block;
	width:100%;
	height:85px;
	margin:0 auto 48px;
	position:relative;

	overflow:hidden;
}
.gallery_photo_thumb ul {
	display:flex;
	flex-wrap:nowrap;
	gap:0;

	width:max-content;

	padding:0;
	margin:0;
	list-style:none;

	transition:transform .4s ease;
}
.gallery_photo_thumb ul li {
	width: 128px;
	flex-shrink: 0;
}

.gallery_photo_thumb li img{
    opacity:.5;
    transition:.3s;
	cursor: pointer;
}
.gallery_photo_thumb li.active img{
    opacity:1;
}

.gallery_photo_thumb_prev {
	opacity:0;
    visibility:hidden;
    transition:.3s;
	position: absolute;
	top: 13px;
	left: 20px;

	width: 60px;
	height: 60px;
	border-radius: 50px;
	background: rgba(255,255,255,0.75) url(../images/common/btn_arrow_14x25_prev.png) no-repeat;
	background-position: center center; 
	cursor: pointer;
}
.gallery_photo_thumb_next {
	opacity:0;
    visibility:hidden;
    transition:.3s;
	position: absolute;
	top: 13px;
	right: 20px;

	width: 60px;
	height: 60px;
	border-radius: 50px;
	background: rgba(255,255,255,0.75) url(../images/common/btn_arrow_14x25_next.png) no-repeat;
	background-position: center center; 
	cursor: pointer;
}
.gallery_photo_thumb:hover
.gallery_photo_thumb_prev,

.gallery_photo_thumb:hover
.gallery_photo_thumb_next{
    opacity:1;
    visibility:visible;
}

.gallery_photo_thumb_prev:hover  {
    background: rgba(255,255,255,0.95) url(../images/common/btn_arrow_14x25_prev_over.png) no-repeat;
	background-position: center center; 
	animation:arrowPrev01 .6s infinite;
}

.gallery_photo_thumb_next:hover  {
    background: rgba(255,255,255,0.95) url(../images/common/btn_arrow_14x25_next_over.png) no-repeat;
	background-position: center center; 
	animation:arrowNext01 .6s infinite;
}

.gallery_another {
	display: block;
	width: 100%;
	height: 30px;
	align-items: center;   /* 🔥 세로 중앙 정렬 */
	align-items: center;      /* ⭐ 가로 중앙 */
	position: relative;	
}
.gallery_another_left_area {
	display: block;
	position: absolute;
	left: 0;
}
.gallery_another_left,
.gallery_another_right {
	display: block;
	width: 145px;
	height: 40px;
}

.gallery_another_right_area {
	display: block;
	position: absolute;	
	right: 0
}
.gallery_another_text_left {
	display: block;
	width: 100px;
	position: absolute;
	left: 45px;

	font-size: 30px;
	font-weight: 300;
	text-align: left;
}
.gallery_another_text_right {
	display: block;
	width: 100px;
	position: absolute;
	right: 45px;

	font-size: 30px;
	font-weight: 300;
	color: #000;
	text-align: right;
}

.gallery_another_left_arrow {
	display: block;
	position: absolute;
	left: 0;

	width: 30px;
	height: 30px;
	border-radius: 50px;
	background: #fff url(../images/common/btn_arrow_7x13_prev.png) no-repeat;
	background-position: center center; 
}
.gallery_another_right_arrow {
	display: block;
	position: absolute;
	right: 0;

	width: 30px;
	height: 30px;
	border-radius: 50px;
	background: #fff url(../images/common/btn_arrow_7x13_next.png) no-repeat;
	background-position: center center; 
}

/* =========================================================
   📌 이전 버튼 전체 hover
========================================================= */

.gallery_another_left:hover .gallery_another_text_left {
	color: #fe2743;
}

.gallery_another_left:hover .gallery_another_left_arrow {
	background: #fff url(../images/common/btn_arrow_7x13_prev_over.png) no-repeat;
	background-position: center center;
	animation: arrowPrev02 .6s infinite;
}

/* =========================================================
   📌 다음 버튼 전체 hover
========================================================= */

.gallery_another_right:hover .gallery_another_text_right {
	color: #fe2743;
}

.gallery_another_right:hover .gallery_another_right_arrow {
	background: #fff url(../images/common/btn_arrow_7x13_next_over.png) no-repeat;
	background-position: center center;
	animation: arrowNext02 .6s infinite;
}


@keyframes arrowPrev01{

    0%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(-10px);
    }

    100%{
        transform:translateX(0);
    }
}

@keyframes arrowNext01{

    0%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(10px);
    }

    100%{
        transform:translateX(0);
    }
}

@keyframes arrowPrev02{

    0%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(-5px);
    }

    100%{
        transform:translateX(0);
    }
}

@keyframes arrowNext02{

    0%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(5px);
    }

    100%{
        transform:translateX(0);
    }
}



/* =========================
   참가신청서
========================= */
.application_individual_wrap {
	display: flex;
    position: relative;
    margin: 0 auto;
	padding: 50px 0;	
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.application_individual_inner {
	display: block;
	width: 1280px;
	margin: 0 auto;
}
.application_individual_area {
	display: block;
}
.application_individual_area ul {
	overflow: hidden;
}
.application_individual_area ul li {
	width: 47.5%;
	float: left;
	margin-right: 5%;
	box-sizing:border-box;
}
.application_individual_area ul li:last-child {
	margin-right: 0;
}
.application_input_line {
	display: block;
	width: 1280px;
	margin-bottom: 15px;
}

/* 참가신청서 입력칸 */
.input_title_03 {
	width: 100%;
	font-size: 20px;
	font-weight: 700;
	color: #323232;
	text-align: left;
	line-height: 60px;
}
.input_title_04 {
	width: 100%;
	font-size: 20px;
	font-weight: 700;
	color: #323232;
	text-align: left;
	line-height: 60px;
	margin-bottom: 15px;
}

.input_area_03 {
	width: 100%;
	line-height: 60px;
}

.input_area_04 {
	width: 100%;
}


.text_st_04 {
	display: inline-block;
	width: 100%;
	height: 56px;
	background: #fff;
	border: 1px solid #d4d4d4;
	font-size: 18px;
	color: #323232;
	text-align: left;
	vertical-align: middle;
	line-height: 55px;
	padding: 0 20px;
	box-sizing:border-box;
}
.text_st_04:focus {
	border: 1px solid #9e0e21;
	outline: none; /* 기본 테두리 제거 (선택사항) */
}

.text_st_05{
	display: inline-block;
	width: 100%;
	height: 56px;
	background: #fff;
	border: 1px solid #d4d4d4;
	font-size: 18px;
	color: #323232;
	text-align: left;
	vertical-align: middle;
	line-height: 55px;
	padding: 0 20px;
	box-sizing:border-box;
}
.text_st_05:focus {
	border: 1px solid #9e0e21;
	outline: none; /* 기본 테두리 제거 (선택사항) */
}

.text_st_06{
	display: inline-block;
	width: 100%;
	height: 56px;
	background: #fff;
	border: 1px solid #d4d4d4;
	font-size: 18px;
	color: #323232;
	text-align: left;
	vertical-align: middle;
	line-height: 55px;
	padding-left: 110px;
	box-sizing:border-box;
}
.text_st_06:focus {
	border: 1px solid #9e0e21;
	outline: none; /* 기본 테두리 제거 (선택사항) */
}

.text_st_07 {
	display: inline-block;
	width: 94%;
	height: 56px;
	background: #fff;
	border: 1px solid #d4d4d4;
	font-size: 25px;
	color: #323232;
	text-align: right;
	vertical-align: middle;
	line-height: 55px;
	padding: 0 20px;
	margin-top: 2px;
	box-sizing:border-box;
}
.text_st_07:focus {
	border: 1px solid #9e0e21;
	outline: none; /* 기본 테두리 제거 (선택사항) */
}

.text_st_07::placeholder {
	font-size: 18px;
}


.file_upload_wrap{
    position:relative;
    width:100%;
}

.file_hidden{
    position:absolute;
    left:-9999px;
}

.btn_file_upload{
    position:absolute;
    top: 10px;
    left: 10px;

    width:90px;
    height:40px;

    background:#b22134;
    border:1px solid #9e0e21;

    color:#fff;
    font-size:15px;
    text-align:center;
    line-height:40px;

    cursor:pointer;
    box-sizing:border-box;

    transition:.3s;
}



.input_box_03 {
	display: block;
}
.input_box_03 ul {
	overflow: hidden;	
}
.input_box_03 ul li {
	float: left;
	width: 15%;
}

.input_chk_select_01 {
	display: inline-block;
	box-sizing: border-box;
	float: left;
    font-size: 20px;
	margin-top: 20px;
}

.input_chk_select_01 input[type="radio"]{
	position: absolute; 
	width: 1px; 
	height: 1px; 
	padding :0;
	margin: -1px;
	overflow: hidden; 
	clip: rect(0,0,0,0);
	border: 0; 
}

.input_chk_select_01 input[type="radio"] + label{ 
	display: inline-block;
	position: relative;
	padding-left: 35px;
	cursor: pointer;
	font-family: 'Noto Sans KR', "Malgun Gothic", "맑은 고딕", dotum, "돋움", sans-serif !important;
}

.input_chk_select_01 input[type="radio"] + label:before{ 
	content:'';
	position: absolute;
	left: 0;
	top: 0;
	width: 20px; 
	height: 20px;
	text-align: center;
	background: #fff; 
	border: 1px solid rgba(178,178,178,1);	
	border-radius: 50px;
	-webkit-border-radius: 50px;
	box-sizing: border-box;
}

.input_chk_select_01 input[type="radio"]:checked + label:after{ 
	content: ''; 
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	background: #fff; 
	border: 5px solid #bb2337;	 
	border-radius: 50px;
	-webkit-border-radius: 50px;
	box-sizing: border-box;
}


.registration_fee_wrap {
	display: flex;
    position: relative;
    margin: 0 auto 60px;
    padding: 80px 0;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.registration_fee_inner {
	display: block;
	width: 1280px;
	margin: 0 auto;
}
.registration_fee_area {
	display: block;
	padding: 10px 50px 30px;
	background: #fff;
	/* background: #e5e5e5; */
	border-radius: 15px;
	box-sizing: border-box;
}
.registration_fee_area ul {
	overflow: hidden;
	padding: 30px 0;
}
.registration_fee_area ul li {
	width: 45%;
	float: left;
	margin-right: 8.15%;
}
.registration_fee_area ul li:last-child {
	margin-right: 0;
}
.registration_fee_line {
	display: block;
	width: 1280px;
	margin-bottom: 15px;
}

.registration_fee_line p {
	font-size: 20px;
	line-height: 35px;
}


.agreement_chk_01 input[type="checkbox"]{
	display: none;
}
.agreement_chk_01 input[type="checkbox"] + label{
	display: inline-block;
	position: relative;
	text-indent: 30px;
	font-size: 16px;
	color: #bb2337;
}
.agreement_chk_01 input[type="checkbox"] + label::before{
	display:block;
	content:'';
	width: 20px !important;
	height: 20px !important;
	line-height: 20px !important;
	text-align: center;
	position: absolute;
	left: 0px !important;
    top: -4px !important;
	border:1px solid #dcdcdc;
	background: #fff;
}

.agreement_chk_01 input[type="checkbox"]:checked + label::before{
	background: #831723 url('../images/common/icon_check_01.png') no-repeat center;
	background-size: contain;
}

.registration_fee_info_line {
	display: block;
}
.registration_fee_info_line ul {
	overflow: hidden;
}
.registration_fee_info_line ul li {
	float: left;
	width: 608px;
	margin-right: 64px;
}
.registration_fee_info_line ul li:last-child {
	margin-right: 0;
}
.fee_info_info_box_01 {
	display: block;
	height: 383px;
	padding: 30px 40px;
	background: #fff;
	border-radius: 15px;
	box-sizing: border-box;
	position: relative;
}
.fee_info_info_title {
	display: block;
	width: 260px;
	height: 60px;
	margin: 0 auto;
	line-height: 60px;
	background: #fa7c8f url('../images/sub/program/icon_bankbook.png') no-repeat;
	background-size: 42px 42px;
	background-position: 10px center;
	border-radius: 50px;
	text-align: center;
	box-sizing: border-box;
}
.fee_info_info_title span {
	display: inline-block;
	font-size: 27px;
	font-weight: 600;
	color: #fff;
	letter-spacing: -0.75px;
}


.desc_circle_01 {
	display: inline-block;
	width: 10px;
	height: 10px;
	background: linear-gradient(125deg,rgba(250, 124, 143, 1) 0%, rgba(184, 41, 60, 1) 100%);
	border-radius: 50px;
	box-sizing: border-box;

	margin-right: 8px;
}


.num_circle_02 {
	display: inline-block;
	width: 39px;
	height: 39px;
	background: linear-gradient(125deg,rgba(250, 124, 143, 1) 0%, rgba(184, 41, 60, 1) 100%);
	border-radius: 50px;
	box-sizing: border-box;
	
	font-size: 21px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 39px;

	margin-right: 8px;
}
.num_circle_02_text {
	display: inline-block;
	font-size: 35px;
	font-weight: 600;
	color: #000;
	letter-spacing: -0.5px;
	vertical-align: sub;
}

.discount_text_red_02 {
	font-size: 25px;
	font-weight: 400;
	color: #bb2337;
	letter-spacing: -0.75px;
	text-align: left;
	margin: 10px 0  0 50px;
}






.arrow_discount {
	display: inline-block;
	position: absolute;
	top: 138px;
	left: 28px;
}
.before_discount {
	display: inline-block;
	font-size: 32px;
	font-weight: 900;
	color: #000;
	letter-spacing: -1.5px;
	margin-right: 42px;
}
.after_discount {
	display: inline-block;
	font-size: 40px;
	font-weight: 900;
	color: #bb2337;
	letter-spacing: -1.5px;
}
.discount_text_black_01 {
	font-size: 20px;
	font-weight: 400;
	color: #000;
	letter-spacing: -0.75px;
	line-height: 35px;
	text-align: center;
	margin: -8px 0;
}
.discount_text_red_01 {
	font-size: 20px;
	font-weight: 400;
	color: #bb2337;
	letter-spacing: -0.75px;
	text-align: center;
	margin: -8px 0;
}


.fee_info_info_title_sub_01 {
	display: inline-block;
	padding: 6px 14px 5px;
	background: #b22134;
	border-radius: 50px;
	letter-spacing: -0.25px;
	box-sizing: border-box;
}
.fee_info_info_title_sub_01 p {
	font-size: 15px !important;
	font-weight: 600;
	color: #fff;
	text-align: center;
}

.discount_text_black_02 {
	display: inline-block;
	font-size: 38px;
	font-weight: 500;
	color: #000;
	letter-spacing: -1.5px;
	margin: -8px 0;
}
.logo_IBK_bank {
	display: inline-block;
	margin-left: 15px;
	vertical-align: bottom;
}

.discount_text_black_03 {
	display: inline-block;
	font-size: 28px;
	font-weight: 400;
	color: #000;
	letter-spacing: -1.5px;
	margin: -5px 0;
}

.fee_info_info_in_text {

}
.fee_info_info_in_text ul {
	overflow: hidden;
	width: 100%;
}
.fee_info_info_in_text ul li {
	float: left;
	width: auto !important;

	margin-right: 14px !important;
	white-space: nowrap;

	display: block !important;
}
.fee_info_info_in_text ul li:last-child {
	margin-right: 0 !important;
}
.num_circle_01 {
	display: inline-block;
	width: 29px;
	height: 29px;
	background: linear-gradient(125deg,rgba(250, 124, 143, 1) 0%, rgba(184, 41, 60, 1) 100%);
	border-radius: 50px;
	box-sizing: border-box;
	
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 29px;

	margin-right: 8px;
}
.num_circle_01_text {
	display: inline-block;
	font-size: 20px;
	font-weight: 500;
	color: #000;
	letter-spacing: -0.5px;
	vertical-align: text-bottom;
}

.division_var_01 {
	display: inline-block;
	width: 1px;
	height: 17px;
	margin: 0 20px ;
	background: #d4d4d4;
	vertical-align: text-top;
}



.fee_info_info_box_02 {
	display: block;
	padding: 30px 40px;
	background: #fff;
	border-radius: 15px;
	box-sizing: border-box;
	position: relative;
}
.fee_info_info_box_02 ul {

}
.fee_info_info_box_02 ul li {
	float: left;
}
.fee_info_info_box_02_area {
	width: 528px !important;
	margin-right: 144px !important;
}
.fee_info_info_box_02_area:last-child {
	margin-right: 0 !important;
}
.fee_info_info_title_sub_02 {
	display: inline-block;
	padding: 6px 14px 5px;
	background: #000;
	border-radius: 50px;
	letter-spacing: -0.25px;
	box-sizing: border-box;
}
.fee_info_info_title_sub_02 p {
	font-size: 15px !important;
	font-weight: 600;
	color: #fff;
	text-align: center;
}
.price_fee_area {
	display: block;
	margin-left: 10px;
}
.price_fee_area ul {
	display: block;
	margin-bottom: 23px;
}
.price_fee_area ul li {
	float: left;
}

.price_title {
	display: inline-block !important;
	width: 102px !important;
	font-size: 20px;
	font-weight: 400;
	color: #000;
	text-align: left;
	margin-right: 0 !important;

	position: relative;
	top: 4px;
}
.price_num_line {
	display: inline-block !important;
	width: 360px !important;
	text-indent: 55px;
}
.price_num_item {
	font-size: 35px;
	font-weight: 600;
	color: #000;
	text-align: right;
}
.price_num_total {
	font-size: 35px;
	font-weight: 600;
	color: #bb2337;
	text-align: right;
}
.price_unit {
	font-size: 20px;
	font-weight: 400;
	color: #000;
	text-align: right;

	position: relative;
	top: 3px;
}
.price_title,
.price_num_item,
.price_num_total,
.price_unit {
	vertical-align: bottom;
}
.price_title,
.price_num_line {
	line-height: 35px;
}

.discount_text_black_04 {
	display: inline-block;
	font-size: 35px;
	font-weight: 600;
	color: #000;
	letter-spacing: -1.5px;
	margin: -5px 0;
}

.notice_area {
	display: block;
	width: 100%;
	height: 45px;
	background: #373737;	
	margin: 21px auto 36px;
}
.notice_area p {
	font-size: 20px;
	font-weight: 400;
	color: #fff !important;
	line-height: 45px;
	text-align: center;
}

.people_unit {
	display: inline-block;
	font-size: 20px;
    font-weight: 400;
    color: #000;
	line-height: 56px;
	margin-left: 5px;
	vertical-align: middle;
}
.icon_caution_01 {
	display: inline-block;
    width: 22px;
    height: 22px;
    background: #fff;
    border-radius: 50px;
    box-sizing: border-box;
    font-size: 17px;
    font-weight: 800;
    color: #000;
    text-align: center;
    line-height: 22px;
    margin-right: 8px;
}



.application_btn_area {
	display: block;
	margin: 0 auto;
	padding: 50px 0 100px;
	position: relative;
}
.btn_submit_01 {	
	position: absolute;
	top: 0;
	right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 50px;

    padding: 0;
	background: #b22134;
    border: 1px solid #9e0e21;
    font-size: 18px;
    color: #ffffff;
    vertical-align: middle;
    text-align: center;
    line-height: 50px;
    transition: all 0.3s;
    cursor: pointer;
}
.btn_submit_01:hover {
	background: #831723;
	border: 1px solid #6b0a15;
}

.download_area {
	display: block;
	margin-top: 10px;
}

.download_area a {
	display: inline-block;
}

.btn_download_02 {
	display: inline-block;
    width: 120px;
    height: 35px;
}
.btn_download_02 a {
	display: inline-block;
    width: 100%;
    height: 100%;

    font-size: 14px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    line-height: 35px;

    border-radius: 50px;
    box-sizing: border-box;

    background-color: #777;
    background-image: url('../images/common/icon_download.png');
    background-repeat: no-repeat;
    background-position: right 23px center; /* 👉 오른쪽 정렬 */
    background-size: 15px 13px;

    padding-right: 29px; /* 👉 아이콘 공간 확보 */
	transition: all 0.3s;
}
.btn_download_02 a:hover {
	background-color: #901927;
}
.text_download {

}
.text_download:hover {
	color: #fe2743;
}



/* =========================
   페이징
========================= */
.paging {
	text-align: center;
}
.paging a {
	display: inline-block;
	width: 30px;
	height: 30px;
	line-height: 30px;
	background-color: #f8f8f8;
	border: 1px solid #dddddd;
	text-decoration: none;
	font-size:13px;
	font-weight: 300;
	color:#979797;
	margin-right: 5px;
	cursor: pointer;
}
.paging a.num {
	background: #ffffff;
}
.paging a.on {
	background-color: #4a4a4a;
	color: #ffffff;
	font-weight: 700;
	cursor: default;
	border: 1px solid #4a4a4a;
}
.paging a.first {
	text-indent: -9999px;
	background: #f8f8f8 url('../images/common/arrow_first.png') no-repeat center;
}
.paging a.prev {
	text-indent: -9999px;
	background: #f8f8f8 url('../images/common/arrow_prev.png') no-repeat center;
}
.paging a.next {
	text-indent: -9999px;
	background: #f8f8f8 url('../images/common/arrow_next.png') no-repeat center;
}
.paging a.end {
	text-indent: -9999px;
	background: #f8f8f8 url('../images/common/arrow_end.png') no-repeat center;
}