@charset "utf-8";

/* common : 콘텐츠 페이지에서 공통적으로 쓰이는 요소들 */

.sub-inner {width: 100%; max-width: var(--sub_inner); margin: 0 auto; padding: 0 var(--inner-pad);}
.sub-cont-tit {font-size:36px; font-weight:700; line-height:1.4; letter-spacing:-0.02em; color:#000000; font-family:'OnemobileT', sans-serif;}
.highlight{color:var(--color-blue);}
.highlight_b{color:var(--color-blue); font-weight:700;}
.contwrap-sec{position:relative;}
.contwrap-sec + .contwrap-sec{margin-top:8rem;}
.flex_c{display: flex; align-items: center; justify-content: center;}

/* tab */
.tab-wrap { width:100%; }
.tab-menu {display:flex;align-items:center;padding: 0.5rem;border: 1px solid #ddd;border-radius:5rem;background:#fff; max-width: 64rem; margin: 0 auto 4rem;}
.tab-menu li { flex:1; }
.tab-menu a {display:flex;align-items:center;justify-content:center;padding: 1.8rem 1rem;text-align:center;border-radius:5rem;font-size:1.8rem;font-weight:700;text-decoration:none;transition:background .2s ease, color .2s ease;}
.tab-menu li.active a {background: var(--color-blue);color:#fff;}
.tab-cont { display:none; margin-top:2rem; }
.tab-cont.active { display:block; }

@media screen and (max-width:1024px){	
	.sub-cont-tit {font-size:24px;}
	
}


.infocont-tit{font-family: 'OnemobileT', sans-serif; font-size: 2.2rem; line-height: 1.5; margin-bottom:1.5rem;}
.infotxt_blueBox{padding: 4rem 5.5rem; font-size: 1.8rem; line-height: 1.5; width: 100%; border: 1px solid #DDF0FF; position: relative;}
.infotxt_blueBox:before{content:''; position:absolute; top:0; left:0; width:0.5rem; height:100%; background:var(--color-blue);}
.bullet-list li{display:flex; gap:1rem;}
.bullet-list > li + li{margin-top:1.8rem;}
.bullet-list .txt{flex:1; line-height:1.4;}
.bullet-list .bullet-icon{display:block; width:1.6rem; height:2.2rem; background:url(../img/default/icon_bullet.svg) no-repeat center center;}
.bullet-list .btxt{line-height:1.4;}
.bullet-list .txts{flex:1;}
.bullet-list > li:has(.sub-list) + li:has(.sub-list){margin-top:3.2rem;}
.bullet-list .sub-list{margin-top:1.2rem;}
.bullet-list .sub-list li{position:relative; padding-left:1.5rem;}
.bullet-list .sub-list li + li{margin-top:0.5rem;}
.bullet-list .sub-list li:before{ content: ""; display: block; position: absolute; width: 0.7rem; height: 0.16rem; top: 10px; left: 0;background: #000;}
.bullet-list .bullet-note{font-size: 1.6rem; color: #555; margin-top: 0.8rem;line-height: 1.5;}
.infotxt_blueBox .step-flow-wrap {position:relative;display: flex;justify-content: space-between;gap: 5rem;margin-top: 3rem;}
.infotxt_blueBox .step-item {flex: 1;position: relative;padding: 3rem 4rem;display: flex;flex-direction: column;}
.infotxt_blueBox .step-item:nth-child(1){background: #F5FBFF url(../img/default/step_icon01.svg) no-repeat right 3rem center;}
.infotxt_blueBox .step-item:nth-child(2){background: #EDF8FF url(../img/default/step_icon02.svg) no-repeat right 3rem center;}
.infotxt_blueBox .step-item:nth-child(3){background: #E6F5FF url(../img/default/step_icon03.svg) no-repeat right 3rem center;}
.infotxt_blueBox .step-num {font-size: 1.4rem;font-weight: 700;color: var(--color-blue);margin-bottom: 2rem;}
.infotxt_blueBox .step-tit {font-size: 1.8rem;font-family: 'OnemobileT';font-weight: 700;line-height: 1.4;}
.infotxt_blueBox .step-arrow {position: absolute;top: 50%;right: -4rem;transform: translateY(-50%);width: 2.4rem;height: 2.4rem;z-index: 10;}
.txt_grayBox {padding:2.4rem 3rem;border:1px solid #eee;background:#fafafa;}
.txt_grayBox + .txt_grayBox {margin-top:3rem;}
.txt_grayBox p {margin:0;line-height:1.5; }
.txt_grayBox p + p {margin-top:.8rem;}
.txt_grayBox .tit {margin:2rem 0;font-weight:700;}
.txt_grayBox .mt_2{margin-top:2rem;}
.dash_list li {line-height:1.5;text-indent:-1rem;padding-left:1rem;}
.dash_list li::before {content:"- ";display:inline;}
.dash_list li + li {margin-top:1.2rem;}
.txt_grayBox .txt_link {color:#1a73e8;text-decoration:underline;}
.agr_btnwrap{width: 100%;  display: flex; align-items: center;  justify-content: space-between;    flex-wrap: wrap; gap: 2rem;  margin-top: 1.5rem;}
.agr_btnwrap >  div{display: flex; align-items: center; gap: 2rem;}
.agr_btnwrap p{line-height:1.3;}
.agr_btnwrap .labelTxt{font-size:1.6rem;}
/* 완료문구 */
.complete-msg {text-align: center;}
.complete-icon {width: 8rem; height: 8rem; margin: 0 auto 3rem; background: var(--color-blue);  border-radius: 50%; position: relative;}
.complete-icon .check {position: absolute; top: 50%; left: 50%; width: 2.2rem; height: 1.5rem; border-left: 4px solid #fff; border-bottom: 4px solid #fff; transform: translate(-50%, -60%) rotate(-45deg);}
.complete-msg h3 {font-size: 2.2rem; font-weight: 700; margin-bottom: 1rem;}
.complete-msg .txt-info {color: #444; line-height: 1.6;}
.complete-msg .txt-info strong {color: var(--color-blue);}

@media (max-width: 1200px){
	.infotxt_blueBox{padding:3rem;}
	.infotxt_blueBox .step-flow-wrap{flex-direction: column; gap: 3rem;}
  	.infotxt_blueBox .step-item{ padding: 2.4rem 2.8rem;}
  	.infotxt_blueBox .step-item:nth-child(1),
  	.infotxt_blueBox .step-item:nth-child(2),
  	.infotxt_blueBox .step-item:nth-child(3){background-position: right 2rem center;}
  	.infotxt_blueBox .step-arrow{ top: auto; bottom: -2.8rem; right: 50%; transform: translateX(50%) rotate(90deg); }
	.bullet-list .bullet-note{font-size:1.5rem;}
	.txt_grayBox{padding:2rem;}
	.complete-msg h3{font-size:2rem;}

}
@media (max-width: 768px){
	.infocont-tit{font-size: 2rem;}
	.bullet-list .txt{font-size:1.6rem;line-height: 1.6;}
  	.infotxt_blueBox .step-tit{font-size: 1.6rem;}
  	.infotxt_blueBox .step-num{margin-bottom: 1rem;}
	.infotxt_blueBox .step-item:nth-child(1){background: #F5FBFF url(../img/default/step_icon01.svg) no-repeat right 3rem center / 3rem;}
	.infotxt_blueBox .step-item:nth-child(2){background: #EDF8FF url(../img/default/step_icon02.svg) no-repeat right 3rem center / 3rem;}
	.infotxt_blueBox .step-item:nth-child(3){background: #E6F5FF url(../img/default/step_icon03.svg) no-repeat right 3rem center / 3rem;}

}


/* program ul form */
.ipbox_blueBox{width:100%; background: #F5FBFF; padding: 4rem 5.5rem; margin-top: 2rem;}
.ipbox_form li + li{margin-top:1.5rem;}
.ipbox_form li .item {position: relative; display: flex; align-items: center; gap:2rem;flex-wrap: wrap;}
.ipbox_form li .tit {min-width: 12rem; flex-shrink: 0;}
.ipbox_form li .tit .nec{ position: relative; padding-right: 1rem; line-height: 1.4;}
.ipbox_form li .tit .nec:before {content: ""; display: block; width: 0.5rem; height: 0.5rem; border-radius: 50%; position: absolute; top: -2px; right: 0; line-height: 1.4; background: var(--color-blue);}
/* .ipbox_form li input[type="text"], .ipbox_form li input[type="password"], .ipbox_form li select {width:30rem;} */
.ipbox_form li input[type="text"], .ipbox_form li input[type="password"]{position: relative; height: 4.8rem; padding: 0 1.5rem; border: 1px solid #ddd; border-radius: 0.5rem; letter-spacing: -0.06em;}
.ipbox_form li select {position: relative; height: 4.8rem; padding: 0 3.5rem 0 2rem; border: 1px solid #D2DAE3;  background: #fff url(../img/default/icon_selectbox_drop_arrow.svg) right 1.5rem center no-repeat; border-radius: 0.5rem;}
.ipbox_form li .btn{min-height: 4rem; background: #000; color: #fff; border-radius: 0.5rem; padding: 1.1rem 1.4rem; font-size: 1.6rem; font-weight: 500;}
.ipbox_form li .inputTelbox{display: flex; align-items: center; gap: 0.5rem;}
.ipbox_form li .inputTelbox input[type="text"]{width:10rem;}
.btn-wrap{margin-top: 4rem; width: 100%; display: flex; gap: 1rem; justify-content: flex-end; flex-wrap: wrap;}
.btn-wrap .btn{border-radius: 1rem; padding: 1rem 2.5rem; min-height: 5rem;}
.btn-wrap .black{background: #000;}
.btn-wrap .btn span{color: #fff; font-size:1.6rem; font-weight: 700;}

.cal-sec_wrap{display:flex;gap: 6rem;background:#fff;width:100%;margin-top: 4rem;}
.cal-sec{flex: 0 0 66rem;}
.cal-datepicker-wrap{width:100%;border: 1px solid #ddd;}
.cal-datepicker-wrap .ui-datepicker{width:100%;padding:0;border:0;background:none;font-family:inherit;}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-header{position:relative;display:flex;align-items:center;justify-content:center;padding:0 0.4rem;background:none;border:0;border-radius: 0 !important;background: #fff !important;padding: 1.5rem !important;border-bottom: 1px solid #ddd !important;}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-title{margin: 0; font-size: 2.4rem;  font-weight: 700;  color: #000; letter-spacing: .02em; line-height: 1.5;  display: flex; align-items: center; gap:0.5rem;}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-month{order:2; color:#000; margin:0;}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-prev,.cal-datepicker-wrap .ui-datepicker .ui-datepicker-next{top:0;width:3rem;height:3rem;border-radius:0.4rem;cursor:pointer;transition:background .15s,color .15s;}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-prev{left: 1.5rem !important; top: 50% !important; transform: translateY(-50%); filter: invert(1);}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-next{right: 1.5rem !important; top: 50% !important; transform: translateY(-50%); filter: invert(1);}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-prev:hover,.cal-datepicker-wrap .ui-datepicker .ui-datepicker-next:hover{background:#f0f0f0;border:0;}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-prev span{background: url(../img/default/arrow_updown.svg) center center / 2.4rem no-repeat !important; transform: rotate(90deg);}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-next span{background: url(../img/default/arrow_updown.svg) center center / 2.4rem no-repeat !important; transform: rotate(-90deg);}
.cal-datepicker-wrap .ui-datepicker table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0 0 1rem 0;}
.cal-datepicker-wrap .ui-datepicker table thead{background:#fff; color:#000;}
.cal-datepicker-wrap .ui-datepicker th{font-size: 1.6rem !important; font-weight: 400; padding: 3rem 1.5rem; text-align: center;}
.cal-datepicker-wrap .ui-datepicker td{padding:0.5rem 0;height:4.5rem;}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-calendar tbody tr:first-child td{padding-top:0;}
.cal-datepicker-wrap .ui-datepicker th span{color:#000;}
.cal-datepicker-wrap .ui-datepicker td span,.cal-datepicker-wrap .ui-datepicker td a{display:flex;align-items:center;justify-content:center;width:3.8rem;height:3.8rem;margin:0 auto;font-size:1.4rem;border-radius:50%;text-align:center;text-decoration:none;border:0;background:none;transition:background .12s;color:#ccc;}
.cal-datepicker-wrap .ui-datepicker td.ui-datepicker-other-month span{color:#888;}
.cal-datepicker-wrap .ui-datepicker td.ui-state-disabled span{color:#888;opacity:1;}
.cal-datepicker-wrap .ui-datepicker .ui-datepicker-calendar td a:hover, .ui-datepicker-calendar td a:focus{background: var(--color-blue) !important;}
.cal-datepicker-wrap .ui-datepicker td.active-day a{color:#111;cursor:pointer;}
.cal-datepicker-wrap .ui-datepicker td.active-day a:hover{background:#dce8fb;}
.cal-datepicker-wrap .ui-datepicker td.current-day a{background: var(--color-blue) !important;}
.cal-datepicker-wrap .ui-datepicker td.ui-datepicker-current-day a{background: var(--color-blue) !important;}
.cal-datepicker-wrap .ui-datepicker td.current-day.ui-datepicker-current-day a{    background: var(--color-blue) !important;}
.cal-sec_wrap .info-sec{flex:1;min-width:0;padding: 2.5rem 0;}
.cal-sec_wrap .info-header{display:flex;align-items:center;gap: 1rem;font-size: 1.8rem;font-weight: 700;margin-bottom: 2.5rem;}
.cal-sec_wrap .info-header svg{width: 2.2rem;height: 2.2rem;flex-shrink:0;}
.cal-sec_wrap .info-header .info-label{font-weight:400;}
.cal-sec_wrap .res-list{display:flex;flex-direction:column;gap:1rem;}
.cal-sec_wrap .res-item{border:0.1rem solid #e0e0e0;border-radius:0.6rem;padding:1.4rem 1.6rem;display:flex;align-items:center;gap:1.2rem;cursor:pointer;transition:border-color .15s;}
.cal-sec_wrap .res-item:hover{border-color:#000;}
.cal-sec_wrap .res-item{border: 0.1rem solid #ddd;border-radius: 0.5rem;padding: 0 2rem; height:6.2rem; display:flex;align-items:center;justify-content:space-between;gap: 1.5rem;cursor:pointer;transition:border-color .15s;}
.cal-sec_wrap .res-item.checked{border-color:#000;}
.cal-sec_wrap .res-item.unavailable{background:#fafafa;cursor:default;}
.cal-sec_wrap .res-item .radioBox{flex:1;min-width:0;height: 100%;}
.cal-sec_wrap .res-item .radioBox > label{ height: 100%; width: 100%; display: flex; align-items: center;cursor: pointer;}
.cal-sec_wrap .res-item .radioBox .box{top: 50%; transform: translateY(-50%); height: 2rem;}
.cal-sec_wrap .res-item .radioBox .labelTxt{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding: 0 1rem 0;font-size: 1.6rem;font-weight: 700;}
.cal-sec_wrap .res-badge{font-size: 1.5rem;color: var(--color-orange);white-space:nowrap;flex-shrink:0;font-weight: 700;}
.cal-sec_wrap .res-badge.unavailable{color:#aaa;font-weight: 400;}
.cal-sec_wrap .res-item.unavailable{background:#fafafa;cursor:default;}
.cal-sec_wrap .res-item.unavailable:hover{border-color:#e0e0e0;}
.cal-sec_wrap .res-item.unavailable label{color:#aaa;cursor:default;}
.cal-sec_wrap .res-item.unavailable input[type="checkbox"]{cursor:default;}
.cal-sec_wrap .res-item.unavailable .chkBox .labelTxt{font-weight:400;}
.cal-sec_wrap .res-empty{font-size:1.3rem;color:#aaa;padding:0.8rem 0.2rem;}

.expand{display: flex; align-items: center; gap: 2rem;}
.tbl_expand {display: flex;align-items: center;gap: 0.5rem;}
.tbl_expand .expand-btn {display: flex;align-items: center;justify-content: center;background: #fff;border: 1px solid #ccc;width: 2.6rem;height: 2.6rem;border-radius: 0.5rem;}
.nectxt{position:absolute; top:0; right:0;}
.nectxt .nec{position: relative; font-size: 1.5rem; padding-right: 1rem; line-height: 1.4;}
.nectxt .nec:before {content: ""; display: block; width: 0.5rem; height: 0.5rem; border-radius: 50%; position: absolute; top: -2px; right: 0; line-height: 1.4; background: var(--color-blue);}

@media (max-width: 1200px){
	.cal-sec_wrap{flex-wrap:wrap; gap:1rem;}
	.cal-sec{flex:0 0 100%;}

}
@media (max-width:640px){
	.ipbox_blueBox{padding: 3rem;}
	.ipbox_form li .item{flex-direction: column; align-items: flex-start;}
}
@media (max-width:480px){
	.ipbox_form li .inputTelbox input[type="text"]{width:100%; max-width: calc(33.3334% - 12px); }
	.ipbox_form li input[type="text"], .ipbox_form li input[type="password"]{width:100%;}
	.ipbox_form li select{width:100%;}
}


/* program tbl-form */
.tbl-form .form-gp{display: flex; align-items: center; gap: 1rem; min-height:4.8rem;flex-wrap: wrap;}
.tbl-form .txtadditem{display: flex; align-items: center; gap: 1rem;}
.tbl-form .ml-3{margin-left:3rem;}
.tbl-form .ml-1{margin-left:1rem;}
.tbl-form .txtadditem:has(.unit) input {max-width:10rem;}
.tbl-form .txtadditem:has(.chkBox){flex-wrap:wrap;}
.tbl-form .stxt{margin-top:0.8rem; color:#555;text-align: left; line-height: 1.2;}
.tbl-form .form-gp .inputFile .fileNm{width: calc(100% - 10rem);}
.tbl-form .form-gp .chkBox + .chkBox{margin-left:1.5rem;}
.tbl-form .resulttxt{min-height:4.8rem; display: flex; align-items: center;}
@media (max-width: 1200px){
	.tbl-form .form-gp{min-height:4.2rem;}
	.tbl-form th .resulttxt{min-height: auto;}
	.tbl-form .resulttxt{min-height:4.2rem;}

}
@media (max-width: 480px){
	.tbl-form .form-gp .inputFile .fileNm {width:100%;}
}

/*예약확인-모바일용*/
.reserv-list-mo { display:none; }
.reservCardList { display:flex; flex-direction:column; gap:1.6rem; }
.reservCardItem {padding:1.6rem;border:0.1rem solid #ddd;background:#fff;border-top: 2px solid #000;}
.reservCardTop {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom: 2rem;}
.reservCardNum { font-size:1.4rem; font-weight:600; color:#888; }
.reservCardCont {display:flex;flex-direction:column;gap: 1.5rem;}
.reservCardRow {display:flex;align-items:flex-start;gap: 1.5rem;}
.reservCardRow dt {flex: 0 0 10rem;color: #555; font-size: 1.5rem;}
.reservCardRow dd {flex:1;word-break:break-all;font-weight: 600; font-size: 1.5rem;}

@media (max-width:768px) {
    .reserv-list-pc { display:none; }
    .reserv-list-mo { display:block; }
}

/* 레이어 팝업 */
.layer-popup {display:none;position:fixed;inset:0;z-index:2500;padding:2rem;justify-content:center;align-items:center;}
.layer-popup.is-active {display:flex;}
.layer-popup .popup-dim {position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(.5rem);}
.layer-popup .popup-inner {position:relative;width:100%;max-width:50rem;max-height:90vh;padding:3rem;background:#fff;border-radius:1rem;overflow-y:auto;z-index:1;}
.layer-popup .popup-inner--image {max-width:80rem;}
.layer-popup .popup-head {margin-bottom:1.6rem;padding-right:3rem;}
.layer-popup .popup-title {font-size:1.8rem;font-weight:700;line-height:1.4;color:#111;}
.layer-popup .popup-content {font-size:1.6rem;color:#333;}
.layer-popup .popup-content--text p{line-height:1.6;}
.layer-popup .popup-content--image {text-align:center;}
.layer-popup .popup-content--image img {display:block;max-width:100%;height:auto;margin:0 auto;}
.layer-popup .popup-foot {margin-top:2.4rem;text-align:center;}
.layer-popup .popup-close--icon {position:absolute;top:2rem;right:2rem;width:2.4rem;height:2.4rem;border:0;background:none;cursor:pointer;}
.layer-popup .popup-close--icon::before, .layer-popup .popup-close--icon::after {content:"";position:absolute;top:50%;left:50%;width:1.6rem;height:.2rem;background:#111;}
.layer-popup .popup-close--icon::before {transform:translate(-50%,-50%) rotate(45deg);}
.layer-popup .popup-close--icon::after {transform:translate(-50%,-50%) rotate(-45deg);}
.layer-popup .btn.black {display:inline-flex;align-items:center;justify-content:center;min-width:10rem;height:4.4rem;padding:0 2rem;background:#111;border:1px solid #111;color:#fff;font-size:1.5rem;font-weight:600;border-radius:.4rem;cursor:pointer;}

/* 하단 버튼 */
.cmm-btn-box {display:flex; align-items:center; gap:10px; position:relative; margin-top:30px;}
.cmm-btn-box.center {justify-content:center;}
.cmm-btn-box.right {justify-content:flex-end;}
.cmm-btn-box .cmm-btn {display:inline-flex; align-items:center; justify-content:center; position:relative; min-width:68px; height:40px; padding:0 20px; border-radius:150px; background:#0067db; transition:all 0.3s ease; font-size:14px; font-weight:400; letter-spacing:-0.06em; color:#ffffff;}
.cmm-btn-box .cmm-btn:hover {background:#003399;}
.cmm-btn-box .cmm-btn.list, .cmm-btn-box .cmm-btn.login, .cmm-btn-box .cmm-btn.apply, .cmm-btn-box .cmm-btn.point {background:#0067db;}
.cmm-btn-box .cmm-btn.list:hover, .cmm-btn-box .cmm-btn.login:hover, .cmm-btn-box .cmm-btn.apply:hover, .cmm-btn-box .cmm-btn.point:hover {background:#003399;}
.cmm-btn-box .cmm-btn.del, .cmm-btn-box .cmm-btn.find, .cmm-btn-box .cmm-btn.pass {background:#222222;}
.cmm-btn-box .cmm-btn.del:hover, .cmm-btn-box .cmm-btn.find:hover, .cmm-btn-box .cmm-btn.pass:hover {background:#000000;}
.cmm-btn-box .cmm-btn.cancel {background:#ffffff; border:1px solid #222222; color:#707070;}
.cmm-btn-box .cmm-btn.cancel:hover {border-color:#000000; color:#000000;}


/** 개인정보처리방침, 이메일무단수집거부 **/
.etc_wrap {position:relative; margin:120px 0 0;}
.etc_topbox {position:relative; width:100%; padding:30px; margin-bottom:20px; border:1px solid #d7dce5; border-radius:8px; background:#f8f9fa; box-sizing:border-box;}
.etc_topbox .txt {font-size:16px; font-weight:400; line-height:24px; letter-spacing:-0.03em; color:#000000;}
.etc_title {position:relative; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid #d0d0d0; font-size:20px; font-weight:700; line-height:1.6; letter-spacing:-0.03em; color:#000000; box-sizing:border-box;}
.etc_labelling {position:relative; width:100%; margin-bottom:50px;}
.etc_labellist {display:flex; align-items:stretch; justify-content:flex-start; flex-wrap:wrap; position:relative;}
.etc_labellist .labellist_item {position:relative; width:calc(100% / 3); min-height:230px; padding:20px; box-sizing:border-box;}
.etc_labellist .labellist_item .label_ico {display:block; width:64px; height:64px; margin:0 auto; background-size:auto 64px;}
.etc_labellist .labellist_item .label_txtbox {margin-top:20px; text-align:center;}
.etc_labellist .labellist_item .label_txtbox .title {margin-bottom:10px; font-size:18px; font-weight:700; line-height:1.4; letter-spacing:-0.03em; color:#444444;}
.etc_labellist .labellist_item .label_txtbox .txt {font-size:16px; font-weight:500; line-height:1.4; letter-spacing:-0.08em; color:#707070;}
.etc_summary {position:relative; margin-bottom:50px;}
.etc_summarylist {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 20px; position:relative;}
.etc_summarylist .summary_item {position:relative; width:calc(100% / 2 - 10px);}
.etc_summarylist .summary_link {display:flex; align-items:center; justify-content:space-between; gap:10px; position:relative; padding:14px 20px; border-radius:4px; background:#f8f9fa; transition:background 0.3s ease; box-sizing:border-box;} 
.etc_summarylist .summary_link:hover {background:#f0f0f0;}
.etc_summarylist .summary_link .title {font-size:16px; font-weight:700; line-height:1.4; letter-spacing:-0.03em; color:#222222; font-family:'OnemobileT', sans-serif;}
.etc_contbox {position:relative; margin-bottom:50px;}
.etc_contbox:last-child {margin-bottom:0;}
.etc_cont_btitle {margin:30px 0 10px; font-size:24px; font-weight:700; line-height:30px; letter-spacing:-0.03em; color:#000000;}
.etc_cont_title {display:flex; align-items:center; justify-content:flex-start; gap:10px; position:relative; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid #d0d0d0; box-sizing:border-box;}
.etc_cont_title .label_ico {display:none; /* display:block; */ width:30px; height:30px; background-size:auto 30px;}
.etc_cont_title span {font-size:24px; font-weight:700; line-height:1.4; letter-spacing:-0.03em; color:#000000; font-family:'OnemobileT', sans-serif;}
.etc_cont_textbox {position:relative;}
.etc_cont_textbox .etc_text {font-size:17px; font-weight:400; line-height:1.6; letter-spacing:-0.03em; color:#222222;}
.etc_cont_textbox .etc_sm_list {position:relative; margin-top:14px;}
.etc_cont_textbox .etc_sm_list.center {margin-bottom:20px;}
.etc_cont_textbox .etc_sm_text {font-size:15px; font-weight:400; line-height:1.8; letter-spacing:-0.03em; color:#707070;}
.etc_cont_textbox .etc_link {color:#000000;}
.etc_cont_textbox .etc_link:hover, .etc_cont_textbox .etc_link:focus {color:#1a4bed; text-decoration:underline;}
.etc_table {position:relative; table-layout:fixed; border-collapse:collapse; width:100%; margin-top:14px; border-top:1px solid #dddddd; text-align:center; box-sizing:border-box;}
.etc_table tr th {position:relative; padding:22px 20px; border-bottom:1px solid #dddddd; background:#f8f9fa; font-size:16px; font-weight:700; line-height:1.6; letter-spacing:-0.03em; color:#000000; box-sizing:border-box;}
.etc_table tr th:after {content:""; display:block; position:absolute; top:50%; right:0; transform:translateY(-50%); width:1px; height:24px; background-color:#dddddd;}
.etc_table tr th:last-child:after {display:none;}
.etc_table tr td {position:relative; padding:22px 20px; border-bottom:1px solid #dddddd; background:#ffffff; font-size:15px; font-weight:400; line-height:1.6; letter-spacing:-0.03em; color:#707070; box-sizing:border-box;}
.etc_wrap .scroll_box {position:relative;}
.etc_wrap .scroll_box.center {margin-bottom:20px;}

/** 개인정보처리방침 : 라벨링 **/
.etc_wrap.privacy .label_ico.ico01 {background:url('../img/Contents/ico_privacy01.svg')center center no-repeat;}
.etc_wrap.privacy .label_ico.ico02 {background:url('../img/Contents/ico_privacy02.svg')center center no-repeat;}
.etc_wrap.privacy .label_ico.ico03 {background:url('../img/Contents/ico_privacy03.svg')center center no-repeat;}
.etc_wrap.privacy .label_ico.ico04 {background:url('../img/Contents/ico_privacy04.svg')center center no-repeat;}
.etc_wrap.privacy .label_ico.ico05 {background:url('../img/Contents/ico_privacy05.svg')center center no-repeat;}
.etc_wrap.privacy .label_ico.ico06 {background:url('../img/Contents/ico_privacy06.svg')center center no-repeat;}
.etc_wrap.privacy .label_ico.ico07 {background:url('../img/Contents/ico_privacy07.svg')center center no-repeat;}
.etc_wrap.privacy .label_ico.ico08 {background:url('../img/Contents/ico_privacy08.svg')center center no-repeat;}
.etc_wrap.privacy .label_ico.ico09 {background:url('../img/Contents/ico_privacy09.svg')center center no-repeat;}
.etc_wrap.privacy .label_ico.ico10 {background:url('../img/Contents/ico_privacy10.svg')center center no-repeat;}

@media screen and (max-width:1024px){

	.etc_wrap {margin:50px 0 0;}
	.etc_topbox {padding:20px;}
	.etc_topbox .txt {font-size:15px;}
	.etc_labelling {margin-bottom:30px;}
	.etc_labellist .labellist_item {width:calc(100% / 2);}
	.etc_labellist .labellist_item .label_txtbox .title {font-size:16px;}
	.etc_labellist .labellist_item .label_txtbox .txt {font-size:14px;}
	.etc_summarylist .summary_item {width:100%;}
	.etc_summarylist .summary_link .title {font-size:15px;}
	.etc_cont_title .label_ico {width:24px; height:24px; background-size:auto 24px;}
	.etc_cont_title span {font-size:18px;}
	.etc_cont_textbox .etc_text {font-size:15px;}
	.etc_cont_textbox .etc_sm_list {margin-top:10px;}
	.etc_cont_textbox .etc_sm_text {font-size:14px;}
	.etc_table tr th {padding:10px 10px; font-size:14px;}
	.etc_table tr td {padding:10px 10px; font-size:14px;}
	.etc_wrap .scroll_box {overflow-x:scroll;}
	.etc_wrap .scroll_box .etc_table {width:1024px;}
	
}

@media screen and (max-width:360px){

	.etc_labellist .labellist_item {width:100%; min-height:auto;}
	
}


/* 관람정보 */
.visit-info .info-grid { display:flex; flex-wrap:wrap; gap:4rem; margin:0 auto; }
.visit-info .info-card {display:flex;flex-direction:column;gap:5rem;flex: 1 1 calc(50% - 4rem);background:#FCFCFD;border: 1px solid #eee;border-radius: 1rem;padding: 5rem;}
.visit-info .info-card .icon-circle { width:4.6rem; height:4.6rem; border-radius:50%; background:var(--color-blue); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.visit-info .info-card .icon { width:2.4rem; height:2.4rem; background-repeat:no-repeat; background-size:contain; background-position:center; }
.visit-info .info-card .card-label { line-height:1.4; }
.visit-info .info-card .card-value { font-size: 1.8rem; font-weight: 700; line-height: 1.5; margin-top: 1rem; }
.visit-info .info-card .card-value.blue { color:var(--color-blue); }
.visit-info .info-card .card-note { margin-top:0.5rem; color:#888; line-height:1.4; }
.visit-info .info-grid .card-calendar .icon { background-image:url('../img/content/exhib_info_icon_cal.svg'); }
.visit-info .info-grid .card-clock .icon { background-image:url('../img/content/exhib_info_icon_clock.svg'); }
.visit-info .info-grid .card-price .icon { background-image:url('../img/content/exhib_info_icon_price.svg'); }
.visit-info .info-grid .card-camera .icon { background-image:url('../img/content/exhib_info_icon_camera.svg'); }
.visit-info .dash_list li{font-size:1.8rem;}
.viWrap { padding:4rem; border:0.1rem solid #e5e7eb; background:#fff; }
.viTopTxt { margin:0 0 4rem; font-size:1.8rem; font-weight:500; line-height:1.7; color:#111827; }
.viSec { margin-top:5.6rem; }
.viSec:first-child { margin-top:0; }
.viTit { margin:0 0 2.4rem; font-size:1.8rem; font-weight:700; line-height:1.4; color:#111827; }
.viLst { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3.2rem 8rem; margin:0; padding:0; list-style:none; }
.viItm { display:flex; align-items:flex-start; gap:1.6rem; min-height:6rem; }
.viIco { display:block; width:4.4rem; height:4.4rem; border-radius:50%; background-repeat:no-repeat; background-position:center;  flex-shrink:0; }
.viTxt { margin:0; padding-top:0.6rem; font-size:1.8rem; font-weight:500; line-height:1.7; color:#1f2937; word-break:keep-all; }
.viIco01 .viIco { background-image:url('../img/content/vi_ico01.svg'); }
.viIco02 .viIco { background-image:url('../img/content/vi_ico02.svg'); }
.viIco03 .viIco { background-image:url('../img/content/vi_ico03.svg'); }
.viIco04 .viIco { background-image:url('../img/content/vi_ico04.svg'); }
.viIco05 .viIco { background-image:url('../img/content/vi_ico05.svg'); }
.viIco06 .viIco { background-image:url('../img/content/vi_ico06.svg'); }
.viIco07 .viIco { background-image:url('../img/content/vi_ico07.svg'); }
.viIco08 .viIco { background-image:url('../img/content/vi_ico08.svg'); }
.viIco09 .viIco { background-image:url('../img/content/vi_ico09.svg'); }
@media (max-width:1200px) {
	.visit-info .info-grid{gap: 1rem;} 
	.visit-info .info-card { flex:1 1 100%;gap: 3rem;padding:3rem; } 
	.viWrap { padding:3.2rem; }
  	.viLst { gap:2.8rem 4rem; }
}
@media (max-width:640px) {
	.visit-info .info-card .card-value{font-size:1.6rem;} 
	.viWrap { padding:2.4rem; }
	.viTopTxt { margin-bottom:3.2rem; font-size:1.6rem; }
	.viSec { margin-top:4.8rem; }
	.viTit { margin-bottom:2rem; }
	.viLst { grid-template-columns:1fr; gap:2rem; }
	.viItm { gap:1.2rem; }
	.viTxt { padding-top:0.4rem; font-size:1.6rem; }
}

/* 오시는길 */
.location-box{width:100%; position:relative;}
.location-map iframe{width:100%; min-height:55rem;}
.location-info{position: absolute; bottom: -8rem; right: 0; background: #fafafa; border: 1px solid #eee; padding: 5rem; box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .06);}
.location-info h3{font-size: 2.2rem; font-weight: 600;}
.location-info ul{margin-top: 3rem; display: flex; align-items: center; gap:2rem 6rem; flex-wrap: wrap;}
.location-info li{font-size:1.8rem;display: flex; align-items: center; gap: 1rem;}
.location-info li .icon{width: 2.4rem; height: 2.4rem;}
.location-info li .icon.map{background:url(../img/content/icon_map.svg) no-repeat center center;}
.location-info li .icon.tell{background:url(../img/content/icon_phone.svg) no-repeat center center;}
.location-info li .icon.fax{background:url(../img/content/icon_print.svg) no-repeat center center;}
.trafficInfo { margin-top:15rem; }
.trafficRow { display: flex; align-items: center; gap: 3rem; padding: 5rem 0; border-bottom: 0.1rem solid #ddd; }
.trafficLabel { display: flex; align-items: center; gap: 2rem; width: 22.5rem; flex-shrink: 0; }
.trafficIcon { position: relative; display: block; width: 5.2rem; height: 5.2rem; border: 0.1rem solid #cfe0f5; border-radius: 1.2rem; background: #f8fbff; flex-shrink: 0; }
.trafficIcon::before { content: ""; position: absolute; top: 50%; left: 50%; width: 2.4rem; height: 2.4rem; background-repeat: no-repeat; background-position: center; background-size: contain; transform: translate(-50%, -50%); }
.trafficIcon--subway::before { background-image: url("../img/content/icon_subway.svg"); }
.trafficIcon--bus::before { background-image: url("../img/content/icon_bus.svg"); }
.trafficIcon--car::before { background-image: url("../img/content/icon_car.svg"); }
.trafficTit { font-size: 1.8rem; font-weight: 700; line-height: 1.5;  }
.trafficCont { flex: 1; min-width: 0; }
.trafficTxt { display: flex; flex-wrap: wrap; align-items: center; line-height: 1.6;}
.trafficTxt + .trafficTxt { margin-top: 0.8rem; }
.trafficInfo .line { position: relative; margin-right: 2.4rem; font-weight: 700; line-height: 1.6;  flex-shrink: 0; }
.trafficInfo .line::before { content: ""; position: absolute; top: 50%; right: -1.2rem; width: 0.1rem; height: 1.4rem; background: #999; transform: translateY(-50%); }
.trafficInfo .line1 { color: #f26522; }
.trafficInfo .line2 { color: #63b32e; }
.trafficDesc { flex: 1; min-width: 0; line-height: 1.5;}
.trafficTxt--single .trafficDesc { width: 100%; }

@media (max-width: 1200px) {
  .trafficRow { gap: 5rem; padding: 4.8rem 0; }
  .trafficLabel { width: 20rem; }
}

@media screen and (max-width:980px){	
	.location-info { position: static; box-shadow: none; padding: 4rem;}
	.trafficInfo{margin-top:2rem;}
	
}

@media (max-width: 768px) {
	.location-info h3{font-size: 2rem;}
	.location-info li{font-size:1.6rem;}
  .trafficRow { flex-direction: column; align-items: flex-start; gap: 2rem; padding: 3.2rem 0; }
  .trafficLabel { width: 100%; gap: 1.6rem; }
  .trafficIcon { width: 4.8rem; height: 4.8rem; border-radius: 1rem; }
  .trafficIcon::before { width: 2.2rem; height: 2.2rem; }
  .trafficTit { font-size: 1.8rem; }
  .trafficTxt { align-items: flex-start; font-size: 1.6rem; line-height: 1.7; }
  .trafficTxt + .trafficTxt { margin-top: 0.6rem; }
  .trafficInfo .line { margin-right: 2rem; line-height: 1.7; }
  .trafficInfo .line::before { right: -1rem; height: 1.2rem; }
  .trafficDesc { width: 100%; font-size: 1.6rem; line-height: 1.7; }
}

/* 전시장안내 */
.museumIntro { width: 100%; }
.museumIntro__visual {position: relative;padding: 6.5rem 7rem;background-repeat: no-repeat;background-position: center;background-size: cover;}
.museumIntro__visualDim { position: absolute; inset: 0;}
.museumIntro__visualInner { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 10rem; }
.museumIntro__visualEn {font-size: 2rem;font-weight: 400;text-transform: uppercase;line-height: 1.4;color: #fff;font-family: 'Montserrat', sans-serif;}
.museumIntro__visualLine {display: block;width: 5rem;height: .1rem;margin: 3rem 0;background: rgba(255,255,255,.5);}
.museumIntro__visualTit {font-size: 3.6rem;font-weight: 700;line-height: 1.5;color: #fff;font-family: 'OnemobileT';}
.museumIntro__logo { position:absolute; right:4.8rem; bottom:2.6rem; z-index:2; display:block; background-repeat:no-repeat; background-position:center; background-size:contain; filter:  brightness(0) invert(1) opacity(0.3); }
.museumIntro__visualDeco { position: absolute; right: -0.4rem; top: -0.4rem; z-index: 2; width: 4rem; height: 4rem;}
.museumIntro__logo--kibo { width:22rem; height:4.2rem; background-image:url('../img/main/icon_logo-kibo2.svg');filter: none; opacity: 0.3; }
.museumIntro__logo--bnk { width:16.8rem; height:3.6rem; background-image:url('../img/main/icon_logo-bnk.svg'); }
.museumIntro__logo--krx { width:19rem; height:4.8rem; background-image:url('../img/main/icon_logo-krx.svg'); }
.museumIntro__logo--bok { width:20rem; height:4.2rem; background-image:url('../img/main/icon_logo-bok2.svg'); filter: none; opacity: 0.3;}
.museumIntro__logo--ksd { width:26rem; height:6rem; background-image:url('../img/main/icon_logo-ksd.svg'); }
.museumIntro.kibo .museumIntro__visual{background:url(../img/content/museum_vis-kibo.png);}
.museumIntro.kibo .museumIntro__visualDim { background:linear-gradient(90deg, rgba(0, 55, 123, 0.9) 0%, rgba(178, 210 ,53, 0.85) 100%);}
.museumIntro.kibo .museumIntro__visualDeco { border-right:.8rem solid #00479d; border-top:.8rem solid #00479d; }
.museumIntro.bnk .museumIntro__visual{background:url(../img/content/museum_vis-bnk.png);}
.museumIntro.bnk .museumIntro__visualDim {background:linear-gradient(90deg, rgba(215,25,33,0.85) 0%, rgba(101,92,79,0.9) 100%); }
.museumIntro.bnk .museumIntro__visualDeco { border-right:.8rem solid #D71218; border-top:.8rem solid #D71218; }
.museumIntro.krx .museumIntro__visual{background:url(../img/content/museum_vis-krx.png);}
.museumIntro.krx .museumIntro__visualDim { background:linear-gradient(90deg, rgba(0,171,212,0.9) 0%, rgba(232,170,0,0.85) 100%); }
.museumIntro.krx .museumIntro__visualDeco { border-right:.8rem solid #10B0D6; border-top:.8rem solid #10B0D6; }
.museumIntro.bok .museumIntro__visual{background:url(../img/content/museum_vis-bok.png);}
.museumIntro.bok .museumIntro__visualDim { background:linear-gradient(90deg, rgba(0,72,132,0.9) 0%,rgba(49,168,220,0.85) 100%); }
.museumIntro.bok .museumIntro__visualDeco { border-right:.8rem solid #004884; border-top:.8rem solid #004884; }
.museumIntro.ksd .museumIntro__visual{background:url(../img/content/museum_vis-ksd.png);}
.museumIntro.ksd .museumIntro__visualDim { background:linear-gradient(90deg, rgba(111,186,44,0.9) 0%,rgba(35,25,22,0.85) 100%); }
.museumIntro.ksd .museumIntro__visualDeco { border-right:.8rem solid #6FBA2C; border-top:.8rem solid #6FBA2C; }

.museumIntro__body { padding: 8rem 1.8rem;}
.museumIntro__chapter { display: grid; grid-template-columns: 24rem minmax(0, 1fr); gap: 0 10rem;}
.museumIntro__chapter + .museumIntro__chapter { margin-top: 12rem; }
.museumIntro__chapterNum { margin-bottom: 1.2rem; line-height: 1.4; text-transform: uppercase; font-family: 'Montserrat', sans-serif; font-weight: 500;}
.museumIntro__chapterTit {  font-size: 2.8rem; font-weight: 700;  line-height: 1.3; letter-spacing: -.03em;}
.museumIntro__chapterCont { min-width: 0; margin-top:3rem; }
.museumIntro__chapterCont > p {font-size: 1.8rem; line-height: 1.8; }
.museumIntro__chapterCont > p + p { margin-top: 0.5rem; }
.museumIntro.kibo .museumIntro__chapterNum{color:#B2D235;}
.museumIntro.bnk .museumIntro__chapterNum{color:#D71218;}
.museumIntro.krx .museumIntro__chapterNum{color:#00ABD4;}
.museumIntro.bok .museumIntro__chapterNum{color:#004884;}
.museumIntro.ksd .museumIntro__chapterNum{color:#6FBA2C;}
.museumIntro__gallery { position: relative; margin-top: 4.8rem; }
.museumIntroSwiper { overflow: hidden; }
.museumIntro__slideImg { overflow:hidden; position:relative; aspect-ratio: 16 / 8; }
.museumIntro__slideImg img { display:block; width:100%; height:100%; object-fit:cover; }
.museumIntro__controls { position:absolute; right:0; bottom:0; z-index:5; display:flex; align-items:center; height:4.8rem; background:rgba(56,53,49,.88); }
.museumIntro__fraction { display:flex; align-items:center; justify-content:center; min-width:9.8rem; padding:0 2rem; font-size:1.8rem; font-weight:400; line-height:1; color:#fff; }
.museumIntro__current { display:inline-block; }
.museumIntro__slash { display:inline-block; margin:0 .8rem; opacity:.65; }
.museumIntro__total { display:inline-block; opacity:.7; }
.museumIntro__nav,
.museumIntro__tgl { position:relative; width:4.8rem; height:4.8rem; border:0; background:transparent; cursor:pointer; flex-shrink:0; }
.museumIntro__nav::before { content:""; position:absolute; top:50%; left:50%; width:1rem; height:1rem; border-top:.2rem solid #fff; border-right:.2rem solid #fff; transform:translate(-50%, -50%) rotate(45deg); }
.museumIntro__nav--prev::before { transform:translate(-50%, -50%) rotate(-135deg); }
.museumIntro__tglIcon--pause::before,
.museumIntro__tglIcon--pause::after { content:""; position:absolute; top:50%; width:.2rem; height:1.2rem; background:#fff; transform:translateY(-50%); }
.museumIntro__tglIcon--pause::before { left:calc(50% - .35rem); }
.museumIntro__tglIcon--pause::after { left:calc(50% + .15rem); }
.museumIntro__tglIcon--play::before { content:""; position:absolute; top:50%; left:50%; width:0; height:0; border-top:.7rem solid transparent; border-bottom:.7rem solid transparent; border-left:1rem solid #fff; transform:translate(-35%, -50%); }
.museumIntro__nav.swiper-button-disabled { opacity:.35; cursor:default; }

.museumIntro__featureList { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:4.4rem 4.4rem; }
.museumIntro__featureItem { min-width:0; }
.museumIntro__featureBox { height: 100%;  padding: 5.2rem 4rem 4.8rem; border: 0.1rem solid #eee;  border-radius: 1.6rem;  background: #fafafa; }
.museumIntro__featureTit { margin-bottom:2.8rem; font-size:1.8rem; font-weight:700; line-height:1.5; letter-spacing:-0.02em; }
.museumIntro__featureDesc li { position:relative; padding-left:1.6rem;font-weight:400; line-height:1.8; letter-spacing:-0.02em;}
.museumIntro__featureDesc li::before { content:"-"; position:absolute; top:0; left:0; }
.museumIntro__featureDesc li + li { margin-top:1rem; }
.museumIntro__featureDesc p { font-weight:400; line-height:1.9; color:#222; letter-spacing:-0.02em; }
.museumIntro__featureDesc p + p { margin-top:.8rem; }

@media (max-width: 1200px) {
	.museumIntro__body {padding: 6rem 1rem;}
	.museumIntro__visual {padding: 5.5rem 4rem;}
	.museumIntro__visualEn{font-size:1.8rem;}
	.museumIntro__visualTit{font-size:3rem;}
	.museumIntro__logo{right: 2.5rem; bottom: 2rem;}
	.museumIntro__chapter { grid-template-columns: 1fr; gap: 2.4rem 0; }
	.museumIntro__chapterCont{margin-top:0;}
	.museumIntro__chapter + .museumIntro__chapter{margin-top:8rem;}
	.museumIntro__chapterTit{font-size:2.6rem;}
	.museumIntro__gallery{margin-top:1.8rem;}
	.museumIntro__featureList{gap:2rem;}
	.museumIntro__featureBox{padding:4rem 3.5rem;}
}
@media (max-width:980px) {
	.museumIntro__visual{padding: 4rem 3.5rem 8rem;}
}

@media (max-width: 768px) {
	.museumIntro__visualTit {font-size: 2.6rem;}
	.museumIntro__chapterTit{font-size:2.2rem;}
	.museumIntro__chapterCont > p{font-size:1.6rem; line-height: 1.7;}
	.museumIntro__slideImg{aspect-ratio: 14 / 8;}
	.museumIntro__featureList{grid-template-columns: 1fr;}
	.museumIntro__featureBox {padding: 4rem 3rem;}
	.museumIntro__featureDesc li{line-height:1.6;}
	.museumIntro__logo{right:2rem;}
	.museumIntro__logo--ksd{width: 18rem; height: 4.5rem;}
	.museumIntro__logo--kibo{width: 19rem; height: 2.4rem;}
	.museumIntro__logo--bnk{width: 15rem; height: 3.4rem;}
	.museumIntro__logo--krx{width: 16rem; height: 3.6rem;}
	.museumIntro__logo--bok{width: 18rem; height: 3rem;}
}

@media (max-width: 480px) {
	.museumIntro__slideImg{aspect-ratio: 14 / 10;}
}



/* 프로그램안내 - 로드일정표,로드지도 */
.roadprgs-course {margin-bottom:20rem;}
.roadprgs-course__section { display: flex; align-items: flex-start; gap: 4rem; margin-bottom: 8rem; }
.roadprgs-course__title-wrap {position: sticky; top: 2rem; flex-shrink: 0; width: 30rem;}
.roadprgs-course__title { display: flex;  align-items: center;  gap: 1rem; flex-wrap: wrap; font-family: 'OnemobileT', sans-serif;  font-size: 2.2rem; line-height: 1.5; margin-bottom: 1.5rem;}
.roadprgs-course__title--kids .tit { color: #6FBA2C; }
.roadprgs-course__title--master .tit { color: var(--color-blue); }
.roadprgs-course__content { flex: 1; min-width: 0; width: 100%; }
.roadprgs-course__info { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-bottom: 5rem; }
.roadprgs-course__info-card {padding: 4rem; border: 0.1rem solid #eee; border-radius: 1rem; background: #FCFCFD;}
.roadprgs-course__info-label { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem;}
.roadprgs-course__info-label svg { flex-shrink: 0; }
.roadprgs-course__info-value {font-size: 1.8rem; font-weight: 700;line-height: 1.5;} 
.roadprgs-course__flow { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; padding: 0 5rem; }
.roadprgs-course__flow-item { display: flex; align-items: center; }
.roadprgs-course__flow-node { display: flex; flex-direction: column; align-items: center; gap: 2rem; } 
.roadprgs-course__flow-circle { position: relative; width: 12rem; height: 12rem;  border-radius: 50%; border: 0.3rem solid #ddd; background: #fff;  display: flex; align-items: center; justify-content: center;}
.roadprgs-course__flow-circle img {width: 6rem; height: 6rem; object-fit: contain;} 
.roadprgs-course__flow-badge { position: absolute; top: 0rem; left: -0.2rem; width: 2.6rem; height: 2.6rem;  border-radius: 50%; color: #fff; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; justify-content: center; z-index: 1;}
.roadprgs-course__flow-name {font-size: 1.8rem;  font-weight: 700;  text-align: center;  line-height: 1.4;}
.roadprgs-course__flow-arrow {margin-top: 5rem;} 
.roadprgs-course__section--kids .roadprgs-course__flow-name { color: #1D9E75; }
.roadprgs-course__section--kids .roadprgs-course__flow-circle { border-color: #1D9E75; }
.roadprgs-course__divider { border: none; border-top: 0.1rem solid #e4e8ef; margin: 0 0 8rem; }
.roadprgs-course__flow-node.ksd  .roadprgs-course__flow-circle{border-color:#6FBA2C; }
.roadprgs-course__flow-node.ksd  .roadprgs-course__flow-badge{background:#6FBA2C; }
.roadprgs-course__flow-node.ksd  .roadprgs-course__flow-name{color:#6FBA2C; }
.roadprgs-course__flow-node.bnk  .roadprgs-course__flow-circle{border-color:#D71218; }
.roadprgs-course__flow-node.bnk  .roadprgs-course__flow-badge{background:#D71218; }
.roadprgs-course__flow-node.bnk  .roadprgs-course__flow-name{color:#D71218; }
.roadprgs-course__flow-node.bok  .roadprgs-course__flow-circle{border-color:#004884; }
.roadprgs-course__flow-node.bok  .roadprgs-course__flow-badge{background:#004884; }
.roadprgs-course__flow-node.bok  .roadprgs-course__flow-name{color:#004884; }
.roadprgs-course__flow-node.kibo  .roadprgs-course__flow-circle{border-color:#B2D235; }
.roadprgs-course__flow-node.kibo  .roadprgs-course__flow-badge{background:#B2D235; }
.roadprgs-course__flow-node.kibo  .roadprgs-course__flow-name{color:#B2D235; }
.roadprgs-course__flow-node.krx  .roadprgs-course__flow-circle{border-color:#00ABD4; }
.roadprgs-course__flow-node.krx  .roadprgs-course__flow-badge{background:#00ABD4; }
.roadprgs-course__flow-node.krx  .roadprgs-course__flow-name{color:#00ABD4; }

.roadprgs-course__note { color: #888;  padding-left: 1.2rem; position: relative;grid-column: 1 / -1;}
.roadprgs-course__note::before { content: '*'; position: absolute; left: 0;}
 
@media (max-width: 1200px) {
    .roadprgs-course__section { flex-direction: column; gap: 1.6rem; }
    .roadprgs-course__title-wrap { position: static; width: 100%; }
    .roadprgs-course__info { grid-template-columns: 1fr 1fr; gap: 0.8rem; }
    .roadprgs-course__flow { flex-wrap: nowrap;   overflow-x: auto;   padding: 0 2rem;  gap: 3rem;}
    .roadprgs-course__flow-circle {width: 11rem; height: 11rem; }
    .roadprgs-course__flow-circle img { width: 5.5rem; height: 5.5rem;}
    .roadprgs-course__flow-name { font-size: 1.6rem;}
	.roadprgs-course__divider{margin: 0 0 5rem;}
}

@media (max-width: 480px) {
    .roadprgs-course__info { grid-template-columns: 1fr;}
	.roadprgs-course__info-card{padding:3rem;}
}

.roadprgs-map { position: relative;  }
.roadprgs-map button { appearance: none; }

.roadprgs-map__tabs { display: flex;align-items: center; padding: 0.5rem; border: 1px solid #ddd; border-radius: 5rem; background: #fff; max-width: 64rem; margin: 0 auto 4rem; gap: 0;}
.roadprgs-map__tab {flex: 1; display: flex; align-items: center; justify-content: center; height: 5.6rem; padding: 0 1rem; border-radius: 5rem; font-size: 1.8rem; font-weight: 700; color: #767e8a; cursor: pointer; transition: background 0.2s ease, color 0.2s ease; margin: 0;}
.roadprgs-map__tab.is-active {background: var(--color-blue, #1850a5); color: #fff;}

.roadprgs-map__layout { display: grid; grid-template-columns: 55rem minmax(0, 1fr); gap: 4rem; align-items: start; }
.roadprgs-map__side { min-width: 0; }
.roadprgs-map__timeline { position: relative; margin: 5rem 0; }
.roadprgs-map__timeline-track {position: absolute;left: 6.5rem;top: 3.6rem;bottom: 3.6rem;width: 0.3rem; background: #d9dfe8; border-radius: 99rem; z-index: 0;}
.roadprgs-map__timeline-fill { position: absolute; left: 0; top: 0; width: 100%; height: 0%; border-radius: 99rem; transition: height 0.45s cubic-bezier(.4,0,.2,1); }
.roadprgs-map__timeline-list { position: relative; z-index: 1; }
.roadprgs-map__timeline-item {display: flex;align-items: center;gap: 2rem;padding-bottom: 6rem;}
.roadprgs-map__timeline-item:last-child { padding-bottom: 0; }
.roadprgs-map__timeline-node {position: relative;z-index: 2;flex-shrink: 0;display: flex;align-items: center;justify-content: center;width: 13rem;height: 13rem;border: 0.4rem solid transparent;border-radius: 50%;transition: transform 0.25s ease;}
.roadprgs-map__timeline-badge {position: absolute;top: 0rem;left: -0.5rem;z-index: 3;width: 3.2rem;height: 3.2rem;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 1.5rem;font-weight: 700;color: #fff;}
.roadprgs-map__timeline-logo { width: 4.8rem; height: 4.8rem; object-fit: contain; }

/* 링 애니메이션 */
@keyframes roadprgsMapRingPulse {
  0% { transform: scale(1); opacity: 0.55; }
  100% { transform: scale(1.55); opacity: 0; }
}
.roadprgs-map__timeline-ring { position: absolute; inset: -0.8rem; border: 0.2rem solid transparent; border-radius: 50%; opacity: 0; }
.roadprgs-map__timeline-item.is-active .roadprgs-map__timeline-ring { animation: roadprgsMapRingPulse 1.1s ease-out infinite; }

.roadprgs-map__timeline-body { flex: 1;  cursor: pointer;}
.roadprgs-map__timeline-name { font-size: 2rem; font-weight: 700; line-height: 1.5;word-break: keep-all; }
.roadprgs-map__timeline-sub { margin-top: 1rem; font-size: 1.5rem; line-height: 1.5; color: #666; }


.roadprgs-map__map-box { background: #f5f1e8; border: 0.1rem solid #dfe5ec; border-radius: 2.4rem; overflow: hidden; box-shadow: 0 0 0 0 rgba(0,0,0,0); }
.roadprgs-map__map-box svg { display: block; width: 100%; height: auto; }
.roadprgs-map__map-box text { letter-spacing: -0.01em; }

@keyframes roadprgsMapPinPulse {
  0% { r: 16px; opacity: 0.45; }
  100% { r: 28px; opacity: 0; }
}
.roadprgs-map__pin { cursor: pointer; }
.roadprgs-map__pin-pulse { opacity: 0; transition: opacity 0.3s ease;}
.roadprgs-map__pin.is-active .roadprgs-map__pin-pulse { animation: roadprgsMapPinPulse 1.1s ease-out infinite; }
.roadprgs-map__pin image { filter: grayscale(100%); transition: filter 0.3s ease;}
.roadprgs-map__pin.is-active image { filter: none;}

.roadprgs-map__info { margin-top: 1.6rem; padding: 1.8rem 2rem; background: #fff; border: 0.1rem solid #dfe5ec; border-radius: 1.8rem; transition: border-color 0.2s ease; }
.roadprgs-map__info-head { display: flex; align-items: center; gap: 0.8rem; }
.roadprgs-map__info-dot { width: 1rem; height: 1rem; border-radius: 50%; flex-shrink: 0; }
.roadprgs-map__info-name { font-size: 1.7rem; font-weight: 700; line-height: 1.4; color: #111; }
.roadprgs-map__info-detail { margin-top: 0.6rem; font-size: 1.5rem; line-height: 1.6; color: #666; }

.roadprgs-map__ctrls { display: flex; gap: 1rem; margin-top: 1.6rem; }
.roadprgs-map__ctrl { flex: 1; display: inline-flex; align-items: center; justify-content: center; height: 4.8rem; padding: 0 1.6rem; border: 0.1rem solid #dfe5ec; border-radius: 1.2rem; background: #fff; font-size: 1.5rem; font-weight: 600; color: #111; cursor: pointer; transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease; white-space: nowrap; }
.roadprgs-map__ctrl.is-on { background: #f6f8fb; }

@media (max-width: 1200px) {
  .roadprgs-map__tabs { margin-bottom: 2.8rem; }
  .roadprgs-map__tab { height: 5.2rem; padding: 0 2rem; font-size: 1.7rem; }
  .roadprgs-map__layout { grid-template-columns: 1fr; gap: 3.2rem; }
  .roadprgs-map__timeline { padding: 0; }
}

@media (max-width: 768px) {
  .roadprgs-map__tabs { margin-bottom: 2.4rem; overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; }
  .roadprgs-map__tabs::-webkit-scrollbar { display: none; }
  .roadprgs-map__tab { flex: 1 0 auto; height: 4.8rem; padding: 0 1.6rem;  white-space: nowrap; }
  .roadprgs-map__layout { gap: 2.4rem; }
  .roadprgs-map__timeline-track {left: 4rem; top: 2.6rem; bottom: 2.6rem;}
  .roadprgs-map__timeline-item { gap: 1.6rem; padding-bottom:3rem; }
  .roadprgs-map__timeline-node { width: 8rem; height: 8rem; }
  .roadprgs-map__timeline-badge { width: 2rem; height: 2rem;  font-size: 1.1rem;  top: -0.2rem;  left: -0.3rem;}
  .roadprgs-map__timeline-body { padding-top: 0.3rem; }
  .roadprgs-map__timeline-logo { width: 3.6rem; height: 3.6rem;}
  .roadprgs-map__map-box { border-radius: 1.6rem; }
  .roadprgs-map__info { margin-top: 1.2rem; padding: 1.6rem; border-radius: 1.4rem; }
  .roadprgs-map__ctrls { gap: 0.8rem; margin-top: 1.2rem; }
  .roadprgs-map__ctrl { height: 4.4rem; border-radius: 1rem; }
}


/* 로드소개 */
.roadIntro {position:relative; width:100%;}
.roadIntro__inner {position:relative; max-width:144rem; margin:0 auto; padding:0 2rem 8rem;}
.roadIntro__hero {position:relative; display:flex; align-items:flex-start; justify-content:flex-end; gap:4rem; min-height:56rem;}
.roadIntro__bgText {position:absolute;left:0;top:0;width: 62%;z-index:0;}
.roadIntro__bgText svg {display:block; width:100%; height:auto;}
.roadIntro__bgText svg .bg-text {font-family:'Montserrat', sans-serif; font-weight:800; font-size:160px; fill:#ffffff; paint-order:stroke fill; letter-spacing:-0.04em;}
.roadIntro__content {position:relative;z-index:1;flex: 0 0 45%;padding-top: 34rem;    text-align: right;}
.roadIntro__title {margin:0; font-size:5.2rem; line-height:1.15; font-weight:800; background: linear-gradient(90deg, #1CBECA 0%, #0066B3 35%, #A6CE39 65%, #F15A22 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;letter-spacing:-0.05em; word-break:keep-all;}
.roadIntro__subtitle {margin:1.6rem 0 0; font-size:2.4rem; line-height:1.4; font-weight:600; color:#222; letter-spacing:-0.03em; word-break:keep-all;}
.roadIntro__line {width:100%; height:0.1rem; margin:3.2rem 0 3.6rem; background:#dddddd;}
.roadIntro__desc p {margin:0; font-size:1.8rem; line-height:2.1; font-weight:400; color:#333; letter-spacing:-0.02em; word-break:keep-all;}
.roadIntro__desc p + p {margin-top:0.2rem;}
.roadIntro__orgs {margin-top:10rem;}
.roadIntro__orgList {display:grid; grid-template-columns:repeat(4, 1fr); gap:1.6rem;}
.roadIntro__orgItem {min-width:0;}
.roadIntro__orgLink {display:flex; align-items:center; justify-content:center; height:14rem; padding:2rem; background:#fafafa; border:0.1rem solid #ececec; border-radius:0.8rem; box-sizing:border-box; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;}
.roadIntro__orgLink:hover {border-color:#d8d8d8; box-shadow:0 0.8rem 2rem rgba(0,0,0,0.04); transform:translateY(-0.2rem);}
.roadIntro__orgLink img {display:block; max-width:72%; max-height:4.4rem; object-fit:contain;}

@media screen and (max-width:1200px){
    .roadIntro__inner {padding:0 2rem 6rem;}
    .roadIntro__hero {min-height:48rem;}
    .roadIntro__bgText {width:70%;}
    .roadIntro__title {font-size:4.4rem;}
    .roadIntro__subtitle {font-size:2.1rem;}
    .roadIntro__desc p {font-size:1.7rem; line-height:2;}
}
@media screen and (max-width:980px){
    .roadIntro__hero {flex-direction:column; justify-content:flex-start; min-height:auto; gap:0;}
    .roadIntro__bgText {position:relative; left:auto; top:auto; width:100%;}
    .roadIntro__content {flex:none; width:100%; padding-top:0;}
    .roadIntro__title {font-size:4rem;}
    .roadIntro__subtitle {font-size:2rem;}
    .roadIntro__line {margin:2.8rem 0 3rem;}
    .roadIntro__orgList {grid-template-columns:repeat(2, 1fr);}
}
@media screen and (max-width:768px){
    .roadIntro {padding:4.8rem 0 0;}
    .roadIntro__inner {padding:0 1.6rem 4.8rem;}
    .roadIntro__hero {gap:2.4rem;}
    .roadIntro__title {font-size:3rem;}
    .roadIntro__subtitle {margin-top:1rem; font-size:1.7rem; line-height:1.5;}
    .roadIntro__line {margin:2rem 0 2.4rem;}
    .roadIntro__desc p {font-size:1.5rem; line-height:1.9;}
    .roadIntro__orgs {margin-top:4rem;}
    .roadIntro__orgList {grid-template-columns:1fr; gap:1.2rem;}
    .roadIntro__orgLink {height:10.4rem; padding:1.6rem;}
    .roadIntro__orgLink img {max-width:68%; max-height:3.6rem;}
}


/* 사이트맵 */
.sitemap-wrap {}
.sitemap-group {margin-bottom: 5rem;padding-bottom: 4.5rem;border-bottom: 1px solid #e5e5e5;display: flex;align-items: center;flex-wrap: wrap;gap: 3rem 5rem;}
.sitemap-group:last-child {border-bottom: none; margin-bottom: 0;}
.sitemap-group__title {font-size: 2rem;font-weight: 700;color: var(--color-mint);display: inline-block;width: 20rem;}
.sitemap-sub {display: flex; flex-wrap: wrap;}
.sitemap-sub__item a {padding-right: 4rem;line-height: 2.2;display: inline-flex;align-items: center;}
.sitemap-sub__item a:hover {}

/* 개인정보처리방침 */
.privacy-wrap {padding: 4rem 0; } 
.privacy-title { font-size: 2.4rem; font-weight: 700; margin-bottom: 3.6rem; padding-bottom: 1.6rem; border-bottom: 2px solid var(--color-blue);}
.privacy-box {margin-bottom: 3.6rem;}
.privacy-box .tit {font-weight: 700;color: var(--color-blue);margin-bottom: 1.2rem;line-height: 1.4;font-size: 1.8rem;}
.privacy-box .txt {color: #555;line-height: 1.8;margin-bottom: 0.8rem;}
.privacy-box .txt:last-child { margin-bottom: 0; }
.privacy-box .pr_table {  width: 100%; border-collapse: collapse; margin-top: 1.2rem;} 
.privacy-box .pr_table th { background: #fafafa; padding: 1rem 1.4rem; text-align: center; font-weight: 600; border: 1px solid #eee; }
.privacy-box .pr_table td {padding: 1rem 1.4rem; border: 1px solid #eee; color: #555; background: #fff; text-align:center;}
.privacy-box > .txt:first-of-type { margin-top: 0.4rem; }