/* ===== Modern CSS Reset (2026) ===== */

/* 1. box-sizing 통일 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* 2. 기본 margin, padding 제거 */
* {
  margin: 0;
  padding: 0;
}

/* 3. html 기본 설정 */
html {
  -webkit-text-size-adjust: 100%; /* iOS 텍스트 확대 방지 */
  text-size-adjust: 100%;
  hanging-punctuation: first last;
  color-scheme: light dark;
}

/* 4. body 기본값 */
body {
  min-height: 100svh; /* 모바일 viewport 대응 */
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  font-family: "pretendard", "맑은 고딕", "Malgun Gothic", Arial, sans-serif;
}

/* 5. 미디어 요소 */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 6. 폼 요소 폰트 상속 */
input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

/* 7. 버튼 기본 스타일 제거 */
button {
  background: none;
  border: none;
  cursor: pointer;
}

/* 8. 리스트 스타일 제거 */
ul,
ol {
  list-style: none;
}

/* 9. 링크 기본 스타일 제거 */
a {
  text-decoration: none;
  color: inherit;
}

/* 10. 텍스트 overflow 대응 */
p,
h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

/* 11. 테이블 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 12. root stacking context (React, Next 등) */
#root,
#__next {
  isolation: isolate;
}



/* 사용 폰트 */
/* 프리텐다드 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; */


/*===== 폰트 크기 =====*/
.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_21 {
	font-size: 21px !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;
}


/* 폰트 두께 */
.font_M {
	font-weight:500;
}
.font_SB {
	font-weight:600;
}
.font_B {
	font-weight:700;
}

.font_EB {
	font-weight:800;
}

/* 레드 컬러 공통 */
.red_default {
	color: #fe2743;
}
.red_light_01 {
	color:#fe2743;
}
.red_dark {
	color: #bb2337;		
} 
.red_sub {
	color: #cf1926;
}


/*===== 디스플레이 =====*/ 
.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;
}

.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;
}


.mt_minus5 {
	margin-top: -5px !important;
}

.mt_minus10 {
	margin-top: -10px !important;
}

.mt_minus20 {
	margin-top: -20px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt8 {
	margin-top: 8px !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;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt75 {
	margin-top: 75px !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;
}


.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;
}

.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;
}


/* =========================
   📌 스크롤트리거
   ========================= */
@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;
}


/* ================================
   서브 공통 -  HEADER, SldieBar
================================ */
.top_area {
	position: relative;
	height:58px;
	width:100%;
	border-bottom: 1px solid rgba(167,167,167,1);
	z-index: 100;
}
.top_layout {
	position:relative;
}

.top_area .logo {
	display:block;
	position:absolute;
	left:24px;
	top:12px;
	width:38px;
	height: 36px;
	background: url('../images/common/logo_color_main_top.png') no-repeat;
	background-size:38px 36px;
}

.btn_menu {
	display:block;
	position:absolute;
	right:24px;
	top:20px;
	width:26px;
	height: 19px;
	cursor:pointer;	
	background: url('../images/common/global_icon_bk_menu_open.png') no-repeat;
	background-size:26px 19px;
}


body.on{
	overflow: hidden;
}
body.on .gnb{
	background-color: rgba(0,0,0,0.7);
	z-index: 1000000;
}


.gnb_area{
	position: fixed;
	top: 0;
	left: 0;              /* left 0으로 고정 */
	width: 95%;
	height: 100%;
	overflow:hidden; 
	overflow-y:scroll;
	background-color: #fff;

	/* 🔥 시작 위치 (숨김 상태) */
	transform: translateX(-100%);
	transition: transform 0.4s ease;
}
.gnb_area .logo {
	display:block;
	position:absolute;
	left:24px;
	top:12px;
	width:38px;
	height: 36px;
	background: url('../images/common/logo_white_main_top.png') no-repeat;
	background-size:38px 36px;
}
/* 🔥 열렸을 때 */
.gnb_area.open{
	transform: translateX(0);
}

.gnb {
	position: fixed; 
	left: 0;
	top: 0; 
	width: 100%; 
	height: 100%; 
	line-height: 1;
	background-color: rgba(0,0,0,0);
	transition: background-color 0.3s ease;
	z-index: -1;
}
.gnb .gnb_area_top{
	position: relative;
	height: 58px;
	background-color: #bb2337;
}
.gnb .gnb_area_top .go_close{
	position: absolute;
	overflow:hidden;
	right: 0;
	top:0;
	width: 58px; 
	height: 58px;
	text-indent: -9999px;
	background: #6f141b url('../images/common/btn_gnb_close.png') no-repeat center;
	background-size:21px;
}

.gnb .gnb_area_top *{color: #fff;}


/* sidebar */
.sidebar {
	position: relative;
	width: 100%;
}

.sidebar ul {
	overflow: hidden;
}

.sidebar ul li {
	position: relative;
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.sidebar a {
	display: block;
	height: 65px;
	line-height: 65px;
	padding-left: 20px;
	color: #fff;
	font-family: 'pretendard' !important;
	font-size: 19px;
	font-weight: 500;
	text-decoration: none;
}

.sidebar .toggle {
	position: absolute;
	top: 0px;
	right: 0px;
	cursor: pointer;
	width: 65px;  /* 터치 영역 확보 때문에 이미지 보다 크게 */
	height: 65px;  /* 터치 영역 확보 때문에 이미지 보다 크게 */
	background-size: cover;
	font-size: 0;
}

.sidebar .plus {
	display: block;
	background-image: url('../images/common/icon_depth1_plus.png');
	background-size: 25px 25px;
	background-position: right 15px center;
	background-repeat: no-repeat;
}

.sidebar .minus {
	display: block;
	background-image: url('../images/common/icon_depth1_minus.png');
	background-size: 25px 1px;
	background-position: right 15px center;
	background-repeat: no-repeat;
}

.sidebar .submenu .toggle {
	position: absolute;
	top: 0px;
	right: 15px;
	width: 44px;  /* 터치 영역 확보 때문에 이미지 보다 크게 */
	height: 44px;  /* 터치 영역 확보 때문에 이미지 보다 크게 */
	background-size: cover;
	font-size: 0;
}

.sidebar .submenu .plus {
	display: block;
	background-image: url('../images/common/icon_depth2_plus.png');
	background-size: 20px 20px;
	background-position: center center;
	background-repeat: no-repeat;
}

.sidebar .submenu .minus {
	display: block;
	background-image: url('../images/common/icon_depth2_minus.png');
	background-size: 20px 1px;
	background-position: center center;
	background-repeat: no-repeat;
}

.sidebar .submenu {
	display: none;
}

.sidebar .submenu > li {
	border-bottom: 1px solid rgba(225, 225, 225, 0.5) !important;
}

.sidebar .submenu li:last-child {
	border-bottom: none !important;
}

.sidebar .submenu a {
	height: 52px;
	line-height: 52px;
	font-size: 19px;
	color: #de4c5f;
	background-color: #ffbac3;
}

.sidebar .sub-submenu {
	display: none;
}

.sidebar .sub-submenu > li {
	border-bottom: 1px solid rgba(225, 225, 225, 0.5) !important;
}

.sidebar .sub-submenu li:last-child {
	border-bottom: none !important;
}


/* depth1-1 About */
.sidebar > ul > li:nth-of-type(1)>a {
	font-family: 'pretendard' !important;
	font-size: 19px;
	font-weight: 500;
	background-color: #de4c5f;
}

/* depth1-2 기도대성회 */
.sidebar > ul > li:nth-of-type(2)>a {
	font-family: 'pretendard' !important;
	font-size: 19px;
	font-weight: 500;
	background-color: #de4c5f;
}

/* depth1-2 기도대성회 */
.sidebar > ul > li.on:nth-of-type(2)>a {
	color: #fff;	
	background-color: #de4c5f;
}


/* depth1-3 자료·미디어 */
.sidebar > ul > li:nth-of-type(3)>a {
	font-family: 'pretendard' !important;
	font-size: 19px;
	font-weight: 500;
	background-color: #de4c5f;
}

/* depth1-3 자료·미디어 */
.sidebar > ul > li.on:nth-of-type(3)>a {
	color: #fff;	
	background-color: #de4c5f;
}

/* depth1-4 갤러리 */
.sidebar > ul > li:nth-of-type(4)>a {
	font-family: 'pretendard' !important;
	font-size: 19px;
	font-weight: 500;
	background-color: #de4c5f;
}



/* 클릭 시 생기는 회색 하이라이트 제거 및 터치 반응 개선 */
.sidebar a, 
.sidebar .toggle, 
.dropdown_bar,
.dropdown_content a {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation; /* 더블탭 확대 방지 및 클릭 반응 속도 향상 */
}

/* 모바일에서는 hover 효과가 나오지 않도록 처리 (중요) */
@media (hover: none) {
    .sidebar a:hover, 
    .dropdown_bar:hover {
        background-color: inherit; 
    }
}


/* =========================
   📌 서브 공통 - 준비 중
   ========================= */
.preparing_wrap {
	display: flex;
	justify-content: center; /* 가로 가운데 */
	align-items: flex-start; /* 위쪽 기준 */
	height: 100svh; /* 모바일 대응 */
	padding-top: 5vh; /* 👈 핵심: 위에서 5% */
	padding-left: 20px;
	padding-right: 20px;
}

.preparing_wrap img {
	display: block;
	width: 550px;
	margin: 0 auto 80px;;
}

.preparing_inner {
	display: block;
	width: 550px;
	margin: 0 auto 80px;;
}

/* =======================================
   480px 이상 (폰 가로 + 태블릿 세로 포함)
======================================= */
@media all and (min-width:480px) {
	.preparing_wrap {
		display: flex;
		justify-content: center; /* 가로 가운데 */
		align-items: flex-start; /* 위쪽 기준 */
		padding: 0 0 100vh;
	}
	.preparing_wrap img {
		display: block;
		width: 50%;
		margin: 0 auto 80px;;
	}
}


/* =========================
   📌 서브 공통 - 컨테이너
   ========================= */
.container {
	display: block;
	width: 100%; 
	margin: 0 auto;	
}

/* =========================
   📌 서브상단 네비
   ========================= */
.sub_navi {
	display: block;
	width: 100%;
	margin: 30px auto 0;
	padding: 0 6.25%;
}
.sub_navi ul {
	overflow: hidden;
}
/* li 공통 */
.sub_navi ul li {
	float: left;
	display: flex;
	align-items: center;   /* 🔥 세로 중앙 정렬 */
	height: 19px;          /* 🔥 아이콘 높이에 맞춤 (icon_home 기준) */
	margin-right: 15px;
	margin-bottom: 10px;
	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: 22px;
	font-weight: 300;
	color: #0064e0;
	margin-bottom: 28px;
}

/* =========================
   📌 서브 공통 - 본문 제목
   ========================= */
.sub_desc_title_01 {
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
	color: #000;
	margin-bottom: 20px;
}
.sub_title_white_01 {
	font-size: 22px;
	font-weight: 300;
	color: #fff;
	margin-bottom: 28px;
}

/* =========================
   📌 서브 공통 - 본문 텍스트
   ========================= */
.sub_desc_text_01 {
	display: block;
	width: 100%;
	font-size: 15px;
	font-weight: 300;
	color: #000;
	line-height: 26px;
	letter-spacing: -0.25px;
	word-break: keep-all;
	text-align: justify; 
}
.sub_desc_text_02 {
	display: block;
	width: 100%;
	font-size: 15px;
	font-weight: 300;
	color: #fff;
	line-height: 26px;
	letter-spacing: -0.25px;
	word-break: keep-all;
	text-align: justify; 
}


/* ========================================
   📌 서브 공통 - 하단 라인 있는 서브 타이틀 
   ======================================== */
.section_sub_title_lineY {
	display: block;
	width: 87.5%;
	margin: 28px auto 28px;
    padding: 0 0 10px;
	border-bottom: 1px solid rgba(167,167,167,1);
}
.section_sub_title_lineY p {
	font-size: 22px;
	font-weight: 300;
}

/* ========================================
   📌 서브 공통 - 하단 라인 없는 서브 타이틀
   ======================================== */
.section_sub_title_lineN {
	display: block;
	width: 100%;
    margin: 28px auto 28px;
    padding: 0 6.25%;
	position: relative;
}
.section_sub_title_lineN p {
	font-size: 22px;
	font-weight: 300;
}

.section_sub_title_lineN_02 {
	display: block;
	width: 100%;
	margin: 28px auto 15px;
	padding: 0 6.25%;
	position: relative;
}
.section_sub_title_lineN_02 p {
	display: inline-block;
	font-size: 20px;
	font-weight: 300;
	overflow: hidden;
}

/* =========================
   📌 서브 공통 - 메뉴 탭(2개)
   ========================= */
.tab_nav_2pcs {
	position: relative; 
	width: 100%;
}

.tab_nav_2pcs.sub {
	margin: 0 0 10px;
}

.tab_nav_2pcs ul {
	border-bottom: 1px solid rgba(167,167,167,1);
	overflow: hidden;
}

.tab_nav_2pcs ul li {
	float: left;
	width: 50%;
	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 15px;
	font-size: 18px;
	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: 100%;
}

.tab_nav_3pcs.sub {
	margin: 0 0 10px;
}

.tab_nav_3pcs ul {
	display: flex;
	border-bottom: 1px solid rgba(167,167,167,1);
	overflow: hidden;
}

.tab_nav_3pcs ul li {
	/* float: left; */
	width: 33.3333%;
	margin-bottom: -1px;
	box-sizing: border-box;
	outline: none;
	text-align: center;
}

.tab_nav_3pcs ul li a {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 48px;

	padding: 0 8px 12px;

	font-size: 14px;
	font-weight: 300;
	color: #777;

	text-align: center;
	line-height: 1.4;

	box-sizing: border-box;
	outline: none;

	word-break: keep-all;
	overflow-wrap: normal;
	white-space: normal;
}

.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: 45px 6.25%;	
	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: 45px 6.25%;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}

/* =========================================================================================
   📌 서브 공통 - section_top_minus28_p0_wrap(서브 타이틀 아래 라인 없고 하단 패딩 없는 경우)
   ========================================================================================== */
.section_top_minus30_p0_wrap {
	display: flex;
    position: relative;
    width: 100%;
	margin: -28px auto 0;   
	padding: 45px 6.25% 0;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}



/* =================================
   📌 서브 공통 - section_default_inner
   ================================== */
.section_default_inner {
	display: block;
	width: 100%;
	margin: 0 auto;
}


/* ====================================
   📌 서브 공통 - 라운드박스(15픽셀)
   ==================================== */
.R15box_white_box_borderN {
	display: block;
	padding: 45px 6.25%;
	border-radius: 15px;
	background: #fff;
	box-sizing: border-box;
}
.R15box_white_box_borderY {
	display: block;
	padding: 45px 6.25%;
	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: 14px;

	position: absolute;
    right: 6.25%;
    bottom: 9px;
}
.description_text_02 {
	display: inline-block;
	font-size: 14px;
	color: #bb2337;
	margin: 15px 0;
}
.symbol_01 {
	display: inline-block;
	font-size: 18px;
	font-weight: 400;
	color: #fe2743;

	position: relative;
	top: 5px;
}
.symbol_02 {
	display: inline-block;
	font-size: 18px;
	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(2) {
	width: 45%;
	float: right !important;
	margin-top: 15px;
}
.section_default_inner .greetings ul li:nth-child(2) p {
	width: 100%;
	text-align: center;
	margin-top: 15px;
	font-size: 12px;
	font-weight: 300;
}
.section_default_inner .greetings ul li:nth-child(2) p span {
	font-size: 13px;
	font-weight: 700;
}
.section_default_inner .greetings ul li:nth-child(2) img {
	width: 100%;
}

/* =======================================
   480px 이상 (폰 가로 + 태블릿 세로 포함)
======================================= */
@media all and (min-width:480px) {
	.section_default_inner .greetings ul li:nth-child(1) {
		width: 65%;
		margin-right: 5%;
	}
	.section_default_inner .greetings ul li:nth-child(2) {
		width: 30%;
	}
	.section_default_inner .greetings ul li:nth-child(2) img {
		width: 100%;
	}
}


/* =========================
   📌 About - 연혁
   ========================= */
.history_list {
	display: block;
}
.history_list ul {
	overflow: hidden;
}
.history_list ul li {
	float: left;
}
.history_list ul li {

}

/* =========================
   기본 (모바일 세로)
========================= */
.history_photo_portrait {
	display: block;
	width: 100%;
	cursor: pointer;
}
.history_photo_portrait div {
	margin-bottom: 20px;
	box-sizing: border-box;
}
/* 👉 landscape는 기본에서 숨김 */
.history_photo_landscape {
	display: none;
}
.history_photo_portrait img {
	width: 100%;
}
/* =======================================
   480px 이상 (폰 가로 + 태블릿 세로 포함)
======================================= */
@media all and (min-width:480px) {
	/* 👉 portrait 숨김 */
	.history_photo_portrait {
		display: none;
	}
	/* 👉 landscape 표시 */
	.history_photo_landscape {
		display: block;
		width: 43%;
		margin-right: 3%;
		cursor: pointer;
	}
	.history_photo_landscape div {
		margin-bottom: 20px;
		box-sizing: border-box;
	}
	.history_photo_landscape img {
		width: 100%;
	}
}

/* ======================================
   📌 About > 연혁 history_photo 오버레이
====================================== */

/* 기준 잡기 */
.history_photo_portrait a {
    position: relative;
    display: block;
}
.history_photo_landscape a {
    position: relative;
    display: block;
}

/* hover 시 */
.history_photo_portrait a:hover .history_photo_detail {
    opacity: 1;
}
.history_photo_landscape a:hover .history_photo_detail {
    opacity: 1;
}

.history_photo_landscape ul {
	overflow: hidden;
}
.history_photo_landscape ul li {
	float: left;
	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;

    margin: 0 auto;

    line-height: 24px;
	word-break: keep-all;

    opacity: 0;
    transition: all 0.3s ease;
}
/* =======================================
   📌 480px 이상 → landscape 전환
======================================= */
@media all and (min-width:480px) {
	/* 오버레이 */
	.history_photo_detail {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;

		display: flex;
		align-items: center;
		justify-content: center;

		padding: 30px;
		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;

		margin: 0 auto;

		line-height: 24px;
		word-break: keep-all;

		opacity: 0;
		transition: all 0.3s ease;
	}
}



/* =========================
   📌 📌 About > 연혁 내용 
   ========================= */
/* =========================
   📌 기본 display 제어
========================= */
.history_detail_portrait {
	display: block;
	position: relative;
	z-index: 1;
	padding-top: 25px;
}

.history_detail_landscape {
	display: none;
}

/* =======================================
   📌 480px 이상 → landscape 전환
======================================= */
@media all and (min-width:480px) {
	.history_detail_portrait {
		display: none;
	}
	.history_detail_landscape {
		display: block;
		width: 54%;
		position: relative;
		z-index: 1;
		padding-top: 25px;
	}
}

/* =========================================================
   📌 📱 PORTRAIT (세로 전용 - grid)
========================================================= */
.history_detail_portrait .history_line {
	margin-bottom: 20px;
}

.history_detail_portrait .history_line ul {
	display: grid;
	grid-template-columns: 60px 25px 50px 1fr;   /* 첫번째 부분 하단 tree도 같이 수정해줘야 함  */
	grid-template-rows: auto auto;
	row-gap: 5px;
	align-items: center;
}

/* year */
.history_detail_portrait .history_year {
	grid-column: 1;
	grid-row: 1;

	font-size: 16px;
	font-weight: 800;
	color: #0099df;
	text-align: center;
}

/* dash */
.history_detail_portrait .history_dash {
	grid-column: 2;
	grid-row: 1;

	width: 20px;
	height: 6px;

	background: url('../images/sub/about/about_history_line_01.png') no-repeat center;
	background-size: contain;
	
	position: relative;
	left: -3px;
}

/* day */
.history_detail_portrait .history_day {
	grid-column: 3;
	grid-row: 1;

	font-size: 16px;
	font-weight: 600;
	color: #0099df;
}

/* text */
.history_detail_portrait .history_text_top {
	grid-column: 4;
	grid-row: 1;

	font-size: 16px;
	font-weight: 300;
	color: #000;
	padding-left: 8px;
}

.history_detail_portrait .history_text_sub {
	grid-column: 4;
	grid-row: 2;

	font-size: 16px;
	font-weight: 200;
	color: #909090;
	padding-left: 8px;
}

/* tree */
.history_detail_portrait .history_tree {
	position: absolute;
	top: 0;
	left: 0;

	width: 60px;   /* 상단에 history_line ul 첫번째 부분도 같이 수정해줘야 함 */
	height: 99%;

	background: #d8f3ff;
	z-index: -1;

	overflow: hidden;
	transform-origin: top;
}


/* =========================================================
   📌 💻 LANDSCAPE (가로 전용 - grid)
========================================================= */
.history_detail_landscape .history_line {
	margin-bottom: 20px;
}

.history_detail_landscape .history_line ul {
	display: grid;
	grid-template-columns: 55px 25px 45px 1fr;    /* 첫번째 부분 하단 tree도 같이 수정해줘야 함  */
	grid-template-rows: auto auto;
	row-gap: 5px;
	align-items: center;
}

/* year */
.history_detail_landscape .history_year {
	grid-column: 1;
	grid-row: 1;

	font-size: 16px;
	font-weight: 800;
	color: #0099df;
	text-align: center;
}

/* dash */
.history_detail_landscape .history_dash {
	grid-column: 2;
	grid-row: 1;

	width: 20px;   
	height: 6px;

	background: url('../images/sub/about/about_history_line_01.png') no-repeat center;
	background-size: contain;

	position: relative;
	left: -3px;
}

/* day */
.history_detail_landscape .history_day {
	grid-column: 3;
	grid-row: 1;

	font-size: 15px;
	font-weight: 600;
	color: #0099df;
}

/* text */
.history_detail_landscape .history_text_top {
	grid-column: 4;
	grid-row: 1;

	font-size: 16px;
	font-weight: 300;
	color: #000;
	padding-left: 8px;
}

.history_detail_landscape .history_text_sub {
	grid-column: 4;
	grid-row: 2;

	font-size: 16px;
	font-weight: 200;
	color: #909090;
	padding-left: 8px;
}

/* tree */
.history_detail_landscape .history_tree {
	position: absolute;
	top: 0;
	left: 0;

	width: 55px;  /* 상단에 history_line ul 첫번째 부분도 같이 수정해줘야 함 */
	height: 1905px;

	background: #d8f3ff;
	z-index: -1;

	overflow: hidden;
	transform-origin: top;
}





/* ====================
   📌 기도대성회 > 강사
   ===================== */
/* 제일 상단 */
.section_speaker_top_wrap_01 {
	display: flex;
	position: relative;
	width: 100%;
	margin: 29px auto 0;
	padding: 40px 0 25px;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}

/* 나머지 영역 */
.section_speaker_top_wrap_02 {
	display: flex;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 40px 0 25px;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}

/* =========================================
   📌 강사 리스트 공통
========================================= */
.speaker_pink_wrap,
.speaker_white_wrap {
	display: flex;

	width: 100%;

	overflow-x: auto;
	overflow-y: hidden;

	-webkit-overflow-scrolling: touch;

	scrollbar-width: none;
	-ms-overflow-style: none;

	padding-bottom: 10px;

	/* ⭐ 처음 진입 시 왼쪽 여백 */
	padding-left: 6.25%;

	touch-action: auto;

	transition: padding-left 0.3s ease;
}

/* 스크롤바 숨김 */
.speaker_pink_wrap::-webkit-scrollbar,
.speaker_white_wrap::-webkit-scrollbar {
	display: none;
}

/* ⭐ 스크롤 시작 후 왼쪽 여백 제거 */
.speaker_pink_wrap.scrolled,
.speaker_white_wrap.scrolled {
	padding-left: 0;
}

/* ul */
.speaker_pink_wrap ul,
.speaker_white_wrap ul {
	display: flex;
	align-items: flex-start;

	width: max-content;

	gap: 20px;

	/* touch-action: pan-x; */

	pointer-events: none;
}

/* li */
.speaker_pink_wrap ul li,
.speaker_white_wrap ul li {
	position: relative;

	display: flex;
	flex-direction: column;

	justify-content: flex-start;
	align-items: center;

	width: 125px;
	flex-shrink: 0;

	text-align: center;

	transition: transform 0.3s ease;

	pointer-events: auto;
}

/* 마지막 여백 */
.speaker_pink_wrap ul li:last-child,
.speaker_white_wrap ul li:last-child {
	margin-right: 6.25vw;
}

/* hover */
/* .speaker_pink_wrap ul li:hover,
.speaker_white_wrap ul li:hover {
	transform: scale(1.15);
	z-index: 10;
} */

/* 이미지 */
.speaker_pink_wrap ul li img,
.speaker_white_wrap ul li img {
	display: block;
	width: 100%;
	margin-bottom: 18px;
	image-rendering: -webkit-optimize-contrast; 
	transform: translateZ(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

/* 이름 */
.speaker_pink_name,
.speaker_white_name {
	display: block;

	width: 100%;
	min-height: 40px;

	font-size: 14px;
	font-weight: 500;
	line-height: 18px;
	letter-spacing: -0.65px;

	text-align: center;

	/* margin-bottom: 7px; */

	word-break: keep-all;
	overflow-wrap: normal;
}

.speaker_pink_name br,
.speaker_white_name br {
	display: none;
}

.speaker_pink_name {
	color: #000;
}

.speaker_white_name {
	color: #000;
}

/* 소속 */
.speaker_pink_affiliation,
.speaker_white_affiliation {
	display: block;

	width: 100%;
	min-height: 45px;

	font-size: 12px;
	font-weight: 400;
	line-height: 15px;

	text-align: center;

	word-break: keep-all;
}

.speaker_pink_affiliation {
	color: #da596c;
}

.speaker_white_affiliation {
	color: #909090;
}


/* ===============================
   📌 기도대성회 > 일정
   =============================== */
   /* 기본 세로모드 */
 .view_portrait {
	display: block;
 }
 .view_landscape {
	display: none;
 }

.tblArea{
    width: 100%;
    border-bottom: 0; 
	position: relative;
	z-index: 1;
}

.view_portrait .tb_basic_03 {
	display: block;
    border-collapse: collapse;
	border: 1px solid #a7a7a7;
	/* border: 0 !important; */
    width: 100%;
    table-layout: fixed;
    font-family: 'pretendard', 'Noto Sans KR', "Malgun Gothic", "맑은 고딕", dotum, "돋움", sans-serif !important;
    
    /* border-bottom: 0; */ /* ⭐ table 하단 border 제거 */
}
/* 헤더 */
.view_portrait .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;
}

.view_portrait .tb_basic_03 th:first-child {
    background-color: #ffe0e3;
}

.view_portrait .tb_basic_03 th:last-child {
    border-right: 0;
}

/* 셀 */
.view_portrait .tb_basic_03 td {
    /* width: 100%; */
    height: 79px;
    text-align: center;
    vertical-align: middle;
    font-size: 16px;
    font-weight: 300;
    border-right: 1px solid #a7a7a7;
    border-bottom: 1px solid #a7a7a7; 
}

/* 마지막 컬럼 오른쪽 선 제거 */
.view_portrait .tb_basic_03 td:nth-child(2) {
    border-right: 0;    
}

.td_b0 {
	border-bottom: 0 !important;
}

.schedule_group_01 {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff5f5;
	padding: 62px 10px 0;
}
.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: 62px 10px 0;
}


.schedule_title_01 {
	display: block;
	font-size: 18px;
	font-weight: 500;
	color: #bb2337;
	margin-bottom: 7px;
}
.schedule_title_02 {
	display: block;
	width: 240px;
	height: 32px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 31px;
	text-align: center;
	margin: 0 auto 15px;
	background: #de4c5f;
	border-radius: 50px;
} 
.schedule_title_03 {
	display: block;
	width: 240px;
	height: 32px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 31px;
	text-align: center;
	margin: 0 auto 15px;
	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 15px;
	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: 8px;
}
.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: 45%;
	left: 50%;
	margin-left: -22.5%;
	width: 65%;
}

/* 해상도 350px 미만 - 스마트폰 */
@media (max-width:349px)  {
	.schedule_title_02 {
		width: 200px;
	} 
	.schedule_title_03 {
		width: 200px;
	}
	.schedule_title_04 {
		width: 180px;
		font-size: 16px;
	}

	.schedule_group_03 {
		width: 200px;		
	}
}


/* =======================================
   📌 480px 이상 → landscape 전환
======================================= */
@media all and (min-width:480px) {
	 .view_landscape {
		display: block;
	 }
	 .view_portrait {
		display: none;
	 }
	.view_landscape .tblArea {		
		width: 100%;
		border: 1px solid #a7a7a7;
		border-bottom: 0;
		position: relative;
		z-index: 1;

		/* ⭐ 가로 스크롤 */
		overflow-x: auto;
		overflow-y: hidden;

		/* ⭐ iPhone 부드러운 스크롤 */
		-webkit-overflow-scrolling: touch;
	}

	.view_landscape .tb_basic_03 {
		display: table;
		/* 변경 */
		border-collapse: separate;
		border-spacing: 0;

		/* ⭐ 최소 너비 지정 */
		min-width: 1100px;

		/* ⭐ 내용 기준으로 자연스럽게 */
		width: max-content;

		table-layout: fixed;
		font-family: 'pretendard', 'Noto Sans KR', "Malgun Gothic", "맑은 고딕", dotum, "돋움", sans-serif !important;

		border-bottom: 0; /* ⭐ table 하단 border 제거 */

		position: relative;
	}
	/* 헤더 */
	.view_landscape .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;
	}

	.view_landscape .tb_basic_03 th:first-child {
		background-color: #ffe0e3;
	}

	.view_landscape .tb_basic_03 th:last-child {
		border-right: 0;
	}

	/* 셀 */
	.view_landscape .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; 
	}

	/* 마지막 컬럼 오른쪽 선 제거 */
	.view_landscape .tb_basic_03 td:nth-child(5) {
		border-right: 0;    
	}

	.view_landscape .tb_basic_03 td,
	.view_landscape .tb_basic_03 th {
		word-break: keep-all;
		overflow-wrap: break-word;
	}

	/* =========================================
	   📌 시간 영역 고정 (첫 번째 컬럼)
	========================================= */

	/* 시간 헤더 */
	.view_landscape .tb_basic_03 thead th:first-child {
		position: sticky;
		left: 0;
		z-index: 30;
		background: #ffe0e3;

		/* 추가 */
		border-right: 1px solid #a7a7a7;
		border-bottom: 1px solid #a7a7a7;
	}

	/* 시간 셀 */
	.view_landscape .tb_basic_03 tbody td:first-child {
		position: sticky;
		left: 0;
		z-index: 20;
		background: #fff;

		/* 추가 */
		border-right: 1px solid #a7a7a7;
		border-bottom: 1px solid #a7a7a7;
	}

	.schedule_group_01 {
		display: block;
		width: 100%;
		height: 100%;
		background: #fff5f5;
		padding: 62px 10px 0;
	}
	.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: 62px 10px 0;
	}


	.schedule_title_01 {
		display: block;
		font-size: 18px;
		font-weight: 500;
		color: #bb2337;
		margin-bottom: 7px;
	}
	.schedule_title_02 {
		display: block;
		max-width: 240px;
		height: 32px;
		font-size: 18px;
		font-weight: 500;
		color: #fff;
		line-height: 31px;
		text-align: center;
		margin: 0 auto 15px;
		background: #de4c5f;
		border-radius: 50px;
	} 
	.schedule_title_03 {
		display: block;
		max-width: 240px;
		height: 32px;
		font-size: 18px;
		font-weight: 500;
		color: #fff;
		line-height: 31px;
		text-align: center;
		margin: 0 auto 15px;
		background: #6f141b;
		border-radius: 50px;
	}
	.schedule_title_04 {
		display: block;
		max-width: 211px;
		height: 32px;
		font-size: 18px;
		font-weight: 500;
		color: #fff;
		line-height: 31px;
		text-align: center;
		margin: 0 auto 15px;
		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: 9px;
	}
	.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%;
	height: 100%;
	margin: 50px auto;
}
.info_location_wrap ul {
	overflow: hidden;
}
.info_location_wrap ul li {
	float: left;
	50%;
}
.info_location_map {
	display: block;
	width: 100%;
	margin-right: 30px;
}

.root_daum_roughmap {
    background-color: #fff;
    margin: 0 auto;
    position: relative;
    width: 100% !important;
	min-height: 990px !important;
}
/* =======================================
   📌 480px 이상 → landscape 전환
======================================= */
@media all and (min-width:480px) {
	.root_daum_roughmap {
		min-height: 850px !important;
	}
}

.root_daum_roughmap .cont .section {
    border-bottom: 1px solid #f2f2f2;
    margin: 0 !important;
    padding: 20px 0;
}

.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: 0;

    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;
}

/* 자가용 이용 별도 표기 */
.car_add_text_0401 {
	position: absolute;
	top: 805px!important;
    left: 0 !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;
}
.car_add_text_0402 {
	position: absolute;
	top: 795px!important;
    left: 0 !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: 380px;
    left: 78px;

	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;
}

/* =======================================
   📌 480px 이상 → landscape 전환
======================================= */
@media all and (min-width:480px) {
	/* 자가용 이용 별도 표기 */
	.car_add_text_0401 {
		position: absolute;
		top: 715px!important;
		left: 0 !important;
	}
	.car_add_text_0402 {
		position: absolute;
		top: 740px!important;
		left: 0 !important;
	}
	.tel_add_text {
		position: absolute;
		top: 379px;
		left: 78px;
	}
}


.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;
}


.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: 20px 20px;
	/* 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;
}
.td_title_02 {
	font-weight: 700;
	margin-bottom: 10px;
}
.td_text_02{
	display: block;
	margin-bottom: 5px;		
	font-size: 16px;
}
.td_title_02_sub {
	font-weight: 500;
	color: #bb2337;
	margin-bottom: 5px;
	position: relative;
}
.tb_basic_04 .td_center.portrait{
	display: block;
	width: 100%;
	text-align: center;
	border: 0 !important;
	outline: none !important;
	box-sizing: border-box;
}
.tb_basic_04 .td_center.landscape {
	display: none;
}
/* =======================================
   📌 480px 이상 → landscape 전환
======================================= */
@media all and (min-width:480px) {
	.tb_basic_04 .td_center.landscape {
		display: block;
		width: 100%;
		text-align: center;
		padding: 10px 8% !important;
		border: 0 !important;
		outline: none !important;
		box-sizing: border-box;
	}
	.tb_basic_04 .td_center.portrait{
		display: none;
	}
}




.info_location_shuttle {
	display: block;
	width: 100%;
}
.info_location_zone {
	display: block;
	width: 100%;
	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;
	
}

.btn_VR_link a {
	display: block;
	width: 100%;
	height: 35px;
	font-size: 14px;
	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: 100%;
	margin-bottom: 20px;
}
.seating_chart ul li:last-child {
	margin-right: 0;
}



/* =======================================
   📌 480px 이상 → landscape 전환
======================================= */
@media all and (min-width:480px) {
	.seating_chart ul li {
		display: block;
		width: 30%;
		margin-right: 20px;
	}
}



/*===== 행사장 확대 팝업 =====*/
/* 모달 전체 */
.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;
}


/* =========================================
   📌 자료·미디어 > 홍보자료실
   ========================================= */
   /* 기본 세로모드 */
 .view_portrait {
	display: block;
 }
 .view_landscape {
	display: none;
 }
.Rbox_one_inner {
	display: block;
}
.Rbox_one_inner ul {
	display: block;
}
.Rbox_one_inner ul li {
	/* float: left; */
}  
.Rbox_two_inner {
	display: block;
}
.Rbox_two_inner ul {
	display: flex;
    gap: 50px;
    height: 100%;
}
.Rbox_two_inner ul li {
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
	position: relative;
	z-index: 1;
}  


.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: 100%
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.logo_descript_title_main {
	display: block;
	font-size: 18px;
	font-weight: 500;
	color: #000;
	margin-bottom: 20px;
}
.logo_descript_paragraph {
	display: block;
	margin-bottom: 29px;
}
.logo_descript_paragraph:last-child {
	margin-bottom: 0;
}
.logo_descript_title_sub {
	display: block;
	font-size: 18px;
	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: 16px;
	font-weight: 300;
	color: #000;
	line-height: 25px;
	padding-left: 10px;
	word-break: keep-all;
}

.img_wrap {
	display: block;
	margin: 0 auto;
}

.img_wrap img {
	display: block;
	width: 100%;
	text-align: center;
}


/* =======================================
   📌 480px 이상 → landscape 전환
======================================= */
@media all and (min-width:480px) {

	 .view_landscape {
		display: block;
	 }
	 .view_portrait {
		display: none;
	 }
	.view_landscape .R15box_white_box_borderY {
		display: flex;
		flex-direction: column;

		width: 100%;
		height: 100%;

		padding: 45px 6.25%;
		box-sizing: border-box;

		border: 1px solid #e2e2e2;
		border-radius: 15px;
		background: #fff;

		overflow: hidden; /* ⭐ 추가 */
	}
	.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: 25px;
		align-items: stretch;
	}

	.Rbox_two_inner ul li {
		display: flex;
		width: 100%;
		height: 548px; /* ⭐ 고정 높이 */

		position: relative;
		z-index: 1;
	}
	.Rbox_two_inner ul li:nth-child(1) {
		width: 45%;
	}
	.Rbox_two_inner ul li:nth-child(2) {
		width: 55%;
	}

	.w30per {
		display: block;
		width: 30%;		
		text-align: center;
		position: relative;
		z-index: 5;
		overflow: visible;
	}
	.w70per{
		display: block;
		width: 70%;
		margin-left: 30px;
		padding-left: 30px;
		border-left: 1px solid #e2e2e2;
	}
	.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: auto auto 0;
		/* 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: 100%; 
		font-family: 'pretendard','Noto Sans KR', sans-serif;
	}
	.logo_descript_title_main {
		display: block;
		font-size: 18px;
		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: 18px;
		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: 16px;
		font-weight: 300;
		color: #000;
		line-height: 25px;
		padding-left: 10px;
		word-break: keep-all;
	}

	.img_wrap {
		display: flex;

		width: 100%;

		flex: 1;

		align-items: center;
		justify-content: center;

		margin: 0 auto;

		min-height: 0;
	}

	.img_wrap img {
		display: block;

		max-width: 100%;
		max-height: 100%;

		width: auto;
		height: auto;

		object-fit: contain;
	}
}


/* 자료·미디어 > 홍보영상 */
.section_movie_wrap {
	display: flex;
	width: 100%;
	height: auto;
	background: linear-gradient(to right, #6c131a, #a71a2b);   
	position: relative;
	padding: 45px 6.25%;  /* 영상하단에 슬라이드 없앤 경우 */
	/* padding: 45px 6.25% 90px; */   /* 영상하단에 슬라이드 있는 경우 */
}
.section_movie_inner {
	display: block;
	width: 100%;	
	/* margin-top: -36px; */
}
.section_movie_slide {
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.slide_mask {
	width: 100%;
	overflow: hidden;
	margin: 0 auto;
	user-select: none;
	cursor: grab;
	touch-action: pan-y;
}
.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;
	/* gap: 6px; */  /* 슬라이드가 2개인 경우만 넣어줄것 */
}

.section_movie_slide ul li {
	flex: 0 0 calc((100% - 2px) / 3);
	width: calc((100% - 2px) / 3);
	margin-right: 1px;
	box-sizing: border-box;
}

/* 마지막 요소 padding 제거 */
.section_movie_slide ul li:last-child {
	padding-right: 0;
}

/* 480px 이상 → 2개 */
/* @media all and (min-width:480px) {
	.section_movie_slide ul {
		display: flex; */
		/* gap: 15px; */  /* 슬라이드가 2개인 경우만 넣어줄것 */
/* 	}
	.section_movie_slide ul li {
		flex: 0 0 40%;
		width: 40%; */
		/* padding-right: 5px; */ /* 👉 gap 대신 padding */
		box-sizing: border-box;
/* 	}
	
	} */


/* 480px 이상 → 3개 */
/* @media all and (min-width:480px) {

	.section_movie_slide ul li {
		flex: 0 0 33.3333%;
		width: 33.3333%;
		padding-right: 6px;
	}

} */

/* .section_movie_slide ul li {
	flex: 0 0 165px;
	margin-right: 1px;
} */

.section_movie_slide ul li img {
    display: block;
    width: 100%;
    height: auto;
}

.e_movie_100per {
	width: 100%;
	/* margin: 0 auto; */  /* 영상하단에 슬라이드 없앤 경우 */
	margin: 0 auto 25px;   /* 영상하단에 슬라이드 있는 경우 */
}
.e_movie_m {
	flex-shrink: 0;
	cursor: pointer;
} 

.slide_title {
	display: block;
	text-align: center;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 14px;
	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 7px;
	cursor: pointer;
}

.paging_dot.on {
	background: #ff1634;
}

.slide_arrow {

}
.slide_arrow_left,
.slide_arrow_right {
	position: absolute;
	top: 37%;
	transform: translateY(-50%);
	cursor: pointer;
	z-index: 10;
}
.slide_arrow_left {
	left: 10px;
}
.slide_arrow_right {
	right: 10px;
}
.slide_arrow_left img, .slide_arrow_left img {
	height: 50%;
}
.slide_arrow_left img:hover {
	content: url('../images/main/slide_arrow_left_on.png');
	left:10px;

	/* 애니메이션 적용 */
    animation: movePrevtButton 0.5s infinite linear;
}
.slide_arrow_right img:hover {
	content: url('../images/main/slide_arrow_right_on.png');
	right: 10px;
    
    /* 애니메이션 적용 */
    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_portrait {
	display: block;
 }
 .view_landscape {
	display: none;
 }
#view_media_news {

}

.list_media {
	display: block;	
}

/* 🔥 각 줄 */
.list_media div {
	padding: 12px 0;   /* 고해상도 모니터에서 두번째 라인이 두꺼워지는 문제로 짝수 단위로 패딩값 수정 */
	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: 0;
	top: 50%;
	transform: translateY(calc(-50% - 1px)) 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: 8%;
	font-size: 15px;
	font-weight: 300;
	color: #8d8d8d;
	text-align: center;
	margin-left: 10px;
}
.list_media .list_titlle {
	width: 57%;
}
.list_media .list_titlle a {
	display: inline-block;
	width: 95%;
	font-size: 16px;
	font-weight: 300;
	color: #000;
	text-align: left;
	text-indent: 10px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	/* transition: color 0.3s ease; */
}
.list_media .list_writer {
	width: 14%;
	font-size: 13px;
	font-weight: 300;
	color: #8d8d8d;
	text-align: center;
	/* transition: color 0.3s ease; */
}
.list_media .list_date {
	width: 17%;
	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: 61px;
	line-height: 60px;
	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_title {
	display: block;	
	width: 67%;
	margin-right: 5%;	
}
.view_contents_title p {
	width: 100%;
	font-size: 16px;
	font-weight: 600;
	color: #000;
	text-align: left;

	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.view_contents_date {
	display: block;
	width: 28%;
	/* margin-right: 69px; */	
}
.view_contents_date p {
	width: 100%;
	font-size: 15px;
	font-weight: 300;
	color: #555;
	text-align: center;
}
.view_contents_top_btn {
	text-align: right;
	margin-bottom: 20px;
}

.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;
}
.view_contents_body {
	display: block;
	padding: 30px 0 50px;
	border-bottom: 1px solid #dcdcdc;
}
.view_contents_body p {
	font-size: 16px;
	font-weight: 300;
	color: #000;
	text-align: left;
	line-height: 26px;
}
.view_contents_body img {
	display: block;
	max-width: 100%;
}
.view_contents_bottom {
	display: block;
	width: 100%;
	margin: 50px 0;
	position: relative;
}
.btn_go_list {
	position: absolute;
	right: 0;
	bottom: 0;
}
.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;
}

.attached_file {
	display: flex;
	width: 100%;
	padding: 15px 0 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: 15px;
	transition: color 0.3s ease;
}
.attached_file_list a:hover {
	color: #bb2337;
}

/* =======================================
   📌 480px 이상 → landscape 전환
======================================= */
@media all and (min-width:480px) {

	 .view_landscape {
		display: block;
	 }
	 .view_portrait {
		display: none;
	 }
	#view_media_news {

	}

	.list_media {
		display: block;	
	}

	/* 🔥 각 줄 */
	.list_media div {
		padding: 12px 0;   /* 고해상도 모니터에서 두번째 라인이 두꺼워지는 문제로 짝수 단위로 패딩값 수정 */
		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: 0;
		top: 50%;
		transform: translateY(calc(-50% - 1px)) 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: 8%;
		font-size: 15px;
		font-weight: 300;
		color: #8d8d8d;
		text-align: center;
		margin-left: 10px;
	}
	.list_media .list_titlle {
		width: 57%;
	}
	.list_media .list_titlle a {
		display: inline-block;
		width: 95%;
		font-size: 16px;
		font-weight: 300;
		color: #000;
		text-align: left;
		text-indent: 10px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		/* transition: color 0.3s ease; */
	}
	.list_media .list_writer {
		width: 14%;
		font-size: 13px;
		font-weight: 300;
		color: #8d8d8d;
		text-align: center;
		/* transition: color 0.3s ease; */
	}
	.list_media .list_date {
		width: 17%;
		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: 71px;
		line-height: 70px;
		padding: 0 10px;
		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;	
		width: 47.5%;
		margin-right: 2.5%;	
	}
	.view_contents_title p {
		width: 100%;
		font-size: 19px;
		font-weight: 600;
		color: #000;
		text-align: left;

		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.view_contents_date {
		display: block;
		width: 15%;
	}
	.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: 5px;
	}
	.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;
	}
	.view_contents_body {
		display: block;
		padding: 30px 10px; 100px;
		border-bottom: 1px solid #dcdcdc;
	}
	.view_contents_body p {
		font-size: 16px;
		font-weight: 300;
		color: #000;
		text-align: left;
		line-height: 26px;
	}
	.view_contents_body img {
		display: block;
		max-width: 100%;
	}
	.view_contents_bottom {
		display: block;
		width: 100%;
		position: relative;
	}
	.btn_go_list {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.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;
	}

	.attached_file {
		display: flex;
		width: 100%;
		padding: 15px 0 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: 15px;
		transition: color 0.3s ease;
	}
	.attached_file_list a:hover {
		color: #bb2337;
	}

}

/* 해상도 350px 미만 - 스마트폰 */
@media (max-width:349px)  {
	/* 🔥 텍스트 영역 */
	.list_media .list_num {
		width: 8%;
		font-size: 13px;
		font-weight: 300;
		color: #8d8d8d;
		text-align: center;
		margin-left: 10px;
	}
	.list_media .list_titlle {
		width: 54%;
	}
	.list_media .list_titlle a {
		display: inline-block;
		width: 95%;
		font-size: 14px;
		font-weight: 300;
		color: #000;
		text-align: left;
		text-indent: 10px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		/* transition: color 0.3s ease; */
	}
	.list_media .list_writer {
		width: 14%;
		font-size: 12px;
		font-weight: 300;
		color: #8d8d8d;
		text-align: center;
		/* transition: color 0.3s ease; */
	}
	.list_media .list_date {
		width: 20%;
		font-size: 12px;
		font-weight: 300;
		color: #8d8d8d;
		text-align: center;
		/* transition: color 0.3s ease; */
	}
}








/* ===================================
   📌 서브 공통 - section_footer - 푸터
   ==================================== */
.section_footer_wrap {
	display: flex;
	width: 100%;
	background: #3b2828;
	position: relative;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-weight: 300;
	padding: 40px 6.25% 45px;
}
.section_footer_inner {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.section_footer_inner ul {

}
.section_footer_inner ul li {
	float: left;
}
.section_footer_inner ul li:nth-child(1) {
	margin-bottom: 15px;
	margin-right: 30px;  /* 가로모드인 경우 필요 */
}
.section_footer_inner ul li:nth-child(1) img {
	width: 47px;
	height: 45px;
}
.section_footer_inner .footer_info {
	text-align: left;
}
.section_footer_inner .footer_info p {
	margin-bottom: 5px;
}
.footer_info_text_01 {
	font-size: 11px;
	color: #7a7a7a;
}
.footer_info_subject {
	color: #cac9c9;
	margin-right: 5px;
}
.footer_info_text_01:nth-child(3) .address {
	display: inline-block;
	margin-bottom: 5px;
	margin-right: 25px;
}
.footer_info_text_01:nth-child(3) .phone {
	display: inline-block;
}
.footer_info_text_02 {
	font-size: 9px;
	color: #7a7a7a;
	margin-top: 25px;
}
.footer_info_text_02 span {
	display: inline-block;
	margin-right: 10px;
}




#list_news p {
	text-align: center;
	font-size: 18px;
	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: 1px solid #dcdcdc;
	/* 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);
} */

.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;
}




/* ====================
   📌 갤러리
   ===================== */
   /* 갤러리 > 인트로 */
   /* 기본 세로모드 */
.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: 100%;
	margin: 0 auto;
}
.gallery_intro_wrap ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.gallery_intro_wrap ul li {
	width: calc(50% - 10px);
	flex-shrink: 0;
}
.gallery_intro_wrap ul li:nth_child(2), .gallery_intro_wrap ul li:nth_child(4)  {
	gap: 0;
}

.gallery_intro_box {
	position: relative;
}
.gallery_intro_box img {
	display: block;
	width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast; 
	transform: translateZ(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.gallery_intro_year {
	display: block;
	font-size: 35px;
	font-weight: 900;
	color: #fff;
	text-align: center;
	margin: 6px 0 9px;
	padding-bottom: 6px;
	border-bottom: 1px solid #fff;
}
.gallery_intro_title {
	display: block;
	font-size: 12px;
	font-weight: 300;
	color: #fff;
	text-align: center;
	line-height: 20px;
	word-break: keep-all;
}

.gallery_sub_title_01 {
	display: block !important;
	font-size: 16px !important;
	font-weight: 300 !important;
	color: #000;
	text-align: left;
	padding-bottom: 10px !important;
}

/* =====================================
   갤러리 > 인트로 480px 이상 (폰 가로 + 태블릿 세로 포함)
===================================== */
@media all and (min-width:480px) {
	.gallery_intro_wrap ul {
		gap: 2%
	}
	.gallery_intro_wrap ul li {
		width: 23.5%;
	}

	.gallery_sub_title_01 {
		display: inline-block;
		font-size: 16px;
		font-weight: 300;
		color: #000;
		text-align: right;

		position: absolute;
		bottom: -5px;
		right: 6.25%;
	}
}



/* 갤러리 > 연도별 */
/* 기본 세로모드 */
.gallery_photo_view {
	display: flex;	
	align-items: center;   /* 🔥 세로 중앙 정렬 */
	justify-content:center;     /* ⭐ 가로 중앙 */

	width: 100%;
	max-height: 252px;
	margin: 0 auto 25px;

	background: rgba(0,0,0, 1);

	position: relative;
}
.gallery_photo_view img {
	display: block;
	max-width: 100%;
	max-height: 252px;
	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: 35%;
	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: 35%;
	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: auto;
	margin:0 auto 20px;
	position:relative;

	overflow:hidden;
}
.gallery_photo_thumb ul {
	display:flex;
	flex-wrap:nowrap;
	gap:0;

	/* width:100%; */

	padding:0;
	margin:0;
	list-style:none;

	transition:transform .4s ease;
}
.gallery_photo_thumb ul li {
	flex:0 0 20%;
}

.gallery_photo_thumb li img{
	width:100%;
	height:auto;
	display:block;
    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: 12%;
	left: 8px;

	width: 30px;
	height: 30px;
	border-radius: 50px;
	background: #fff url(../images/common/btn_arrow_7x13_prev.png) no-repeat;
	background-position: center center; 
	cursor: pointer;
}
.gallery_photo_thumb_next {
	opacity:0;
    visibility:hidden;
    transition:.3s;
	position: absolute;
	top: 12%;
	right: 8px;

	width: 30px;
	height: 30px;
	border-radius: 50px;
	background: #fff url(../images/common/btn_arrow_7x13_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_7x13_prev_over.png) no-repeat;
	background-position: center center; 
	animation:arrowPrev02 .6s infinite;
}

.gallery_photo_thumb_next:hover  {
    background: rgba(255,255,255,0.95) url(../images/common/btn_arrow_7x13_next_over.png) no-repeat;
	background-position: center center; 
	animation:arrowNext02 .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: 110px;
	height: 40px;
}

.gallery_another_right_area {
	display: block;
	position: absolute;	
	right: 0
}
.gallery_another_text_left {
	display: block;
	width: 100%;
	position: absolute;
	left: 45px;

	font-size: 20px;
	font-weight: 300;
	text-align: left;
}
.gallery_another_text_right {
	display: block;
	width: 100%;
	position: absolute;
	right: 45px;

	font-size: 20px;
	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; 
}


/* ===================================================
   갤러리 > 연도별 480px 이상 (폰 가로 + 태블릿 세로 포함)
    =================================================== */
@media all and (min-width:480px) {
    /* =========================
       큰 이미지 영역
    ========================= */
    .gallery_photo_view {
        display:flex;
        align-items:center;
        justify-content:center;

        width:100%;
        height:320px;   /* 원하는 높이 */
        margin:0 auto 20px;

        background:#000;
        overflow:hidden;
        position:relative;
    }

    /* =========================
       큰 이미지
    ========================= */
    .gallery_photo_view img {
        display:block;

        max-width:100%;
        max-height:100%;

        width:auto;
        height:auto;
    }

	.gallery_photo_view_prev {
		position: absolute;
		top: 40%;
	}
	.gallery_photo_view_next {
		position: absolute;
		top: 40%;
	}

	.gallery_photo_thumb ul li {
		flex:0 0 10%;
	}
}


/* 해상도 768px 이상 적용 */ 
@media all and (min-width:768px)  {
    .gallery_photo_view {
        width: 100%;
        height: auto;
        max-height: none;
    }

    .gallery_photo_view img {
        display: block;
        width: 100%;
        height: auto;
        max-height: none;
    }

	.gallery_photo_thumb ul li {
		width:10%;
		flex-shrink: 0;
	}
}


@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);
    }
}






/* =========================
   참가신청서
========================= */
/* 얼리버드 할인 이미지 세로 기본 */
.event_img_portrait {
	display: block;
}

.event_img_landscape {
	display: none;
}

/* ============================================================
   얼리버드 할인 이미지 480px 이상 (폰 가로 + 태블릿 세로 포함)
============================================================ */
@media all and (min-width:480px) {
	.event_img_landscape {
		display: block;
	}
	.event_img_portrait {
		display: none;
	}

}

.application_individual_wrap {
	display: flex;
    position: relative;
    margin: 0 auto;
	padding: 30px 6.25%;	
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}

.application_individual_inner {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.application_individual_area {
	display: block;
	box-sizing:border-box;
}

.application_input_line {
	display: block;
	width: 100%;
	margin-bottom: 5px;
}

.input_title_03 {
	width: 100%;
	font-size: 18px;
	font-weight: 600;
	color: #323232;
	text-align: left;
	line-height: 40px;
}
.input_title_04 {
	width: 100%;
	font-size: 18px;
	font-weight: 600;
	color: #323232;
	text-align: left;
	line-height: 40px;
	margin-bottom: 15px;
}

.input_area_03 {
	width: 100%;
	line-height: 50px;
}

.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: 50px;
	padding-left: 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-left: 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: 16px;
	color: #323232;
	text-align: left;
	vertical-align: middle;
	line-height: 55px;
	padding-left: 100px;
	box-sizing:border-box;
}
.text_st_06:focus {
	border: 1px solid #9e0e21;
	outline: none; /* 기본 테두리 제거 (선택사항) */
}


.text_st_07 {
	display: inline-block;
	width: 90%;
	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: 16px;
}






.file_upload_wrap{
    position:relative;
    width:100%;
}

.file_hidden{
    position:absolute;
    left:-9999px;
}

.btn_file_upload{
    position:absolute;
    top: 10px;
    left: 10px;

    width:80px;
    height:35px;

    background:#b22134;
    border:1px solid #9e0e21;

    color:#fff;
    font-size:16px;
    text-align:center;
    line-height:35px;

    cursor:pointer;
    box-sizing:border-box;

    transition:.3s;
}



.input_box_03 {
	display: block;
}
.input_box_03 ul {
	overflow: hidden;
	margin-top: -20px;
}
.input_box_03 ul li {
	float: left;
	width: 25%;
}

.input_chk_select_01 {
	display: inline-block;
	box-sizing: border-box;
	float: left;
    font-size: 18px;
	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: 30px;
	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: 3px;
	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: 3px;
	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: block;
    position: relative;
    margin: 0 auto 60px;
	padding: 50px 6.25%;	
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.registration_fee_inner {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.registration_fee_area {
	display: block;
	padding: 25px 6.25%;
	background: #fff;
	/* background: #e5e5e5; */
	border-radius: 15px;
	box-sizing: border-box;
}
.registration_fee_line {
	display: block;
	width: 100%;
	margin-bottom: 15px;
	padding-bottom: 15px;

	border-bottom: 1px solid #d4d4d4
}

.registration_fee_line p {
	font-size: 18px;
	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: 15px;
	color: #bb2337;
	word-break: keep-all;
}
.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: 0px !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: 50px;
	margin: 0 auto;
	line-height: 50px;
	background: #fa7c8f url('../images/sub/program/icon_bankbook.png') no-repeat;
	background-size: 35px 35px;
	background-position: 10px center;
	border-radius: 50px;
	text-align: center;
	box-sizing: border-box;
}
.fee_info_info_title span {
	display: inline-block;
	font-size: 23px;
	font-weight: 600;
	color: #fff;
	letter-spacing: -0.75px;
}


.desc_circle_01 {
	display: inline-block;
	width: 8px;
	height: 8px;
	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: 5px;
}

/* 해상도 350px 미만 - 스마트폰 */
@media (max-width:349px)  {
	.fee_info_info_title {
		width: 240px;
	}
}

.num_circle_02 {
	display: inline-block;
	width: 35px;
	height: 35px;
	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: 18px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 35px;

	margin-right: 8px;
}
.num_circle_02_text {
	display: inline-block;
	font-size: 25px;
	font-weight: 600;
	color: #000;
	letter-spacing: -0.5px;
	vertical-align: sub;
}

.discount_text_red_02 {
	font-size: 16px;
	font-weight: 400;
	color: #bb2337;
	letter-spacing: -0.75px;
	text-align: left;
	margin: 5px 0  0 48px;
}

/* 해상도 350px 미만 - 스마트폰 */
@media (max-width:349px)  {
	.discount_text_red_02 {
		font-size: 14px;
	}

	.num_circle_02_text {
		display: inline-block;
		font-size: 21px;
		font-weight: 600;
		color: #000;
		letter-spacing: -0.5px;
		vertical-align: sub;
	}

}


/*  480px 이상 (폰 가로 + 태블릿 세로 포함) */
@media all and (min-width:480px) {
	.num_circle_02_text {
		display: inline-block;
		font-size: 29px;
		font-weight: 600;
		color: #000;
		letter-spacing: -0.5px;
		vertical-align: sub;
	}
	.discount_text_red_02 {
		font-size: 20px;
		font-weight: 400;
		color: #bb2337;
		letter-spacing: -0.75px;
		text-align: left;
		margin: 10px 0  0 48px;
	}
}


.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;
}

.phone_email_portrait {
	display: block;
	margin-top: 7px;
}
.phone_email_landscape {
	display: none;
}
.discount_text_black_01 {
	font-size: 18px;
	font-weight: 400;
	color: #000;
	letter-spacing: -0.75px;
	line-height: 35px;
	text-align: center;
}
.discount_text_red_01 {
	font-size: 16px;
	font-weight: 400;
	color: #bb2337;
	letter-spacing: -0.75px;
	text-align: center;
	margin: -8px 0;
}
/*  480px 이상 (폰 가로 + 태블릿 세로 포함) */
@media all and (min-width:480px) {
	.phone_email_landscape {
		display: block;
		margin-top: 7px;
	}
	.phone_email_portrait {
		display: none;
	}
	.discount_text_black_01 {
		font-size: 18px;
		font-weight: 400;
		color: #000;
		letter-spacing: -0.75px;
		line-height: 35px;
		text-align: center;
		margin: -8px 0;
	}
	.discount_text_red_01 {
		font-size: 16px;
		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: 29px;
	font-weight: 500;
	color: #000;
	letter-spacing: -1.5px;
	margin: -8px 15px 0 0;
}
.logo_IBK_bank {
	display: inline-block;
	vertical-align: bottom;
}
.logo_IBK_bank img {
	width: 80%;
}


/* 해상도 350px 미만 - 스마트폰 */
@media (max-width:349px)  {
	.discount_text_black_02 {
		font-size: 26px;
	}
}


/*  480px 이상 (폰 가로 + 태블릿 세로 포함) */
@media all and (min-width:480px) {
	.discount_text_black_02 {
		display: inline-block;
		font-size: 29px;
		font-weight: 500;
		color: #000;
		letter-spacing: -1.5px;
		margin: -8px 15px 0 0;
	}
	.logo_IBK_bank {
		display: inline-block;
		vertical-align: sub;
	}
}


.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: 24px;
	height: 24px;
	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: 13px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 24px;

	margin-right: 8px;
}
.num_circle_01_text {
	display: inline-block;
	font-size: 20px;
	font-weight: 500;
	color: #000;
	letter-spacing: -0.5px;
	vertical-align: middle;
}
/*  480px 이상 (폰 가로 + 태블릿 세로 포함) */
@media all and (min-width:480px) {
	.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: middle;
	}
}


.division_var_01 {
	display: inline-block;
	width: 1px;
	height: 17px;
	margin: 0 10px ;
	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: 30% !important;
	font-size: 16px;
	font-weight: 400;
	color: #000;
	text-align: left;
	margin-right: 0 !important;

	position: relative;
	top: 2px;
}
.price_num_line {
	display: inline-block !important;
	width: 70% !important;
	text-indent: 30px;
	text-align: right;
}
.price_num_item {
	font-size: 26px;
	font-weight: 600;
	color: #000;
	text-align: right;
}
.price_num_total {
	font-size: 26px;
	font-weight: 600;
	color: #bb2337;
	text-align: right;
}
.price_unit {
	font-size: 18px;
	font-weight: 400;
	color: #000;
	text-align: right;

	position: relative;
	top: 0px;
}
.price_title,
.price_num_item,
.price_num_total,
.price_unit {
	vertical-align: bottom;
}
.price_title,
.price_num_line {
	line-height: 35px;
}


/* 해상도 350px 미만 - 스마트폰 */
@media (max-width:349px)  {
	.price_title {
		width: 30% !important;
		font-size: 14px;
	}
	.price_num_line {
		display: inline-block !important;
		width: 70% !important;
		text-indent: 30px;
		text-align: right;
	}
	.price_num_item {
		font-size: 25px;
	}
	.price_num_total {
		font-size: 25px;
	}
	.price_unit {
		font-size: 15px;
	}
	.price_title,
	.price_num_item,
	.price_num_total,
	.price_unit {
		vertical-align: bottom;
	}
	.price_title,
	.price_num_line {
		line-height: 30px;
	}
}



/*  480px 이상 (폰 가로 + 태블릿 세로 포함) */
@media all and (min-width:480px) {
		.price_fee_area ul {
			display: block;
			margin-bottom: 23px;
		}
		.price_fee_area ul li {
			float: left;
		}
	.price_title {
		display: inline-block !important;
		width: 35% !important;
		font-size: 18px;
		font-weight: 400;
		color: #000;
		text-align: left;
		margin-right: 0 !important;

		position: relative;
		top: 2px;
	}
	.price_num_line {
		display: inline-block !important;
		width: 65% !important;
		text-indent: 30px;
	}
	.price_num_item {
		font-size: 31px;
		font-weight: 600;
		color: #000;
		text-align: right;
	}
	.price_num_total {
		font-size: 31px;
		font-weight: 600;
		color: #bb2337;
		text-align: right;
	}
	.price_unit {
		font-size: 18px;
		font-weight: 400;
		color: #000;
		text-align: right;

		position: relative;
		top: 2px;
	}
	.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: 120px auto 36px;
	padding: 8px 4%;
}
.notice_area p {
	font-size: 14px;
	font-weight: 400;
	color: #fff !important;
	line-height: 25px;
	text-align: center;
	word-break: keep-all;
}

.people_unit {
	display: inline-block;
	font-size: 18px;
    font-weight: 400;
    color: #000;
	line-height: 56px;
	margin-left: 5px;
	vertical-align: middle;
}
.icon_caution_01 {
	display: inline-block;
    width: 19px;
    height: 19px;
    background: #fff;
    border-radius: 50px;
    box-sizing: border-box;
    font-size: 15px;
    font-weight: 800;
    color: #000;
    text-align: center;
    line-height: 19px;
    margin-right: 8px;
}



.application_btn_area {
	display: block;
	margin: 0 auto;
	padding: 0 6.25% 100px;
}
.btn_submit_01 {	
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 60px;

    padding: 0;
	background: #b22134;
    border: 1px solid #9e0e21;
    font-size: 18px;
	font-weight: 600;
    color: #ffffff;
    vertical-align: middle;
    text-align: center;
    line-height: 60px;
    transition: all 0.3s;
    cursor: pointer;
}
.btn_submit_01:hover {
	background: #831723;
	border: 1px solid #6b0a15;
}

/* =======================================
   480px 이상 (폰 가로 + 태블릿 세로 포함)
======================================= */
@media all and (min-width:480px) {
	.btn_submit_01 {	
		 font-size: 20px;
		height: 80px;
	}
}


.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;
}

