@charset "utf-8";
/* 공통 */
.sub-pd { padding: 80px 0;}
.sub-pd.first { padding-top: 0; padding-bottom: 80px; }
.sub-pd.last { padding-top: 80px; padding-bottom: 0; }
.subtit { font-family: var(--cafe); font-size: var(--font-size40); color: #2c2c2c; font-weight: 700; line-height: 1.43em; }
.subtit span { color: var(--color-primary); } 
.subtit span.border { -webkit-text-stroke: 0; text-shadow: 3px 0 0 #fff, -3px 0 0 #fff, 0 3px 0 #fff, 0 -3px 0 #fff, 3px 3px 0 #fff, -3px -3px 0 #fff, 3px -3px 0 #fff, -3px 3px 0 #fff, 6px 6px 0 #cdd4c5; }
.subtit2 { font-size: var(--font-size32); margin-bottom: 50px; font-family: var(--cafe); color: #2c2c2c; font-weight: 700; line-height: 1.43em; }
.sub-bftit { position: relative; font-size: var(--font-size24); font-weight: 800; line-height: 1.58em; color: #2c2c2c; margin-bottom: 24px; padding-left: 32px; }
.sub-bftit::before { content: ""; position: absolute; left: 0; width: 20px; height: 20px; top: 9px; background: url(../images/sub/tit-bf.png) center no-repeat; background-size: contain;}
.sub-bftit.bd { padding-bottom: 20px; border-bottom: 1px dashed #dfdfdf;}
.subtab { display: flex; padding: 8px; gap: 4px; border-radius: 16px; border: 1px solid #EEE; background: #F6F6F6; margin-bottom: 60px; }
.subtab li { flex: 1;}
.subtab li a { display: flex; height: 58px; display: flex; align-items: center; justify-content: center; line-height: 1em; font-size: var(--font-size18); color: #a8a8a8; font-weight: 800; border-radius: 10px; }
.subtab li.active a { border: 1px solid #121212; background: #FFF; color: #121212 !important;}
.subtab li a:hover { background: #FFF; color: #121212;}

/* 센터 소개 */
.it-fx { display: flex; align-items: center; }
.it-fx .info { flex: 1 1 auto; min-width: 0; width: 1%; }
.it-fx .info p { font-size: var(--font-size18); line-height: 1.66em; font-weight: 400; margin-top: 34px; }
.it-fx .logo>div { position: relative; margin-bottom: 8px; border-radius: 16px; overflow: hidden;}
.it-fx .logo>div::before { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border-radius: 16px; border: 1px solid #eee;}
.it-fx .logo>div:last-child { margin-bottom: 0; }
.it-wrap { display: flex; flex-wrap: wrap; gap: 40px; }
.it-wrap .col { width: calc(100%/2 - 20px); display: flex; align-items: center; }
.it-wrap .col .info { flex: 1 1 auto; min-width: 0; width: 1%; padding-left: 24px; }
.it-wrap .col .info .tt { font-size: var(--font-size20); line-height: 1.7em; font-weight: 700; color: #2c2c22; margin-bottom: 4px; }
.it-wrap .col .info .txt { line-height: 1.75em; color: #676767; }
.it-bg { text-align: center; padding: 80px 10px; border-radius: 24px; background: url(../images/sub/sub1-1-bg.jpg) center no-repeat; background-size: cover;}
.it-bg h3 { margin-top: 16px; font-size: var(--font-size36); line-height: 1.44em; color: #878787; font-family: var(--cafe); font-weight: 700; }
.it-bg h3 .clr1 { color: #2c2c2c; }
.it-bg h3 .clr2 { color: var(--color-primary); }

/* 공간 안내 */
.space-fx { display: flex; align-items: flex-start; padding: 60px 0; border-bottom: 1px dashed #DFDFDF;}
.space-fx:first-child { padding-top: 0; }
.space-fx:last-child { padding-bottom: 0; border: none; }
.space-fx .left { width: 32%; }
.space-fx .left .subtit2 { margin-bottom: 12px; }
.space-fx .left h5 { font-size: var(--font-size18); font-weight: 700; line-height: 1.66em; color: #a8a8a8; }
.space-fx .right { width: 68%; }
.space-swiper { border-radius: 24px; overflow: hidden;}
.space-swiper img { width: 100%; }
.space-fx .right .img { border-radius: 24px; overflow: hidden;}
.space-fx .right .img img { width: 100%; }
.space-prev::after, .space-next::after { display: none; }
.space-prev, .space-next { border-radius: 12px; background-color: rgba(0, 0, 0, 0.24); backdrop-filter: blur(12px); width: 56px; height: 56px; top: auto; bottom: 24px; background-repeat: no-repeat; background-position: center; background-size: 16px; }
.space-prev { left: 24px; background-image: url(../images/sub/sub1-2-prev.png);}
.space-next { right: 24px; background-image: url(../images/sub/sub1-2-next.png); left: auto;}
.space-fx .right .gray { margin-top: 16px; padding: 30px 34px; border-radius: 24px; background: #f6f6f6; }
.space-fx .right .gray h4 { font-size: var(--font-size24); font-family: var(--cafe); color: var(--color-primary); font-weight: 700; line-height: 1.66em; margin-bottom: 24px; }
.space-fx .right .gray .txt { display: flex; flex-wrap: wrap; gap: 14px; }
.space-fx .right .gray .txt p { position: relative; padding-left: 17px; font-size: var(--font-size18); line-height: 1.55em; font-weight: 400; width: calc(100%/2 - 7px);}
.space-fx .right .gray .txt p.w100 { width: 100%; }
.space-fx .right .gray .txt p::before { content: ""; position: absolute; left: 0; top: 9px; width: 5px; height: 5px; border-radius: 5px; background: var(--color-primary); }
.space-fx .right .gray.clr2 h4 { color: #84ccdf; }
.space-fx .right .gray.clr2 .txt p::before { background: #84ccdf; }
.space-fx .right .gray.clr3 h4 { color: #2959A0; }
.space-fx .right .gray.clr3 .txt p::before { background: #2959A0; }

/* 연혁 */
.hst-wrap { position: relative; height: 100%; display: flex; align-items: flex-start;}
.hst-wrap::before { content: ""; position: absolute; left: 0; right: 0; margin: auto; top: -80px; width: 1px; height: calc(100% + 80px); background: #eee;}
.hst-wrap::after { content: ""; position: sticky; right: calc(50% - 15px); top: 190px; width: 32px; height: 32px; background: url(../images/sub/hst-dot.png) center no-repeat; background-size: contain;}
.hst-wrap .group { display: flex; margin-bottom: 100px; width: calc(100% + 32px); }
.hst-wrap>div { width: 100%; }
.hst-wrap .group:last-child { margin-bottom: 0;}
.hst-wrap .group>div { width: calc(100%/2);}
.hst-wrap .year { font-size: 46px; font-family: var(--cafe); color: #2c2c2c; font-weight: 700; line-height: 1.65em; }
.hst .info .wrap { margin-bottom: 50px; padding-left: 60px; }
.hst .info .wrap:last-child { margin-bottom: 0; }
.hst .info .wrap .date { font-size: var(--font-size20); line-height: 1.7em; font-weight: 800; color: var(--color-primary); margin-bottom: 4px; }
.hst .info .wrap ul li { display: flex; font-size: var(--font-size18); line-height: 1.44em; border-bottom: 1px dashed #DFDFDF; padding: 20px 0; font-weight: 700; }
.hst .info .wrap ul li:last-child { border: none; }
.hst .info .wrap ul li .day { width: 100px; color: #676767; }
.hst .info .wrap ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; }

/* 오시는 길 */
.lct>p { font-size: var(--font-size18); line-height: 1.66em; font-weight: 400; margin: 16px 0 50px;}
.lct .map { border-radius: 16px; overflow: hidden; }
.lct .map iframe { height: 480px; width: 100%; }
.lct .group { padding: 40px 0; margin-bottom: 40px; border-bottom: 1px dashed #dfdfdf; }
.lct .group ul li { display: flex; font-size: var(--font-size18); line-height: 1.66em; margin-bottom: 12px; align-items: flex-start;}
.lct .group ul li:last-child { margin-bottom: 0; }
.lct .group ul li .tit { width: 140px; display: flex; align-items: center;}
.lct .group ul li .tit strong { display: inline-block; padding-left: 10px; font-weight: 700; color: #2c2c2c; flex: 1 1 auto; min-width: 0; width: 1%; }
.lct .group ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; }
.lct-fx { display: flex; flex-wrap: wrap; gap: 35px 16px; }
.lct-fx>div { width: calc(100%/2 - 8px); }
.lct-fx ul li { display: flex; font-size: var(--font-size18); line-height: 1.66em; margin-bottom: 8px; align-items: flex-start;}
.lct-fx ul li:last-child { margin-bottom: 0; }
.lct-fx ul li .line { display: inline-block; margin-right: 16px; font-size: 16px; color: #fff; font-weight: 800; line-height: 1.5em; padding: 6px 16px; border-radius: 25px; background: #386de8; }
.lct-fx ul li .line.clr2 { background: #3cc344; }
.lct-fx ul li .line.clr3 { background: #FB5852; }
.lct-fx ul li .line.clr4 { background: #233C9F; }
.lct-fx ul li .line.clr5 { background: #2C9EDE; }
.lct-fx ul li .line.clr6 { background: #B5500B; }
.lct-fx ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; padding-top: 5px; }

/* 함께하는 사람들 */
.organ { text-align: center; }
.pp-wrap { display: flex; flex-wrap: wrap; gap: 30px; }
.pp-wrap .col { width: calc(100%/2 - 15px); padding: 32px; border-radius: 16px; border: 1px solid #DFDFDF; background: #fff; }
.pp-wrap .col .tit-fx { padding-bottom: 20px; border-bottom: 1px dashed #ddd; display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.pp-wrap .col .tit-fx .sub-bftit { margin-bottom: 0; }
.pp-wrap .col .tit-fx .num { padding: 6px 16px 4px; border-radius: 25px; font-size: var(--font-size20); line-height: 1.7em; color: #54b0c8; background: #eef8fa; font-weight: 800; }
.pp-wrap .col .txt p { position: relative; padding-left: 12px; font-size: var(--font-size18); line-height: 1.66em; margin-bottom: 12px;}
.pp-wrap .col .txt p:last-child { margin-bottom: 0; }
.pp-wrap .col .txt p::before { content: ""; position: absolute; left: 0; top: 11px; width: 4px; height: 4px; border-radius: 4px; background: #bbb; }

/* sub2 공통 */
.sub2-wrap { margin-top: 80px; }
.sub2-wrap .col { display: flex; align-items: center;  padding: 40px 0; border-bottom: 1px dashed #DFDFDF;}
.sub2-wrap .col > div { width: calc(100%/2);}
.sub2-wrap .col:first-child { padding-top: 0; }
.sub2-wrap .col:last-child { padding-bottom: 0; border: none; }
.sub2-wrap .col .img { padding-right: 80px; }
.sub2-wrap .col .img img { border-radius: 16px; }
.sub2-wrap .col .info .tt { margin: 40px 0 16px; font-size: var(--font-size30); line-height: 1.46em; color: #2c2c2c; font-family: var(--cafe); font-weight: 700; }
.sub2-wrap .col .info .txt { font-size: var(--font-size18); line-height: 1.77em; margin-bottom: 40px; }
.sub2-wrap .col .info ul li { display: flex; margin-bottom: 16px; align-items: flex-start;}
.sub2-wrap .col .info ul li:last-child { margin-bottom: 0; }
.sub2-wrap .col .info ul li .ctr { display: inline-block; background: #eee; border-radius: 25px; padding: 8px 12px; font-size: 14px; font-weight: 700; line-height: 1.14em; }
.sub2-wrap .col .info ul li .text { flex: 1 1 auto; min-width: 0; width: 1%; line-height: 1.5em; padding-left: 12px; }

/* 프로그램 리스트 */
.program-list { display: flex; flex-wrap: wrap; gap: 60px 24px; padding-bottom: 40px; }
.program-list .col { width: calc(100%/3 - 16px);}
.program-list .col a { display: block; }
.program-list .col .program-thumb { border-radius: 24px; }
.program-list .col a:hover .main-link { color: #fff; background: var(--color-primary); box-shadow: -4px -4px 0 0 rgba(0, 0, 0, 0.20) inset; }
.program-list .col.ended a { pointer-events: none;}
.program-list .col.ended .status { color: #CCC; }
.program-list .col.ended .grade span { color: #a8a8a8; background: #eee; }
.program-list .col.ended .tit { color: #ccc; }
.program-list .col.ended ul li { color: #ccc; }
.program-list .col.ended ul li .tt { color: #ccc; }
[lang="en"] .program-list .col ul li .tt { width: 80px; }
.program-list .col.ended .main-link { color: #a8a8a8; }
.program-list .col.ended a:hover .main-link { background: #f4f4f4; color: #a8a8a8; }

/* 프로그램 상세 */
.program-summary { margin-bottom: 80px; display: flex; }
.program-summary .thumb { width: 45%; }
.program-summary .thumb>div { border-radius: 16px; overflow: hidden; position: relative; padding-bottom: 140%; }
.program-summary .thumb>div img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
.program-summary .info { width: 55%; padding-left: 80px; display: flex; flex-direction: column; justify-content: space-between;}
.program-summary .info .ctr { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;}
.program-summary .info .ctr .status { font-size: 14px; color: #a8a8a8; font-weight: 700; line-height: 1.16em; } 
.program-summary .info .ctr .grade { display: flex; flex: 1 1 auto; min-width: 0; width: 1%; gap: 4px; flex-wrap: wrap;}
.program-summary .info .ctr .grade span { display: inline-block; padding: 4px 8px 2px; color: var(--color-secondary); background: #ffe6e6; line-height: 1.27em; font-size: 11px; font-weight: 700; border-radius: 25px; }
.program-summary .info .tit { font-size: var(--font-size32); font-weight: 700; line-height: 1.43em; color: #2c2c2c; padding: 14px 0 40px; border-bottom: 1px dashed #DFDFDF; font-family: var(--cafe); margin-bottom: 40px; }
.program-summary .info ul li { margin-bottom: 20px; display: flex; font-size: var(--font-size18); line-height: 1.66em; }
.program-summary .info ul li:last-child { margin-bottom: 0; }
.program-summary .info ul li .tt { width: 100px; font-weight: 700; color: #a8a8a8; }
[lang="en"] .program-summary .info ul li .tt { width: 170px; }
.program-summary .info ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; }
.program-summary .info ul li .txt strong { display: block; font-size: 16px; color: #a8a8a8; margin-top: 4px; font-weight: 700; }
.program-summary .info .btns { display: flex; flex-wrap: wrap; gap: 10px; }
.program-summary .info .btns a { width: calc(100%/2 - 5px); height: 56px; border-radius: 28px; display: flex; align-items: center; justify-content: center; border: 2px solid #eee; font-weight: 800; line-height: 1em; color: #878787; }
.program-summary .info .btns a.apply-btn { color: #fff; background: var(--color-primary); border: none; box-shadow: -4px -4px 0 0 rgba(0, 0, 0, 0.20) inset; }
.program-detail .contents { padding-top: 35px; border-top: 1px dashed #dfdfdf;}

/* 프로그램 신청서 작성 */
.program-form-info { padding: 40px; border-radius: 24px; border: 1px solid #dfdfdf; }
.program-form-info .ctr { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;}
.program-form-info .ctr .status { font-size: 14px; color: #a8a8a8; font-weight: 700; line-height: 1.16em; } 
.program-form-info .ctr .grade { display: flex; flex: 1 1 auto; min-width: 0; width: 1%; gap: 4px; flex-wrap: wrap;}
.program-form-info .ctr .grade span { display: inline-block; padding: 4px 8px 2px; color: var(--color-secondary); background: #ffe6e6; line-height: 1.27em; font-size: 11px; font-weight: 700; border-radius: 25px; }
.program-form-info .tit { font-size: var(--font-size32); font-weight: 700; line-height: 1.43em; color: #2c2c2c; padding: 14px 0 40px; border-bottom: 1px dashed #DFDFDF; font-family: var(--cafe); margin-bottom: 40px; }
.program-form-info ul li { margin-bottom: 20px; display: flex; font-size: var(--font-size18); line-height: 1.66em; }
.program-form-info ul li:last-child { margin-bottom: 0; }
.program-form-info ul li .tt { width: 100px; font-weight: 700; color: #a8a8a8; }
[lang="en"] .program-form-info ul li .tt { width: 170px; }
.program-form-info ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; }
.program-form-info ul li .txt strong { display: block; font-size: 16px; color: #a8a8a8; margin-top: 4px; font-weight: 700; }
.program-form { border-top: 2px solid #2C2C2C; margin-bottom: 80px; }
.program-form .col { padding: 50px 0; border-bottom: 1px solid #eee;}
.program-form .col.total { display: none; }
.program-form .col dl { display: flex; margin-bottom: 40px; }
.program-form .col dl:last-child { margin-bottom: 0; }
.program-form .col dl dt { width: 180px; color: #2c2c2c; font-size: var(--font-size18); font-weight: 700; line-height: 1.55em; padding-top: 19px; }
.program-form .col dl.flex dt { padding-top: 5px; }
.program-form .col dl dt .required { color: #ff7474; }
.program-form .col dl dt.p0 { padding-top: 0; }
.program-form .col dl dd { height: 60px; display: flex; align-items: center; flex: 1 1 auto; min-width: 0; width: 1%;}
.program-form .col dl dd .input { height: 100%; width: 100%; border-radius: 8px; border: 1px solid #eee; background-color: #fff; padding: 20px; font-size: 16px; line-height: 1.5em; color: #2c2c2c; font-weight: 400; }
.program-form .col dl dd .input[readonly] { background: #f8f8f8; color: #505050; font-weight: 400; }
.program-form .col dl dd select.input { color: #a8a8a8; }
.program-form .col dl dd .fx { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; }
.program-form .col dl dd .fx .input { width: calc(100%/2 - 3px); }
.program-form .col dl dd.none { display: block; height: auto;}
.program-form .col dl dd.none .input { height: 60px; }
.program-form .col dl dd p { font-size: 14px; color: #676767; line-height: 1.42em; font-weight: 400; margin-top: 12px; }
.program-form .col .sel-fx { display: flex; gap: 6px; flex-wrap: wrap; width: 100%; }
.program-form .col .sel-fx select { flex: 1;}
.program-form .col .email-fx { display: flex; gap: 10px; width: 100%; align-items: center;}
.program-form-agree { padding-bottom: 40px; border-bottom: 1px solid #eee;}
.program-form-agree .agree-scroll { padding: 40px; border-radius: 24px; border: 1px solid #EEE; background: #FFF; font-size: 16px; line-height: 1.75em; color: #878787; }
.program-form-agree h4 { margin: 34px 0 12px; font-size: 17px; color: #2c2c2c; font-weight: 700; line-height: 1.64em; } 
.program-form-agree h4 span { color: #a8a8a8; }
.program-form-agree .chk { display: flex; gap: 10px 20px; flex-wrap: wrap;}
.program-form-agree .radiobox label:before { margin-top: -.1em;}
.agree-group { margin-bottom: 34px; }
.agree-group.mg { margin-bottom: 0; }
.program-form-btns { display: flex; justify-content: center; margin-top: 50px; gap: 10px; flex-wrap: wrap;}
.program-form-btns .cancel-btn { padding: 16px 34px 15px; display: inline-block; border: 2px solid #eee; border-radius: 30px; font-weight: 800; line-height: 1.5em; color: #878787; }
.program-form-btns .submit-btn { background: var(--color-primary); color: #fff; padding: 16px 34px 15px; border-radius: 30px; font-weight: 800; line-height: 1.5em; box-shadow: -4px -4px 0 0 rgba(0, 0, 0, 0.20) inset; border: none; cursor: pointer;}
.file-upload {display:flex; height:60px; gap: 6px; width: 100%; }
.file-button {display:flex; justify-content:center; align-items:center; height:100%; padding:0 20px; border:0; border-radius:8px; background:#121212; color:#fff; cursor:pointer;}
.file-name {flex:1 1 auto; min-width:0; width:1%; display:flex; align-items:center; height:100%; padding:0 20px; border:1px solid #eee; border-radius: 8px; color: #a8a8a8; background: #fff; line-height: 1.5em; }

/* 대관 이용 안내 */
.rt-sec1 p { margin: 34px 0 50px; font-size: var(--font-size18); line-height: 1.66em; }
.rt-sec1 .gray { display: flex; justify-content: space-between; align-items: center; padding: 24px 30px; border-radius: 16px; background: #F6F6F6; gap: 10px; flex-wrap: wrap;}
.rt-sec1 .gray .tit { display: flex; align-items: center;}
.rt-sec1 .gray .tit strong { display: inline-block; padding: 10px 24px 9px; color: #fff; font-weight: 800; line-height: 1.5em; border-radius: 30px; background: #FFAEAE;}
.rt-sec1 .gray .tit .txt { padding-left: 16px; font-size: var(--font-size20); line-height: 1.7em; color: #2c2c2c; font-weight: 700; }
.rt-sec1 .gray span { line-height: 1.5em; color: #a8a8a8; font-weight: 700; }
.rt-sec2 .jum-txt .txt { margin-bottom: 12px; padding-left: 12px; font-size: var(--font-size18); position: relative; line-height: 1.66em; }
.rt-sec2 .jum-txt .txt:last-child { margin-bottom: 0; }
.rt-sec2 .jum-txt .txt::before { content: ""; position: absolute; left: 0; width: 4px; height: 4px; border-radius: 4px; background: #bbb; top: 11px; }
.rt-sec2 .jum-txt ol { margin-top: 10px; }
.rt-sec2 .jum-txt ol li { margin-bottom: 6px; font-size: 16px; line-height: 1.75em; color: #676767; }
.rt-sec2 .jum-txt ol li:last-child { margin-bottom: 0; }
.rt-sec3-wrap { display: flex; flex-wrap: wrap; gap: 14px; align-items: center;}
.rt-sec3-wrap .col { border-radius: 100%; display: flex; align-items: center; justify-content: center; text-align: center; flex-direction: column; }
.rt-sec3-wrap .col .num { font-family: var(--cafe); line-height: 1.5em; margin-top: 10px; color: #a8a8a8; }
.rt-sec3-wrap .col .tt { font-family: var(--cafe); font-size: var(--font-size20); line-height: 1.7em; color: #2c2c2c; }
[lang="en"] .rt-sec3-wrap .col .tt { font-size: 16px; line-height: 1.333em; margin-top: 5px; }
.rt-sec3-wrap .left { width: calc(68% - 7px); display: flex; gap: 44px; flex-wrap: wrap;} 
.rt-sec3-wrap .left .col { background: #ecf5f8; width: calc(100%/4 - 33px); position: relative; height: 169px; }
.rt-sec3-wrap .left .col::after { content: ""; position: absolute; top: 0; bottom: 0; margin: auto; width: 18px; height: 11px; background: url(../images/sub/sub4-1-arrow.png) center no-repeat; background-size: contain; right: -31px; }
.rt-sec3-wrap .left .col:last-child::after { transform: rotate(45deg); top: auto; bottom:15px; right: -13px; }
.rt-sec3-wrap .left .col:last-child::before { content: ""; position: absolute; margin: auto; width: 18px; height: 11px; background: url(../images/sub/sub4-1-arrow.png) center no-repeat; background-size: contain; right: -13px; transform: rotate(-45deg); top: 15px;  }
.rt-sec3-wrap .right { width: calc(32% - 7px);}  
.rt-sec3-wrap .right>div { display: flex; flex-wrap: wrap; gap: 42px; }
.rt-sec3-wrap .right .col { width: calc(100%/2 - 21px); height: 168px; }
.rt-sec3-wrap .right .top { margin-bottom: 60px; }
.rt-sec3-wrap .right .top .col { background: #eff6e6; }
.rt-sec3-wrap .right .top .num { color: var(--color-primary);}
.rt-sec3-wrap .right .btm { margin-top: 60px; }
.rt-sec3-wrap .right .btm .col { background: #FFE9E9; }
.rt-sec3-wrap .right .btm .num { color: #FFAEAE;}
.rt-swiper .item .thumb { padding-bottom: 74%; border-radius: 16px; overflow: hidden; display: block; position: relative; margin-bottom: 24px; }
.rt-swiper .item .thumb img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
.rt-swiper .item .num { font-family: var(--cafe); font-weight: 700; line-height: 1.5em; color: var(--color-primary); }
.rt-swiper .item .tit { font-size: var(--font-size24); line-height: 1.66em; font-weight: 800; color: #2c2c2c; margin: 4px 0 16px; }
.rt-swiper .item .info { display: flex; }
.rt-swiper .item .info .ctr { padding: 8px 12px 7px; font-size: 14px; font-weight: 700; line-height: 1.14em; border-radius: 50px; background: #EEE; margin-right: 8px; }
.rt-swiper .item .info .txt { flex:1 1 auto; min-width: 0; width: 1%; line-height: 1.5em; padding-top: 3px; }
.link-tc { text-align: center; }
.rental-btn { display: inline-block; padding: 16px 34px; background: var(--color-primary); color: #fff; line-height: 1.5em; font-weight: 700; border-radius: 30px; box-shadow: -4px -4px 0 0 rgba(0, 0, 0, 0.20) inset; }

/* 대관신청 리스트 */
.rental-list .col { padding: 30px 0; border-bottom: 1px dashed #dfdfdf; display: flex; align-items: center;}
.rental-list .col:first-child { padding-top: 0; }
.rental-list .col:last-child { padding-bottom: 0; border: none; }
.rental-list .col .thumb { width: 380px; margin-right: 54px; }
.rental-list .col .thumb div { padding-bottom: 74%; border-radius: 16px; overflow: hidden; display: block; position: relative; }
.rental-list .col .thumb img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
.rental-list .col .info { flex: 1 1 auto; min-width: 0; width: 1%; display: flex; align-items: center; justify-content: space-between;}
.rental-list .col .info .num { line-height: 1.5em; font-family: var(--cafe); color: var(--color-primary); }
.rental-list .col .info .tt { margin: 16px 0 24px; font-size: var(--font-size28); line-height: 1.5em; color: #2c2c2c; font-weight: 800; }
.rental-list .col .info .rental-btn { background: #f4f4f4; color: var(--color-primary);}
.rental-list .col .info .rental-btn:hover { background: var(--color-primary); color: #fff; }
.rental-list .col .info .people { display: flex; }
.rental-list .col .info .people .ctr { padding: 8px 12px 7px; font-size: 14px; font-weight: 700; line-height: 1.14em; border-radius: 50px; background: #EEE; margin-right: 8px; }
.rental-list .col .info .people .txt { flex:1 1 auto; min-width: 0; width: 1%; line-height: 1.5em; padding-top: 3px; }
.link-tc { text-align: center; }
.rental-txt p { position: relative; padding-left: 12px; margin-bottom: 12px; font-size: var(--font-size18); line-height: 1.66em; }
.rental-txt p:last-child { margin-bottom: 0; }
.rental-txt p::before { content: ""; position: absolute; left: 0; width: 4px; height: 4px; border-radius: 4px; background: #bbb; top: 11px; }

/* 대관신청 상세 */
.rental-summary { display: flex; }
.rental-summary .info { width: 55%; padding-right: 20px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start;}
.rental-summary .info .tit { padding-left: 54px; position: relative; font-size: var(--font-size32); font-family: var(--cafe); color: #2c2c2c; font-weight: 700; line-height: 1.43em; margin-bottom: 34px; }
.rental-summary .info .tit::before { content: ""; position: absolute; left: 0; width: 40px; height: 40px; background: url(../images/sub/place-ico.png) center no-repeat; background-size: contain; top: 2px; }
.rental-summary .info ul li { display: flex; margin-bottom: 20px; font-size: var(--font-size18); line-height: 1.66em; }
.rental-summary .info ul li:last-child { margin-bottom: 0; }
.rental-summary .info ul li .tt { width: 120px; color: #a8a8a8; font-weight: 700;}
[lang="en"] .rental-summary .info ul li .tt { width: 160px; }
.rental-summary .info ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; }
.rental-summary .info .back-btn { padding: 16px 34px 15px; display: inline-block; font-weight: 800; line-height: 1.5em; color: #878787; background: #fff; border: 2px solid #eee; border-radius: 35px; }
.rental-summary .image { width: 45%; }
.rental-swiper { position: relative; border-radius: 16px; overflow: hidden;}
.rental-swiper .thumb { padding-bottom: 74%; overflow: hidden; display: block; position: relative; }
.rental-swiper .thumb img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
.rental-prev::after, .rental-next::after { display: none; }
.rental-prev, .rental-next { border-radius: 8px; background-color: rgba(0, 0, 0, 0.24); backdrop-filter: blur(12px); width: 48px; height: 48px; top: auto; bottom: 16px; background-repeat: no-repeat; background-position: center; background-size: 12px; }
.rental-prev { left: 16px; background-image: url(../images/sub/sub1-2-prev.png);}
.rental-next { right: 16px; background-image: url(../images/sub/sub1-2-next.png); left: auto;}
.calendar-wrap { border-radius: 16px; padding: 24px; background: #f6f6f6; margin-top: 50px; }
.calendar-wrap .top { display: flex; position: relative; gap: 60px; flex-wrap: wrap;}
.calendar-wrap .top .col { width: calc(100%/2 - 30px); text-align: center; }
.calendar-wrap .top .col .tt { padding-top: 7px; font-size: var(--font-size20); font-weight: 800; line-height: 1.7em; color: #2c2c2c; margin-bottom: 40px; }
.calendar-wrap table {width:100%; table-layout:fixed; border-collapse:collapse; border-spacing:0px; }
.calendar-wrap table th {padding:0 4px; text-align:center; color:#676767; font-size:16px; line-height:1.14em; font-weight: 700; line-height: 1.5em; padding-bottom: 22px; }
.calendar-wrap table td { padding:8px 10px; color:#a8a8a8; font-size:15px; line-height:1.06em; letter-spacing:-.03em; font-weight: 700; text-align: center; position: relative; }
.calendar-wrap table tr th:first-child,
.calendar-wrap table tr td:first-child {color:#FF7474;}
.calendar-wrap table td .cal-link { width: 32px; height: 32px; border-radius: 32px; display: flex; align-items: center; justify-content: center; line-height: 1em; margin: auto; pointer-events: none;}
.calendar-wrap table td.off .cal-link { background: #e7e7e7; }
.calendar-wrap table td.holy .cal-link { color: #ff7474; }
.calendar-wrap table td.on .cal-link { background: #fff; pointer-events: visible; border: 1px solid var(--color-primary); color: var(--color-primary);}
.calendar-wrap table td.on .cal-link:hover { background: var(--color-primary); color: #fff;  }
.calendar-wrap table td.on .cal-link.active { background: var(--color-primary); color: #fff; }
.calendar-wrap .btns { position: absolute; width: 100%; }
.calendar-wrap .cal-btn { width: 48px; height: 48px; border-radius: 8px; background-color: #fff; border: 1px solid #eee; background-repeat: no-repeat; background-position: center; background-size: 14px; display: inline-block; text-indent: -9999em; position: absolute; top: 0; }
.calendar-wrap .cal-btn.prev { background-image: url(../images/sub/cal-prev.png); left: 0; }
.calendar-wrap .cal-btn.next { background-image: url(../images/sub/cal-next.png); right: 0; }
.calendar-wrap .btm { background: #fcfcfc; padding: 16px 10px; border-radius: 30px; display: flex; justify-content: center; gap: 10px 40px; flex-wrap: wrap; margin-top: 60px; }
.calendar-wrap .btm .status { display: inline-block; }
.calendar-wrap .btm .status span { display: inline-block; width: 10px; height: 10px; border-radius: 10px; margin-right: 8px; }
.calendar-wrap .btm .status strong { display: inline-block; line-height: 1.5em; color: #2c2c2c; font-weight: 700; }
.calendar-wrap .btm .status.open span { border: 1px solid var(--color-primary);}
.calendar-wrap .btm .status.end span { background: #ccc; }
.calendar-wrap .btm .status.holy span { background: #ff7474; }
.rental-cal-txt { text-align: right; margin-top: 20px; color: #a8a8a8; font-weight: 700; line-height: 1.5em; }
.schedule { display: none; }
.schedule.is-open { display: block; }
.program-form .col.total.is-visible { display: block; }
.time-swiper { width: 100%; height: 100%; }
.time-swiper .item .time-btn { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; border-radius: 8px; border: 1px solid #eee; background: #fff; line-height: 1em; font-size: 14px; font-weight: 700; }
.time-swiper .item.off .time-btn { border: none; background: #e7e7e7; color: #a8a8a8; pointer-events: none;}
.time-swiper .item .time-btn:hover { background: var(--color-primary); color: #fff; border-color: var(--color-primary);}
.time-swiper .item.on .time-btn { border: none; background: var(--color-primary); color: #fff; }
.rental-form-txt { text-align: center; margin-top: 50px; line-height: 1.5em; color: #a8a8a8; font-weight: 700; }

/* 회원가입 */
.program-form.mg { margin-bottom: 50px; }
.program-form .col dl dd .mem-fx { display: flex; gap: 8px; width: 100%; }
.program-form .col dl dd .mem-fx a { height: 60px; line-height: 58px; border-radius: 8px; } 
.program-form .col dl dd .mem-fx .input { flex: 1 1 auto; min-width: 0; width: 1%; }
.program-form .col dl dd .mem-fx .zip-input { width: 180px; flex: none;}
.program-form .col dl dd .mem-fx .input[readonly] { background: #fff; color: #a9a9a9; }
.program-form .col dl dd input.datepicker2 { background:#f6f6f6 url('/images/sub/datepicker.png') center no-repeat; width: 60px; height: 60px; background-size: 24px; border: none; border-radius: 8px;}
.program-form .col dl dd input.datepicker2[readonly] { background:#f6f6f6 url('/images/sub/datepicker.png') center no-repeat; text-indent: -9999em;}
.program-form .col dl dd .jt { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.program-form .col .leave-btn { padding: 12px 16px 10px; line-height: 1.42em; font-size: 14px; color: #bbb; font-weight: 700; border: 1px solid #EEE; border-radius: 30px; }
.program-form .col .leave-btn:hover { background: var(--color-primary); color: #fff; box-shadow: -4px -4px 0 0 rgba(0, 0, 0, 0.20) inset;}

/* 통합검색 */
.highlight { color: var(--color-primary);}
.search-form { position: relative; }
.search-form .input { height: 80px; border-radius: 16px; border: 1px solid #eee; padding: 18px 24px; padding-left: 64px; width: 100%; font-size: var(--font-size20); color: #505050;}
.search-form button { position: absolute; left: 0; top: 0; bottom: 0; margin: auto; width: 80px; height: 80px; border: none; background: transparent url(../images/sub/total-sch.png) center no-repeat; background-size: 24px; text-indent: -9999em;}
.search-form input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; height: 24px; width: 24px; background: url(../images/sub/total-close.png) center no-repeat; cursor: pointer; background-size: contain; }
.search-result { margin: 60px 0;}
.search-result p { line-height: 1.5em; margin-top: 40px; }
.search-result p span {color: var(--color-primary);}
.search-tab { display: flex; gap: 10px 20px; flex-wrap: wrap; padding-bottom: 24px; border-bottom: 1px solid #eee;}
.search-tab li { width: auto;}
.search-tab li a { display: inline-block; font-size: var(--font-size24); color: #ccc; font-weight: 700; line-height: 1.66em; font-family: var(--cafe);}
.search-tab li sup { font-size: 16px; line-height: 1.5em; font-family: 'nanum'; font-weight: 800; transition: .2s;}
.search-tab li a:hover { color: #2c2c2c; }
.search-tab li a:hover sup { color: #ff7474; }
.search-tab li.active a { color: #2c2c2c; }
.search-tab li.active a sup { color: #ff7474; }
[lang="en"] .search-tab li a { font-size: var(--font-size18);}
[lang="en"] .search-tab li sup { font-size: 12px; }
.search-title { display: block; font-size: var(--font-size32); color: #2c2c2c; font-weight: 700; line-height: 1.43em; font-family: var(--cafe); margin-bottom: 40px; }
.search-title sup { font-size: var(--font-size18); line-height: 1.55em; font-family: 'nanum'; font-weight: 800; color: #ff7474; }
.search-group { margin-bottom: 40px; }
.search-group:last-child { margin-bottom: 0; }
.search-category { margin-bottom: 10px; }
.search-category span { display: inline-block; line-height: 1.5em; color: #a8a8a8; font-weight: 700; }
.search-category span.depth2 { color: #2c2c2c; position: relative; padding-left: 24px; }
.search-category span.depth2::before { content: ""; position: absolute; left: 8px; width: 6px; height: 10px; top: 7px; background: url(../images/sub/search-ctr.png) center no-repeat; background-size: contain; }
.search-txt { font-size: var(--font-size18); line-height: 1.55em; color: #676767; font-weight: 400; }
.search-none { text-align: center; padding-top: 60px; border-top: 2px solid #2C2C2C;}
.search-none .tt { margin: 16px 0 4px; font-size: var(--font-size18); color: #676767; font-weight: 700; line-height: 1.55em; }
.search-none .txt { font-size: 15px; color: #878787; font-weight: 400; line-height: 1.6em; }
.search-pg-swiper .item a { display: block; }
.search-pg-swiper .item .program-thumb { border-radius: 24px; }
.search-pg-swiper .item a:hover .main-link { color: #fff; background: var(--color-primary); box-shadow: -4px -4px 0 0 rgba(0, 0, 0, 0.20) inset; }
.search-pg-swiper .item.ended a { pointer-events: none;}
.search-pg-swiper .item.ended .status { color: #CCC; }
.search-pg-swiper .item.ended .grade span { color: #a8a8a8; background: #eee; }
.search-pg-swiper .item.ended .tit { color: #ccc; }
.search-pg-swiper .item.ended ul li { color: #ccc; }
.search-pg-swiper .item.ended ul li .tt { color: #ccc; }
.search-pg-swiper .item.ended .main-link { color: #a8a8a8; }
.search-pg-swiper .item.ended a:hover .main-link { background: #f4f4f4; color: #a8a8a8; }
.search-board { margin-bottom: 60px; }
.search-board:last-child { margin-bottom: 0; }
.search-board .search-category { margin-bottom: 20px; }