/* ===== 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_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;
}

/*===== 디스플레이 =====*/ 
.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;
}



/* =========================
   HEADER, SldieBar
========================= */
.top_area {
	position: relative;
	/* height:65px; */
	width:100%;
	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_white_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_w_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; 
    }
}



/* 준비 중 */
.coming_wrap {
	display: flex;
	justify-content: center; /* 가로 가운데 */
	align-items: flex-start; /* 위쪽 기준 */
	height: 100svh; /* 모바일 대응 */
	padding-top: 10vh; /* 👈 핵심: 위에서 10% */
	padding-left: 20px;
	padding-right: 20px;
}

.coming_wrap img {
	max-width: 100%;
	height: auto;
}

/* ===== 모바일 가로모드에서 이미지 50% ===== */
@media screen and (max-width: 768px) and (orientation: landscape) {
	.coming_wrap img {
		max-width: 50%;
		min-width: 200px;
	}
}

.container {
	
}

/* 메인 상단 슬라이드 영역 */
/* 세로모드인 경우 적용 */
@media (orientation: portrait) {
	.section_01_wrap {
		display: flex;
		position: relative;
		width: 100%;
		height: 244px; 
		overflow: hidden;
		
	}

	.section_01_inner {
		position: absolute;    
		top: 46px;
		left: 50%;
		margin-left: -43.75% ;
		width: 87.5%; 
		text-align: center;
		z-index: 20; /* 배경(10)보다 위로 */
		opacity: 0;
	}
}
/* 모바일 가로 & 테블릿 세로 (해상도 480px ~ 767px)*/ 
@media all and (min-width:480px) and (max-width:767px) {
	.section_01_wrap {
		display: flex;
		position: relative;
		width: 100%;
		height: 415px; 
		overflow: hidden;
	}

	.section_01_inner {
		position: absolute;    
		top: 120px;
		left: 50%;
		margin-left: -27.5% ;
		width: 55%; 
		text-align: center;
		z-index: 20; /* 배경(10)보다 위로 */
		opacity: 0;
	}
}
/* 해상도 768px ~ 적용 */ 
@media all and (min-width:768px)  {
	.section_01_wrap {
		display: flex;
		position: relative;
		width: 100%;
		height: 465px; 
		overflow: hidden;
	}

	.section_01_inner {
		position: absolute;    
		top: 120px;
		left: 50%;
		margin-left: -27.5% ;
		width: 55%; 
		text-align: center;
		z-index: 20; /* 배경(10)보다 위로 */
		opacity: 0;
	}
}

/* 슬로건 */
.section_01_slogan {
	display: block;
	width: 100%;
}
.section_01_slogan img {
	display: block;
	width: 66%;
	margin: 0 auto;
}

/* 일시, 장소 */
.section_01_day_place {
	display: flex;              
	align-items: center;        /* 🔥 세로 중앙정렬 */
	margin-top: 10px;
	width: 100%;
	height: 30px;
	background: #fff;
	border-radius: 50px;
	-web-kit-border-radius: 50px;
	box-sizing: border-box;
	/* text-align: left; */
	line-height: 30px;
}
.section_01_day_place_area {
	display: inline-block;
	width: 100%;
	margin-left: -2px;
}
/* 해상도 375px 미만 - 스마트폰 */
@media (max-width:374px)  {
	.section_01_day_place_area {
		margin-left: 0;
	}
}
/*    480px 이상 (폰 가로 + 태블릿 세로 포함) */
@media all and (min-width:480px) {
	display: inline-block;
	width: 100%;
	margin: 0 auto;
}

.circle_black_01 {
	display: inline-block;
	width: 23px;
	height: 23px;
	background: #000;
	border-radius: 50%;
	-web-kit-border-radius: 50%;
	box-sizing: border-box;	
	vertical-align: middle;
}
.circle_black_01_text {
	display: inline-block;
	text-align: center;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 9px;
	font-weight: 500;
	color: #fff;
	vertical-align: top;
    margin-top: -3px;
}
.section_01_day_place .circle_black_01:nth-child(1){
	/* margin-left: 5px; */
}
.section_01_day_place .circle_black_01:nth-child(3){
	margin-left: 7px;
}

/*  480px 이상 (폰 가로 + 태블릿 세로 포함) */
@media all and (min-width:480px) {
	.section_01_day_place .circle_black_01:nth-child(3){
		margin-left: 15px;
	}
}


.section_01_day_place span:nth-child(2), .section_01_day_place span:nth-child(4) {
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #000;
	padding-left: 3px;
}

/* 해상도 375px 미만 - 스마트폰 */
@media (max-width:374px)  {
	.section_01_day_place .circle_black_01:nth-child(3){
		margin-left: 7px;
	}
	.section_01_day_place span:nth-child(2), .section_01_day_place span:nth-child(4) {
		font-size: 12px;
		padding-left: 2px;
	}
}

/* 해상도 350px 미만 - 스마트폰 */
@media (max-width:349px)  {
	.section_01_day_place .circle_black_01:nth-child(3){
		margin-left: 5px;
	}
	.section_01_day_place span:nth-child(2), .section_01_day_place span:nth-child(4) {
		font-size: 11px;
	}
}


/* 참가신청, 일정 버튼, 디데이 */
.section_01_quick_day {
	display: block;
	margin: 10px auto;
	width: 100%; 
}
.section_01_quick_day ul {
	/* overflow: hidden; */    /* 아래에서 위로 올라오는 애니메이션 어색해지지 않게 주석처리 */ 
}
.section_01_quick_day ul li {
	float: left;
	width: 32%;
	margin-right: 2%;
	padding-top: 2px;
}
.section_01_quick_day ul li:last-child {
	margin-right: 0;
}
.section_01_quick_day ul li span{
	line-height: 15px;
}
/* 참가신청버튼 */
.btn_Registration {
	display: flex;              
	align-items: center;        /* 🔥 세로 중앙정렬 */
	width: 100%;
	height: 47px;
	background: #0099e0;
	text-align: center;
	border-radius: 10px;
	-web-kit-border-radius: 10px;
	box-sizing: border-box;
	transition: background-color 0.3s ease;
}
.btn_Registration:hover {
	background: #006db2; 
}
.btn_Registration span:nth-child(1) {
	display: block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	/* padding: 9px 0 0; */
}
.btn_Registration span:nth-child(2) {
	display: block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 11px;
	font-weight: 500;
	color: #a2e9ff;
}


/* 참가신청 말풍선 관련 css는 style_mweb_main_260603.css 파일로 옮김 */

.btn_Registration a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	width: 100%;
	height: 100%;

	text-decoration: none;
}


/* 일정 버튼 */
.btn_Schedule {
	display: flex;              
	align-items: center;        /* 🔥 세로 중앙정렬 */
	width: 100%;
	height: 47px;
	background: #0099e0;
	text-align: center;
	border-radius: 10px;
	-web-kit-border-radius: 10px;
	box-sizing: border-box;
	transition: background-color 0.3s ease;
}
.btn_Schedule a {
	display: inline-block; 
	width: 100%;  /* ← 버튼 전체가 오버영역으로 잡히게 */
}
.btn_Schedule:hover {
	background: #006db2; 
}
.btn_Schedule span:nth-child(1) {
	display: block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	/* padding: 9px 0 0; */
}
.btn_Schedule span:nth-child(2) {
	display: block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 11px;
	font-weight: 500;
	color: #a2e9ff;
}

.btn_Schedule a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	width: 100%;
	height: 100%;

	text-decoration: none;
}

/* 디데이 */
.D-DAy {
	display: inline-block;
	width: 100%;
	height: 47px;
	background: #5100a4;
	text-align: center;
	border-radius: 10px;
	-web-kit-border-radius: 10px;
	box-sizing: border-box;
	line-height: 47px;
}
.D-DAy span:nth-child(1) {
	display: inline-block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 22px;
	font-weight: 200;
	color: #be8cf1;
	text-align: left !important;
}
.D-DAy span:nth-child(2) {
	display: inline-block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 22px;
	font-weight: 500;
	color: #fff;
	text-align: right !important;
}

.section_01_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10; /* 헤더보다는 아래, 래퍼 안에서는 배경 역할 */
    background-color: #000;
}

/* 공통 슬라이드 이미지 스타일 */
.section_01_bg div {
    position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

	opacity: 0;
	transform: scale(1.05); /* 🔥 추가 (시작 살짝 확대) */
	/* transition: opacity 1s ease; */

	z-index: 1;
}
/* 활성 슬라이드 */
.section_01_bg div.active {
	opacity: 1;
}
.section_01_bg::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	
	background: linear-gradient(
		to bottom,
		rgba(0,0,0,0.55),
		rgba(0,0,0,0.4),
		rgba(0,0,0,0.45)
	);
	/* background: rgba(0,0,0,0.5); */
	z-index: 2;
}

/* 슬라이드 이미지 */
.slide_01 { 
	background-image: url('../images/main/top_slide_01.jpg'); 
}
.slide_02 { 
	background-image: url('../images/main/top_slide_02.jpg'); 
}
.slide_03 { 
	background-image: url('../images/main/top_slide_03.jpg'); 
}
.slide_04 { 
	background-image: url('../images/main/top_slide_04.jpg'); 
}



/* section_02 - 주제 성구 */
.section_02_wrap {
	display: flex; 
	align-items: center;
	justify-content: center;
	width: 100%; 
	height: 0;
	background: #0064e0;
	position: relative; 
	overflow: hidden;
	z-index: 10;
}

.section_02_text {
	width: 68%;
	/* width: 65%; */
	/* margin-top: 8px; */
	font-family: "Noto Serif KR", '명조', serif !important;
}
.section_02_text span { 
	display: block;
	font-family: "Noto Serif KR", '명조', serif !important;
	color: #fff; 
	opacity: 0;
	text-align: center;
	word-break: keep-all;
}
.section_02_text span:nth-child(1), .section_02_text span:nth-child(2) {
	font-family: "Noto Serif KR", '명조', serif !important;
	font-size: 19px;
	font-weight: 500;
	/* margin-bottom: 10px; */
	word-break: keep-all;
}
.section_02_text span:nth-child(3) { 
	font-family: "Noto Serif KR", '명조', serif !important;
	font-size: 12px; 
	font-weight: 400;
	color: #53e0fe;
	margin-top: 5px;
}

/* 해상도 350px 미만 - 스마트폰 */
@media (max-width:349px)  {
	.section_02_text span:nth-child(1), .section_02_text span:nth-child(2) {
		font-size: 16px;
		font-weight: 500;
		/* margin-bottom: 10px; */
	}
}

/* 세로모드인 경우 적용 */
@media (orientation: portrait) {
	.wave img {
		position: absolute;
		bottom: 0px;
		width: auto;
		height: 65%;
		opacity: 0;
	}

	.wave img:nth-child(1) {
		height: 55%;
	}

	.wave img:nth-child(3) {
		height: 80%;
	}
}

/*    480px 이상 (폰 가로 + 태블릿 세로 포함) */
@media all and (min-width:480px) {
	.wave img {
		position: absolute;
		bottom: 0px;
		width: auto;
		height: 75%;
		opacity: 0;
	}

	.wave img:nth-child(1) {
		height: 55%;
	}

	.wave img:nth-child(3) {
		height: 80%;
	}
}

/* 추가 */
.wave img:nth-child(1),
.wave img:nth-child(2),
.wave img:nth-child(3) {
	left: 0;
}

.wave img:nth-child(4),
.wave img:nth-child(5) {
	right: 0;
}

/* section_03 - 인사말 */
/* 세로모드인 경우 적용 */
@media (orientation: portrait) {
	.section_03_wrap {
		display: flex;
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateY(0) !important;
		width: 100%;
		height: auto;
		background: url('../images/main/section03_bg_portrait.jpg') no-repeat left center;
		background-size: cover;
	}
}
/* 모바일 가로 & 테블릿 세로 (해상도 480px ~ 767px)*/ 
@media all and (min-width:480px) and (max-width:767px) {
	.section_03_wrap {
		display: flex;
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateY(0) !important;
		width: 100%;
		height: auto;
		background: url('../images/main/section03_bg_landscape.jpg') no-repeat;
		background-position: calc(25% + 5vw) center;
		background-size: cover;
	}
}
/* 해상도 768px ~ 적용 */ 
@media all and (min-width:768px)  {
	.section_03_wrap {
		display: flex;
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateY(0) !important;
		width: 100%;
		width: 100%;
		background: url('../images/main/section03_bg_landscape.jpg') no-repeat;
		background-position: calc(25% + 3vw) center;
		background-size: cover;
	}
}
.section_03_inner {
	display: flex;
	flex-direction: column; /* 🔥 추가 */
	width: 100%;
	height: auto;
	padding: 45px 6.25%;
	box-sizing: border-box; /* 🔥 추가 추천 */
}
.section_03_inner p {
	opacity: 0;
	transform: translateY(30px);
}
.section_03_inner p:nth-child(1) {
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 22px;
	font-weight: 300;
	color: #0064e0;
	margin-bottom: 29px;
	letter-spacing: -1.5px;
}
.section_03_inner p:nth-child(2) {
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 15px;
	font-weight: 300;
	color: #000;
	line-height: 26px;
	word-break: keep-all;
    text-align: justify;
	margin-bottom: 25px;
}
.section_03_inner p:nth-child(2) span {
	display: block;
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 20px;
}
.section_03_inner p:nth-child(3) {
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 12px;
	font-weight: 300;
	color: #000;
	text-align: right;
}
.section_03_inner p:nth-child(3) span {
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
}

/* section_04 - 강사 */
.section_04_wrap {
	display: flex;
	align-items: center; 
	justify-content: center;
	width: 100%;
	background-color: #e9e9df;
	position: relative;
	padding: 45px 6.25%;
	box-sizing: border-box;
	overflow: hidden; 
	height: auto; 
}
.section_04_wrap.lock {
	pointer-events: none;
}
.section_04_wrap.active {
	pointer-events: auto;
}

/* =========================
   기본 (모바일 세로)
========================= */
.lecturer_container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.lecturer_item {
	position: relative; 
	flex: none;
	width: 75%;
	z-index: 1;
	pointer-events: none;
}

.section_04_wrap.active .lecturer_item {
	pointer-events: auto;
}

.lecturer_01,
.lecturer_02,
.lecturer_03,
.lecturer_04 {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	opacity: 0;
	cursor: pointer;
}

.lecturer_item img {
	width: 100%;
	height: auto;
	display: block;
}

/* =========================
   480px 이상 (폰 가로 + 태블릿 세로 포함)
========================= */
@media all and (min-width:480px) {

	/* 강사 3명인 경우 */
	/* .lecturer_container {
		flex-direction: row;
		justify-content: center;
		gap: 5%;
	}	
	
	.lecturer_item {
		width: 30%;
		margin: 0 -1px;
	} */


	/* 강사 4명인 경우 */
	.lecturer_container {
		flex-direction: row;
		justify-content: center;
		gap: 0;
	}
	
	.lecturer_item {
		width: 22.5%;
		margin: 0 -1px;
	}
}

/* =========================
   768px 이상 (태블릿 이상 미세 조정)
========================= */
@media all and (min-width:768px) {
	
	/* 강사 3명인 경우 */
	/* .lecturer_item {
		width: 30%;
	} */

	/* 강사 4명인 경우 */
	.lecturer_item {
		width: 25%;
	}
}




/* =========================
   기타 유지
========================= */
.section_05_wrap,
.section_06_wrap,
.section_07_wrap,
.section_08_wrap {
	visibility: hidden;
}


/* section_05 - 홍보영상 */
.section_05_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_05_inner {
	display: block;
	width: 100%;	
	/* margin-top: -36px; */
}
.section_05_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_05_slide ul {
	display: flex;
	/* gap: 6px; */  /* 슬라이드가 2개인 경우만 넣어줄것 */
}

.section_05_slide ul li {
	flex: 0 0 calc((100% - 2px) / 3);
	width: calc((100% - 2px) / 3);
	margin-right: 1px;
	box-sizing: border-box;
}

.section_05_slide ul li:last-child {
	margin-right: 0;
}

/* 마지막 요소 padding 제거 */
.section_05_slide ul li:last-child {
	padding-right: 0;
}

/* 480px 이상 → 2개 */
/* @media all and (min-width:480px) {
	.section_05_slide ul {
		display: flex; */
		/* gap: 15px; */  /* 슬라이드가 2개인 경우만 넣어줄것 */
	/* } */
	/* .section_05_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_05_slide ul li {
		flex: 0 0 calc((100% - 2px) / 3);
		width: calc((100% - 2px) / 3);
		margin-right: 1px;
		box-sizing: border-box;
	}

	.section_05_slide ul li:last-child {
		margin-right: 0;
	}
} */



.section_05_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;
}






/* section_06 - 뉴스, 공지사항 */
.section_06_wrap {
	display: flex;
	width: 100%;
	background: #fff;
	position: relative;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	padding: 35px 6.25% 45px;
}
.section_06_inner {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.section_06_inner ul {
	display: flex;
	justify-content: space-between;
}
/* =========================================
   section_06 - 뉴스, 공지사항 (반응형 추가)
========================================= */

/* 🔥 기본: 좌우 배치 */
.section_06_inner ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap; /* 🔥 혹시 줄바꿈 대비 */
}

/* 🔥 기본: 좌우 2개 */
.section_06_inner ul li {
	width: 45%;
	margin-right: 5%;
}

/* 🔥 마지막 요소 margin 제거 */
.section_06_inner ul li:nth-child(2n) {
	margin-right: 0;
}


/* =========================================
   📱 모바일 세로 (핵심)
   480px 이하 → 상하 배치
========================================= */
@media (max-width: 480px) {

	.section_06_inner ul {
		display: block; /* 🔥 flex 해제 */
	}

	.section_06_inner ul li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px; /* 🔥 간격 */
	}

	.section_06_inner ul li:last-child {
		margin-bottom: 0;
	}

}

.section_06_list p {
	display: block;
    width: 80%;
    font-size: 14px;
    font-weight: 300;
    color: #000;
    text-align: left;
    padding-left: 17px;
	margin-top: -7px;
}

/* =========================================
   📱 텍스트 대응 (선택 추천)
   좁아질 때 깨짐 방지
========================================= */
@media (max-width: 768px) {

	.section_06_list div a {
		width: calc(100% - 80px); /* 날짜 영역 제외 */
		font-size: 14px;
	}

	.section_06_title {
		font-size: 22px;
	}

}


.section_06_box {
	position: relative;
}
.section_06_title {	
	font-size: 22px;
	font-weight: 300;
	color: #bb2337;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 15px;
}
.section_06_more {
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	width: 70px;
	height: 29px;
	border: 1px solid #555;
	border-radius: 35px;
	-web-kitborder-radius: 35px;
	background: url('../images/main/icon_more.png') no-repeat;
	background-size: 9px 9px;
	background-position: right +10px center;
    font-size: 12px;
	color: #000;
    text-align: left;
    line-height: 28px;
    text-indent: 13px;
}

.section_06_list {
	display: block;
	
}
.section_06_list div {
	padding: 12px 0 8px;  
	border-bottom: 1px solid rgba(167,167,167,0.5);
	position: relative;
	overflow: hidden;
	background: none;
}

/* 🔥 dot은 별도로 */
.section_06_list div .dot {
	position: absolute;
	left: 0;
	top: 47%;
	transform: translateY(-75%);
	width: 5px;
	height: 5px;
	background: url('../images/main/dot_red.png') no-repeat center;
	background-size: 5px 5px;
	transition: transform 0.3s ease;
}

.section_06_list div a {
	display: inline-block;
	width: 80%;
	font-size: 14px;
	font-weight: 300;
	color: #000;
	text-align: left;
	padding-left: 17px;
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	/* transition: color 0.3s ease; */
}
.section_06_list div span {
	display: inline-block;
	position: absolute;
	right: 0;
	font-size: 12px;
	font-weight: 300;
	color: #8d8d8d;
	text-align: right;
	/* transition: color 0.3s ease; */
}



/* section_07 - 협력, 참여 */
.section_07_wrap {
	display: flex;
	width: 100%;
	background: #f8f8f8;
	position: relative;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	padding: 35px 6.25% 45px;
}
.section_07_inner {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.section_07_inner ul {
	display: flex;
	justify-content: space-between;
}

/* =========================================
   section_06 - 협력, 참여 (반응형 추가)
========================================= */

/* 🔥 기본: 좌우 배치 */
.section_07_inner ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap; /* 🔥 혹시 줄바꿈 대비 */
}

/* 🔥 기본: 좌우 2개 */
.section_07_inner ul li {
	width: 45%;
	margin-right: 5%;
}

/* 🔥 마지막 요소 margin 제거 */
.section_07_inner ul li:nth-child(2n) {
	margin-right: 0;
}


/* =========================================
   📱 모바일 세로 (핵심)
   480px 이하 → 상하 배치
========================================= */
@media (max-width: 480px) {

	.section_07_inner ul {
		display: block; /* 🔥 flex 해제 */
	}

	.section_07_inner ul li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px; /* 🔥 간격 */
	}

	.section_07_inner ul li:last-child {
		margin-bottom: 0;
	}

}

.section_07_box {
	position: relative;
}
.section_07_title {	
	font-size: 22px;
	font-weight: 300;
	color: #000;
	text-align: center;
	padding-bottom: 25px;
	margin-top: 10px;
	margin-bottom: 25px;
	border-bottom: 1px solid #a7a7a7;
}
.section_07_box img { 
	margin: 0 auto;
}



/* section_08 - 푸터 */
.section_08_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_08_inner {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.section_08_inner ul {

}
.section_08_inner ul li {
	float: left;
}
.section_08_inner ul li:nth-child(1) {
	margin-bottom: 15px;
	margin-right: 30px;  /* 가로모드인 경우 필요 */
}
.section_08_inner ul li:nth-child(1) img {
	width: 47px;
	height: 45px;
}
.section_08_inner .footer_info {
	text-align: left;
}
.section_08_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;
}


.ani_section {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 auto;

	opacity: 0;              /* 보이지 않음 */
	transform: translateY(80px); /* 아래에서 올라오는 느낌 */
	visibility: hidden;       /* 화면에서 차지하지 않도록 */
	will-change: opacity, transform; /* 성능 최적화 */
	transition: none;          /* JS에서 처리되므로 CSS 트랜지션 제거 */
}

