@charset "UTF-8";


:root
{
	--site-color: #4a0e7a;
}


.new_layerpopup_cover	{ position: fixed; left: 0; top: 0; z-index: 999998; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); }
.new_layerpopup	{ position: fixed; left: 50%; top: 50%; z-index: 999999; width: 430px; /*height: 650px;*/ padding: 0; transform: translate(-50%, -50%); box-sizing: border-box; border-radius: 10px; background-color: #000; color: #fff; }
.new_layerpopup > ul	{ position: relative; padding: 15px 15px 0 15px; margin: 0; list-style: none; }
.new_layerpopup > ul li	{ display: block !important; padding: 0; margin: 0; list-style: none; }
.new_layerpopup > ul div	{ display: block !important; }
.new_layerpopup a	{ position: relative; display: block; width: 400px; height: 565px; background-color: #fff; overflow: hidden; }
.new_layerpopup a:focus:after	{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 2px dashed red; box-sizing: border-box; content: ""; }
.new_layerpopup a img	{ display: block; max-width: 100%; max-height: 100%; margin: 0 auto; border: 0 none; }
.new_layerpopup p	{ position: relative; clear: both; width: 100%; height: 65px; padding: 17px 20px 0 20px; margin: 0; line-height: 31px; box-sizing: border-box; text-align: left; }
.new_layerpopup p:after	{ display: block; clear: both; content: ""; }
.new_layerpopup p > * { vertical-align: top; }
.new_layerpopup p input	{ width: 23px; height: 31px; margin: 0; }
.new_layerpopup p label	{ display: inline-block; padding: 0 0 0 0.5em; margin: 0; }
.new_layerpopup p button	{ float: right; width: 135px; height: 31px; padding: 0; margin: 0; border: 0 none; border-radius: 10px; background-color: #666; color: #fff; font-weight: normal; }
.new_layerpopup p button:focus, .new_layerpopup p button:hover, .new_layerpopup p button:active	{ background-color: #fff; color: #000; }
.new_layerpopup .slick-prev	{ position: absolute; left: -20px; top: 50%; width: 55px; height: 60px; line-height: 60px; padding: 0; margin: -30px 0 0 0; border: 0 none; background-color: #000; text-align: left; text-indent: -999px; overflow: hidden; color: #fff; font-family: serif; font-weight: bolder; font-size: 40px; z-index: 9999; border-radius: 100% }
.new_layerpopup .slick-prev:after	{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; text-align: center; text-indent: 0; content: "<"; }
.new_layerpopup .slick-prev:focus, .new_layerpopup .slick-prev:hover, .new_layerpopup .slick-prev:active	{ color: #ffcc00; }
.new_layerpopup .slick-next	{ position: absolute; right: -20px; top: 50%; width: 55px; height: 60px; line-height: 60px; padding: 0; margin: -30px 0 0 0; border: 0 none; background-color: #000; text-align: left; text-indent: -999px; overflow: hidden; color: #fff; font-family: serif; font-weight: bolder; font-size: 40px; z-index: 9999; border-radius: 100%}
.new_layerpopup .slick-next:after	{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; text-align: center; text-indent: 0; content: ">"; }
.new_layerpopup .slick-next:focus, .new_layerpopup .slick-next:hover, .new_layerpopup .slick-next:active	{ color: #fff; }
.new_layerpopup .slick-dots	{ position: absolute; right: 15px; bottom: 0; padding: 0; margin: 0; list-style: none; }
.new_layerpopup .slick-dots li	{ display: none !important; padding: 0; margin: 0; list-style: none; }
.new_layerpopup .slick-dots li.slick-active	{ display: block !important; }
.new_layerpopup .slick-dots li button	{ width: 65px; height: 42px; padding: 0; margin: 0; border: 0 none; background-color: rgba(0, 0, 0, 0.5); color: #fff; font-size: 13px; font-weight: normal; cursor: default; }
.new_layerpopup .play_stop	{ position: absolute; left: 15px; bottom: 0; width: 65px; height: 42px; padding: 0; margin: 0; border: 0 none;background-color: rgba(0, 0, 0, 0.5); color: #fff; font-size: 18px; font-weight: normal; font-family: serif; }


@media all and (max-width: 500px)
{
	.new_layerpopup	{ width: 100%; height: auto; }
	.new_layerpopup a	{ position: relative; width: 100%; height: 0; padding-top: 141.25%; }
	.new_layerpopup a img	{ position: absolute; left: 50%; top: 50%; max-width: 100%; max-height: 100%; margin: 0; transform: translate(-50%, -50%); }
}
@media all and (max-width: 500px)
{
	.new_layerpopup p button	{ width: auto; padding: 0 10px; }
}
@media all and (max-width: 320px)
{
	.new_layerpopup p	{ padding-left: 20px; padding-right: 20px; }
}


img	{ max-width: 100%; }



/************************************************************************************************************************************************************************

	상단
	
************************************************************************************************************************************************************************/
header	{ position: relative; border-bottom: 1px solid #b9bbbe; }
header aside	{ border-bottom: 1px solid #b9bbbe; }
header aside nav	{ display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1320px; height: 60px; padding: 0 10px; margin: 0 auto; }
header aside nav ul:nth-child(1)	{ display: flex; gap: 4px; height: 30px; }
header aside nav ul:nth-child(1) li a	{ display: flex; align-items: center; justify-content: center; min-width: 100px; height: 100%; padding: 0 15px; border-radius: 15px; background-color: #b8b8b8; color: #fff; }
header aside nav ul:nth-child(1) li a:focus, header aside nav ul:nth-child(1) li a:hover, header aside nav ul:nth-child(1) li a:active	{ background-color: #333; color: #fff; }
header aside nav ul:nth-child(1) li a.active	{ background-color: #8e22e9; color: #fff; }

header aside nav ul:nth-child(2)	{ display: flex; gap: 35px; height: 30px; }
header aside nav ul:nth-child(2) li a	{ display: flex; align-items: center; height: 100%; padding: 0; white-space: nowrap; }
header aside nav ul:nth-child(2) li a.login,
header aside nav ul:nth-child(2) li a.logout,
header aside nav ul:nth-child(2) li a.join,
header aside nav ul:nth-child(2) li a.myinfo	{ gap: 9px; }
header aside nav ul:nth-child(2) li a.login:before,
header aside nav ul:nth-child(2) li a.logout:before	{ display: block; width: 14px; height: 18px; background: url(../image/header_aside_login.png) no-repeat center center; content: ""; }
header aside nav ul:nth-child(2) li a.join:before,
header aside nav ul:nth-child(2) li a.myinfo:before	{ display: block; width: 17px; height: 18px; background: url(../image/header_aside_join.png) no-repeat center center; content: ""; }
header aside nav ul:nth-child(2) li a.staff,
header aside nav ul:nth-child(2) li a.manager	{ font-weight: var(--font-bold); color: var(--red); cursor: default; }


header nav#GNB	{}
nav#GNB	{ display: flex; justify-content: space-between; max-width: 1320px; padding: 0 10px; margin: 0 auto; }
nav#GNB h1	{ flex: 0 0 300px; }
nav#GNB h1 a	{ display: block; width: 184px; height: 100%; background: url(../image/header_logo.png) no-repeat center center / auto; text-indent: -9999px; overflow: hidden; }
nav#GNB h1 a:focus	{ outline: 0 none; border: 2px solid var(--red); }

nav#GNB .ld1	{ flex: 1 1 735px; display: flex; }
nav#GNB .cd1	{ flex: auto; }
	nav#GNB .cd1c1,
	nav#GNB .cd1c8,
	nav#GNB .cd1c9,
	nav#GNB .cd1c10	{ display: none; }
nav#GNB .l1	{ display: flex; align-items: center; justify-content: center; width: 100%; height: 119px; font-size: 22px; font-weight: var(--font-bold); }
nav#GNB .l1:focus	{ outline: 0 none; border: 2px solid var(--red); }
nav#GNB .l1.open	{ color: #4a0e7a; }

nav#GNB .lb1	{ position: absolute; width: 100%; height: 0; overflow: hidden; }
nav#GNB .cd1.active .lb1	{ position: absolute; left: 0; top: 179px; z-index: 9; width: 100%; height: auto; padding: 30px 0 0; border-top: 1px solid #b9bbbe; background-color: #fff; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); overflow: visible; }

nav#GNB .lb1 .lb1_align	{ display: flex; max-width: 1320px; min-height: 250px; margin: 0 auto; background: no-repeat 25px calc(100% + 30px); }
	nav#GNB .cd1c2 .lb1 .lb1_align	{ background-image: url(../image/header_gnb_depth1_03.svg); }
	nav#GNB .cd1c3 .lb1 .lb1_align	{ background-image: url(../image/header_gnb_depth1_01.svg); }
	nav#GNB .cd1c4 .lb1 .lb1_align	{ background-image: url(../image/header_gnb_depth1_02.svg); }
	nav#GNB .cd1c5 .lb1 .lb1_align	{ background-image: url(../image/header_gnb_depth1_03.svg); }
	nav#GNB .cd1c6 .lb1 .lb1_align	{ background-image: url(../image/header_gnb_depth1_04.svg); }
	nav#GNB .cd1c7 .lb1 .lb1_align	{ background-image: url(../image/header_gnb_depth1_05.svg); }

nav#GNB .lb1 .lb1_align p	{ flex: 370px; padding: 0 0 0 40px; margin-top: -30px; }
nav#GNB .lb1 .lb1_align p > br	{ display: none; }
nav#GNB .lb1 .lb1_align p > strong	{ display: block; line-height: 1.6; font-size: 40px; font-weight: var(--font-bold); color: var(--black); }
nav#GNB .lb1 .lb1_align p > span	{ display: block; line-height: 1.2; letter-spacing: -0.25px; font-size: 20px; color: var(--black); opacity: 0.7; }
nav#GNB .lb1 .lb1_align p > span span	{ display: block; }

nav#GNB .ld2	{ flex: calc(100% - 370px); display: flex; flex-wrap: wrap; align-content: flex-start; gap: 20px 0; margin-bottom: 40px; }
nav#GNB .cd2	{ flex: 0 1 25%; padding: 0 15px; }
nav#GNB .l2	{ display: flex; align-items: center; justify-content: center; width: 100%; height: 56px; border: 1px solid #ddd; border-radius: 5px; background-color: #f8f8f8; font-size: 17px; font-weight: 500; color: var(--black); }
nav#GNB .l2:focus, nav#GNB .l2:hover, nav#GNB .l2:active	{ border-color: #4a0e7a; background-color: #4a0e7a; color: #fff; box-shadow: 0 10px 30px rgba(61, 86, 136, 0.3); }
nav#GNB .l2.open	{ border-color: #6d0dbd; background-color: #6d0dbd; color: var(--white); box-shadow: 0 10px 30px rgba(61, 86, 136, 0.3); }
nav#GNB .lb2	{ margin-top: 25px; }
nav#GNB .cd2.child_tabmenu .lb2	{ display: none; }

nav#GNB .ld3	{}
nav#GNB .cd3	{}
nav#GNB .cd3 + .cd3	{ margin-top: 10px; }
nav#GNB .l3	{ position: relative; display: block; padding-left: 16px; font-size: 17px; font-weight: var(--font-sami-bold); }
nav#GNB .l3:before	{ position: absolute; left: 0; top: 9px; width: 8px; height: 8px; border: 2px solid #999; border-radius: 100%; content: ""; }
nav#GNB .l3.open	{ color: var(--blue); }

nav#GNB .lb3	{ display: none; }


.proc_mobile_menu	{ display: none; }



@media all and ( max-width: 1024px )
{
	header aside	{}
	header aside nav	{ align-items: center; }
	
	nav#GNB	{ flex-wrap: wrap; padding: 0; }
	nav#GNB h1	{ flex: 1 1 100%; display: flex; justify-content: center; }
	nav#GNB h1 a	{ height: 80px; background-size: contain; }
	nav#GNB .ld1	{ flex: 1 1 100%; }
	nav#GNB .l1	{ height: 50px; }
}


@media all and ( max-width: 768px )
{
	body	{ padding-top: 61px; }
	header	{ position: fixed; left: 0; top: 0; z-index: 9990; width: 100%; height: 61px; border-bottom: 0 none; background-color: #fff; }
	header.mobile_active	{ height: 100%; }
	header aside	{ display: none; position: fixed; left: 0; top: 0; z-index: 9991; width: 100%; height: 61px; padding: 0 60px 0 10px; border-bottom: 1px solid #ddd; background-color: #fff; }
	header.mobile_active aside	{ display: block; }
	header aside nav	{ justify-content: space-between; gap: 20px; position: static; left: 0; height: 60px; padding: 0; }
	header aside nav ul:nth-child(2) li:nth-child(1)	{ display: none; }
	
	.proc_mobile_menu	{ display: block; position: fixed; right: 0; top: 0; z-index: 9999; width: 60px; height: 60px; padding: 0; margin: 0; border: 0 none; background: url(../image/header_mobile_button.svg) no-repeat center center; text-indent: -99999px; overflow: hidden; }
	.proc_mobile_menu:focus	{ outline: 0 none; border: 2px solid var(--red); }
	header.mobile_active .proc_mobile_menu	{ background-image: url(../image/header_mobile_button_close.png); }
	
	
	nav#GNB	{ display: block; height: 100%; }
	nav#GNB h1	{ justify-content: flex-start; padding-left: 20px; }
	nav#GNB h1 a	{ width: 250px; height: 60px; background-position: left center; background-size: auto 50px; }
	
	nav#GNB .ld1	{ display: none; flex-direction: column; align-items: flex-start; height: 100%; padding: 0; }
	header.mobile_active nav#GNB .ld1	{ display: flex; overflow: auto; }
	nav#GNB .ld1:after	{ position: absolute; left: 0; top: 0; z-index: -1; width: 140px; height: 100%; background-color: var(--site-bg-color); content: ""; }
	nav#GNB .cd1	{ display: flex !important; flex: none; }
		nav#GNB .cd1c1	{ display: none !important; }
	nav#GNB .l1	{ justify-content: flex-start; position: relative; width: 140px; height: 64px; padding: 0 10px; font-size: 16px; color: var(--black); font-weight: var(--font-normal); letter-spacing: -1px; }
	nav#GNB .cd1.mobile_active .l1	{ background-color: var(--site-color); color: var(--white); font-weight: var(--font-sami-bold); }
	nav#GNB .l1:after	{ position: absolute; left: 50%; bottom: -2px; width: calc(100% - 20px); height: 2px; transform: translateX(-50%); background-image: linear-gradient(to right, #666 2px,  rgba(255,255,255,0) 0%); background-repeat: repeat-x; background-position: left top; background-size: 7px 2px; content: ""; }
	nav#GNB .cd1.mobile_active .l1:after	{ content: none; }
	
	nav#GNB .lb1	{ display: none; }
	nav#GNB .cd1.mobile_active .lb1	{ display: block; position: fixed; left: 140px; top: 61px; width: calc(100% - 140px); height: 100%; padding: 0 20px; overflow: auto; box-shadow: none; }
	nav#GNB .lb1 .lb1_align	{ height: 100%; background: none !important; }
	nav#GNB .lb1 .lb1_align p,
	nav#GNB .lb1 .lb1_align p *	{ display: none !important; background: none !important; }
	
	nav#GNB .ld2	{ flex: auto; flex-direction: column; flex-wrap: nowrap; gap: 0; }
	nav#GNB .cd2	{ flex: none; padding: 0; border-bottom: 1px solid #ddd; }
	nav#GNB .l2	{ justify-content: flex-start; height: 63px; line-height: 1.2; border: 0 none; border-radius: 0; background-color: transparent; font-size: 15px; font-weight: var(--font-normal); }
	nav#GNB .l2.hasChild	{ padding-right: 30px; background: url(../image/header_mobile_arrow_down.png) no-repeat right center / 14px; }
	nav#GNB .l2.open,
	nav#GNB .l2:focus, nav#GNB .l2:hover, nav#GNB .l2:active	{ background-color: transparent; color: var(--black); font-weight: var(--font-snormal); box-shadow: none; }
	nav#GNB .cd2.mobile_active .l2	{ background-image: url(../image/header_mobile_arrow_up.png); color: var(--site-color); font-weight: var(--font-sami-bold); }
	
	nav#GNB .lb2	{ display: block; height: 0; padding: 0; margin: 0; overflow: hidden; }
	nav#GNB .cd2.mobile_active .lb2	{ display: block; height: auto; padding: 12px 0; border-top: 1px solid #ddd; background-color: #fff; overflow: visible; }
	
	nav#GNB .cd3 + .cd3	{ margin: 0; }
	nav#GNB .l3	{ line-height: 1.2; padding: 8px 0 8px 15px; font-size: 14px; font-weight: var(--font-snormal); }
	nav#GNB .l3:before	{ top: 13px; width: 6px; height: 6px; }
}

@media all and ( max-width: 640px )
{
	header aside	{ height: 81px; }
	header aside nav	{ display: flex; flex-wrap: wrap; align-content: center; gap: 5px; height: 80px; }
	header aside nav ul:nth-child(1)	{ flex: 1 1 100%; display: flex; justify-content: flex-start; }
	header aside nav ul:nth-child(2)	{ flex: 1 1 100%; display: flex; justify-content: flex-end; }
	
	nav#GNB .ld1	{ padding-top: 20px; }
	nav#GNB .cd1.mobile_active .lb1	{ top: 81px; height: calc(100% - 81px); }
}

@media all and ( max-width: 425px )
{
	header aside nav ul:nth-child(1) li	{ flex: 1; }
	header aside nav ul:nth-child(1) li a	{ min-width: 0; }
}

@media all and ( max-width: 320px )
{
	nav#GNB .l1	{ padding: 0 10px; }
	nav#GNB .l1:after	{ width: calc(100% - 20px); }
	nav#GNB .cd1.mobile_active .lb1	{ padding: 0 10px; }
}


header aside nav .weather	{ display: flex; align-items: center; gap: 20px; height: 100%; }
header aside nav .weather .temperature	{ display: flex; flex-direction: column; position: relative;  padding-left: 40px; }
header aside nav .weather .temperature img	{ position: absolute; left: 0; top: 50%; transform: translate(0, -50%); display: block; }
header aside nav .weather .temperature em	{ position: absolute; width: 0; height: 0; font-size: 0; overflow: hidden; }
header aside nav .weather .temperature span	{ text-align: center; font-size: 26px; color: #204ccb; font-weight: bolder; }
header aside nav .weather .temperature strong	{ text-align: center; font-weight: normal; font-size: 14px; white-space: nowrap; }
header aside nav .weather .air	{ display: flex; gap: 6px; }
header aside nav .weather .air .air_title	{}
header aside nav .weather .air * + .air_title	{ margin-left: 10px; }
header aside nav .weather .air .air_value	{ display: inline-block; line-height: 28px; padding: 0 15px; border-radius: 12px; background-color: #666; font-size: 14px; color: #fff; }
header aside nav .weather .air .air_value.good	{ background-color: darkgreen; color: #fff; }
header aside nav .weather .air .air_value.normal	{ background-color: mediumblue; color: #fff; }
header aside nav .weather .air .air_value.bad	{ background-color: darkorange; color: #fff; }
header aside nav .weather .air .air_value.verybad	{ background-color: red; color: #fff; }

@media all and ( max-width: 1023px )
{
	header aside nav ul:nth-child(2)	{ gap: 5px; }
	
	header aside nav .weather	{ gap: 5px; }
	header aside nav .weather .air	{ flex-wrap: wrap; gap: 0; font-size: 14px; }
	header aside nav .weather .air .line	{ flex: 1 1 100%; height: 1px; }
	header aside nav .weather .air .air_title	{ flex: 0 1 5em; line-height: 20px; }
	header aside nav .weather .air * + .air_title	{ margin: 0; }
	header aside nav .weather .air .air_value	{ line-height: 20px; }
}

@media all and ( max-width: 768px )
{
	header aside nav .weather *	{ display: none !important; }
}


/************************************************************************************************************************************************************************

	푸터
	
************************************************************************************************************************************************************************/
footer	{ background-color: #32373c; }
footer aside	{}
footer aside .links	{ border-bottom: 1px solid #d0d0d0; }
footer aside .links ul	{ display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 50px; max-width: 1320px; padding: 20px 10px; margin: 0 auto; }
footer aside .links ul li + li	{ position: relative; }
footer aside .links ul li + li:before	{ position: absolute; left: -25px; top: 50%; width: 1px; height: 15px; margin-top: -7px; background: #fff; content: ""; }
footer aside .links ul li a	{ color: var(--white); }
footer aside .links ul li a:focus, footer aside .links ul li a:hover, footer aside .links ul li a:active	{ text-decoration: underline; font-weight: bolder; }

footer aside .familysite	{ display: flex; gap: 25px; max-width: 1320px; padding: 20px 10px; margin: 0 auto; }
footer aside .familysite dl	{ flex: 1; position: relative; }
footer aside .familysite dl dt button	{ position: relative; display: block; width: 100%; height: 48px; line-height: 1; padding: 0 50px 0 20px; margin: 0; border: 1px solid #d9d9d9; background-color: #f1f1f5; text-align: left; color: #373636; font-size: 1rem; }
footer aside .familysite dl dt button:before	{ position: absolute; right: 49px; top: 0; width: 1px; height: 100%; background-color: #d9d9d9; content: ""; }
footer aside .familysite dl dt button:after	{ position: absolute; right: 20px; top: 15px; width: 10px; height: 10px; border-width: 2px 2px 0 0; border-style: solid; border-color: #000; transform: rotate(135deg); content: ""; }
footer aside .familysite dl.active dt button:after	{ top: 20px; transform: rotate(-45deg); }
footer aside .familysite dl dd	{ display: none; position: absolute; left: 0; bottom: 47px; z-index: 3; width: 100%; border: 1px solid #d9d9d9; background-color: #f1f1f5; }
footer aside .familysite dl.active dd	{ display: block; }
footer aside .familysite dl dd ul	{ padding: 10px 20px 0; }
footer aside .familysite dl dd ul li	{}
footer aside .familysite dl dd ul li a	{ display: block; line-height: 1.1; padding: 10px 0; }
footer address	{ position: relative; max-width: 1320px; line-height: 1.5; padding: 0 20px 50px 175px; margin: 20px auto 0 auto; color: var(--white); }
footer address:before	{ position: absolute; left: 10px; top: 5px; width: 108px; height: 49px; background: url(../image/footer_logo.png) no-repeat 0 0; text-indent: -9999px; overflow: hidden; content: "용인시"; }
footer address .line	{ display: block; }
footer address .line + .line	{ margin-top: 10px; }
footer address .tel	{ display: inline-block; }
footer address .tel:after	{ display: inline-block; padding: 0 10px; content: "/"; }
footer address .tel:last-child:after	{ content: none; }


@media all and ( max-width: 1024px )
{
	footer aside	{ padding-left: 10px; padding-right: 10px; }
	footer aside .links ul	{ justify-content: center; }
}

@media all and ( max-width: 768px )
{
	footer aside .familysite	{ flex-wrap: wrap; gap: 5px; padding: 10px 0; }
	footer aside .familysite dl	{ flex: 1 1 40%; }
	footer aside .links ul	{ gap: 0 20px; }
	footer aside .links ul li + li:before	{ left: -10px; }
	
	footer address	{ padding: 0 10px 20px 10px; }
	footer address:before	{ content: none; }
	footer address span	{ display: block; }
	footer address br,
	footer address span.split	{ display: none; }
	
	footer address .line	{ display: inline; }
	footer address .line + .line	{ margin-top: 0; }
	
	footer address .tel:last-child:after	{ content: "/"; }
}

@media all and ( max-width: 767px )
{
	footer aside .familysite	{ display: none; }
}

@media all and ( max-width: 320px )
{
	footer address	{ font-size: 12px; }
}


/************************************************************************************************************************************************************************

	메인
	
************************************************************************************************************************************************************************/
main.main	{ position: relative; width: 100%; height: 100%; }


main.main .section_1	{ margin: 0; }
main.main .align_1	{}


main.main .main_visual	{ position: relative; height: 650px; }
main.main .main_visual h2	{ position: absolute; width: 0; height: 0; font-size: 0; overflow: hidden; }
main.main .main_visual .list	{ position: relative; width: 100%; height: 100%; }
main.main .main_visual .list div	{ height: 100%; }
main.main .main_visual .list .default	{ background: #666 url(../image/main_visual_default.jpg) no-repeat center center / cover !important; }
main.main .main_visual .list .item > *	{ display: block; height: 100%; background: gray no-repeat center center / cover; text-indent: -9999px; overflow: hidden; }
main.main .main_visual .list .item p	{ display: flex; flex-direction: column; justify-content: center; max-width: 1300px; height: 400px; line-height: 1.1; padding: 0 10px; margin: 0 auto; background: none; font-size: 45px; font-weight: 400; color: #fff; text-indent: 0; overflow: visible; }
main.main .main_visual .list .item p > span	{ display: block; }
main.main .main_visual .list .item p > strong	{ display: block; font-size: 50px; font-weight: bold; }


main.main .main_visual .list .slick-button-box	{ position: relative; max-width: 1280px; height: 0; margin: 0 auto; }
main.main .main_visual .list .slick-startstop	{ position: absolute; left: 0; top: 318px; z-index: 3; width: 24px; height: 24px; border: 0 none; border-radius: 3px; background-color: #222; text-indent: -9999px; overflow: hidden; font-size: 12px; font-family: serif; color: #fff; }
main.main .main_visual .list .slick-startstop:after	{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; text-indent: 0; display: flex; align-items: center; justify-content: center; text-shadow: 0 0 2px #000; }
main.main .main_visual .list .slick-startstop:focus, main.main .main_visual .list .slick-startstop:hover, main.main .main_visual .list .slick-startstop:active	{ background-color: #fff; color: #000; box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
main.main .main_visual .list .slick-startstop.stop:after	{ content: "■"; }
main.main .main_visual .list .slick-startstop.start:after	{ content: "▶"; }
main.main .main_visual .list .slick-prev,
main.main .main_visual .list .slick-next	{ display: none !important; }
main.main .main_visual .list .slick-dots	{ position: absolute; left: 50%; top: 323px; display: flex; gap: 12px; width: 1200px; height: 0; transform: translate(-50%, 0); }
main.main .main_visual .list .slick-dots button	{ display: block; width: 14px; height: 14px; border: 0 none; border-radius: 50%; background-color: rgba(255, 255, 255, 0.25); text-indent: -999px; overflow: hidden; box-shadow: 0 0 3px rgba(0, 0, 0, 0.5); }
main.main .main_visual .list .slick-dots .slick-active button	{ background-color: #fff; }


main.main .section_2	{ position: relative; max-width: 1320px; margin: 0 auto; }
main.main .align_2	{ position: absolute; left: 0; top: -220px; width: 100%; padding: 0 10px; }


main.main .online_application	{ position: relative; display: flex; min-height: 260px; padding: 20px 60px 20px 0; border-radius: 10px; background-color: #4a0e7a; background: linear-gradient(to right, #4a0e7a 0%, #4913a5 100%); }
main.main .online_application h2	{ flex: 0 1 305px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; color: #fff; font-size: 2rem;  font-weight: normal; }
main.main .online_application h2:before	{ display: block; width: 111px; height: 128px; background: url(../image/main_online_application_title.png) no-repeat center center / cover; content: ""; }
main.main .online_application .lecture	{ flex: auto; display: flex; flex-wrap: wrap; align-items: center; align-content: center; gap: 18px; }


main.main .online_application h3	{ flex: 0 1 200px; display: flex; align-items: center; justify-content: center; gap: 10px; height: 60px; line-height: 1; background-color: #8e22e9; color: #fff; font-size: 20px; font-weight: var(--font-bold); }
/*
main.main .online_application h3 a	{ display: flex; align-items: center; justify-content: center; gap: 10px; height: 60px; line-height: 1; background-color: #4368e7; color: #fff; font-size: 20px; font-weight: var(--font-bold); }
main.main .online_application h3 a:focus, main.main .online_application h3 a:hover, main.main .online_application h3 a:active	{ background-color: #333; color: #fff; }
main.main .online_application h3 a.active	{ background-color: #fff; color: #1e1e1e; }
main.main .online_application h3:nth-child(2) a:before	{ content: url(../image/main_online_application_1.png); }
main.main .online_application h3:nth-child(4) a:before	{ content: url(../image/main_online_application_2.png); }
main.main .online_application form	{ display: none; position: absolute; left: 0; top: 60px; width: 100%; padding: 27px 25px; background-color: #fff; }
main.main .online_application form.active	{ display: block; }
*/
main.main .online_application form	{ flex: 1 1 100%; }
main.main .online_application form p	{ display: flex; flex-wrap: wrap; gap: 12px 15px; }
main.main .online_application form p .input_box	{ flex: 1; margin: 0; }
main.main .online_application form p .input_box1,
main.main .online_application form p .input_box2,
main.main .online_application form p .input_box3	{ flex: 0 1 calc((100% - 15px * 2) / 3); }
main.main .online_application form p .input_box label	{ position: absolute; width: 0; height: 0; font-size: 0; overflow: hidden; }
main.main .online_application form p .input_box input[type="text"],
main.main .online_application form p .input_box select	{ width: 100%; height: 56px; padding-left: 20px; border: 1px solid #d9d9d9; background-color: #f1f1f5 !important; color: #5c5c5c; font-size: 16px; font-weight: var(--font-sami-bold); }
main.main .online_application form p .input_box select	{ cursor: pointer; }
main.main .online_application form p .button_box	{ flex: 0 1 calc((100% - 15px * 2) / 3); }
main.main .online_application form p .button_box button	{ display: flex; align-items: center; justify-content: center; gap: 5px; width: 100%; height: 56px; line-height: 1; border: 0 none; border-radius: 10px; background-color: #8e22e9; color: #fff; font-size: 16px; font-weight: var(--font-sami-bold); }
main.main .online_application form p .button_box button:before	{ content: url(../image/main_online_application_search.png); }
main.main .online_application form p .button_box button:focus, main.main .online_application form p .button_box button:hover, main.main .online_application form p .button_box button:active	{ background-color: #333; color: #fff; }


main.main .section_3	{ position: relative; margin: 90px 0 50px 0; }
main.main .section_3:before	{ position: absolute; z-index: -1; left: 0; top: 0; width: 50%; height: 100%; background-color: #eff1f8; content: ""; }
main.main .align_3	{ max-width: 1320px; padding: 0 10px; margin: 0 auto; }


main.main .area	{ display: flex; gap: 40px; min-height: 300px; background-color: #fff; }
main.main .area .title	{ flex: 0 1 325px; border-radius: 0 45px 45px 0; background: #eff1f8 url(../image/main_area_bg.png) no-repeat right bottom; }
main.main .area .title h2	{ line-height: 1.1; margin-top: 60px; font-size: 2.65rem; color: #202020; }
main.main .area .title h2 em	{ color: #5f3284; }
main.main .area .title p	{ line-height: 1.4; margin-top: 25px; }
main.main .area .title p span	{ display: block; }
main.main .area .title p em	{ color: #4400b8; }
main.main .area .list	{ flex: auto; display: flex; align-items: center; padding: 20px 0; }
main.main .area .list ul	{ flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 10px 20px; }
main.main .area .list ul li	{ flex: 0 1 calc((100% - 20px * 4) / 5); }
main.main .area .list ul li a	{ display: flex; align-items: center; justify-content: center; height: 60px; border: 1px solid #dfdfdf; border-radius: 10px; background-color: #fff; color: #383838; font-weight: 500; }
main.main .area .list ul li a:focus, main.main .area .list ul li a:hover, main.main .area .list ul li a:active	{ background-color: #666; color: #fff; }
main.main .area .list ul li a.active	{ border: 0 none; background-color: #003488; color: #fff; }


main.main .section_4	{ position: relative; z-index: 2; max-width: 1500px; margin: 50px auto 0; background: #4f34a9; }
main.main .align_4	{ max-width: 1320px; padding: 50px 10px; margin: 0 auto; }


main.main .lecture_list	{}
main.main .lecture_list h2	{ position: absolute; width: 0; height: 0; font-size: 0; overflow: hidden; }
main.main .lecture_list .area_list	{}
main.main .lecture_list .area_list > li	{ display: none; text-align: center; }
main.main .lecture_list .area_list > li.active	{ display: block; }
main.main .lecture_list h3	{ position: relative; line-height: 1.1; margin-bottom: 50px; text-align: center; font-size: 2.35rem; color: #fff; }
main.main .lecture_list h3 span	{ font-weight: normal; }
main.main .lecture_list h3:after	{ position: absolute; left: 50%; bottom: -20px; width: 116px; height: 2px; margin-left: -58px; background-color: #fff; content: ""; }
main.main .lecture_list .list	{ text-align: left; }
main.main .lecture_list .list ul	{ display: flex; flex-wrap: wrap; gap: 20px 50px; }
main.main .lecture_list .list ul li	{ flex: 1 1 30%; }
main.main .lecture_list .list ul li.empty	{ flex: 1 1 100%; width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 20px; }
main.main .lecture_list .list ul li a	{ display: block; line-height: 35px; padding: 30px; border-radius: 10px; background-color: #fff; color: #5c5c5c; }
main.main .lecture_list .list ul li a:focus, main.main .lecture_list .list ul li a:hover, main.main .lecture_list .list ul li a:active	{ background-color: #eee; color: #000; outline: 2px solid red; box-shadow: 0 0 5px rgba(0, 0, 0, 0.3), 0 0 10px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 0, 0, 0.3); }
main.main .lecture_list .list ul li a em	{ display: inline-block; min-width: 80px; line-height: 32px; padding: 0 20px; border-radius: 30px; background-color: #454545; color: #fff; font-weight: bold; }
main.main .lecture_list .list ul li a em.ing	{ background-color: #ee2e5b; color: #fff; }
main.main .lecture_list .list ul li a .title	{ display: block; margin: 10px 0; color: #181818; font-size: 1.3em; font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
main.main .lecture_list .list ul li a .title + br	{ display: none; }
main.main .lecture_list .list ul li a span	{ display: inline-block; width: 90px; line-height: 30px; margin-right: 5px; border-radius: 30px; text-align: center; background-color: #f5f5f5; color: #676767; }

main.main .lecture_list .more	{ display: inline-block; margin-top: 50px; font-size: 1.1rem; color: #fff; }
main.main .lecture_list .more:after	{ display: inline-block; width: 27px; line-height: 25px; margin-left: 10px; border: 1px solid #bbb; border-radius: 50%; background-color: #fff; text-align: center; font-family: serif; letter-spacing: -4px; font-size: 16px; font-weight: bold; color: #000; content: ">>"; }


main.main .section_5	{ position: relative; z-index: 1; padding: 190px 0 60px 0; margin: -90px 0 0 0; background-color: #f0f3f6; }
main.main .align_5	{ max-width: 1320px; padding: 0 10px; margin: 0 auto; }


main.main .notice	{}
main.main .notice h2	{ position: absolute; width: 0; height: 0; font-size: 0; overflow: hidden; }
main.main .notice .area_list	{}
main.main .notice .area_list > li	{ display: none; text-align: center; }
main.main .notice .area_list > li.active	{ display: block; }
main.main .notice h3	{ position: relative; line-height: 1.1; margin-bottom: 50px; text-align: center; font-size: 2.35rem; color: #202020; }
main.main .notice h3 span	{ font-weight: normal; }
main.main .notice h3:after	{ position: absolute; left: 50%; bottom: -20px; width: 116px; height: 2px; margin-left: -58px; background-color: #202020; content: ""; }
main.main .notice .list	{ text-align: left; }
main.main .notice .list ul	{ display: flex; flex-wrap: wrap; gap: 20px 40px; }
main.main .notice .list ul li	{ flex: 0 1 calc((100% - 40px * 1) / 2); width: calc((100% - 40px * 1) / 2); }
main.main .notice .list ul li.empty	{ flex: 1 1 100%; width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; color: #000; font-size: 20px; }
main.main .notice .list ul li a	{ display: flex; flex-direction: column; gap: 10px; line-height: 1.5; padding: 30px; border: 1px solid #c6c6c6; border-radius: 10px; background-color: #fff; color: #5c5c5c; }
main.main .notice .list ul li a:focus, main.main .notice .list ul li a:hover, main.main .notice .list ul li a:active	{ background-color: #eee; color: #000; outline: 2px solid red; box-shadow: 0 0 5px rgba(0, 0, 0, 0.3), 0 0 10px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 0, 0, 0.3); }
main.main .notice .list ul li a br	{ display: none; }
main.main .notice .list ul li a .title	{ order: 2; display: block; line-height: 1.1; font-size: 1.2em; font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
main.main .notice .list ul li a .content	{ order: 3; display: block; height: 48px; line-height: 24px; overflow: hidden; opacity: 0.8; }
main.main .notice .list ul li a .content	{ display: -webkit-box; -webkit-line-clamp : 2; -webkit-box-orient : vertical; }
main.main .notice .list ul li a .date	{ order: 1; display: block; color: #434cbd; font-weight: 500; }

main.main .notice a.more	{ display: inline-block; margin-top: 50px; font-size: 1.1rem; }
main.main .notice a.more:after	{ display: inline-block; width: 27px; line-height: 25px; margin-left: 10px; border: 1px solid #bbb; border-radius: 50%; background-color: #fff; text-align: center; font-family: serif; letter-spacing: -4px; font-size: 16px; font-weight: bold; color: #000; content: ">>"; }


main.main .section_first	{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 30px; min-height: 400px; margin: 50px 0; border-radius: 45px; background: url(../image/main_section_first.png) no-repeat center center / cover; }
main.main .section_first:before	{ display: block; width: 24px; height: 47px; background: url(../image/main_section_first_arrow.png) no-repeat center center / contain; content: ""; }
main.main .section_first br	{ display: none; }
main.main .section_first strong	{ font-size: 2rem; }


@media all and ( max-width: 1024px )
{
	main.main .lecture_list .list ul	{ gap: 10px; }
	
	main.main .notice .list ul	{ gap: 10px; }
	main.main .notice .list ul li	{ flex: 0 1 calc((100% - 10px * 1) / 2); width: calc((100% - 10px * 1) / 2); }
}

@media all and ( max-width: 768px )
{
	main.main .main_visual	{ height: 400px; }
	main.main .main_visual .list .item p	{ height: 50%; font-size: 5vw; }
	main.main .main_visual .list .item p > strong	{ font-size: 1.25em; }
	
	main.main .align_2	{ position: static; margin-top: -150px; }
	
	main.main .online_application	{ padding: 20px; }
	main.main .online_application h2	{ position: absolute; width: 0; height: 0; font-size: 0; overflow: hidden; }
	main.main .online_application h3	{ height: 45px; font-size: 18px; }
	main.main .online_application form p	{ gap: 5px; }
	main.main .online_application form p .input_box	{ flex: 1 1 100% !important; }
	main.main .online_application form p .input_box input[type="text"],
	main.main .online_application form p .input_box select	{ height: 45px; }
	main.main .online_application form p .button_box	{ flex: 1 1 100% !important; }
	main.main .online_application form p .button_box button	{ height: 50px; }
	
	main.main .section_3	{ margin: 30px 0; }
	main.main .section_3:before	{ content: none; }
	main.main .align_3	{ padding: 0; }
	
	main.main .area	{ flex-wrap: wrap; gap: 20px; }
	main.main .area .title	{ flex: 0 1 calc(100% - 10px); padding: 30px; border-radius: 0 20px 20px 0; background-size: auto 90%; }
	main.main .area .title h2	{ margin-top: 0; }
	main.main .area .title p span	{ display: inline-block; }
	main.main .area .list	{ flex: 1 1 100%; padding: 0 10px 10px; }
	main.main .area .list ul	{ gap: 5px; }
	main.main .area .list ul li	{ flex: 0 1 calc((100% - 5px * 3) / 4); }
	
	main.main .section_4	{ margin: 30px 0; }
	main.main .align_4	{ padding: 30px 10px; }
	
	main.main .lecture_list .list	{ overflow-x: auto; }
	main.main .lecture_list .list ul	{ width: 920px; }
	main.main .lecture_list .list ul.empty	{ width: auto; }
	main.main .lecture_list .list ul li	{ flex: 0 1 300px; }
	main.main .lecture_list .list ul li.empty	{ flex: 1 1 100%; }
	main.main .lecture_list .list ul li a	{ padding: 20px 10px; }
	
	main.main .section_5	{ padding: 80px 0 30px 0; margin-top: -80px; }
	
	main.main .notice a.more	{ margin-top: 30px; }
	
	main.main .section_first	{ height: 200px; line-height: 1.5; padding: 0 20px; margin: 30px 0; border-radius: 20px; }
}

@media all and ( max-width: 425px )
{
	main.main .area .list ul li	{ flex: 0 1 calc((100% - 5px * 1) / 2); }
	
	main.main .notice .list ul li	{ flex: 1 1 100%; width: 100%; }
}

@media all and ( max-width: 374px )
{
	main.main .lecture_list .list ul li	{ flex: 0 1 250px; }
}


/*
@media all and ( max-width: 1280px )
{
	main.main .main_visual	{ height: 500px; }
	main.main .main_visual .list .item p	{ height: 320px; padding-left: 20px; font-size: 30px; }
	main.main .main_visual .list .item p > strong	{ font-size: 35px; }
	
	main.main .main_visual .list .slick-startstop	{ left: 5px; top: 285px; }
	main.main .main_visual .list .slick-dots	{ top: 290px; width: calc(100% - 80px); }
	
	
	main.main .align_2	{ top: -180px; }
	
	main.main .align_3	{ padding: 40px 10px; }
	
	main.main .notice	{ position: relative; }
	main.main .notice h2	{ height: 60px; }
	main.main .notice h2 a	{ font-size: 30px; }
	main.main .notice .lists	{ justify-content: flex-start; position: static; height: 370px; overflow: auto; }
	main.main .notice .lists h3	{ flex: 1; }
	main.main .notice .lists h3 a	{ padding: 0 25px; white-space: nowrap; }
	main.main .notice .lists .list.active	{ top: 125px; height: calc(100% - 125px); }
	main.main .notice .lists .list ul	{ gap: 10px; }
	
	main.main .section_4	{ margin: 40px 0; }
	main.main .faq	{ gap: 16px; }

	main.main .section_5	{ margin: 40px 0; }
	main.main .schdule	{ gap: 22px 20px; }
	main.main .schdule h2	{ font-size: 30px; }
	main.main .schdule .daily_detail	{ height: calc(100% - 33px - 22px); }
}

@media all and ( max-width: 1024px )
{
	main.main .schdule .calendar	{ padding: 20px; }
	main.main .schdule .daily_detail	{ padding: 20px; }
}

@media all and ( max-width: 768px )
{
	main.main .main_visual .list .item p	{ height: 280px; }
	main.main .main_visual .list .slick-startstop	{ top: 245px; }
	main.main .main_visual .list .slick-dots	{ top: 250px; }

	
	main.main .align_2	{ top: -220px; }
	main.main .online_application h3 a	{ height: 50px; font-size: 16px; }
	main.main .online_application form	{ top: 50px; padding: 10px; }
	main.main .online_application form p	{ flex-wrap: wrap; gap: 10px; }
	main.main .online_application form p .input_box	{ flex: 1 1 40%; margin: 0 !important; }
	main.main .online_application form p .input_box input[type="text"],
	main.main .online_application form p .input_box select	{ height: 40px; padding-left: 10px; font-size: 14px; }
	main.main .online_application form p .button_box	{ flex: 1 1 100%; }
	main.main .online_application form p .button_box button	{ height: 40px; border: 0 none; font-size: 14px; }
	
	main.main .align_3	{ padding: 20px 10px; }
	main.main .notice	{ min-height: 340px; }
	main.main .notice h2	{ height: 50px; }
	main.main .notice h2 a	{ font-size: 25px; }
	main.main .notice .lists	{ height: 60px; }
	main.main .notice .lists h3 a	{ line-height: 1.1; text-align: center; }
	main.main .notice .lists .list.active	{ overflow: auto; }
	main.main .notice .lists .list ul	{ min-width: 900px; }
	main.main .notice .lists .list ul li a	{ padding: 10px 10px 0 10px; }
	main.main .notice .lists .list ul li a .title	{ height: 40px; line-height: 20px; margin: 10px 0; font-size: 16px; }
	main.main .notice .lists .list ul li a .content	{ height: 54px; line-height: 18px; font-size: 14px; }

	main.main .notice .lists	{ height: auto; overflow: visible; }
	main.main .notice .lists .list.active	{ height: auto; overflow: visible; }
	main.main .notice .lists .list ul	{ display: flex; flex-direction: column; gap: 10px; min-width: 0; height: auto; }
	main.main .notice .lists .list ul li a .content	{ height: 72px; -webkit-line-clamp: 4; }
	
	main.main .section_4	{ margin: 20px 0; }
	main.main .faq	{ flex-wrap: wrap; }
	main.main .faq h2	{ flex: 1 1 100%; }
	main.main .faq h2 a	{ gap: 10px; padding: 20px 20px 60px 20px; background-size: auto 90%; font-size: 28px; }
	main.main .faq h2 a:before	{ left: 20px; bottom: 20px; width: 28px; height: 28px; font-size: 16px; }
	main.main .faq h2 a:after	{ text-shadow: 0 0 3px white, 0 0 5px white, 0 0 10px white; }
	main.main .faq .list	{ flex: 1 1 100%; }
	main.main .faq .list ul li	{ flex: 0 1 55px; }
	main.main .faq .list ul li a	{ padding: 0 10px 0 50px; font-size: 1rem; }
	main.main .faq .list ul li a:before	{ left: 15px; width: 28px; height: 28px; margin-top: -14px; font-size: 16px; }

	main.main .section_5	{ margin: 20px 0; }
	main.main .schdule	{ gap: 20px; height: auto; }
	main.main .schdule .calendar	{ flex: 1 1 100%; }
	main.main .schdule .daily_detail	{ flex: 1 1 100%; height: auto; overflow-y: visible; }
}

@media all and ( max-width: 425px )
{
	main.main .main_visual	{ height: 400px; }
	main.main .main_visual .list .item p	{ height: 180px; font-size: 20px; }
	main.main .main_visual .list .item p > strong	{ font-size: 25px; }
	main.main .main_visual .list .slick-startstop	{ top: 150px; }
	main.main .main_visual .list .slick-dots	{ top: 155px; }
	
	main.main .faq .list ul li a	{ font-size: 16px; }
	
	main.main .schdule h2	{ font-size: 25px; }
	main.main .schdule .calendar	{ padding: 10px; }
	main.main .schdule .daily_detail	{ padding: 10px; }
	main.main .schdule .calendar table tbody tr td.check_today:before,
	main.main .schdule .calendar table tbody tr td.check_selectday:before	{ width: 35px; height: 35px; }
}

@media all and ( max-width: 375px )
{
	main.main .main_visual .list .item p	{ font-size: 18px; }
	main.main .main_visual .list .item p > strong	{ font-size: 22px; }
	
	main.main .notice .lists h3 a	{ font-size: 14px; letter-spacing: -1px; }
	
	main.main .faq .list ul li a	{ font-size: 14px; letter-spacing: -1px; }
	main.main .faq .list ul li a:before,
	main.main .faq .list ul li a:after	{ transform: scale(0.5); }
}

*/




/************************************************************************************************************************************************************************

	서브 내용
	
************************************************************************************************************************************************************************/
main.sub	{ position: relative; width: 100%; height: 100%; min-height: calc(100vh - 100px - 218px); }
main.sub:before	{ display: flex; align-items: center; justify-content: center; width: 100%; height: 240px; background: gray url(../image/sub_top_image_def.jpg) no-repeat center center / cover; font-size: 50px; color: var(--white); font-weight: var(--font-sami-bold); content: attr(data-menuname); }

	main.sub.menu_no_133:before	{ background-image: url(../image/sub_top_image_01.jpg) }
	main.sub.menu_no_134:before	{ background-image: url(../image/sub_top_image_02.jpg) }
	main.sub.menu_no_135:before	{ background-image: url(../image/sub_top_image_03.jpg) }
	main.sub.menu_no_136:before	{ background-image: url(../image/sub_top_image_04.jpg) }
	main.sub.menu_no_137:before	{ background-image: url(../image/sub_top_image_05.jpg) }
	main.sub.menu_no_138:before	{ background-image: url(../image/sub_top_image_06.jpg) }

main.sub:after	{ position: absolute; left: 0; top: 304px; width: 100%; height: 1px; background: #ddd; content: ""; }
main.sub > aside	{ position: relative; max-width: 1280px; margin: 0 auto; }
main.sub > aside:after	{ display: block; clear: both; content: ""; }
main.sub > aside nav	{ float: left; width: calc(100% - 100px); }
main.sub > aside nav ol	{ position: relative; z-index: 3; display: flex; flex-wrap: wrap; }
main.sub > aside nav ol > li	{ flex: 0 1 270px; height: 64px; border-right: 1px solid #ddd; }
main.sub > aside nav ol > li:first-child	{ flex: 0 1 68px; border-right: 0 none; }
main.sub > aside nav ol > li:first-child > a	{ display: block; width: 68px; height: 64px; border-width: 0 1px; border-style: solid; border-color: #ddd; background: #6d0dbd url(../image/sub_snb_home_over.png) no-repeat center center; text-indent: -9999px; overflow: hidden; }
main.sub > aside nav ol > li:first-child > a:focus, main.sub > aside nav ol > li:first-child > a:hover, main.sub > aside nav ol > li:first-child > a:active	{ background-color: #000; background-image: url(../image/sub_snb_home_over.png); }

main.sub > aside nav ol > li > ul	{ position: relative; width: 100%; height: 64px; overflow: hidden; }
main.sub > aside nav ol > li > ul.active	{ z-index: 9; height: auto; margin: 0 -1px; border-width: 0 1px 1px 1px; border-style: solid; border-color: #ddd; background-color: #fff; }
main.sub > aside nav ol > li > ul > li	{ height: 64px; }
main.sub > aside nav ol > li > ul > li > a	{ display: flex; align-items: center; width: 100%; height: 100%; line-height: 1.2; padding: 0 24px; font-size: 18px; }
main.sub > aside nav ol > li > ul > li:first-child > a	{ position: relative; padding-right: 50px; font-weight: var(--font-sami-bold); }
main.sub > aside nav ol > li > ul > li:first-child > a:after	{ position: absolute; right: 25px; top: 50%; width: 25px; height: 9px; margin-top: -4px; background: url(../image/sub_snb_arrow.png) no-repeat center center; content: ""; transition: all 1s ease; }
main.sub > aside nav ol > li > ul.active > li:first-child > a:after	{ transform: rotate(180deg); }
main.sub > aside nav ol > li > ul > li > a:focus, main.sub > aside nav ol > li > ul > li > a:hover, main.sub > aside nav ol > li > ul > li > a:active	{ background-color: #6d0dbd; color: #fff; }
main.sub > aside nav ol > li > ul > li > a:focus	{ outline: 0 none; border: 2px solid var(--blue); }


main.sub > aside .utils	{ float: right; width: 100px; }
main.sub > aside .utils > ul	{ display: flex; justify-content: center; height: 64px; }
main.sub > aside .utils > ul > li	{ display: flex; align-items: center; padding: 0 4px; }
main.sub > aside .utils a	{ display: block; width: 40px; height: 40px; border: 1px solid #d7d7d7; border-radius: 100%; background: #f2f2f2 no-repeat center center; text-indent: -9999px; overflow: hidden; }
main.sub > aside .utils a.print	{ background-image: url(../image/sub_utils_print.png); }
main.sub > aside .utils a.dropdown	{ background-image: url(../image/sub_utils_dropdown.png); }
main.sub > aside .utils a.facebook	{ background-image: url(../image/sub_utils_facebook.png); background-size: auto 50%; }
main.sub > aside .utils a.twitter	{ background-image: url(../image/sub_utils_twitter.png); background-size: auto 40%; }
main.sub > aside .utils a.naver	{ background-image: url(../image/sub_utils_naver.png); background-size: auto 50%; }
main.sub > aside .utils a.kakaostory	{ background-image: url(../image/sub_utils_kakaostory.png); background-size: auto 50%; }
main.sub > aside .utils a:focus, main.sub > aside .utils a:hover, main.sub > aside .utils a:active	{ background-color: var(--site-color) !important; border-color: var(--site-color) !important; }
main.sub > aside .utils #utils_dropdown	{ display: none; }
main.sub > aside .utils #utils_dropdown.active	{ display: block; position: absolute; top: 85%; right: 0; z-index: 8; height: auto; padding: 4px; border: 1px solid #ddd; border-radius: 50px; background-color: #f2f2f2; }
main.sub > aside .utils #utils_dropdown li + li	{ margin-top: 4px; }
main.sub > aside .utils #utils_dropdown a	{ border-color: #666; background-color: #666; }


main.sub > section	{ display: block; width: 100%; max-width: 1300px; padding: 0 10px; margin: 80px auto; }
main.sub > section:after	{ display: block; clear: both; content: ""; }

main.sub > section > .center_name	{ margin: 0 0 30px 0; text-align: center; }
main.sub > section > .center_name strong	{ font-size: 40px; font-weight: var(--font-bold); }

main.sub > section > h2	{ display: block; line-height: 1.2; margin-bottom: 40px; font-size: 34px; font-weight: var(--font-bold); }

main.sub > section > aside	{ margin: 40px 0; }
main.sub > section > aside ul	{ display: flex; flex-wrap: wrap; border-width: 0 0 1px 1px; border-style: solid; border-color: #ddd; background-color: #f8f9fb; }
main.sub > section > aside ul + ul	{ margin-top: 50px; }
main.sub > section > aside ul li	{ flex: 1 1 20%; border-width: 1px 1px 0 0; border-style: solid; border-color: #ddd; }
main.sub > section > aside ul li a	{ display: flex; align-items: center; justify-content: center; height: 64px; line-height: 1.1; text-align: center; font-size: 17px; font-weight: var(--font-sami-bold); }532

main.sub > section > aside ul li a:focus, main.sub > section > aside ul li a:hover, main.sub > section > aside ul li a:active	{ background-color: #666; color: #fff; }
main.sub > section > aside ul li a.active	{ position: relative; z-index: 2; width: calc(100% + 2px); height: 66px; margin: -1px; border: 1px solid #6d0dbd; background-color: #fff; color: #6d0dbd; box-shadow: 0 10px 30px rgba(61, 86, 136, 0.1); }

main.sub > section > aticle	{ display: block; width: 100%; height: 100%; }
main.sub > section > aticle:after	{ display: block; clear: both; content: ""; }


@media all and ( max-width: 1024px )
{
	main.sub > aside nav ol	{ flex-wrap: nowrap; }
	main.sub > aside nav ol > li	{ flex: 1; }
}

@media all and ( max-width: 768px )
{
	main.sub:before	{ height: 180px; font-size: 22px; background-image: url(../image/sub_top_image_def_mobile.jpg); text-shadow: 2px 2px 0 rgba(0, 0, 0.2), 0 0 1px black, 0 0 2px black, 0 0 3px black; }
	main.sub:after	{ content: none; }
	main.sub > aside nav	{ width: 100%; }
	main.sub > aside nav ol	{ flex-wrap: wrap; position: relative; padding-left: 68px; }
	main.sub > aside nav ol > li	{ flex: 1 1 270px; border-bottom: 1px solid #ddd; }
	main.sub > aside nav ol > li:first-child	{ position: absolute; left: 0; top: 0; width: 68px; height: 100%; border-right: 1px solid #ddd; }
	main.sub > aside nav ol > li:first-child > a	{ height: 100%; border-left-width: 0; }
	main.sub > aside nav ol > li > ul > li:first-child > a	{ padding-right: 35px; }
	main.sub > aside nav ol > li > ul > li:first-child > a:after	{ right: 5px; }
	main.sub > aside .utils	{ position: absolute; right: 10px; top: -50px; width: auto; height: auto; }
	main.sub > aside .utils > ul	{ justify-content: center; gap: 10px; height: 100%; }
	main.sub > aside .utils > ul > li	{ padding: 0; }
	main.sub > aside .utils #utils_dropdown.active	{ top: 45px; right: -5px; }
	
	main.sub > aside nav ol	{ padding-left: 50px; }
	main.sub > aside nav ol > li	{ height: 50px; }
	main.sub > aside nav ol > li:first-child	{ width: 50px; }
	main.sub > aside nav ol > li:first-child > a	{ width: 50px; }
	main.sub > aside nav ol > li > ul > li	{ height: 50px; }
	main.sub > aside nav ol > li > ul > li > a	{ font-size: 16px; }
	
	main.sub > section	{ margin: 40px 0; }
	
	main.sub > section > h2	{ margin-bottom: 24px; font-size: 28px; }
	main.sub > section > aside	{ margin: 24px 0; }
}

@media all and ( max-width: 425px )
{
	main.sub > aside nav ol > li > ul > li > a	{ padding: 0 15px; }
}




#new_contents .image_gallery	{ display: flex; flex-wrap: wrap; gap: 20px; }
#new_contents .image_gallery .big_image	{ flex: 1 1 40%; display: flex; align-items: center; justify-content: center; }
#new_contents .image_gallery .big_image img	{ display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 1px solid #ccc; object-fit: cover; }
#new_contents .image_gallery ul	{ flex: 1 1 40%; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; list-style: none; background: none; }
#new_contents .image_gallery ul:before	{ content: none; }
#new_contents .image_gallery ul li	{ flex: 1 1 40%; padding: 0; margin: 0; list-style: none; background: none; }
#new_contents .image_gallery ul li:before	{ content: none; }
#new_contents .image_gallery ul li img	{ display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 1px solid #ccc; object-fit: cover; cursor: pointer; }
#new_contents .image_gallery ul li img.active	{ border-color: #333; box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }




.modules_board .proc_list .search form	{ padding: 0; background-color: transparent; box-shadow: none; }
.modules_board .proc_list .search form select,
.modules_board .proc_list .search form input,
.modules_board .proc_list .search form textarea	{ width: auto; min-width: 0; max-width: 100%; }
.modules_board .proc_list .search form select,
.modules_board .proc_list .search form input,
.modules_board .proc_list .search form textarea,
.modules_board .proc_list .search form .button	{ font-size: 1rem; }
.modules_board .proc_list .search form button[type="submit"]:before	{ content: none; } 

.modules_board .proc_list .search form .search_button	{ display: flex; gap: 10px; }
.modules_board .proc_list .search form .search_button > *	{ margin: 0; }


@media all and ( max-width: 768px )
{
	.modules_board .mobile_table tbody tr.board_delete td:before,
	.modules_board .mobile_table tbody tr.board_dateend td:before	{ background-color: transparent !important; }
	.modules_board .mobile_table tbody tr td + td	{ border-top: 1px solid #eee !important; }
	.modules_board .mobile_table tbody tr + tr	{ border-top: 1px solid #c8c8c8 !important; }
}

@media all and ( max-width: 425px )
{
	.modules_board .proc_list .search form fieldset p.search_word,
	.modules_board .proc_list .search form fieldset p.search_button	{ flex: 1; gap: 0; }
	.modules_board .proc_list .search form fieldset p.search_button > *	{ flex: 1; min-width: 0; }
}











.imgtablebox	{ display: flex; gap: 40px; }
.imgtablebox img	{ flex: none; display: block; border: 0 none; border-radius: 10px; }
.imgtablebox table	{ flex: auto; margin: 0; }



.indent1,
.indent2,
.indent3,
.indent4	{ margin-left: 0 !important; }