@charset "UTF-8";


/***************************************************
■ 헤더
****************************************************/
#wrap{--gnd-height:2.8125rem; --head-height:clamp(4.375rem, 4rem + 1.875vw, 6.25rem); --header-height:calc(var(--gnd-height) + var(--head-height)); --nav-width:32.76%;}
#header{position:relative; width:100%; z-index:100;  background: #fff; --header-border:1px solid #E7E7E7;   border-bottom:var(--header-border);}
#header .header_inner{display: flex; justify-content: space-between;  align-items: center; padding:0 var(--side-padding); height:var(--head-height); text-align:center; max-width:var(--content-width); margin:0 auto;}
#header .logo a {display: flex; align-items: center;}
#header .logo img{height: var(--logo-height);}


/*----- 탑메뉴 -----*/
#header .gnb{display: flex; align-items: center; justify-content: flex-end; padding:0 var(--side-padding); margin:0 auto; height: var(--gnd-height); max-width:var(--content-width); font-size:var(--font-size-15);  background: #fff; position:relative;}
#header .gnb:after {content:''; display:block; width:100vw; height:1px; background:#E7E7E7; position:absolute; bottom:0; left:50%; transform:translateX(-50%);}
#header .login_menu {display:flex; align-items: center; justify-content: flex-end; }
#header .login_menu > li{display:inline-flex; height: var(--gnd-height); align-items: center; color:var(--Text-Color-Basic-1); font-weight:400; position:relative;}
#header .login_menu > li:not(:first-child){margin-left:var(--num-14); padding-left:var(--num-14);}
#header .login_menu > li:not(:first-child):after {content:'';  position:absolute; top:50%; left:0; display:block; width:1px; height:0.75rem; background: rgba(86, 86, 86, 0.50); opacity:0.3; transform:translateY(-50%);}
#header .user .userName{display: inline-block; max-width: 10rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration:underline; text-underline-position: under;}
#header .leftTime .time{position:relative; display:inline-block; height: 1.125rem; vertical-align: middle; padding-left:1.2rem; color:var(--Brand-Color-main); }
#header .leftTime .time:before{content:""; position:absolute; left:0px; top:0; width:1rem;  height: 1rem; background-color: #121212; forced-color-adjust: none; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat; mask-position: center center; mask-size: contain; -webkit-mask-image: url(/images/default/main/icon_log.svg); mask-image: url(/images/default/main/icon_log.svg);}
#header .leftTime a{display:inline-block; background:#F2F3F5; color:var(--Brand-Color-main); margin-left:0.5rem; line-height:1.5rem; cursor:pointer; padding:0 0.5rem; border-radius:0.5rem; -webkit-border-radius:0.5rem;}
#header .login_menu .only_login_menu {display:flex; align-items: center; }
#header .login_menu .only_login_menu > div a {display:block; align-content: center; height: var(--gnd-height);}
#header .login_menu .only_login_menu > div:last-child {margin-left:var(--num-14); padding-left:var(--num-14); position: relative;}
#header .login_menu .only_login_menu > div:last-child:after {content: ''; position: absolute; top: 50%; left: 0; display: block;  width: 1px;  height: 0.75rem;  background: rgba(86, 86, 86, 0.50); opacity: 0.3;  transform: translateY(-50%);}

/*----- 헤더 네비게이션 -----*/
#header #nav {display: flex; align-items: center; gap:clamp(1.5rem, 1.175rem + 1.625vw, 3.125rem);}
#header #nav > ul {display:flex; gap:clamp(1rem, 0.575rem + 2.125vw, 3.125rem)}
#header #nav > ul > li { text-align:center;  display:inline-block; vertical-align:top;}
#header #nav > ul > li:has([data-label='마이페이지'], [data-label='회원서비스']) {display:none !important;}
#header #nav > ul > li:nth-child(5) > div {position:relative;}
#header #nav > ul > li:nth-child(5) > div:before {content:''; display:block; width:1px; height: 0.78125rem; background:rgba(0, 0, 0, 0.30); position:absolute; top:50%; left:calc(-1 * (clamp(1rem, 0.575rem + 2.125vw, 3.125rem) / 2)); transform: translateY(-50%);}
#header #nav > ul > li:nth-child(5) > div:after {content:''; display:block; width:0.76rem; height:0.8125rem; background-color: var(--Sodal-main);  forced-color-adjust: none;  -webkit-mask-repeat: no-repeat;  -webkit-mask-position: center center;  -webkit-mask-size: contain;  mask-repeat: no-repeat;  mask-position: center center;  mask-size: contain;  -webkit-mask-image: url(/images/default/main/sodal-point.svg);  mask-image: url(/images/default/main/sodal-point.svg); position: absolute; top: 30%; right: -0.8rem;}
#header #nav > ul > li:nth-child(5) > div > a,
#header #nav > ul > li:nth-child(5).on > div > a,
#header #nav > ul > li:nth-child(5) > div > a:hover {color:var(--Sodal-main);}

/* 회원가입, 마이페이지 메뉴 숨김처리 */
#header #nav > ul > li > div > a{position:relative; color:var(--Text-Color-Black); font-weight: 500; height: var(--head-height); line-height: var(--head-height); font-size:var(--font-size-18); display:inline-block;  transition:all 0.3s; visibility: hidden;}
#header #nav > ul > li > div > a[data-label] {visibility: visible;}
#header #nav > ul > li.on > div > a {color:var(--Brand-Color-main);}
#header #nav > ul > li > ul {display:flex; align-items: flex-start; align-content: flex-start; flex-wrap:wrap; gap:2rem clamp(1.25rem, 1.193rem + 0.285vw, 1.535rem); z-index: 100; position: absolute;  width:calc(100% - var(--nav-width)); height:23.5625rem; left:0; top:var(--header-height); padding-top:clamp(2.5rem, 2.375rem + 0.625vw, 3.125rem); padding-left:clamp(2.5rem, 2.375rem + 0.625vw, 3.125rem); padding-right: 13.54vw; margin-left:var(--nav-width); text-align: left; border-left:1px solid #ddd; visibility: hidden; opacity: 0; transition-property: transform, visibility, opacity;  transition-duration: 300ms;  transition-timing-function: ease-in-out;}
#header #nav > ul > li > ul > li {display:inline-block; width:calc((100% - clamp(1.25rem, 1.193rem + 0.285vw, 1.535rem) * 2)/3)}
#header #nav > ul > li > ul > li > div:has(.second) { background: #F3F3F3;}
#header #nav > ul > li > ul > li .second {display:block; width:100%; height:100%; padding:clamp(0.5rem, 0.463rem + 0.188vw, 0.688rem) clamp(0.75rem, 0.713rem + 0.186vw, 0.936rem); font-size:var(--font-size-19); color:var(--Text-Color-Black);  font-weight: 500; transition: all 0.3s;}
#header #nav > ul > li > ul > li.on .second,
#header #nav > ul > li > ul > li .second:hover {background:var(--Brand-Color-main); color:#fff; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.2);}
#header #nav > ul > li > ul > li > ul {padding:0 clamp(0.5rem, 0.438rem + 0.313vw, 0.813rem); margin-top:clamp(0.75rem, 0.72rem + 0.15vw, 0.9rem);}
#header #nav > ul > li > ul > li > ul > li {display:flex; gap:clamp(0.125rem, 0.1rem + 0.125vw, 0.25rem); align-items: center; font-size: 1rem; color:#555; font-weight: 500;}
#header #nav > ul > li > ul > li > ul > li a.blank:after{content: "\f090";font-family: "remixicon"; display:inline-block; margin-left:0.5rem;  vertical-align: middle;}
#header #nav > ul > li > ul > li > ul > li:not(:first-child) {margin-top:clamp(0.375rem, 0.36rem + 0.075vw, 0.45rem);}
#header #nav > ul > li > ul > li > ul > li:before {content:''; display:block; flex-shrink:0; width:7px; height:auto; aspect-ratio:1; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' fill='none'%3E%3Ccircle cx='3.5' cy='3.5' r='2.5' stroke='%23555' stroke-width='2'/%3E%3C/svg%3E") no-repeat center center; background-size:100% auto;}
#header #nav > ul > li > ul > li > ul > li:hover {color:var(--Brand-Color-main)}
#header #nav > ul > li > ul > li > ul > li:hover:before {background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' fill='none'%3E%3Ccircle cx='3.5' cy='3.5' r='2.5' stroke='%23276EEF' stroke-width='2'/%3E%3C/svg%3E") no-repeat center center; background-size:100% auto;}
#header #nav > ul > li.on > ul{visibility: visible; opacity: 1; transform:translateX(0px);}



/*----- tnb -----*/
.tnb{display: flex; align-items: center; gap: clamp(0.375rem, 0.25rem + 0.625vw, 1rem);}
.btn-search{width: clamp(2rem, 1.775rem + 1.125vw, 3.125rem); height: auto; aspect-ratio: 1; border-radius:50%; background:var(--Brand-Color-susub); transition: all 0.3s ease;}
.btn-search i{ display: inline-block; width: 40%; aspect-ratio: 1; vertical-align: middle; background-color: #fff; forced-color-adjust: none; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat; mask-position: center center; mask-size: contain; -webkit-mask-image: url(/images/default/main/icon_search.svg); mask-image: url(/images/default/main/icon_search.svg);}
.btn-search:hover{box-shadow: inset 3px 3px 6px rgba(0, 0, 0, 0.3), 4px 4px 10px rgba(0, 0, 0, 0.1);}

/*sns 버튼*/
.sns_box ul {display:flex; gap:clamp(0.375rem, 0.25rem + 0.625vw, 1rem);}
.sns_box ul li > a {display: flex; align-items: center; justify-content: center; width:clamp(2rem, 1.775rem + 1.125vw, 3.125rem); height:auto; aspect-ratio:1; border-radius: clamp(0.75rem, 0.613rem + 0.688vw, 1.438rem); border-radius: clamp(0.75rem, 0.613rem + 0.688vw, 1.438rem); box-shadow: inset -2px -2px 4px rgba(255,255,255,0.9), inset 3px 3px 6px rgba(0,0,0,0.08), 4px 4px 10px rgba(0,0,0,0.1); border: 1px solid rgba(255,255,255,0.5); border: 1px solid rgba(255,255,255,0.6); transition: all 0.3s ease; text-decoration: none; position:relative; z-index:0;}
.sns_box ul li > a:hover {box-shadow: inset 3px 3px 8px rgba(0,0,0,0.15), inset -3px -3px 8px rgba(255,255,255,0.9); background-color:#dbeffe; transform: scale(0.97);}
.sns_box .sns_icon {display:inline-block; width:60%; height:auto; aspect-ratio:1; background-size:100% auto; background-repeat:no-repeat; background-position:center center;}
.sns_box .youtube_link .sns_icon {background-image:url('/images/default/main/sns_youtube.svg')}
.sns_box .insta_link .sns_icon {background-image:url('/images/default/main/sns_insta.svg')}
.sns_box .blog_link .sns_icon {background-image:url('/images/default/main/sns_blog.svg')}

/*검색창*/
.search_area{position: absolute; left: 0px;  top: -100%; width: 100%; height: 10rem;  padding: 0 var(--side-padding);  font-size: 1rem;  background: #fff;  border-top: 1px solid #ddd; z-index: 90;}
.search_area form{width:100%; max-width: var(--content-width); height:100%; display: flex;  align-items: center; justify-content: center; margin:0 auto;}
.search_area form fieldset{display: flex;  align-items: center; width: 100%; max-width: 61.75rem; margin: 0 auto;}
.search_area .search_input_wrap{ display: flex;  align-items: center; width:100%;  height:100%;}
.search_area .search_input_wrap .typeahead__field{position:relative; width: 100%;}
.search_area .search_input_wrap .typeahead__field .insearch{width:100%; border:2px solid var(--Brand-Color-main); border-radius: 0.5rem; height:4rem; padding: 0 5rem 0 2rem; overflow:hidden;} 
.search_area .search_input_wrap .typeahead__field .typeahead__cancel-button{display:inline-block; top:1.1em; right: 0; width:1.5rem; height:1.5rem; line-height:1.5rem; text-align:center; padding:0; background:#ecf5fc; color: #17639f; border-radius:50%; font-size: 1.1rem;}
.search_area form fieldset .closeBtn{font-size:2rem; color:var(--black); cursor:pointer; position:absolute; top: 50%; right: 4rem; transform: translateY(-50%);}
.search_area .typeahead__container.result .typeahead__list{top:3rem; padding:0;}
.search_area.open{top: var(--header-height);}
.divblind:is(.open) {height: 100vh; display: block; background: rgba(0, 0, 0, 0.25); opacity: 1;   visibility: visible;}

.search_area .search_input_wrap .typeahead__field button {display: flex; align-items: center; justify-content: center; width: auto; height: 100%; aspect-ratio:1; position: absolute; top: 0; right: 0; background: var(--Brand-Color-main); border-radius:0 0.5rem 0.5rem 0;}
.search_area .search_input_wrap .typeahead__field button .icon_search{display: inline-block; width: 1.5rem; aspect-ratio: 1; vertical-align: middle; background-color: #fff; forced-color-adjust: none; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat; mask-position: center center; mask-size: contain; -webkit-mask-image: url(/images/default/main/icon_search.svg); mask-image: url(/images/default/main/icon_search.svg);}



/*사이트맵 버튼*/
.ham_box {display:none;}
#header .btn-gnb-menu{ position:relative;cursor:pointer; text-align:center; z-index: 5;}
#header .btnAll {position:relative; display:block; width:var(--num-30); height:var(--num-20); outline: none; z-index:9999;}
#header .btnAll span{ display: inline-block; width: 100%; height: 0.2rem; border-radius:var(--radius-md); position: absolute; background-color: #000; -webkit-transition: all 0.25s; transition: all 0.25s; }
#header .btnAll > span:nth-child(1) { top: 0; right:0;}
#header .btnAll > span:nth-child(2) { top: 50%; right:0; width:80%;}
#header .btnAll > span:nth-child(3) { top: 100%; right:0;}
#header.open .btnAll > span:nth-child(1) { top: 0.5rem; -webkit-transform: rotate(-135deg); transform: rotate(-135deg); width: 1.5rem;}
#header.open .btnAll > span:nth-child(2) { top: 0; opacity: 0; width: 1.5rem;}
#header.open .btnAll > span:nth-child(3) { top: 0.5rem; -webkit-transform: rotate(135deg); transform: rotate(135deg); width: 1.5rem;}


/*사이트맵*/
#menuAll{position:absolute; z-index:10}
#menuAll:before{content:''; position:fixed; top:0; right:-100%; width:100%; height:100vh; background:rgba(0,0,0,0.6);  transition: right 0.2s ease-out 0s; -webkit-transition: right 0.2s ease-out 0s; 	z-index:-1;}
#navi{position:fixed; top:0; right:-120%; height:100dvh; width:30rem; padding-top:0; overflow:hidden; z-index:20; transition:right 0.45s ease-out 0s; -webkit-transition: right 0.45s ease-out 0s; background:#fff; }

#header.open #navi{ right:0;}
#header.open #menuAll:before{right:0;}

.mobile_gnb {display: flex; align-items: normal; justify-content: center; flex-direction: column; gap: var(--num-16); padding: var(--num-24); height: 3.75rem; text-align: left; background: #fff;  border-bottom:  1px solid var(--border-Color); position: relative; z-index: 1;}
.mobile_top {display: flex; align-items: normal; justify-content: flex-start; flex-direction: column;  flex: 1; overflow-y: auto; scroll-behavior: smooth;}
.mobile_top:before {content: ""; display:block; width: 9.5rem; height: 100%; background: var(--Brand-Color-bg); position: absolute; left: 0;top: 0; z-index: -1;}
.mobile_gnb .navi_close {position:absolute; top:50%; right:var(--num-24); transform:translateY(-50%);}
.mobile_gnb .navi_close .ico_close {display:block; width:1.5rem; height:1.5rem; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat;  mask-position: center center; mask-size: contain; -webkit-mask-image: url('/images/default/main/ico_close.svg'); mask-image: url('/images/default/main/ico_close.svg'); background:#212121;}
.mbtop > li {width: 9.5rem;}
.mbtop > li:has([data-label='삼척소달배움터']) > a {color: var(--Sodal-main); position:relative;}
.mbtop > li:has([data-label='삼척소달배움터']) > a:after {content:''; display:block; width:0.76rem; height:0.8125rem; background-color: var(--Sodal-main);  forced-color-adjust: none;  -webkit-mask-repeat: no-repeat;  -webkit-mask-position: center center;  -webkit-mask-size: contain;  mask-repeat: no-repeat;  mask-position: center center;  mask-size: contain;  -webkit-mask-image: url(/images/default/main/sodal-point.svg);  mask-image: url(/images/default/main/sodal-point.svg); position: absolute; top: 22%; right: 1.7rem;}
.mbtop > li a:is(.blank) {display: flex; gap: var(--gap-8);}
.mbtop > li a:is(.blank):after {content: "\f090"; align-self: center; font-family: "remixicon";  display: inline-block; vertical-align: middle;}
.mbtop > li > a {display: flex; align-items: center;  justify-content: flex-start;  flex-direction: row;  padding: 0 var(--num-24); height: 4rem;  text-align: left; line-height: 1.5; font-size: var(--font-size-16);  font-weight: 700; letter-spacing: -0.05em; position: relative;}
.mbtop > li .ulMenuDiv {display: none;  align-items: normal;  justify-content: flex-start;  flex-direction: column; padding: var(--num-24); padding-top: 0; padding-bottom: 40%; width: calc(100% - 9.5rem); height: 100%; overflow-y: auto; text-align: left; position: absolute;  right: 0;  top: 3.75rem;  }
.mbtop > li.open_li > a {background:#fff;}
.mbtop > li.open_li .ulMenuDiv {display:block;}
.mbtop > li .ulMenuDiv > ul > li > div > a,
.mbtop > li .ulMenuDiv > ul > li > div > a.withdraw {padding: var(--num-24) var(--num-16); display: block; font-size: var(--font-size-17); font-weight: 700; line-height: inherit; text-align: left; border-bottom: 1px solid var(--border-Color);}
.mbtop > li .ulMenuDiv > ul > li .third {display: flex; align-items: baseline; gap: 0.5rem;  padding:0.5rem 0.25rem; border-radius:0.25rem;}
.mbtop > li .ulMenuDiv > ul > li .third:before {content:'·';}
.mbtop > li .ulMenuDiv > ul > li .third:is(.active) {background:var(--Brand-Color-bg)}
.mbtop > li .ulMenuDiv > ul > li > ul {padding:var(--num-16); border-bottom: 1px solid var(--border-Color);}
.mbtop > li .ulMenuDiv > ul > li > ul > li:not(:first-child) {margin-top: 0.25rem;}


.bg_box{ position:absolute; left:0px; top:var(--header-height); width:100%; height:0; visibility: hidden; opacity: 0; border-top:1px solid #DBDBDB;  transition-property: height, visibility, opacity; transition-duration: 200ms;  transition-timing-function: ease-in-out; }
.bg_box .bg-title{position:absolute; left:0px; top:0; width:var(--nav-width); height:100%; color:var(--Text-Color-Black); background:#fff; border-bottom-right-radius:3rem; padding-left: 13.54vw; padding-top: clamp(2.5rem, 2.375rem + 0.625vw, 3.125rem); padding-right:clamp(2.5rem, 2.375rem + 0.625vw, 3.125rem); z-index:0;}

.bg_box .bg-title h2{margin-bottom:clamp(0.75rem, 0.688rem + 0.313vw, 1.063rem); font-weight:700; font-size: clamp(1.2rem, 1.152rem + 0.238vw, 1.438rem);  overflow:hidden;}
.bg_box .bg-title h2 span{display:inline-block; transform: translateY(10px); visibility: hidden;  opacity: 0; transition-property: transform, visibility, opacity;  transition-duration: 500ms;  transition-timing-function: ease-in-out;}
.bg_box .bg-title p{font-size:1rem;line-height: 130%; font-weight:400; transform: translateY(20px); visibility: hidden;  opacity: 0; transition-property: transform, visibility, opacity;  transition-duration: 500ms;  transition-timing-function: ease-in-out; transition-delay: 0.3s;}
.bg_box .bg-nav{background:#fff; height:100%;}

.divblind{display: block;  position: fixed;  z-index: 0;  top: 0;  left: 0;  width: 100%;  height: 100vh; background-color: transparent; font-size: 0; line-height: 0;  box-sizing: border-box; visibility: hidden; opacity: 0;  transition-property: visibility, opacity, background-color;  z-index:21;}

:has(#header.over) .bg_box,
.bg_box.active{height:23.5625rem; visibility: visible; opacity: 1;}
:has(#header.over) .bg_box .bg-title h2 span,
:has(#header.over) .bg_box .bg-title p,
.bg_box.active .bg-title h2 span,
.bg_box.active .bg-title p{transform: translateY(0px); visibility: visible;  opacity: 1;}
:has(#header.over) .divblind ,
.divblind.active {    background-color: rgba(0, 0, 0, 0.6);     opacity: 1;    visibility: visible; }


/*드랍메뉴*/
.my-drop {position:relative;}
#header .my-drop-list {display:none; position: absolute;  top:90%; left: 50%;z-index: 106;  min-width: 10.5rem;  border-radius: 0.5rem;  padding: 0.5rem; background-color: #fff;  border: 1px solid #ddd; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; transform: translateX(-50%);}
#header .my-drop-list.active {display:block;}
#header .my-drop-list:before {content: "";width: 0.6rem;height: 0.6rem;position: absolute;bottom: 100%;left: 50%; display: block; margin-bottom: -0.3rem; margin-left: -0.3rem; transform: rotate(-135deg); background-color: #fff; border: 1px solid #ddd; border-top-color: transparent; border-left-color: transparent; transition: 0.3s cubic-bezier(0.79,0.14,0.15,0.86); pointer-events: none;}
#header .my-drop-list .drop-in {display: flex;  align-items: flex-start;  justify-content: flex-start;  flex-direction: column;  gap: 0.4rem;  position: relative;  z-index: 1;}
#header .my-drop-list .my-menus {flex-wrap: wrap; gap: 0.25rem; padding: 0; width: 100%;}
#header .my-drop-list .my-menus li {width:100%;}
#header .my-drop-list .my-menus .item-link { display: flex; align-items: center; justify-content: flex-start; flex-direction: row;  gap: 0.4rem;  padding: 0.4rem 0.25rem;  width: 100%; font-size: var(--font-size-15); border-radius: 0.3rem;  height: auto;  background-color: #fff; transition: 0.3s cubic-bezier(0.79,0.14,0.15,0.86);}
#header .my-drop-list .my-menus .item-link:is(:hover,:focus) {background:#F9F9F9; color:var(--Brand-Color-main)}


@media (max-width:1760px){
	#wrap{--nav-width:25%;}
	.bg_box .bg-title {padding-left:var(--side-padding)}
}
@media (max-width:1560px){
	/*드랍메뉴*/
	#header .my-drop-list {left: calc(50% - 2.5rem);}
	#header .my-drop-list:before {left: auto; right: 2rem;}
}
@media (max-width:1280px){
	#wrap{--nav-width:25%;}
	.bg_box .bg-title {padding-left:var(--side-padding)}
}
@media (max-width:1030px){
	#header .gnb {display:none;}
	#header #nav > ul {display:none;}
	#header .login_menu {justify-content: flex-start; font-size:0.875rem;}
	#header .login_menu > li:not(:first-child) {margin-left: var(--num-10); padding-left: var(--num-10);}
 	#header .login_menu:is(.is-login) {flex-wrap:wrap; gap: 0.4rem 0; align-items: center; padding-right: 2rem;}
 	#header .login_menu:is(.is-login) > li {height:auto;}
	#header .login_menu li:nth-child(3) {padding-left:0; margin-left:0;}
	#header .login_menu li:nth-child(3):after {display:none;}
	#header .login_menu .only_login_menu > div a {height:auto;}
	
	/*----- tnb -----*/
	.tnb {display: flex; align-items: center; gap: clamp(1.5rem, 1.4rem + 0.5vw, 2rem);}
	.tnb > .sns_box {display:none;}
	.sns_box .sns_icon {width: 60%;}
	.ham_box {display:block;}
	.btn-search{width: clamp(2.5rem, 2.375rem + 0.625vw, 3.125rem);}

		
	/* 사이트맵 */
	#menuAll .mobile_sns {display: inline-block; padding: 0 var(--num-24); width: 7.75rem; position: absolute; bottom:calc(var(--num-24) + env(safe-area-inset-bottom)); left: 0;}
	#menuAll .mobile_sns .sns_box ul {display:inline-flex; flex-direction:column; width: 100%;}
	#menuAll .mobile_sns .sns_box ul li > a {width: clamp(2.5rem, 2.375rem + 0.625vw, 3.125rem); background:#fff; border:1px solid #ddd; box-shadow:unset;}
	#menuAll:has(.is-login) .mbtop > li .ulMenuDiv {padding-bottom: 50%; top: 5rem;}
	.mobile_gnb:has(.is-login) {justify-content: center; padding: var(--num-12) var(--num-16); height: 5rem;}
	.mobile_gnb:has(.is-login) .navi_close {top: 0.95em; transform: unset;}
	
	.search_area {height: 8rem;}
	.search_area.open{top:var(--head-height); padding-right:4rem;}
	.search_area form fieldset .closeBtn{right:1rem;}
	.search_area .search_input_wrap .typeahead__field .insearch{padding:0 1rem;}
	
}

@media (max-width:768px){
	#header #navi {width:100%;}
	#header .login_menu { align-items: flex-start;}
	#header .login_menu > ul {display: flex; align-items: center;}
	#header .login_menu li:is(.only_login_menu) {flex-basis: 100%;}
	.mobile_gnb .navi_close {right: var(--num-16);}
	.mobile_gnb .navi_close .ico_close {width: 1.25rem; height: 1.25rem;}
	
	
}
@media (max-width:467px){
	#header .jobBtn .plus{display:none;}
	#header .jobBtn img{height:1.6rem;}
	
	/* 	사이트맵 */
	.mobile_top:before {width: 8rem;}
	.mbtop > li {width: 8rem;}
	.mbtop > li > a {padding: 0 var(--num-16); padding-right: 0;}
	.mbtop > li .ulMenuDiv {padding-top: var(--num-16); padding-right: var(--num-16); padding-left: var(--num-16); width: calc(100% - 8rem);}
	.mbtop > li:has([data-label='삼척소달배움터']) > a:after {right: 1rem;}
	
	/*----- 탑메뉴 -----*/
	#header .user .userName{max-width: 3.5rem;}
}

/***************************************************
■  푸터
****************************************************/
#footer{position:relative; overflow: hidden;}
#footer .inn {margin:0 auto; padding:clamp(3rem, 2.788rem + 1.063vw, 4.063rem) var(--side-padding) var(--num-64); width:100%; max-width:var(--content-width-mx); color:#fff; font-weight:300; position:relative; z-index:0;}
#footer .inn:after {content:''; display:block; width:100vw; height:100%;  background: #353535; position:absolute; top:0; left:50%; transform:translateX(-50%); z-index:-1}

.foot_logo{display:none;     }
.foot_logo img{height: var(--logo-height);}

/*----- 푸터 메뉴 -----*/
.f_menu {display: flex; justify-content: center; align-items: center; height:clamp(4rem, 3.8rem + 1vw, 5rem); color:var(--Text-Color-Basic-1); font-size:var(--font-size-16); border-top:1px solid #D9D9D9;}
.f_menu ul {display:flex;}
.f_menu ul > li:not(:last-child) {margin-right:clamp(1rem, 0.037rem + 4.813vw, 5.813rem); padding-right:clamp(1rem, 0.037rem + 4.813vw, 5.813rem); border-right:1px solid #ddd;}
.f_menu b {color:var(--Text-Color-Black);}

/* 푸터 사이트 정보 */
.f_info {display:flex; gap:var(--gap-30) var(--gap-40); font-size:var(--font-size-16); justify-content: space-between;}

.f_info_text {width: 46%;}
.f_info_text ul {display:flex; gap: 0 var(--num-50); flex-wrap:wrap;}
.f_info_text li{display:flex; letter-spacing: -0.4px;}
.f_info_text li .flex {display:flex; gap:1rem 0;}
.f_info_text .f_tel_list {display:flex; gap: 0.725rem var(--num-70); flex-wrap:wrap;}
.f_info_text .f_tel_list .flex .slash  {font-weight:400;}
.f_info_text li [class^="icon_"]{background-color:#fff; margin-top: -3px; margin-right:0.5rem;}
.f_info_text li span{font-weight:700; font-size:var(--font-size-16)}
.f_info_text li.f_tel {flex: 1; flex-direction: column; gap: clamp(1rem, 0.875rem + 0.625vw, 1.625rem); flex-wrap:wrap; margin-top:0;}
.f_info_text li.f_tel > span {width:100%;}
.f_info_text li.f_time .f_time_cont {flex: 1; margin-top:0;}
.f_info_text li.f_time .f_time_cont span {padding-right:0.8rem; margin-right:0.8rem; position:relative;}
.f_info_text li.f_time .f_time_cont span:after {content:''; display:block; width:2px; height:1rem; background:#fff; position:absolute; top:0.07em; right:0;}
.f_info_text li.f_tel .flex > span {flex-shrink: 0; width:8.75rem;}
.f_info_text li.f_tel strong{width:100%; font-family: var(--ff-heading); font-size: var(--font-size-24); font-weight: 800; letter-spacing: -0.575px; margin-top:var(--num-30)}
.f_info_text li.f_add,
.f_info_text li.f_time {align-items: baseline; gap: 0.5rem var(--num-30); flex-basis:100%;}
.f_info_text li.f_time {margin-top:clamp(3rem, 2.587rem + 2.063vw, 5.063rem);}
.f_info_text li.f_add {margin-top:clamp(0.5rem, 0.45rem + 0.25vw, 0.75rem); line-height: 1.5;}
.f_info_text li.f_add > span,
.f_info_text li.f_time > span {flex-shrink:0; width:7.6rem; flex-shrink:0;}

.f_info_sns h6{position:relative; font-family: var(--ff-heading); font-size: var(--font-size-16); font-weight: 800; margin-bottom:var(--num-30); padding-left:var(--num-30); z-index:0;}
.f_info_sns h6:before{content: ""; position: absolute; left: -0.219rem; top: 0.4em; width: 0.438rem; aspect-ratio: 1;  border-radius: 50%;  background: #F2C600;  outline: 3px solid #353535; z-index: 1;}
.f_info_sns h6:after { content: ""; position: absolute; left: -0.219rem; top: 0.4em; width: 0.438rem; aspect-ratio: 1; border-radius: 50%; background: #F2C600; outline: 10px solid rgba(242, 198, 0, 0.3);}
.f_info_sns ul{display: flex; padding:var(--num-24) 0; border-radius: var(--num-30); background: rgba(255, 255, 255, 0.20);}
.f_info_sns ul li{flex:1; width:var(--num-100);  text-align: center;}
.f_info_sns ul li:not(:first-child){border-left: 1px solid rgba(255, 255, 255, 0.40);}
.f_info_sns ul li .sns_icon { display: inline-block; width: 1.875rem; height: auto; aspect-ratio: 1; background-size: 100% auto; background-repeat: no-repeat; background-position: center center;}
.f_info_sns ul li.youtube_link .sns_icon {background-image:url('/images/default/main/sns_youtube_w.svg')}
.f_info_sns ul li.insta_link .sns_icon {background-image:url('/images/default/main/sns_insta_w.svg')}
.f_info_sns ul li.blog_link .sns_icon {background-image:url('/images/default/main/sns_blog_w.svg')}

.f_info_logos{text-align:right; display: flex; flex-direction: column; justify-content: space-between;; gap:var(--num-20);}
.f_info_logos .logos{display:flex; gap:var(--num-32);}
.f_info_logos .logos li img {height:clamp(2rem, 1.9rem + 0.5vw, 2.5rem);}

.f_info_logos .copy{font-size:var(--font-size-15); color: rgba(255, 255, 255, 0.40); font-weight:400; letter-spacing: -0.375px;}

/* 플로팅 메뉴 */
.float_anchor {display: flex; justify-content: flex-end; margin: 0 auto; padding: 0 var(--side-padding); padding-right:calc(var(--side-padding) + (7.625rem / 2.85)); width: 100%; height: clamp(3rem, 2.725rem + 1.375vw, 4.375rem); max-width: var(--content-width-mx); position:absolute; top:var(--num-30); left:50%; transform:translateX(-50%); pointer-events: none;}
.float_btn {display:flex; flex-direction:column; gap:clamp(1rem, 0.95rem + 0.25vw, 1.25rem); position: relative; z-index: 2; transition:all 0.3s; pointer-events: auto;}
.float_btn:before{content:""; position:absolute; left:50%; bottom:-1.1rem; width:197px; aspect-ratio: 197 / 38; background:url(/images/default/main/float_btn.svg)no-repeat 50% bottom; background-size:100%; z-index:-1; transform:translateX(-50%);}
.float_btn button { width:clamp(3rem, 2.725rem + 1.375vw, 4.375rem); height:auto; aspect-ratio:1; border-radius: 50%; background: url('/images/default/main/icon_top.svg')no-repeat 50% 50%, linear-gradient(139deg, #3182F7 16.43%, #176EEB 53.23%, #4BB4FF 82.41%); font-size: 0;}
.float_btn button:hover{box-shadow:0 0.5em 1rem rgba(0,0,0,0.2)}
.float_btn button.btn_quick {background: var(--BTN-BG-Color-Grandiant); color:#fff;}

.under390 {display:none;}

@media (max-width:1440px){
	.foot_logo{display:block; margin-bottom:var(--num-40);}
	.f_info{flex-wrap: wrap;}
	.f_info_text{ flex: 1; width:100%;}
	.float_anchor {padding-right:var(--side-padding)}
	
	.f_info_text .f_tel_list {gap: 0.725rem 2rem; max-width: 41.875rem;}
	
	.f_info_logos{width:100%;  text-align: left;}
	.f_info_logos .logo{display:none;}
}
@media (max-width:1028px){
	.f_tel_list {display:flex; flex-wrap:wrap; gap: 0.5rem 1.5rem;}
	.f_info_text .f_tel_list .flex {gap:0;}
	.f_info_text li .flex:not(:first-child) {margin-top:0;}
	.f_info_text li.f_tel .flex > span { width: 9rem;}
}
@media (max-width:768px){
	#footer .inn{padding:clamp(3rem, 2.813rem + 0.938vw, 3.938rem) var(--side-padding) var(--num-60);}
	.float_btn{top:calc(clamp(3rem, 2.813rem + 0.938vw, 3.938rem) + (clamp(3rem, 2.725rem + 1.375vw, 4.375rem) / 1.5));}
	.float_btn:before{display:none;}
	
	.f_info_logos .logos {justify-content: center;}
	.f_info_sns,
	.f_info_text{width:100%;}
	.f_info_sns ul {padding: var(--num-10) 0; border-radius: var(--num-12);}
	.f_info_text li.f_add{margin-top:1.25rem; font-size: var(--font-size-15);}
	.f_info_text .f_tel_list { gap: 0.25rem 2rem;}
	.f_info_text li.f_tel strong{width:auto; margin-top:0;}
	.f_info_text li .flex {align-items: baseline;}
	.f_info_text li .flex,
	.f_info_text li .flex span { font-size: var(--font-size-15);}
	.f_info_text li.f_time .f_time_cont span:after {width:1px; height:0.8rem;}
	.f_info_text li .flex p {line-height:1.5;}
	.f_info_text li.f_tel .flex > span {width: 8.125rem;}
	.f_tel_list {gap:0.25rem 1.5rem;}
	.f_info_logos .copy {text-align:center; line-height: 1.5;}
}
@media (max-width:540px){
	.f_info_logos .logos li img {height:auto;}
	.f_info_text li.f_add, .f_info_text li.f_time {flex-direction: column;}
}
@media (max-width:390px){
	.f_info_text .f_tel_list .flex .slash {display:none;}
	.under390 {display:block;}
}

/* 2023-11-22 웹 접근성 전용 경고창 추가 bk */
.alertDiv {display: flex; margin-left: 0.5rem; align-items: center; font-size: 0.75rem; font-weight:bold;}
.alertDiv.success {color:#2553b7;}
.alertDiv.fail {color:#e51e1e;}


/********************************************************
■ 팝업
********************************************************/
/* 2023-11-22  웹 접근성 컨펌창 레이어  팝업 추가 bk */
.layer_pop{display:none;position:fixed; left:0px; top:0px; width:100%; height:100%; background:rgba(0,0,0,0.7); z-index:200;}
.layer_pop .pop_con{position:absolute; left:50%; top:50%; width:25rem; background:#fff; border-radius:1rem; -webkit-border-radius:1rem; padding:1rem 1rem 0; transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); overflow:hidden;}
.layer_pop .pop_con h4{position:relative; color:#121212; text-align:center; font-size:1.4rem; margin:1rem 0 1.5rem; padding-bottom:1.5rem; border-bottom: 1px solid #ddd;}
.layer_pop .pop_con h4 img{display:block; margin:0 auto 0.5rem;}
.layer_pop .pop_con p{font-size:1.1rem; color:#666; text-align:center; }
.layer_pop .pop_btn{display:flex;  margin-top:3rem; width: calc(100% + 2rem); margin-left: -1rem;}
.layer_pop .pop_btn button{font-size:1rem; text-align:center; flex:1; height:3rem;}
.layer_pop .pop_btn button.pop_cancel{color:#111; background: #eee;}
.layer_pop .pop_btn button.pop_confirm{background: #21A3DD; color:#fff;}
.layer_pop .pop_btn button.pop_confirm:focus-visible{outline-color:#E84033;}



/* 2023-11-22 통합검색 css 추가 bk */
.global_search mark{color:var(--Brand-Color-main); background:#e9f0fb;}
.global_search .search{border: 1px solid #ECEDF0; background: #FAFAFA; padding: var(--num-48) var(--num-20); margin-bottom:var(--gap-60);}
.search_all{position:relative; overflow:hidden; width:26.25rem; margin:0 auto; border-bottom: 1px solid #505050; }
.search_all form{display:flex; align-items: center}
.search_all .searchBox{flex:1; padding-bottom: 0.5rem;}
.search_all .searchBox input.keyWord{color:#111; height: 2.5rem; line-height: 2.5rem; font-size:var(--font-size-20); background:transparent; border:none}
.search_all button{ flex-shrink: 0; width: 2.4rem;  aspect-ratio: 1; border-radius: 50%; background: var(--Brand-Color-susub);  transition: all 0.3s ease;}
.search_all button i{display: inline-block; width: 1.2rem; aspect-ratio: 1; vertical-align: middle; background-color: #fff; forced-color-adjust: none; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat; mask-position: center center; mask-size: contain; -webkit-mask-image: url(/images/default/main/icon_search.svg); mask-image: url(/images/default/main/icon_search.svg);}

.tit-search{margin-bottom:var(--gap-60); }
.tit-search h2{text-align:center; color:#000; font-size:var(--font-size-40); font-weight:700; line-height: 1.5;}
.tit-search h2 em{color:var(--Brand-Color-main);}

.cate_area h3{font-size: var(--font-size-32); font-weight: 600; margin-bottom:var(--num-20);}
.cate_area h3 span{color:var(--Brand-Color-main); font-weight:400; font-size:var(--font-size-21); }
.cate_area .pt{border: 12px solid #E2E4EB; background: #FFF;}
.cate_area .pt ul{padding:var(--num-20); display:flex; flex-wrap:wrap; gap:0 var(--gap-20)}
.cate_area .pt ul li{width:calc((100% - var(--gap-20) * 3) / 4); }
.cate_area .pt ul li a{position:relative; display:block; height:50px; padding:0 var(--num-18); padding-left:3.125rem;     align-content: center; font-size:var(--font-size-18); font-weight:500;}
.cate_area .pt ul li a:before{content:""; display:inline-block; position:absolute; left:1.125rem; top:0.563rem; width:1.125rem; aspect-ratio: 1; background-color:#8B8B8B; forced-color-adjust: none; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat; mask-position: center center; mask-size: contain; -webkit-mask-image: url(/images/default/content/ser_bul.svg); mask-image: url(/images/default/content/ser_bul.svg);}
.cate_area .pt ul li.on a{background:var(--Brand-Color-bg); color:var(--Brand-Color-main); border: 1px solid #DDE2EB;  border-left:2px solid var(--Brand-Color-main); background: #F4F5F8; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);}

.sr_result{position:relative;  margin-top:var(--num-64);}
.sr_result h3{display:flex; align-items: center; font-size:var(--font-size-24); height:calc(2.5rem + var(--num-20)); font-weight:700; border-bottom: 2px solid #121212; padding-bottom:var(--num-20);}
.sr_result h3:before{content:"•";  margin-right:0.5rem; line-height: 1;}
.sr_result h3 span{font-size:var(--font-size-20); font-weight:500; color:var(--Brand-Color-main);}
.sr_result .smore{position:absolute; top:0; right:0; display:inline-block; height:2.5rem; background: #121212; width:clamp(5rem, 4.107rem + 2.381vw, 6.25rem); color:#fff; font-size:var(--font-size-16); align-content: center; text-align: center; }
.sr_result .item{display: flex; flex-direction: column; gap:var(--num-20); padding:var(--num-20) var(--num-18); border-bottom: 1px solid #EEE;}
.sr_result .item .tit{font-size:var(--font-size-18); color:#232323; font-weight:500;}
.sr_result .item .text{font-size:var(--font-size-16); color:#737373;  overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2;  line-height: 1.4; -webkit-box-orient: vertical; word-wrap: break-word; word-break: keep-all;}

.no_result{padding:var(--num-30); width:100% !important; text-align:center; font-size:var(--font-size-16); color:#737373;  border-bottom: 1px solid var(--border-Color);}
.no_result .icon{display:flex; align-items: center; justify-content: center; margin:0 auto var(--num-16); width:6.5rem; aspect-ratio: 1; background:url('/images/default/content/nopostyet.svg') no-repeat 50% 50%; background-size: 100% auto;}
.no_result b{display:block; color:#232323; font-size:var(--font-size-20); font-weight:bold; line-height:2;}

@media screen and (max-width:1024px){
	.cate_area .pt ul li{width:calc((100% - var(--gap-20)) / 2); }
}
@media screen and (max-width:768px){
	.search_all{width:100%;}
	.tit-search h2{    font-size: var(--font-size-32);}
	.cate_area .pt ul{overflow-y:auto; max-height:14rem;}
	.cate_area .pt ul li{width:100%; }
	.sr_result .item{    padding: var(--num-20) 0;}
}

/********************************************************
■ 데이터피커 모달
********************************************************/
.ui-datepicker{padding:0; font-family: var(--ff-body); background: #eef2f7; border: 1px solid #d6e0eb; border-radius: 0.8rem;}
.ui-datepicker .ui-datepicker-header{display: flex; align-items: center; justify-content: space-between;  flex-direction: row; border-radius:0; background:none; border:none; padding: 0.5rem 1rem; font-size: var(--font-size-17);  font-weight: 700;  gap: 0.8rem;}
.ui-helper-clearfix:before, .ui-helper-clearfix:after{display:none;}
.ui-datepicker .ui-datepicker-prev, 
.ui-datepicker .ui-datepicker-next{position:relative; top:auto; cursor:pointer; display: flex; align-items: center; justify-content: center; flex-direction: row; width:  2.25rem; height:  2.25rem; background-color: #fff; border: 1px solid #cdd1d5; border-radius: 50%; flex-shrink: 0;}
.ui-datepicker .ui-datepicker-prev{left:auto; order:1;}
.ui-datepicker .ui-datepicker-next{right:auto; order:3;}
.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon{content: ""; display: inline-flex; width: 1rem; height:  1rem; background-color:  #121212; forced-color-adjust: none; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat; mask-position: center center; mask-size: contain; -webkit-mask-image: url(/images/krds/ico_angle.svg); mask-image: url(/images/krds/ico_angle.svg);  transform: rotate(90deg);}
.ui-datepicker .ui-datepicker-next .ui-icon{transform: rotate(-90deg);}
.ui-datepicker .ui-datepicker-prev.ui-state-hover, 
.ui-datepicker .ui-datepicker-next.ui-state-hover{background:#f7f7f7;}
.ui-datepicker .ui-datepicker-title{margin:0; order:1; flex: 1;}
.ui-datepicker .ui-datepicker-title select{min-width:auto; border:none; background-color:transparent; font-size: var(--font-size-15); font-family: var(--ff-body); background-position: right 5% top 50%;}
.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year{width:45%; height:30px;}
.ui-datepicker table{width:90%; margin:0 auto; }
.ui-datepicker table th{font-weight:400; font-size:var(--font-size-15); }
.ui-datepicker td span, 
.ui-datepicker td a{display:block; text-align:center; font-size:var(--font-size-17)}
.ui-state-default, 
.ui-widget-content .ui-state-default, 
.ui-widget-header .ui-state-default{border:none; aspect-ratio: 1; background:transparent; align-content: center; line-height: 1; font-weight:500; font-size: var(--font-size-15);}
.ui-datepicker td.ui-datepicker-today span, 
.ui-datepicker td.ui-datepicker-today a{background:var(--Brand-Color-main); border-radius:50%; color:#fff;}
.ui-datepicker td span.ui-state-active, 
.ui-datepicker td a.ui-state-active{background:var(--Brand-Color-deep); border-radius:50%; color:#fff;}
.ui-datepicker td:not(.ui-datepicker-today) span:not(.ui-state-active).ui-state-hover, 
.ui-datepicker td:not(.ui-datepicker-today) a:not(.ui-state-active).ui-state-hover{background:#fff; border-radius:50%; color:var(--Brand-Color-deep);}
.ui-datepicker .ui-datepicker-buttonpane{display: flex; justify-content: space-between; background:#fff; overflow:hidden; padding:0.5rem 1rem; border-top: 1px solid #d6e0eb; border-radius: 0 0 0.8rem 0.8rem;}
.ui-datepicker .ui-datepicker-buttonpane button{padding:0; margin:0; height:2.5rem; padding:0 0.75rem; border-radius:0.375rem;  line-height: 1; font-size: var(--font-size-16); color: #1e2124;}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {border:1px solid #949494;}
.ui-datepicker .ui-datepicker-buttonpane .ui-priority-primary{background-color: var(--Brand-Color-main); border-color: var(--Brand-Color-main); color: #fff;}



/********************************************************
■ 캘린더
********************************************************/
/* 캘린더 상단 날짜 및 이동버튼 */
.calendar .cal_title{display:flex; justify-content: flex-end; position:relative; margin-bottom:clamp(1.882rem, 1.706rem + 0.938vw, 2.765rem);}
.calendar .cal_title .cal_month h4 {margin:0; font-size: clamp(1.728rem, 1.721rem + 0.039vw, 1.765rem);}
.calendar .cal_title .form-move div{display:flex; gap:0.4rem; align-items: center;  font-size: var(--font-size-15); position:relative;}
.calendar .cal_title .form-move div:after {content:''; display:block; width:1rem; height:1rem; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath fill='%23232323' fill-rule='evenodd' d='M3.6 13a1 1 0 0 1-.1-1l6-6.6a1 1 0 0 1 1 0l6 6.7a.7.7 0 0 1-1 .8L10 7l-5.5 6q-.5.4-1 .1' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat center center; background-size:100% auto; position:absolute; top:50%; right:1.8rem; transition: all 0.3s; transform: translateY(-50%); pointer-events: none;}
.calendar .cal_title .form-move div select{width:auto; height:2.2rem; padding:0 2rem 0 0.8rem; border-radius:0.29rem; font-size: var(--font-size-15); font-size:var(--font-size-16); background: #fff; border:2px solid #dcdcdc; cursor: pointer}
.calendar .cal_title .form-move div.month select {padding-right: 2rem; min-width: unset;}
.calendar .cal_title .form-move div:has(.open):after { transform: translateY(-50%) rotate(180deg);}
.calendar .cal_title .form-move .formBtn{text-align:center; height: 2.2rem; max-width:3.875rem; min-width:3.875rem;}
.calendar .cal_title .form-move fieldset {display:flex; gap: clamp(0.941rem, 0.847rem + 0.5vw, 1.412rem); margin-top: 0.3em;}
.calendar .cal_title .cal_btn{display:flex; gap: clamp(1.882rem, 1.788rem + 0.5vw, 2.353rem); align-items: center; position: absolute; top: 0; left: 50%; transform: translateX(-50%);}
.calendar .cal_title .cal_btn a{display: flex; align-items: center;  justify-content: center; gap:0.4rem; border-radius: 0.5rem; width:2.5rem; height:auto; aspect-ratio: 1; color:#3a3a4a; background:#fff; box-shadow: 0 0 0 1px #dcdcdc; font-size:1.5rem; padding:0px 1.407rem; transition: all 0.3s;}
.calendar .cal_title .cal_btn a:is(:hover,:focus){box-shadow: 0 0 0 2px var(--Brand-Color-main, #1f57b0); color:var(--Brand-Color-main, #1f57b0); filter: drop-shadow(4px 4px 12px rgba(244, 244, 244, 0.6));}


/* 캘린더 */
.calendar table.calendar{border:1px solid #dbdbdb; border-top: none; border-right: none; border-left: none; width: 100%;}
.calendar table.calendar thead tr{border-bottom:2px solid #3a3a4a; border-top: none; border-right: none; border-left: none;}
.calendar table.calendar thead tr th{font-size: var(--font-size-17, clamp(0.969rem, 0.95rem + 0.09vw, 1.063rem));}
.calendar table.calendar tbody tr td{border-color:#dbdbdb;}
.calendar table.calendar tbody tr td br {display:none;}
.calendar table.calendar thead tr th { padding:0 1rem 1rem; font-weight: 600; width:14.28%;}
.calendar table.calendar thead tr th.sun {color:var(--Text-Color-Red, #E53535);}
.calendar table.calendar thead tr th.sat {color:var(--Brand-Color-main, #1f57b0);}
.calendar table.calendar tbody td {position:relative; height:7rem; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; padding:0.75rem;  /*font-weight:bold;*/ vertical-align:top; z-index: 0;}
.calendar table.calendar td.used {cursor:pointer; }
.calendar table.calendar td.used:before{content:""; position:absolute; left:0.25rem; top:0.25rem; width:calc(100% - 0.5rem); height:calc(100% - 0.5rem); background: linear-gradient(125deg, var(--Brand-Color-main), #d5e2ec); opacity:0.1; z-index:-2; border-radius:1rem; }
.calendar table.calendar td.used.sel {cursor:pointer;}
.calendar table.calendar td:last-child {color:var(--Brand-Color-main, #1f57b0); border-right: none;}
.calendar table.calendar td:first-child {color:var(--Text-Color-Red, #E53535);}
.calendar table.calendar td img {position:relative; cursor:pointer; display:none;}
.calendar table.calendar td.sel {box-shadow: inset 0 0 0 3px var(--Brand-Color-susub, #2069D7);}
.calendar table.calendar td.today{color:#fff;}
.calendar table.calendar td.today:after {content:""; position:absolute; left:0; top:0.5rem; width:2.5rem; height:1.5em; background:var(--Brand-Color-susub); z-index: -1;  border-radius: 0 0.5rem 0.5rem 0;}
.calendar table.calendar td .views { display: flex; align-items: flex-start; gap: 0.25rem; cursor:pointer; line-height: 1.5; font-size: var(--font-size-13, clamp(0.75rem, 0.738rem + 0.06vw, 0.813rem)); color:#121212;}
.calendar table.calendar td .views:before{content:""; display:inline-block; flex-shrink: 0; width: 1rem; aspect-ratio: 1; vertical-align: middle; background-color: var(--Brand-Color-main, #1f57b0); forced-color-adjust: none; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat; mask-position: center center; mask-size: contain; -webkit-mask-image: url(/images/default/main/icon_calendar.svg); mask-image: url(/images/default/main/icon_calendar.svg);}
.calendar table.calendar td .views:first-of-type {margin-top: clamp(0.625rem, 0.55rem + 0.375vw, 1rem);}
.calendar table.calendar td .views span {display:block;  font-size: var(--font-size-13, clamp(0.75rem, 0.738rem + 0.06vw, 0.813rem)); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; height: 1.5em; word-break: auto-phrase;}
.calendar table.calendar td .views.holiday {color: #FF3A20;}
.calendar table.calendar td .views.holiday:before {background-color:#FF3A20}



/* 하단 일정 리스트 */
.calendar .b_bullet {margin-top: var(--num-64);}
.schedule-list {width: 100%;border-collapse: collapse;border-spacing: 0;}
.schedule-list caption {display: none;}
.schedule-list th {color: #4b4b4b;background-color: #F8F8F8; padding:1rem 0; font-size:var(--font-size-18); font-weight: bold;border-top: solid 2px #221E1F;border-bottom: solid 1px #ddd; border-left:1px solid #ddd;}
.schedule-list th:first-child {border-left: none;}
.schedule-list td {padding:clamp(0.5rem, 0.4rem + 0.5vw, 1rem) clamp(0.625rem, 0.55rem + 0.375vw, 1rem);border-bottom: solid 1px #ddd; border-left:1px solid #ddd; text-align: center;}
.schedule-list td:first-child {padding-left: 1rem;text-align: left;border-left: none;}
.schedule-list tr {transition: all 0.4s;}
.schedule-list tr.used:hover {background:#EDF4FF;}
.schedule-list .subject{position:relative; padding-left:1rem;}
.schedule-list .subject:before{ content : ""; display : block; position : absolute; left :0; top:0.3em; width : 0.3em; height : 0.3em; background : var(--Brand-Color-deep);}
.schedule-list .btn_wrap {gap: 0 clamp(0.5rem, 0.4rem + 0.5vw, 1rem); justify-content: center; margin-top:0;}
.schedule-list td:has(.no_schedule) {padding:var(--num-40) 1rem}
.schedule-list .no_schedule {display: flex;flex-direction: column;align-items: center;justify-content: center; gap: clamp(1rem, 0.975rem + 0.125vw, 1.125rem); padding:0 clamp(1rem, 0.8rem + 1vw, 2rem); text-align:center; font-weight:700;  color:var(--Text-Color-Basic-1);}
.schedule-list .no_schedule .no_sche_icon {display:block; width:3.125rem; height:3.375rem; background:url('/images/default/main/no_sche_icon.svg') no-repeat center center; background-size:100% auto;}
.schedule-list .no_schedule h5 {margin:0; margin-bottom: 0.5rem; color:var(--Text-Color-Black); font-size: clamp(1.2rem, 1.152rem + 0.238vw, 1.438rem); font-weight:700;}

/* 캘린더 폼 */
.cal_date .flex {display: flex; align-items: center; gap: 0.5rem;}
.cal_date .flex input[type=text] {flex:1; min-width:unset;}



@media (max-width:1440px){	
	/* 캘린더 상단 날짜 및 이동버튼 */
	.calendar .cal_title {justify-content: space-between;}
	.calendar .cal_title .cal_btn {position:static; transform:unset;}
}
@media (max-width:768px){
	/* 캘린더 상단 날짜 및 이동버튼 */
	.calendar .cal_title{flex-direction: column;  align-items: center;  gap: 1.25rem;}
	.calendar .cal_title .form-move div .krds-form-select{padding:0 2rem 0 0.5rem;  background-position: center right 0.5rem; background-size: 1rem;}
	.calendar .cal_title .cal_btn a {padding:0; font-size: 1rem;}
	.calendar .cal_title .form-move div:after {width: 1rem; height: 1rem;}
	.calendar .cal_title .form-move fieldset {margin-top:0;}
	
	/* 캘린더 */
	.calendar table.calendar tbody tr td {padding: 0; align-content: center; width: 3.25rem; height: 3.25rem; aspect-ratio: 1; text-align: center;  font-size: var(--font-size-16); border-right:none; border-left:none; }
	.calendar table.calendar thead tr th {padding:0 0 1rem; font-size: var(--font-size-15);}
	.calendar table.calendar td .views {display:none;}
	.calendar table.calendar td.used:before {width: calc(100% - 0.5rem); height: calc(100% - 0.7rem);}
	.calendar table.calendar td.today {box-shadow:unset;}
	.calendar table.calendar td.today:after {width: 1.5rem; height: 1.5rem; border-radius: 0.25rem; left: 50%; top: 50%; transform: translate(-50%, -50%);}

	/* 하단 일정 리스트 */
	.schedule-list,
	.schedule-list tbody,
	.schedule-list td {display: block;}
	.schedule-list thead {display:none;}
	.schedule-list tr {display:flex; flex-wrap:wrap; padding: 1rem; border: 1px solid #ddd;}
	.schedule-list tr:is(:not(:first-child, #default)) {margin-top:1rem;}
	.schedule-list td {display: flex; align-items: baseline; border:none; flex-basis:100%; padding:0; text-align: left;}
	.schedule-list td:first-child {padding-left:0;}
	.schedule-list td:not(:first-child) {margin-top:1rem;}
	.schedule-list td[data-label]::before {content: attr(data-label); display: inline-block;  flex-shrink: 0; width: 3rem; font-weight: 700;  font-size: var(--font-size-17);}
	.schedule-list td:has(.btn_wrap) {margin-top: 1.5rem;} 
	.schedule-list .subject {padding-left:0; line-height: 1.5;}
	.schedule-list .subject:before {display:none;}
	.schedule-list .btn_wrap {width:100%;}
	.schedule-list .btn_wrap > a {max-width: unset; width:100%;}
	.schedule-list td:has(.no_schedule) {justify-content: center;}
	.schedule-list .no_schedule {padding:0;}
	
	/* 캘린더 폼 */
	.cal_date {flex-wrap:wrap;}
	.cal_date .flex input[type=text] {padding-left:0.95rem;}
	.cal_date .btn_default {flex-basis: 100%; max-width: unset;}
}

/********************************************************
■ 팝업
********************************************************/
.con_pop{background: rgba(0, 0, 0, .4); position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 10000;}
.con_pop .popin{width: 600px; position: absolute; top: 50%; left: 50%; transform-origin: center center; transform: translate(-50%,-50%);  text-align: center; z-index: 100; border-radius: 1.25rem; overflow:hidden; transform-origin:center center;  animation: popup 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;}
.con_pop .popin h3{color: #fff; background: #143666;  padding:0 1.25rem; font-size: var(--font-size-20); font-weight: 500; height: 3.125rem; align-content: center;}
.con_pop .popin .txt{padding: 1.875rem 2.5rem; font-size: var(--font-size-17); line-height: 1.5;background: #fff; }
.con_pop .popin table{border-top: 2px solid #333; margin-top: 0.938rem;}
.con_pop .popin table th{background-color: #f9f9f9; border-bottom: 1px solid #e9e9e9; vertical-align: middle; text-align: center;}
.con_pop .popin table td{color: #666;  padding: 0.625rem 1rem; vertical-align: middle; border-bottom: 1px solid #e9e9e9;}

.con_pop .bottom_button{display: flex; width:100%; position:relative; z-index:10;}
.con_pop .bottom_button a{flex-basis: 50%; display: block; height: 3.75rem; line-height: 3.75rem; font-size: var(--font-size-18);  background: #eee; color: #111;}
.con_pop .bottom_button a.confirm{background: var(--BTN-BG-Color-default); color: #fff;}
.con_pop .bottom_button a.w100{flex-basis: 100%;}

.con_pop .close{position: absolute; right: 1.25rem; top: 0.85em; height:auto; align-content: center;}
.con_pop .close a{color: #fff; font-size: var(--font-size-24);}
.con_pop .close span{font-size: 0;}

.con_pop .popin h4{font-size:var(--font-size-28);  color:#333; border-bottom:1px solid #ddd; padding-bottom:1.25rem; margin-bottom:1.25rem;}
.con_pop .popin h4 b{font-weight:bold; color: var(--BTN-BG-Color-default);}
.con_pop .popin h4 img{margin-bottom:0.625rem;}
.con_pop .popin .bg span{position:relative; color:#3b4481; font-weight:bold;}
.con_pop .popin .bg span:before{content: ''; display: block; position: absolute; width: 100%; height: 50%; background: rgba(59,68,129,0.1); left: 0; bottom:0;}
.con_pop .popin .logo img{width:12.5rem; margin-top:0.625rem;}
.con_pop .popin b{font-weight:bold;}
.con_pop .alert img{margin-bottom:10px; width:12.5rem;}
.con_pop .alert h4{color:#212121;}
.con_pop small{ z-index: 1;  position: relative; margin-top:0.625rem; display:block;}

.con_pop .popin h5{font-size:var(--font-size-24);  color:#333;margin-top:1.25rem;}
.con_pop .popin .bg{margin-top:1.875rem; padding:1.875rem 0 0; position:relative; color:#333; z-index:0;}
.con_pop .popin .bg:before{ content : ""; display : block; position : absolute; left :-50%; top:0; width : 200%; height : 25rem; background : #f1f9fe; z-index:-1;}
.con_pop .popin .cen_button{margin-bottom:1.875rem;position:relative; z-index:10;}
.con_pop .popin .cen_button a{display:block; width:10rem; margin:0 auto; height:2.875rem; line-height:2.875rem; background:#38387f; color:#fff; border-radius:0.625rem;}


/* 프로그램 신청폼 */
#progJoin .pop-box {margin-bottom:1.25rem;}
.info_need {padding: 1rem; border: 1px solid #ddd; border-radius: 0.5rem;}
.info_need p {display: flex; gap: 0.5rem 1rem; align-items: baseline; text-align: left;}
.info_need p:not(:first-child) {margin-top:0.5rem;}
.info_need p b {display: inline-block; flex-shrink:0; width: 7rem; height: 2rem; align-content:center; font-size: 1rem; text-align: center; letter-spacing: -0.05em; color: #fff; font-weight: 500 !important; background:var(--Brand-Color-main); border-radius: 5rem; }

@keyframes popup {
  0% {
    transform: scale(0.8) translate(-50%,-50%); visibility: hidden; opacity: 0;
  }
  100% {
    transform: scale(1) translate(-50%,-50%); visibility: visible; opacity: 1;
  }
}

ul.dot li{margin-bottom:0.313rem; position: relative; padding-left:0.938rem;  text-align:left;}
ul.dot li:before{ content : ""; display : block; position : absolute; left :0; top:0.5em; width : 6px; height : 6px; background : #666; border-radius:50%; }


@media (max-width: 767px){
	.con_pop .popin{width: 90%; margin: 0 auto;}
	.con_pop .popin .txt{padding:1.5rem 1rem;}
	
	/* 프로그램 신청폼 */
	.info_need p:not(:first-child) {margin-top: 1rem;}
}
@media (max-width: 540px){
	.info_need {display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1rem 0.5rem;}
	.info_need p {flex-direction: column; align-items: center; text-align:center;}
	.info_need p:not(:first-child) {margin-top: 0;}
	.info_need p b {padding:0 1rem; width: auto;  font-size: 0.95rem;}
}


/*로딩팝업*/
#loading .popin{width:18.75rem; padding:2.5rem 0; text-align:center; background:#fff;}
#loading .popin p{font-size:var(--font-size-16); font-weight:600;}
#loading .loading_spinner{width: 4.375rem; height: 4.375rem;  display: block; margin:0 auto 0.5rem;}

/*프로그램 취소팝업*/
#progCancel .pop-box{ border-bottom: 1px solid #ddd; padding-bottom: 1.25rem;  margin-bottom: 1.25rem;}
#progCancel .pop-box p{font-size: var(--font-size-24); color: #333; margin-bottom: .5rem; }



/********************************************************
■ 아이콘
********************************************************/

[class^="icon_"] { display: inline-block; width: 1.5rem; aspect-ratio: 1; vertical-align: middle; background-color: var(--Gray-Color-900); forced-color-adjust: none; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat; mask-position: center center; mask-size: contain;}
.icon_arrow{-webkit-mask-image: url(/images/default/main/icon_arrow.svg); mask-image: url(/images/default/main/icon_arrow.svg);}
.icon_arrow_bold{-webkit-mask-image: url(/images/default/main/icon_arrow_bold.svg); mask-image: url(/images/default/main/icon_arrow_bold.svg);}
.icon_calendar{-webkit-mask-image: url(/images/default/main/icon_calendar.svg); mask-image: url(/images/default/main/icon_calendar.svg);}
.icon_category{-webkit-mask-image: url(/images/default/main/icon_category.svg); mask-image: url(/images/default/main/icon_category.svg);}
.icon_check{-webkit-mask-image: url(/images/default/main/icon_check.svg); mask-image: url(/images/default/main/icon_check.svg);}
.icon_fax{-webkit-mask-image: url(/images/default/main/icon_fax.svg); mask-image: url(/images/default/main/icon_fax.svg);}
.icon_map{-webkit-mask-image: url(/images/default/main/icon_map.svg); mask-image: url(/images/default/main/icon_map.svg);}
.icon_play{-webkit-mask-image: url(/images/default/main/icon_play.svg); mask-image: url(/images/default/main/icon_play.svg);}
.icon_plus{-webkit-mask-image: url(/images/default/main/icon_plus.svg); mask-image: url(/images/default/main/icon_plus.svg);}
.icon_search{-webkit-mask-image: url(/images/default/main/icon_search.svg); mask-image: url(/images/default/main/icon_search.svg);}
.icon_stop{-webkit-mask-image: url(/images/default/main/icon_stop.svg); mask-image: url(/images/default/main/icon_stop.svg);}
.icon_tel{-webkit-mask-image: url(/images/default/main/icon_tel.svg); mask-image: url(/images/default/main/icon_tel.svg);}
.icon_top{-webkit-mask-image: url(/images/default/main/icon_top.svg); mask-image: url(/images/default/main/icon_top.svg);}
.icon_time {-webkit-mask-image: url(/images/default/main/icon_time.svg); mask-image: url(/images/default/main/icon_time.svg);}

