@charset "utf-8";

/*
 *
 * file : 기본 설정 및 초기화
 * date : 250605
 * writer : eun
 *
 */


@font-face {
	font-family: 'Pretendard';
	font-weight: 900;
	font-display: swap;
	src: local('Pretendard Black'), url(./fonts/Pretendard-Black.woff2) format('woff2')
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 800;
	font-display: swap;
	src: local('Pretendard ExtraBold'), url(./fonts/Pretendard-ExtraBold.woff2) format('woff2')
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 700;
	font-display: swap;
	src: local('Pretendard Bold'), url(./fonts/Pretendard-Bold.woff2) format('woff2')
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 600;
	font-display: swap;
	src: local('Pretendard SemiBold'), url(./fonts/Pretendard-SemiBold.woff2) format('woff2')
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 500;
	font-display: swap;
	src: local('Pretendard Medium'), url(./fonts/Pretendard-Medium.woff2) format('woff2')
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 400;
	font-display: swap;
	src: local('Pretendard Regular'), url(./fonts/Pretendard-Regular.woff2) format('woff2')
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 300;
	font-display: swap;
	src: local('Pretendard Light'), url(./fonts/Pretendard-Light.woff2) format('woff2')
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 200;
	font-display: swap;
	src: local('Pretendard ExtraLight'), url(./fonts/Pretendard-ExtraLight.woff2) format('woff2')
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 100;
	font-display: swap;
	src: local('Pretendard Thin'), url(./fonts/Pretendard-Thin.woff2) format('woff2')
}

@font-face {
	font-family: 'Noto Serif KR';
	font-weight: 900;
	src: local('Noto Serif KR Black'), url(./fonts/NotoSerifKR-Black.ttf) format('woff2')
}

@font-face {
	font-family: 'Noto Serif KR';
	font-weight: 800;
	src: local('Noto Serif KR ExtraBold'), url(./fonts/NotoSerifKR-ExtraBold.ttf) format('woff2')
}

@font-face {
	font-family: 'Noto Serif KR';
	font-weight: 700;
	src: local('Noto Serif KR Bold'), url(./fonts/NotoSerifKR-Bold.ttf) format('woff2')
}

@font-face {
	font-family: 'Noto Serif KR';
	font-weight: 600;
	src: local('Noto Serif KR SemiBold'), url(./fonts/NotoSerifKR-SemiBold.ttf) format('woff2')
}

@font-face {
	font-family: 'Noto Serif KR';
	font-weight: 500;
	src: local('Noto Serif KR Medium'), url(./fonts/NotoSerifKR-Medium.ttf) format('woff2')
}

@font-face {
	font-family: 'Noto Serif KR';
	font-weight: 400;
	src: local('Noto Serif KR Regular'), url(./fonts/NotoSerifKR-Regular.ttf) format('woff2')
}

@font-face {
	font-family: 'Noto Serif KR';
	font-weight: 300;
	src: local('Noto Serif KR Light'), url(./fonts/NotoSerifKR-Light.ttf) format('woff2')
}

@font-face {
	font-family: 'Noto Serif KR';
	font-weight: 200;
	src: local('Noto Serif KR ExtraLight'), url(./fonts/NotoSerifKR-ExtraLight.ttf) format('woff2')
}




@font-face {
	font-family: 'SBAggro';
	font-weight: 200;
	src: local('SBAggroL'), url(./fonts/SBAggroL.ttf) format('woff2')
}

@font-face {
	font-family: 'SBAggro';
	font-weight: 400;
	src: local('SBAggroM'), url(./fonts/SBAggroM.ttf) format('woff2')
}

@font-face {
	font-family: 'SBAggro';
	font-weight: 600;
	src: local('SBAggroB'), url(./fonts/SBAggroB.ttf) format('woff2')
}


:root{
	--color-m:#10348D;
	--color-d:#04226d;
	--color-none:#f5f5f5;
	--color-b:#e7e4e4;
	--color-tb: #d5d5d5;
	--bg-m: #f3f4f9;
}

html{min-width:320px}
html, body{font-size: 16px; margin:0;padding:0;font-family:'Pretendard', sans-serif;color:#333}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'Pretendard', sans-serif}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
address{font-style:normal}
sub{font-size:1em}
ul, ol, dl, dt, dd{margin:0;padding:0;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle;font-size:1em}
input, button {margin:0;padding:0;font-family: 'Pretendard', sans-serif;font-size:1em}
input[type="submit"]{cursor:pointer}
button{cursor:pointer;background-color:transparent;border:0}
button:focus{outline:0}
label, button{cursor:pointer}
img{max-width:100%}
textarea, select{font-family:'Pretendard', sans-serif;font-size:1em}
select{margin:0}
table{border-collapse:collapse; width: 100%;}
table caption{display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0 !important;line-height:0;border:0 !important;overflow:hidden !important}
table,td,th{border-spacing:0}
em, address{font-style:normal}
/*select::-ms-expand{display:none} select design 시에만 풀기 */
p {margin:0;padding:0;word-break:keep-all; line-height: 1.4;}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:#333;text-decoration:none;transition:.3s}
a:hover{text-decoration:none}
*, :after, :before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
input::placeholder,
textarea::placeholder{color:#a4a4a4}
input:disabled,
select:disabled{background-color:var(--color-none)}
input:read-only{background-color:var(--color-none)}
input[type="text"],input[type="password"], textarea{transition:.3s ease-in-out;outline:none}

/* UI */
.txt-under{border-bottom:1px solid #000;padding-bottom:3px}
.list-data-none{text-align:center;display:flex;align-items:center;justify-content:center}
.ico-new{color:#ff4582;font-size:14px;font-weight:200}
.ico-badge{display:inline-block;background-color:#f0f5fb;font-size:13px;color:#0091ea;padding:2px 15px 3px 15px;border-radius:20px;text-align:center}
.ico-scroll{z-index:20;text-align:center;animation:scrollUp 1s ease infinite;transition:.3s}

.btn-bg{position:relative;display:inline-block;z-index:2;overflow:hidden;background-color:#fff}
.btn-bg::before,
.btn-bg::after{position:absolute;display:block;z-index:-1;content:''}
.btn-bg,
.btn-bg::before,
.btn-bg::after{-webkit-transition:.3s;transition:.3s}
.btn-bg:hover{color:#fff}
.btn-bg::after{top:0;left:0;width:100%;height:100%;-webkit-transform: scale(.5);transform:scale(.5)}
.btn-bg:hover::after{background-color:#326bcd;-webkit-transform:scale(1);transform:scale(1)}

.check-wrap{display:flex;align-items:center;flex-wrap:wrap}
.check-wrap .check-box{margin:2px 20px 2px 0}
.check-box{position:relative;padding-left:30px;text-align:left}
.check-box input[type="checkbox"]{display:none}
.check-box input[type="checkbox"] + label{cursor:pointer}
.check-box input[type="checkbox"] + label:before{position:absolute;background-color:#fff;top:50%;transform:translateY(-50%);left:0;display:inline-block;cursor:pointer;width:20px;height:20px;border-radius:0;border:1px solid #d2d2d2;content:""}
.check-box input[type="checkbox"]:checked + label:before{content:"\e929";font-family:'xeicon';font-size:1.1em;color:#fff;background-color:var(--color-m);border-color:var(--color-m)}
.check-box.txt-none{text-align:center;padding:0;width:20px;height:20px;margin:0 auto}
.check-box.txt-none label{text-indent:-999%;overflow:hidden;font-size:0}
.check-box.txt-none input[type="checkbox"]:checked + label:before{font-size:1rem;text-indent:0}

.radio-wrap{display:flex;align-items:center;flex-wrap:wrap}
.radio-wrap .radio-box{margin:2px 20px 2px 0}
.radio-box{position:relative}
.radio-box input[type="radio"]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.radio-box input[type="radio"] + label{display:block;position:relative;padding-left:20px;color:#555;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}
.radio-box input[type="radio"] + label:before{content:'';position:absolute;left:0;top:4px;width:16px;height:16px;text-align:center;background: #fff;border:1px solid #a2a2a2;border-radius:50%}
.radio-box input[type="radio"]:checked + label:after{content:'';position:absolute;top:9px;left:5px;width:6px;height:6px;background:#000;border-radius:50%}

.input-text{border:1px solid var(--color-b);padding:5px;width:100%;height:45px; position: relative;}
select.input-text{border:1px solid var(--color-b);padding:5px 30px 5px 10px;width:auto;-webkit-appearance:none;-moz-appearance: none;appearance:none;background: url('../img/common/ico-selectArrow.png') #fff right 10px center no-repeat}
.input-text.year{padding:5px 10px; width:120px;}

.item-dot > li{position:relative;padding-left:15px}
.item-dot > li:not(:last-child){margin:5px 0}
.item-dot > li:before{display:block;content:"";position:absolute;top:10px;width:4px;height:4px;background-color:#fff;left:0;border-radius:50%}
.item-dot > li:last-child{margin-bottom:0}

.item-hipen > li{position:relative;padding-left:15px}
.item-hipen > li:not(:last-child){margin:5px 0}
.item-hipen > li:before{display:block;content:"-";position:absolute;top:0;left:0}

.item-square > li{position:relative;padding-left:15px}
.item-square > li:not(:last-child){margin:5px 0}
.item-square > li:before{width:4px;height:4px;background-color:#a2a2a2;position:absolute;display:block;content:"";left:0;top:10px}

.board-subject{width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.board-con{display:block;text-overflow:ellipsis;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}
.board-img{position:relative;overflow:hidden}
.board-img img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:.3s;width:100%;min-width:100%;min-height:100%}

.hexagon{width:100px;height:55px;background:pink;position:relative}
.hexagon:before{content:"";position:absolute;top:0px;left:-16px;width:0;height:0;border-top:21px solid transparent;border-bottom:21px solid transparent;border-right:16px solid pink}
.hexagon:after{content:"";position:absolute;top:0;right:-16px;width:0;height:0;border-top:21px solid transparent;border-bottom:21px solid transparent;border-left:16px solid pink}

/* swiper */
.swiper-button-prev,
.swiper-button-next{background:none;width:auto;height:auto;margin-top:0;transform:translateY(-50%)}

/* layout */
.sub-con .root_daum_roughmap .wrap_controllers{display:none}
.sub-con .root_daum_roughmap{width:100%;height:580px}
.sub-con .root_daum_roughmap .wrap_map{height:100%}
.cinner{width:1500px;margin:0 auto}
.layout-flex{display:flex;align-items:center;justify-content:space-between}
.layout-flex.align-start{align-items:flex-start}
.layout-flex.align-end{align-items:flex-end}
.layout-flex.justify-start{justify-content:flex-start}
.bg-cover{background:url('') center no-repeat;background-size:cover}

.sound-only{display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0 !important;line-height:0;border:0 !important;overflow:hidden !important}

/* color */
.c-main{color:var(--color-m)}
.c-sub{color:var(--color-s)}
.c-point{color:var(--color-point)}
.c-light{color:var(--color-light)}
.c-black{color:#000}
.c-red{color:#ff0000}

/* sort */
.txt-c{text-align:center}
.txt-l{text-align:left}
.txt-r{text-align:right}

/* response */
.mode-pc{display:block}
.mode-mobile{display:none}

/*img-object-fit*/
.img-cover{width: 100%; height: 100%; object-fit: cover;}
.img-contain{width: 100%; height: 100%; object-fit: contain;}

/*말줄임표*/
.ellipsis{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;}

/*button*/
.btn-side-wrap{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 20px;}
.btn-center-wrap{display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px;}
.btn-right-wrap{display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 20px;}
.btn-column-wrap{display: flex; flex-direction: column; gap: 10px; margin-top: 20px;}
.btn-wrap{display: flex; gap: 10px}

.btn-common{font-size: 1.125rem; font-weight: 500;display: flex; align-items: center; justify-content: center; padding: 10px; min-width: 120px; height: 50px; color: #333; background-color: white; border: 1px solid #d5d7d7; transition: 0.3s;}
.btn-common:hover{background-color: #f7f7f7;}
.btn-common.btn-icon{gap: 10px;}
.btn-common.bg-main{background-color: var(--color-m); border-color: var(--color-m); color: white;}
.btn-common.bg-main:hover{background-color: var(--color-d); border-color: var(--color-d);}
.btn-common.line{border: 1px solid var(--color-m); color: var(--color-m);}
.btn-common.line:hover{background-color: var(--color-m); color: white;}

/*header*/
#hd{position:fixed; top:0; left:0; width:100%; height:100px; z-index:1000; background-color: transparent; border: 1px solid rgba(255, 255, 255, 0.2); transition: .3s;}
#hd::before{content: ''; display: block; width: 100%; height: 0; background-color: white; position: absolute; top: 99px; left: 0; z-index: -1;}
.header-inner{max-width: 1400px; width: calc(100% - 40px); height: 100%; margin: auto; display: flex; justify-content: space-between; align-items: center; gap: 150px;}
.header-inner .logo{display: block; width: 455px; height: 60px; background: url(../img/common/logo-white.png) center / contain no-repeat; overflow: hidden; position: relative; z-index: 2500;}
.header-inner .hd-nav{flex: 1;}
.header-inner .ul-nav1{display: flex; justify-content: space-between; align-items: center;}
.header-inner .ul-nav1 > li{position: relative; flex: 1; text-align: center;}
.header-inner .nav1-item{font-size: 1.25rem; font-weight: 600; color: white; padding: 0 20px; line-height: 100px;}
.header-inner .ul-nav2{width: 100%; padding: 20px 0; text-align: center; position: absolute; top: 100px; left: 50%; transform: translateX(-50%);}
.header-inner .ul-nav2.off{display: none;}
.header-inner .ul-nav2 > li:not(:last-of-type){margin-bottom: 20px;}
.header-inner .nav2-item{display: block; font-size: 1.125rem; font-weight: 600;}
.header-inner .nav2-item:hover{color: var(--color-m);}

.header-inner .btn-sitemap{position: relative; display: inline-block; width: 32px; height: 24px; z-index: 2500;}
.header-inner .btn-sitemap .center-bar,
.header-inner .btn-sitemap::before,
.header-inner .btn-sitemap::after{display: block; width: 100%; height: 2px; background-color: white; position: absolute; transition: .3s;}
.header-inner .btn-sitemap .center-bar{top: 50%; left: 0; transform: translateY(-50%);}
.header-inner .btn-sitemap::before{content: ''; top: 0; left: 0;}
.header-inner .btn-sitemap::after{content: ''; bottom: 0; left: 0;}

:where(body.black, .sub-wrap) #hd{background-color: rgba(255, 255, 255, 0.5); border-bottom-color: #ddd;}

/*header bg-white*/
#hd.bg-white,
:where(body.black, .sub-wrap) #hd.bg-white{background-color: white; border-bottom-color: var(--color-b);}
:where(#hd.bg-white, body.black, .sub-wrap) .header-inner .logo{background-image: url(../img/common/logo-color.png);}
:where(#hd.bg-white, body.black, .sub-wrap) .header-inner .nav1-item{color: #333;}

#hd.bg-white .header-inner .nav1-item:hover{color: var(--color-m);}
:where(#hd.bg-white, body.black, .sub-wrap) .header-inner .btn-sitemap .center-bar,
:where(#hd.bg-white, body.black, .sub-wrap) .header-inner .btn-sitemap::before,
:where(#hd.bg-white, body.black, .sub-wrap) .header-inner .btn-sitemap::after{background-color: var(--color-m);}

/*site map*/
.site-map{width: 100%; height: 100vh; background: white url(../img/main/img-sitemapBg.png) bottom / cover no-repeat; position: fixed; top: 0; left: 0; z-index: 2000; display: none;}
.site-map .map-con{height: 100%; margin: 100px 20px 0; border-top: 1px solid var(--color-b); padding: 100px calc((100% - 1400px) / 2); overflow: auto;}
.site-map .ul-map1{display: flex; gap: 30px; border-bottom: 1px solid var(--color-b);}
.site-map .ul-map1 > li{flex: 1;}
.site-map .ul-map1 > li:hover .map1-item::after{width: 100%;}
.site-map .map1-item{display: block; font-family: 'SBAggro'; font-size: 2.125rem; font-weight: 500; padding-bottom: 16px; margin-bottom: 16px; position: relative;}
.site-map .map1-item::before,
.site-map .map1-item::after{content: ''; display: block; height: 3px; position: absolute; left: 0; bottom: 0;}
.site-map .map1-item::before{width: 100%; background-color: var(--color-b);}
.site-map .map1-item::after{width: 20%; background-color: var(--color-m); transition: .3s;}
.site-map .map2-item{display: block; font-size: 1.25rem; font-weight: 600; margin-bottom: 16px;}
.site-map .map2-item:hover{color: var(--color-m);}
.site-map .ul-etc{margin-top: 20px;}
.site-map .ul-etc .etc-item{display: block; font-size: 1.125rem; font-weight: 600; color: #777; margin-bottom: 5px; transition: .3s;}
.site-map .ul-etc .etc-item:hover{color: var(--color-m);}

#hd.on::before{animation: header-bg .3s forwards;}
@keyframes header-bg{
	0%{height: 0;}
	100%{height: 180px;}
}
#hd.off::before{animation: header-bg-off .3s forwards;}
@keyframes header-bg-off{
	0%{height: 180px;}
	100%{height: 0;}
}
#hd.on .header-inner .nav2-item{animation: nav2 .2s forwards;}
@keyframes nav2{
	0%{opacity: 0; transform: translateY(5px);}
	100%{opacity: 1; transform: translateY(0);}
}
#hd.off .header-inner .nav2-item{animation: nav2-off .2s forwards;}
@keyframes nav2-off{
	0%{opacity: 1; transform: translateY(0);}
	100%{opacity: 0; transform: translateY(5px);}
}

.header-inner .btn-sitemap.on .center-bar{left: 5px; opacity: 0;}
.header-inner .btn-sitemap.on::before{top: 50%; transform: translateY(-50%) rotate(45deg);}
.header-inner .btn-sitemap.on::after{bottom:0; top: 50%; transform: translateY(-50%) rotate(-45deg);}


/*sec-footer*/
.sec-footer{background-color: #333; color: #bcbcbc;}
.sec-footer .sec-inner{margin: auto; padding: 50px 0; text-align: center;}
.sec-footer .f-logo{display: block; margin: auto; margin-bottom: 20px;}
.sec-footer .tel{color: white; font-size: 1.25rem; display: flex; justify-content: center; margin-bottom: 20px;}
.sec-footer .tel dt{padding-right: 10px; margin-right: 10px; position: relative;}
.sec-footer .tel dt::after{content: ''; display: block; width: 1px; height: 100%; background-color: #555; position: absolute; right: 0; top: 0;}



@media (max-width:1400px){
	.header-inner{gap: 50px;}
}
@media (max-width:1200px){
	.header-inner{gap: 20px;}
	.header-inner .logo{width: 390px;}
	.header-inner .nav1-item{padding: 0;}

	.site-map .map-con{padding: 50px 0;}
	.site-map .ul-map1{flex-wrap: wrap;}
	.site-map .ul-map1 > li{flex: 1 1 40%;}
}
@media (max-width:1024px){
	html, body{font-size: 14px;}
	#hd{height: 80px;}
	.input-text{height: 40px;}
	body.black #hd{background-color: rgba(255, 255, 255, 0.8);}

	.header-inner .hd-nav{display: none;}

	.site-map .map-con{margin: 80px 20px 0; height: calc(100% - 80px);}

	.sec-footer .f-logo{width: 390px;}
}
@media (max-width:720px){

	/* response */
	.mode-pc{display:none}
	.mode-mobile{display:block}

	#hd{height: 60px;}
	.header-inner .logo{width: 300px;}
	.site-map .map-con{margin: 60px 20px 0; height: calc(100% - 60px);}
	.site-map .map1-item{font-size: 2.25rem;}

	.sec-footer .f-logo{width: 300px;}
}

@media (max-width:480px){
	.header-inner .logo{width: 230px;}
	.site-map .ul-map1{flex-direction: column; gap: 30px;}

	.sec-footer .sec-inner{padding: 30px 0;}
	.sec-footer .f-logo{width: 230px;}
}