:root{
	--spacing: 20px
}

/* 서브 비주얼 이미지 */
#visual .bg1{ background: url("/img/sub/concert_bg02.jpg") no-repeat center center / cover; }
#visual .bg2{ background: url("/img/sub/academy_bg.jpg") no-repeat center center / cover; }
#visual .bg3{ background: url("/img/sub/news_bg.jpg") no-repeat center center / cover; }
#visual .bg4{ background: url("/img/sub/mpyc_bg.jpg") no-repeat center center / cover; }
#visual .bg5{ background: url("/img/sub/archive_bg.jpg") no-repeat center center / cover; }
#visual .bg6{ background: url("/img/sub/member_bg.jpg") no-repeat center center / cover; }
#visual .bg7{ background: url("/img/sub/search_bg.jpg") no-repeat center center / cover; }

/* visual */
#visual{ position: relative; }
#visual .bg{ padding-bottom: 39.4115%; }
#visual .text-box{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 20; padding-top: var(--headerH); }
#visual .text-box > div{ height: 100%; position: relative; }
#visual .text{ position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); text-align: center; color: #fff; }
#visual .text h2{ font-family: var(--engFont); font-size: 12rem; font-weight: 600; letter-spacing: var(--spacing); filter: blur(10px); -webkit-filter: blur(10px); opacity: 0; animation: blurSpacing 0.8s 0.3s linear forwards; }
#visual .text p{ font-size: 2.5rem; font-weight: 500; letter-spacing: -0.02em; margin-top: 10px; transform: translateY(100%); clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); animation: textClip 0.8s 0.3s linear forwards; }


/* lnb */
#lnb{ height: 100%; padding-top: 40px; overflow: hidden; }
#lnb a,
#lnb button{ line-height: 1.3; }
#lnb a{ display: block; }

#lnb > ul{ display: flex; flex-wrap: wrap; align-items: center; margin-top: -5px; margin-left: -30px; }
#lnb > ul > li{ position: relative; padding-left: 30px; }
#lnb > ul > li::after{ content: url("/img/sub/lnb_arrow.svg"); position: absolute; top: calc(50% - 2px); left: 15px; transform: translate(-50%, -50%); }
#lnb > ul > li:first-of-type::after{ display: none; }
#lnb > ul > li > a,
#lnb > ul > li > button{ font-family: var(--baseFont); font-size: 1.6rem; font-weight: 300; color: #fff; padding: 5px 0 10px; }
#lnb > ul > li > button{ padding-right: 25px; position: relative; }
#lnb > ul > li > button::after{ content: url("/img/sub/lnb_depth.svg"); position: absolute; top: calc(50% - 7px); right: 0; transform: translateY(-50%); transition: top 0.5s, transform 0.5s; }


#lnb .depthBox{ width: max-content; text-align: center; position: absolute; top: 100%; left: 50%; z-index: 10; transform: translateX(-50%); display: none; }
#lnb .depthBox ul{ background: var(--baseBg); padding: 10px 0; }
#lnb .depthBox ul li a{ display: block; font-size: 16px; font-weight: 400; color: #111; letter-spacing: -0.02em; padding: 5px 20px; }

#lnb > ul > li.active > button::after{ top: calc(50% - 2px); transform: translateY(-50%) scaleY(-1); }

@media screen and (max-width: 1700px){
	/* visual */
	#visual .text h2{ font-size: 9rem; }
	#visual .text p{ font-size: 2.2rem; }
}

@media screen and (max-width: 1280px){
	/* visual */
	#visual .text h2{ font-size: 6rem; }
	#visual .text p{ font-size: 2rem; }

	/* lnb */
	#lnb{ padding-top: 20px; }
}

@media screen and (max-width: 900px){
	:root{
		--spacing: 0;
	}

	/* visual */
	#visual .bg{ padding-bottom: 350px; }
	#visual .text h2{ font-size: 4rem; }
	#visual .text p{ font-size: 1.8rem; margin-top: 20px; }
}


/* common */
:root{ 
	--btnW: 165px;
	--btnH: 60px;
}
#header{ backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0); }
#sub > .paddingT{ padding-top: var(--headerH); }
.sub-content{ padding: 120px 0 200px; }

br.none{ display: none; }


/* 간격 */
.pt95{ padding-top: 95px; }
.pb95{ padding-bottom: 95px; }
.pt110{ padding-top: 110px; }
.pb110{ padding-bottom: 110px; }
.pt120{ padding-top: 120px; }
.pb120{ padding-bottom: 120px; }
.pt130{ padding-top: 130px; }
.pb130{ padding-bottom: 130px; }
.pt135{ padding-top: 135px; }
.pb135{ padding-bottom: 135px; }
.pt150{ padding-top: 150px; }
.pb150{ padding-bottom: 150px; }
.pt160{ padding-top: 160px; }
.pb160{ padding-bottom: 160px; }

/* 제목 */
h3{ font-size: 4.5rem; font-weight: 600; color: #111; letter-spacing: -0.02em; }
h4{ font-size: 4rem; font-weight: 600; color: #111; letter-spacing: -0.02em; }
h5{ font-size: 3.5rem; font-weight: 600; color: #111; letter-spacing: -0.02em; }
h6{ font-size: 3rem; font-weight: 600; color: #111; letter-spacing: -0.02em; }


/* round-btn */
.round-btn{ width: var(--btnW); height: var(--btnH); display: flex; justify-content: center; align-items: center; background: var(--mainColor); border: none; border-radius: 10px; -webkit-border-radius: 10px; font-family: var(--baseFont); font-size: 1.7rem; font-weight: 500; color: #fff !important; letter-spacing: -0.02em; text-align: center; }
.round-btn.black{ background: #111; }
.round-btn.gray{ background: #DDD; color: #AAA !important; }

a.round-btn:link, a.round-btn:hover, .round-btn:visited{ color: #fff; }


/* tab-list */
.tab-list ul{ display: flex; flex-wrap: wrap; margin-left: -15px; }
.tab-list ul li{ font-size: 2rem; font-weight: 400; color: #444; position: relative; padding: 5px 15px; }
.tab-list ul li::after{ content: ""; width: 1px; height: 15px; background: rgba(0, 0, 0, 0.2); position: absolute; top: 50%; right: 0; transform: translate(50%, -50%); }
.tab-list ul li:last-of-type::after{ display: none; }
.tab-list ul li a{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 10; }

.tab-list ul li.on{ color: var(--mainColor); font-weight: 500; }


/* 둥근 탭메뉴 */
.radius-tab{ margin-bottom: 90px; }
.radius-tab ul{ display: flex; flex-wrap: wrap; gap: 10px; }
.radius-tab ul li{ height: 65px; display: flex; justify-content: center; align-items: center; font-size: 2rem; font-weight: 300; color: #666; border: 1px solid #BBB; border-radius: 50px; padding: 0 40px; position: relative; }
.radius-tab ul li a{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 10; }
.radius-tab ul li.on{ border: 1px solid #111; background: #111; font-weight: 500; color: #fff; }


/* 네모 탭메뉴 */
.square-tab ul{ margin-bottom: 50px; }
.square-tab ul{ display: flex; gap: 20px; }
.square-tab ul li{ height: 85px; display: flex; justify-content: center; align-items: center; font-size: 2.3rem; font-weight: 400; color: #111; text-align: center; padding: 0 20px; text-align: center; background: #D4D4D4; border-radius: 10px; position: relative; }
.square-tab ul li.on{ background: var(--mainColor); font-weight: 600; color: #fff; }
.square-tab ul li a{ position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 20; }


/* 스크롤바 커스텀 */
.scroll-y{ overflow-x: visible; overflow-y: auto; }
.scroll-x{ overflow-x: auto; overflow-y: visible; }
.scroll-custom::-webkit-scrollbar{ width: 35px; height: 35px; }
.scroll-custom::-webkit-scrollbar-thumb{ background: var(--mainColor); background-clip: padding-box; border: 15px solid transparent; border-radius: 100px; }
.scroll-custom::-webkit-scrollbar-track{ background: #D6D3CB; background-clip: padding-box;  border: 15px; border: 15px solid transparent; border-radius: 100px; }

.scroll-custom2::-webkit-scrollbar{ width: 25px; height: 25px; }
.scroll-custom2::-webkit-scrollbar-thumb{ background: var(--mainColor); background-clip: padding-box; border: 10px solid transparent; border-radius: 100px; }
.scroll-custom2::-webkit-scrollbar-track{ background: #D6D3CB; background-clip: padding-box;  border: 10px; border: 10px solid transparent; border-radius: 100px; }


/* dot-list */
.dot-list > *{ font-size: 1.7rem; font-weight: 300; color: #333; letter-spacing: -0.02em; padding-left: 15px; position: relative; }
.dot-list > *::before{ content: ""; width: 3px; height: 3px; background: #333; border-radius: 50%; position: absolute; top: calc(1.3em / 2); left: 0; transform: translateY(-50%); }
.dot-list > *:not(:last-of-type){ margin-bottom: 10px; }
.dot-list dt{ font-size: 2.3rem; font-weight: 500; color: #111; padding-left: 0; }
.dot-list dt::before{ display: none; }
.dot-list .not{ padding-left: 0; }
.dot-list .not::before{ display: none; }
.dot-list .bold{ font-weight: 500; color: #111; }
.dot-list .block{ display: block; line-height: inherit; margin-top: 10px; }

/* radius-bg */
.radius-bg{ background: var(--beigeBg); border-radius: 10px; }

/* 테이블 (공통) */
.table-box{ text-align: center; }
.table-box .left{ text-align: left; }
.table-box thead tr > *:not(:last-of-type){ border-right: 1px solid rgba(255, 255, 255, 0.2); }
.table-box th{ font-size: 2rem; font-weight: 500; color: #fff; background: var(--mainColor); padding: 25px; border: 1px solid var(--mainColor); }
.table-box td{ font-size: 1.7rem; font-weight: 400; color: #111; letter-spacing: -0.02em; padding: 20px; border: 1px solid #CCC; }

/* img-bg */
.img-bg{ border-radius: 10px; position: relative; text-align: center; opacity: 1 !important; position: relative; }
.img-bg::before, .img-bg::after{ content: ""; width: calc(50% + 10px); height: calc(100% + 10px); background: var(--baseBg); position: absolute; top: -5px; z-index: 30; transform: scaleX(1); transition: transform 1.5s 0.5s; }
.img-bg::before{ left: -5px; transform-origin: left; }
.img-bg::after{ right: -5px; transform-origin: right; }
.img-bg.left{ text-align: left; }
.img-bg *{ color: #fff !important; letter-spacing: -0.02em; }
.img-bg .line15{ line-height: 1.5; }
.img-bg .cover{ padding: 0 30px; }
.img-bg .cover p{ font-size: 1.7rem; font-weight: 300; line-height: 1.5; margin-top: 20px; }
.img-bg .btn-list{ display: flex; flex-wrap: wrap; gap: 15px; margin-top: 60px; }
.img-bg .btn-list li{ display: flex; align-items: center; gap: 0 20px; padding: 20px 50px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 10px; font-size: 1.9rem; font-weight: 400; letter-spacing: -0.02em; position: relative; }
.img-bg .btn-list li span{ font-weight: 300; }
.img-bg .btn-list li img{ margin-left: -5px: }
.img-bg .btn-list li a{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 10; }

.img-bg .dot-list > *::before{ background: #fff; }

.img-bg.aos-animate::before, .img-bg.aos-animate::after{ transform: scaleX(0); }


/* imgMotion */
.imgMotion{ position: relative; opacity: 1 !important; }
.imgMotion::before, .imgMotion::after{ content: ""; width: calc(50% + 10px); height: calc(100% + 10px); background: var(--baseBg); position: absolute; top: -5px; z-index: 30; transform: scaleX(1); transition: transform 1.5s 0.5s; }
.imgMotion::before{ left: -5px; transform-origin: left; }
.imgMotion::after{ right: -5px; transform-origin: right; }

.imgMotion.aos-animate::before, .imgMotion.aos-animate::after{ transform: scaleX(0); }

@media screen and (max-width: 1700px){
	/* common */
	:root{ 
		--btnW: 140px;
		--btnH: 55px;
	}

	.sub-content{ padding: 80px 0 150px; }

	/* 간격 */
	.pt95{ padding-top: 55px; }
	.pb95{ padding-bottom: 55px; }
	.pt110{ padding-top: 70px; }
	.pb110{ padding-bottom: 70px; }
	.pt120{ padding-top: 80px; }
	.pb120{ padding-bottom: 80px; }
	.pt130{ padding-top: 90px; }
	.pb130{ padding-bottom: 90px; }
	.pt135{ padding-top: 95px; }
	.pb135{ padding-bottom: 95px; }
	.pt150{ padding-top: 110px; }
	.pb150{ padding-bottom: 110px; }
	.pt160{ padding-top: 120px; }
	.pb160{ padding-bottom: 120px; }
	
	/* 제목 */
	h3{ font-size: 3.5rem; }
	h4{ font-size: 3rem; }
	h5{ font-size: 2.5rem; }
	h6{ font-size: 2.3rem; }

	/* tab-list */
	.tab-list li{ font-size: 1.8rem; }

	/* radius-tab */
	.radius-tab ul li{ height: 55px; font-size: 1.8rem; padding: 0 20px; }

	/* square-tab */
	.square-tab ul li{ height: 75px; font-size: 2.1rem; }

	/* dot-list */
	.dot-list dt{ font-size: 2.1rem; }

	/* 테이블 (공통) */
	.table-box th{ font-size: 1.9rem; padding: 20px; }

	/* img-bg */
	.img-bg .btn-list li{ font-size: 1.8rem; }
}

@media screen and (max-width: 1280px){
	/* common */
	:root{ 
		--btnW: 125px;
		--btnH: 50px;
	}

	.sub-content{ padding: 60px 0 100px; }

	/* 간격 */
	.pt95{ padding-top: 45px; }
	.pb95{ padding-bottom: 45px; }
	.pt110{ padding-top: 60px; }
	.pb110{ padding-bottom: 60px; }
	.pt120{ padding-top: 70px; }
	.pb120{ padding-bottom: 70px; }
	.pt130{ padding-top: 80px; }
	.pb130{ padding-bottom: 80px; }
	.pt135{ padding-top: 85px; }
	.pb135{ padding-bottom: 85px; }
	.pt150{ padding-top: 100px; }
	.pb150{ padding-bottom: 100px; }
	.pt160{ padding-top: 100px; }
	.pb160{ padding-bottom: 100px; }

	/* 제목 */
	h3{ font-size: 3rem; }
	h4{ font-size: 2.5rem; }
	h5{ font-size: 2.3rem; }
	h6{ font-size: 2.2rem; }

	/* round-btn */
	.round-btn{ font-size: 1.6rem; }

	/* tab-list */
	.tab-list li{ font-size: 1.8rem; }

	/* radius-tab */
	.radius-tab{ margin-bottom: 50px; }
	.radius-tab ul li{ height: 50px; font-size: 1.7rem; }

	/* square-tab */
	.square-tab ul{ margin-bottom: 30px; }
	.square-tab ul li{ height: 60px; font-size: 1.9rem; }

	/* dot-list */
	.dot-list > *{ font-size: 1.6rem; padding-left: 10px; }
	.dot-list dt{ font-size: 1.9rem; }

	/* 테이블 (공통) */
	.table-box th{ font-size: 1.7rem; padding: 13px; }
	.table-box td{ font-size: 1.6rem; padding: 15px; }

	/* img-bg */
	.img-bg .cover p{ font-size: 1.6rem; }
	.img-bg .btn-list li{ font-size: 1.7rem; padding: 15px 35px; gap: 15px; }
}

@media screen and (max-width: 900px){
	/* common */
	:root{ 
		--btnW: 115px;
		--btnH: 45px;
	}

	/* 제목 */
	h3{ font-size: 2.5rem; }
	h4{ font-size: 2.3rem; }
	h5{ font-size: 2.2rem; }
	h6{ font-size: 2.1rem; }

	/* tab-list */
	.tab-list li{ font-size: 1.7rem; }

	/* radius-tab */
	.radius-tab ul li{ font-size: 1.6rem; }

	/* square-tab */
	.square-tab ul li{ height: 55px; font-size: 1.7rem; }

	/* dot-list */
	.dot-list dt{ font-size: 1.7rem; }

	/* img-bg */
	.img-bg .btn-list li{ gap: 10px; padding: 15px; }
}


/* 폼 공통 */
#register{ --height: 55px; }
#register .required{ font-size: 1.7rem; font-weight: 400; color: #333; letter-spacing: -0.02em; text-align: right; margin-bottom: 25px; }
#register .required span{ color: #CE0E19; }
#register table *{ font-family: var(--baseFont); font-size: 1.7rem !important; font-weight: 300; color: #333; }
#register table td > p{ color: #111; }
#register table{ border-top: 1px solid var(--mainColor); }
#register table th{ width: 270px; background: var(--mainColor); color: #fff; padding: 30px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
#register table th span.red{ color: #CE0E19; }
#register table th span.red::before{ content: " *"; }
#register table td{ padding: 13px 20px; border-bottom: 1px solid #CCC; }
#register table button{ height: var(--height); background: #111; color: #fff; }

#register input, #register .selectric, #register textarea{ width: 100%; border: 1px solid #CCC; background: var(--baseBg); outline: none; border-radius: 0; -webkit-border-radius: 0; }
#register input, #register .selectric .label{ height: var(--height); padding: 0 15px; }
#register textarea{ resize: none; height: 210px; padding: 15px; }
#register input::placeholder, #register textarea::placeholder{ color: #888; }

/* selectric 커스텀 */
#register .selectric .label{ display: flex; align-items: center; margin: 0; padding-right: 40px; }
#register .selectric .button{ width: 40px; height: var(--height); background: var(--baseBg); }
#register .selectric .button:after{ content: ""; width: 100%; height: 100%; background: var(--baseBg) url("/img/sub/select_icon.svg") no-repeat center center / auto; border: none; }
#register .selectric-items{ width: 100% !important; background: var(--baseBg); border: 1px solid #CCC; top: calc(100% - 1px); }
#register .selectric-items li.highlighted{ background: var(--mainColor); color: #fff; }
#register  .selectric-items li:not(.highlighted):hover{ background: unset; }

/* checkbox / radio 커스텀 */
#register .check-list{ display: flex; flex-wrap: wrap; gap: 0 15px; margin-top: 15px; }
#register .check-list li{ margin-top: -15px; }
#register .check-list input{ display: none; }
#register .check-list label{ display: inline-block; font-size: 1.5rem !important; font-weight: 400; color: #000; position: relative; padding: 15px 0; padding-left: 20px; cursor: pointer; }
#register .check-list label::before, #register .check-list label::after{ font-family: "xeicon"; font-size: 1.7rem; font-weight: normal; font-style: normal; color: var(--mainColor); position: absolute; top: 15px; left: 0; line-height: 1; }
#register .check-list label::before{ content: "\e92c"; }
#register .check-list label::after{ content: "\e92b"; display: none; }
#register .check-list input:checked + label::before{ display: none; }
#register .check-list input:checked + label::after{ display: block; }

#register p.i{ font-size: 1.5rem !important; font-weight: 400; color: #111; letter-spacing: -0.02em; position: relative; padding-left: 20px; margin-top: 15px; }
#register p.i::before{ content: ""; width: 13px; height: 13px; border: 1px solid #CE0E19; background: url("/img/sub/i_icon.svg") no-repeat center center / auto; border-radius: 50%; position: absolute; top: 1px; left: 0; }

#register .max1085{ max-width: 1085px; width: 100%; }
#register .max650{ max-width: 650px; width: 100%; }
#register .max400{ max-width: 400px; width: 100%; }
#register .flex{ display: flex; flex-wrap: wrap; }
#register .flex > div:not(:first-of-type){ margin-left: 25px; }
#register .flex.gap10{ gap: 10px; }
#register .flex .two{ width: calc((200px * 2) + 25px); }
#register .flex .three{ width: 200px; }

#register .hyphen > div{ position: relative; }
#register .hyphen > div::after{ content: ""; width: 5px; height: 1px; background: #000; position: absolute; top: 50%; right: -12.5px; transform: translate(50%, -50%); }
#register .hyphen > div:last-of-type::after{ display: none; }

#register .email > div{ position: relative; }
#register .email > div::after{ content: "@"; position: absolute; top: 50%; right: -12.5px; transform: translate(50%, -50%); }
#register .email > div:not(:first-of-type)::after{ display: none; }
#register .email > div:last-of-type{ margin-left: 10px; }

#register table .file-box{ width: 200px; height: var(--height); }
#register table .file-box input{ display: none; }
#register table .file-box label{ width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; background: #111; font-weight: 300; color: #fff; line-height: 1; cursor: pointer; }
#register table .file-box + input{ width: calc(100% - 210px); }

#register table .policy{ height: 210px; padding: 15px; border: 1px solid #CCC; background: var(--baseBg); overflow-y: scroll; }
#register table .policy dl:not(:last-of-type){ margin-bottom: 30px; }
#register table .policy + .policy-agree{ margin-top: 15px; }

#register .file .flex{ gap: 10px; }
#register .auto .flex{ gap: 10px; }
#register .auto .img{ width: 115px; height: var(--height); border: 1px solid #CCC; position: relative; }
#register .auto .img img{ width: 100%; height: 100%; object-fit: cover; }
#register .auto .max400{ width: calc(100% - var(--height) - 115px - 20px); }
#register .auto button{ width: var(--height); }

#register .center{ display: flex; justify-content: center; margin-top: 90px; }
#register .center .round-btn{ width: 230px; font-size: 1.9rem; }
#register .center .round-btn:not(:last-of-type){ margin-right: 20px; }

/* 개인정보 처리방침 */
#register .scroll-x{ height: 350px; padding: 35px 30px; margin-top: 35px; }
#register .policy .scroll-x dl:not(:last-of-type){ margin-bottom: 35px; }
#register .policy dl *{ font-size: 1.7rem; font-weight: 300; color: #333; }
#register .policy dl dt{ margin-bottom: 15px; }
#register .policy-agree{ margin-top: 30px; }

@media screen and (max-width: 1700px){
	#register .center .round-btn{ width: 180px; font-size: 1.8rem; }
}

@media screen and (max-width: 1455px){
	#register .flex .two{ width: calc((100% - 200px - 50px) / 2); }
	#register .email > div:last-of-type{ width: calc(((100% - 200px - 50px) / 2) + 15px); }
}

@media screen and (max-width: 1280px){
	#register{ --height: 50px; }
	#register .required{ font-size: 1.6rem; margin-bottom: 15px; }
	#register table *{ font-size: 1.6rem !important; }
	#register table th{ width: 200px; padding: 20px; }
	#register table td{ padding: 10px; }

	#register .max650{ max-width: 100%; }
	#register .flex .three{ width: calc((100% - 50px) / 3); }
	#register .flex .two{ width: calc((100% - 50px) / 3); }
	#register .email > div:last-of-type{ width: calc(((100% - 50px) / 3) + 15px); }

	#register table .file-box{ width: 150px; }
	#register table .file-box + input{ width: calc(100% - 160px); }

	#register .center{ margin-top: 50px; }
	#register .center .round-btn{ width: 140px; font-size: 1.7rem; }

	/* 개인정보 처리방침 */
	#register.reserve .scroll-x{ padding: 25px 20px; margin-top: 20px; }
	#register.reserve .policy .scroll-x dl:not(:last-of-type){ margin-bottom: 25px; }
	#register.reserve .policy dl *{ font-size: 1.6rem; }
	#register.reserve .policy dl dt{ margin-bottom: 10px; }
	#register.reserve .policy-agree{ margin-top: 15px; }
}

@media screen and (max-width: 1000px){
	#register table tr{ display: flex; flex-direction: column; }
	#register table th{ width: 100%; padding: 10px 15px; text-align: left; }
	#register table td > p:not(.i){ padding: 10px 0; }

	#register table .file-box{ width: 115px; }
	#register table .file-box + input{ width: calc(100% - 125px); }

	#register .flex > div:only-child{ max-width: 100% !important; width: 100% !important; }
}

@media screen and (max-width: 800px){
	#register .email > div.two, #register .email > div.three{ width: calc((100% - 25px) / 2 ); }
	#register .email > div:last-of-type{ width: 100%; margin-left: 0; margin-top: 10px; }
}


/* 개인정보처리방침 체크 박스 */
.policy-agree input{ display: none; }
.policy-agree label{ display: inline-block; font-size: 1.5rem; font-weight: 400; color: #000; line-height: 1.3; letter-spacing: -0.02em; padding-left: 20px; position: relative; cursor: pointer; }
.policy-agree label::before, .policy-agree label::after{ font-family: "xeicon"; font-size: 1.7rem; font-weight: normal; font-style: normal; color: var(--mainColor); position: absolute; top: calc(1.2em / 2); left: 0; transform: translateY(-50%); }
.policy-agree label::before{ content: "\e9c6"; }
.policy-agree label::after{ content: "\e92b"; display: none; }
.policy-agree input:checked + label::after{ display: block; }

@media screen and (max-width: 1280px){
	/* .policy-agree label::before, .policy-agree label::after{ top: 0; } */
}

/* 공연 - 공연일정 */
#schedule .calendar .date{ display: flex; justify-content: center; align-items: center; }
#schedule .calendar .date p{ font-family: var(--NanumB); font-size: 5rem; font-weight: 700; color: #111; }
#schedule .calendar .date button{ padding: 25px; outline: none; }

#schedule .calendar .type ul{ display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 20px; margin: 50px 0 40px; }
#schedule .calendar .type ul li{ font-size: 1.5rem; font-weight: 500; color: #111; padding-left: 15px; position: relative; }
#schedule .calendar .type ul li::before{ content: ""; width: 7px; height: 7px; border-radius: 50%; position: absolute; top: calc(1.2em/2); left: 0; transform: translateY(-50%); }
#schedule .calendar .type ul li.red::before{ background: #BD2121; }
#schedule .calendar .type ul li.orange::before{ background: #E3871B; }
#schedule .calendar .type ul li.yellow::before{ background: #FFE247; }
#schedule .calendar .type ul li.green::before{ background: #53BD21; }
#schedule .calendar .type ul li.blue::before{ background: #214DBD; }
#schedule .calendar .type ul li.purple::before{ background: #9E21BD; }

#schedule .calendar .table thead tr > *:not(:last-of-type){ border-right: 1px solid rgba(245, 243, 236, 0.35); }

#schedule .calendar .table th{ background: var(--mainColor); font-family: var(--Nanum); font-size: 1.7rem; font-weight: 400; color: #fff; letter-spacing: -0.02em; padding: 20px; }
#schedule .calendar .table td{ border: 1px solid #CCC; cursor: pointer; position: relative; }
#schedule .calendar .table td::before{ content: ""; width: calc(100% + 2px); height: calc(100% + 2px); position: absolute; top: -1px; left: -1px; box-sizing: border-box; pointer-events: none; }
#schedule .calendar .table td.on::before{ border: 3px solid var(--mainColor); }
#schedule .calendar .table td .day{ position: relative; }
#schedule .calendar .table td .day::after{ content: ""; width: 20px; height: 20px; background: #fff url("/img/sub/concert/over_icon.svg") no-repeat center center / auto; border: 1px solid #DDD; border-radius: 50%; position: absolute; top: 50%; right: 0; transform: translateY(-50%); display: none; }
#schedule .calendar .table td.over .day::after{ display: block; }
#schedule .calendar .table td .day span{ font-family: var(--NanumB); font-size: 1.4rem; font-weight: 700; color: #111; letter-spacing: -0.02%; }
#schedule .calendar .table tbody tr td:first-of-type .day span{ color: #BD2121; }
#schedule .calendar .table tbody tr td.not .day span{ color: #111; opacity: 0.3; }
#schedule .calendar .table td .box{ height: 150px; padding: 15px; }
#schedule .calendar .table .type ul{ display: block; margin: 0; }
#schedule .calendar .table .type ul li{ margin-top: 10px; }
#schedule .calendar .table ul li p, #schedule .calendar .table ul li span{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#schedule .calendar .table ul li p{ margin-bottom: 5px; }
#schedule .calendar .table ul li span{ display: block; font-size: 1.4rem; font-weight: 300; color: #333; }

#schedule .concert h6{ font-size: 3.5rem; font-weight: 600; color: #111; letter-spacing: -0.02em; text-align: center; margin-bottom: 40px; }
#schedule .concert .table table th{ width: 300px; font-size: 2rem; font-weight: 600; color: #fff; background: var(--mainColor); padding: 30px; }
#schedule .concert .table table tr:not(:last-of-type) th{ border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
#schedule .concert .table table td{ padding: 30px 40px; border: 1px solid #CCC; border-left: none; cursor: pointer; }
#schedule .concert .table table td *{ font-size: 1.7rem; font-weight: 300; color: #333; letter-spacing: -0.02em; }
#schedule .concert .table table td ul{ display: flex; flex-wrap: wrap; gap: 0 15px; }
#schedule .concert .table table td ul:not(:last-of-type){ margin-bottom: 15px; }
#schedule .concert .table table td ul li{ display: flex; flex-wrap: wrap; gap: 0 20px; }
#schedule .concert .table table td ul li span{ display: inline-block; position: relative; }
#schedule .concert .table table td ul li span::after{ content: "|"; position: absolute; top: 0; right: -10px; transform: translate(50%); }
#schedule .concert .table table td ul li span:last-of-type::after{ display: none; }

@media screen and (max-width: 1700px){
	#schedule .calendar .date p{ font-size: 4rem; }

	#schedule .concert h6{ font-size: 3rem; }
	#schedule .concert .table table th{ font-size: 1.8rem; }
}

@media screen and (max-width: 1280px){
	#schedule .calendar .date p{ font-size: 3.5rem; }
	#schedule .calendar .date button{ padding: 20px; }
	#schedule .calendar .type ul{ margin: 30px 0 20px; }
	#schedule .calendar .table th{ font-size: 1.6rem; padding: 15px; }

	#schedule .concert h6{ font-size: 2.7rem; margin-bottom: 20px; }
	#schedule .concert .table table th{ width: 200px; font-size: 1.7rem; padding: 20px; }
	#schedule .concert .table table td *{ font-size: 1.6rem; }
	#schedule .concert .table table td{ padding: 20px; }
	#schedule .concert .table table td ul:not(:last-of-type){ margin-bottom: 10px; }
}

@media screen and (max-width: 1000px){
	#schedule .calendar .table td .box{ height: auto; }
	#schedule .calendar .table td.over .day::after{ display: none; }
	#schedule .calendar .table .type{ display: flex; flex-wrap: wrap;  }
	#schedule .calendar .table ul li{ height: 10px; }
	#schedule .calendar .table ul li::before{ width: 10px; height: 10px; top: 0; transform: translate(0, 0); }
	#schedule .calendar .table ul li p, #schedule .calendar .table ul li span{ display: none; }
}

@media screen and (max-width: 900px){
	#schedule .calendar .date p{ font-size: 3rem; }
	#schedule .calendar .table th{ font-size: 1.5rem; padding: 15px 0; }

	#schedule .concert h6{ font-size: 2.4rem; }
}

@media screen and (max-width: 700px){
	#schedule .calendar .table td .box{ padding: 10px; }

	#schedule .concert .table tr{ display: flex; flex-direction: column; }
	#schedule .concert .table tr:not(:last-of-type){ margin-bottom: 20px; }
	#schedule .concert .table table th{ width: 100%; padding: 15px; }
	#schedule .concert .table table td{ border-left: 1px solid #CCC; }
}




/* 공연 - 티켓 예매 안내 */
#ticket{ overflow: hidden; }
#ticket h6{ margin-bottom: 25px; }
#ticket .dot-list dt{ margin-bottom: 10px; }
#ticket .table-box{ margin: 35px 0 25px; }
#ticket .center{ display: flex; justify-content: center; gap: 20px; margin-top: 60px; }
#ticket .center .round-btn{ width: auto; padding: 0 50px; }

#ticket .radius-bg{ padding: 25px 30px; margin-top: 35px; }
#ticket .radius-bg ul li{ font-size: 1.6rem; color: #333; letter-spacing: -0.02em; padding-left: 15px; position: relative; }
#ticket .radius-bg ul li:not(:last-of-type){ margin-bottom: 10px; }
#ticket .radius-bg ul li::before{ content: "※"; position: absolute; top: 0; left: 0; }

#ticket .icon-list{ --icon: 165px; }
#ticket .icon-list > ul{ display: flex; flex-direction: column; gap: 30px 40px; }
#ticket .icon-list > ul > li{ display: flex; align-items: center; border: 1px solid #CCC; border-radius: 10px; padding: 45px; }
#ticket .icon-list > ul > li .icon{ width: var(--icon); height: var(--icon); display: flex; justify-content: center; align-items: center; background: var(--mainColor); border-radius: 50%; padding: 40px; }
#ticket .icon-list > ul > li .text{ width: calc(100% - var(--icon)); padding-left: 40px; }
#ticket .icon-list > ul > li .text .sec:not(:last-of-type){ margin-bottom: 15px; }
#ticket .icon-list > ul > li .text span{ display: block; font-size: 2rem; font-weight: 500; color: #111; letter-spacing: -0.02em; margin-bottom: 20px; }
#ticket .icon-list > ul > li .text p{ font-size: 1.7rem; font-weight: 300; color: #333; letter-spacing: -0.02em; line-height: 1.5; }
#ticket .icon-list .radius-bg{ margin-top: 25px; }

#ticket .icon-list > ul > li.column{ flex-direction: column; align-items: flex-end; }
#ticket .icon-list > ul > li.column .flex{ width: 100%; display: flex; align-items: center; }

#ticket .icon-list .half{ flex-direction: row; }
#ticket .icon-list .half > li{ width: calc((100% - 40px) / 2); }

#ticket .warning dt{ line-height: 1.5; margin-bottom: 45px; }

#ticket .banner{ margin-top: 70px; }
#ticket .banner ul{ display: flex; flex-wrap: wrap; gap: 20px 40px; }
#ticket .banner ul li{ width: calc((100% - 40px) / 2); display: flex; align-items: center; gap: 0 80px; border-radius: 10px; overflow: hidden; padding: 75px 65px; }
#ticket .banner ul li:nth-of-type(1){ background: url("/img/sub/concert/banner_bg01.jpg") no-repeat center center / cover; }
#ticket .banner ul li:nth-of-type(2){ background: url("/img/sub/concert/banner_bg02.jpg") no-repeat center center / cover; }
#ticket .banner ul li .text *{ color: #fff; letter-spacing: -0.02em; }
#ticket .banner ul li .text p{ font-size: 2rem; font-weight: 500; }
#ticket .banner ul li .text strong{ display: block; font-size: 4rem; font-weight: 700; margin: 15px 0 5px; }
#ticket .banner ul li .text span{ display: block; font-size: 1.6rem; font-weight: 200; }

@media screen and (max-width: 1700px){
	#ticket .center .round-btn{ padding: 0 30px; }

	#ticket .icon-list{ --icon: 130px; }
	#ticket .icon-list > ul > li .text span{ font-size: 1.9rem; }

	#ticket .banner ul li{ gap: 0 50px; padding: 50px; }
	#ticket .banner ul li .text p{ font-size: 1.8rem; }
	#ticket .banner ul li .text strong{ font-size: 3.5rem; }
}

@media screen and (max-width: 1550px){
	#ticket .banner ul li{ gap: 0 40px; }
	#ticket .banner ul li figure{ max-width: 35%; }
	#ticket .banner ul li .text{ max-width: 65%; }
}

@media screen and (max-width: 1280px){
	#ticket h6{ margin-bottom: 15px; }
	#ticket .table-box{ margin: 20px 0; }
	#ticket .center{ margin-top: 30px; }
	#ticket .center .round-btn{ padding: 0 20px; }

	#ticket .radius-bg{ padding: 20px; margin-top: 15px; }
	#ticket .radius-bg ul li{ font-size: 1.5rem; }

	#ticket .icon-list > ul{ gap: 20px; }
	#ticket .icon-list > ul > li{ padding: 30px; }
	#ticket .icon-list > ul > li .text span{ font-size: 1.8rem; }
	#ticket .icon-list > ul > li .text span{ font-size: 1.7rem; margin-bottom: 10px; }
	#ticket .icon-list > ul > li .text p{ font-size: 1.6rem; }
	#ticket .icon-list .radius-bg{ margin-top: 15px; }

	#ticket .icon-list .half > li{ width: calc((100% - 20px) / 2); }

	#ticket .warning dt{ margin-bottom: 30px; }

	#ticket .banner{ margin-top: 40px; }
	#ticket .banner ul li .text p{ font-size: 1.7rem; }
	#ticket .banner ul li .text strong{ font-size: 3rem; }
	#ticket .banner ul li .text span{ font-size: 1.5rem; }
}

@media screen and (max-width: 1200px){
	#ticket .banner ul li{ width: 100%; justify-content: center; padding: 30px; }
}

@media screen and (max-width: 1100px){
	#ticket .icon-list .half{ flex-direction: column; }
	#ticket .icon-list .half > li{ width: 100%; }
}

@media screen and (max-width: 1000px){
	#ticket .icon-list{ --icon: 100px; }
	#ticket .icon-list > ul > li .icon{ padding: 25px; }
	#ticket .icon-list > ul > li{ flex-direction: column; align-items: flex-start; gap: 20px; }
	#ticket .icon-list > ul > li .text{ width: 100%; padding-left: 0; }

	#ticket .icon-list > ul > li.column{ gap: 0; }
	#ticket .icon-list > ul > li.column .flex{ flex-direction: column; align-items: flex-start; gap: 20px; }
}

@media screen and (max-width: 900px){
	#ticket .banner ul li .text strong{ font-size: 2.5rem; margin: 5px 0; }
}

@media screen and (max-width: 650px){
	#ticket .warning br{ display: none; }

	#ticket .banner ul li{ flex-direction: column; align-items: flex-start; }
	#ticket .banner ul li figure{ max-width: 50%; }
	#ticket .banner ul li .text{ max-width: 100%; margin-top: 30px; }
}

@media screen and (max-width: 600px){
	#ticket .warning br.none{ display: block; }
}


/* 공연 - 패키지 예매 안내 */
#package h6{ margin-bottom: 25px; }
#package .img-bg{ background: url("/img/sub/concert/package_bg.jpg") no-repeat center center / cover; padding: 11% 20px; }
#package .img-bg h6{ margin-bottom: 0; }

#package .process{ margin-bottom: 55px; }
#package .process ul{ display: flex; flex-wrap: wrap; gap: 40px 75px; }
#package .process ul li{ width: calc((100% - 300px) / 5); position: relative; }
#package .process ul li::after{ content: url("/img/sub/concert/package_after.svg"); position: absolute; top: 50%; right: -37px; transform: translate(50%, -50%); }
#package .process ul li:last-of-type::after{ display: none; }
#package .process ul li .circle{ width: 100%; padding-bottom: 100%; background: var(--mainColor); border-radius: 50%; }
#package .process ul li .text{ position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); padding: 0 20px; text-align: center; }
#package .process ul li .text *{ color: #fff; letter-spacing: -0.02em; }
#package .process ul li .text .icon{ width: 64px; height: 64px; display: flex; justify-content: center; align-items: center; margin: 0 auto; margin-bottom: 30px; }
#package .process ul li .text span{ font-size: 1.4rem; font-weight: 500; }
#package .process ul li .text p{ font-size: 2rem; font-weight: 600; margin-top: 5px; }

#package .tel{ display: flex; justify-content: center; align-items: center; background: var(--mainColor); font-size: 2rem; font-weight: 600; color: #fff; letter-spacing: -0.02em; text-align: center; padding: 22px; border-radius: 10px; margin-top: 40px; }
#package .tel::before{ content: url("/img/sub/concert/tel_icon.svg"); display: inline-block; margin-right: 7px; position: relative; top: 5px; }
#package .tel span{ font-size: 1.8rem; font-weight: 300; margin-left: 10px; }

@media screen and (max-width: 1700px){
	#package .process ul li .text p{ font-size: 1.8rem; }

	#package .tel{ font-size: 1.8rem; }
	#package .tel::before{ top: 6px; }
	#package .tel span{ font-size: 1.7rem; }
}

@media screen and (max-width: 1400px){
	#package .process ul{ gap: 40px 50px; }
	#package .process ul li{ width: calc((100% - 200px) / 5); }
	#package .process ul li::after{ right: -25px; }
}

@media screen and (max-width: 1280px){
	#package .process{ margin-bottom: 30px; }
	#package .process ul{ max-width: 800px; justify-content: center; margin: 0 auto; }
	#package .process ul li{ width: calc((100% - 100px) / 3); }
	#package .process ul li:nth-of-type(3n)::after{ display: none; }
	#package .process ul li .text .icon{ margin-bottom: 15px; }
	#package .process ul li .text p{ font-size: 1.7rem; }

	#package .tel{ font-size: 1.7rem; padding: 10px 15px; margin-top: 20px; }
	#package .tel::before{ top: 4px; }
	#package .tel span{ font-size: 1.6rem; }
}

@media screen and (max-width: 800px){
	#package .intro br{ display: none; }
}

@media screen and (max-width: 700px){
	#package .process ul{ max-width: 500px; }
	#package .process ul li{ width: calc((100% - 50px) / 2); }
	#package .process ul li:nth-of-type(3n)::after{ display: block; }
	#package .process ul li:nth-of-type(2n)::after{ display: none; }
}


/* 공연 - 패키지 신청 */
#register.reserve .img-bg{ background: url("/img/sub/concert/register_bg.jpg") no-repeat center center / cover; padding: 85px 60px; text-align: left; }
#register.reserve .img-bg p{ font-size: 2rem; font-weight: 500; line-height: 1.5; margin: 35px 0 15px; }
#register.reserve .img-bg .dot-list > *{ text-indent: -13px; }
#register.reserve .img-bg .dot-list > *::before{ display: none; }

#register.reserve .policy{ padding: 55px 0; }

@media screen and (max-width: 1700px){
	#register.reserve .img-bg{ padding: 55px 30px; }
	#register.reserve .img-bg p{ font-size: 1.8rem; }
}

@media screen and (max-width: 1280px){	
	#register.reserve .img-bg{ padding: 40px 0px; }
	#register.reserve .img-bg p{ font-size: 1.7rem; margin: 15px 0 10px; }
	#register.reserve .img-bg ul{ margin-top: 30px; }
}

@media screen and (max-width: 1000px){
	#register.reserve .img-bg br{ display: none; }
}


/* 공연 - 패키지 신청 (완료) */
#register-ok .img-bg{ background: url("/img/sub/concert/register_ok_bg.jpg") no-repeat center center / cover; text-align: center; padding: 155px 0 205px; }
#register-ok .img-bg .btn-list{ margin-top: 50px; }
#register-ok .img-bg .btn-list li{ max-width: max-content; width: 100%; margin: 0 auto; }

@media screen and (max-width: 1700px){
	#register-ok .reserve h5{ font-size: 3.5rem; }
}

@media screen and (max-width: 1280px){
	#register-ok .img-bg{ padding: 100px 10px; }
	#register-ok .img-bg .btn-list{ margin-top: 20px; }
	#register-ok .img-bg .btn-list li span{ margin-left: 10px; }
}

@media screen and (max-width: 750px){
	#register-ok .img-bg br{ display: none; }
}


/* 공연 - 공연장 안내 (공통) */
#concert br.none{ display: none; }
#concert .square-tab ul li{ width: calc((100% - 20px) / 2); }
#concert .intro{ margin-bottom: 50px; }
#concert .img-bg{ height: 600px; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 100px 0; }
#concert .radius-bg{ text-align: center; padding: 50px 30px; }

@media screen and (max-width: 1280px){
	#concert .square-tab ul{ margin-bottom: 20px; }
	#concert .intro{ margin-bottom: 20px; }
	#concert .img-bg{ height: 400px; }
	#concert .radius-bg{ padding: 20px; }
}

@media screen and (max-width: 750px){
	#concert .img-bg br{ display: none; }
}

/* 공연 - 공연장 안내 (콘서트홀) */
#concert.hall .img-bg{ background: url("/img/sub/concert/hall_bg.jpg") no-repeat center center / cover; }

/* 공연 - 공연장 안내 (대관령 야외공연장) */
#concert.outdoor .img-bg{ background: url("/img/sub/concert/outdoor_bg.jpg") no-repeat center center / cover; }


/* 교육 - 소개 */
#academy .img-bg{ background: url("/img/sub/academy/academy_bg.jpg") no-repeat center center / cover; padding: 20.7% 0; }

#academy .program .section:not(:last-of-type){ margin-bottom: 150px; }
#academy .text-box{ margin-bottom: 45px; }
#academy .text-box *{ color: #111; letter-spacing: -0.02em; }
#academy .text-box h4{ font-weight: 600; margin-bottom: 15px; }
#academy .text-box p{ font-size: 2rem; font-weight: 300; line-height: 1.5; }

#academy .img_borad_list{ gap: 70px 40px; }
#academy .img_borad_list .item{ width: calc((100% - 80px) / 3); }

@media screen and (max-width: 1700px){
	#academy .program .section:not(:last-of-type){ margin-bottom: 100px; }
	#academy .text-box p{ font-size: 1.8rem; }
}

@media screen and (max-width: 1280px){
	#academy .program .section:not(:last-of-type){ margin-bottom: 70px; }
	#academy .text-box{ margin-bottom: 20px; }
	#academy .text-box h4{ margin-bottom: 10px; }
	#academy .text-box p{ font-size: 1.7rem; }

	#academy .img_borad_list{ gap: 50px 20px; }
	#academy .img_borad_list .item{ width: calc((100% - 40px) / 3); }
}

@media screen and (max-width: 900px){
	#academy .img_borad_list .item{ width: calc((100% - 20px) / 2); }
}

@media screen and (max-width: 850px){
	#academy .program br{ display: none; }
}

@media screen and (max-width: 700px){
	#academy .img-bg br{ display: none; }
	#concert br.none{ display: block; }
	#academy .img-bg h3{ font-size: 2.5rem; }
}


/* 교육 - 소개 (상세) */
#view.introduce .title{ margin-bottom: 40px; }
#view.introduce .title h3{ text-align: center; line-height: 1.5; }
#view.introduce .content{ border-radius: 0; padding: 0; }
#view.introduce .content-box{  background: none; }
#view.introduce .center .round-btn{ width: 265px; font-size: 1.9rem; }

@media screen and (max-width: 1700px){
	#view.introduce .center .round-btn{ width: 200px; font-size: 1.8rem; }
}

@media screen and (max-width: 1280px){
	#view.introduce .title{ margin-bottom: 20px; }
	#view.introduce .center .round-btn{ width: 160px; font-size: 1.7rem; }
}


/* 교육 - 지원 · 신청 */
#apply #filter{ margin-bottom: 60px; }
#apply .img_borad_list{ gap: 120px 47px; }
#apply .img_borad_list .item{ width: calc((100% - 141px) / 4); }
#apply .img_borad_list .item figure{ border-radius: 0; padding-bottom: 141%; }
#apply .img_borad_list .item .txt h2{ display: -webkit-box; height: 3em; font-size: 2.5rem; line-height: 1.5; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
#apply .img_borad_list .item .txt ul{ margin-top: 15px; }
#apply .img_borad_list .item .txt ul li{ font-size: 1.7rem; font-weight: 300; color: #333; padding-left: 20px; position: relative; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
#apply .img_borad_list .item .txt ul li:not(:last-of-type){ margin-bottom: 5px; }
#apply .img_borad_list .item .txt ul li::before{ position: absolute; top: 2px; left: 0; }
#apply .img_borad_list .item .txt ul li:nth-of-type(1)::before{ content: url("/img/sub/academy/location_icon.svg"); }
#apply .img_borad_list .item .txt ul li:nth-of-type(2)::before{ content: url("/img/sub/academy/date_icon.svg"); }

@media screen and (max-width: 1700px){
	#apply .img_borad_list .item .txt h2{ font-size: 2.3rem; }
}

@media screen and (max-width: 1400px){
	#apply #filter{ margin-bottom: 30px; }
	#apply .img_borad_list{ gap: 90px 20px; }
	#apply .img_borad_list .item{ width: calc((100% - 60px) / 4); }
}

@media screen and (max-width: 1100px){
	#apply .img_borad_list .item{ width: calc((100% - 40px) / 3); }
}

@media screen and (max-width: 1280px){
	#apply .img_borad_list{ gap: 50px 20px; }
	#apply .img_borad_list .item .txt h2{ font-size: 2.2rem; }
	#apply .img_borad_list .item .txt ul{ margin-top: 10px; }
	#apply .img_borad_list .item .txt ul li{ font-size: 1.6rem; }
}

@media screen and (max-width: 900px){
	#apply .img_borad_list .item .txt h2{ font-size: 1.9rem; }
}

@media screen and (max-width: 800px){
	#apply .img_borad_list .item{ width: calc((100% - 20px) / 2); }
}


/* 대관령음악제 - 소개 */
#mpyc{ overflow: hidden; }
#mpyc h3{ font-size: 5rem; margin-bottom: 100px; }
#mpyc .img-bg{ background: url("/img/sub/mpyc/mpyc_bg2.jpg") no-repeat center center / cover; padding: 15.45% 0; }

#mpyc .introduce ul li{ display: flex; align-items: center; opacity: 1 !important; }
#mpyc .introduce ul li:not(:last-of-type){ margin-bottom: 130px; }
#mpyc .introduce ul li > div{ width: 50%; }
#mpyc .introduce ul li .img{ position: relative; z-index: 10; }
#mpyc .introduce ul li .img::before, #mpyc .introduce ul li .img::after{ content: ""; width: calc(50% + 10px); height: calc(100% + 10px); background: var(--baseBg); position: absolute; top: -5px; z-index: 10; transform: scaleX(1); transition: transform 1.5s; }
#mpyc .introduce ul li .img::before{ left: -5px; transform-origin: left; }
#mpyc .introduce ul li .img::after{ right: -5px; transform-origin: right; }
#mpyc .introduce ul li .img figure{ width: 100%; position: relative; overflow: hidden; padding-bottom: 70%; border-radius: 10px; }
#mpyc .introduce ul li .img figure img{ width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#mpyc .introduce ul li .text{ padding-left: 80px; }
#mpyc .introduce ul li .text h2, #mpyc .introduce ul li .text dl dt, #mpyc .introduce ul li .text dl dd, #mpyc .introduce ul li .text strong{ transform: translateX(-100px); opacity: 0; transition: transform 1s, opacity 1s; }
#mpyc .introduce ul li .text h2{ font-family: var(--engFont); font-size: 7rem; font-weight: 600; color: #111; margin-bottom: 20px; }
#mpyc .introduce ul li .text dl dt{ font-size: 3.2rem; font-weight: 500; color: #111; letter-spacing: -0.02em; margin-bottom: 30px; transition-delay: 0.2s; }
#mpyc .introduce ul li .text dl dd{ font-size: 1.7rem; font-weight: 300; color: #333; letter-spacing: -0.02em; line-height: 1.5;  transition-delay: 0.4s; }
#mpyc .introduce ul li .text strong{ display: block; font-weight: 400; color: #111; margin-top: 60px; transition-delay: 0.6s; }

#mpyc .introduce ul li:nth-of-type(even){ flex-direction: row-reverse; }
#mpyc .introduce ul li:nth-of-type(even) .text{ padding-left: 0; padding-right: 80px; }

#mpyc .introduce ul li.aos-animate .img::before, #mpyc .introduce ul li.aos-animate .img::after{ transform: scaleX(0); }
#mpyc .introduce ul li.aos-animate .text h2, #mpyc .introduce ul li.aos-animate .text dl dt, #mpyc .introduce ul li.aos-animate .text dl dd, #mpyc .introduce ul li.aos-animate .text strong{ opacity: 1; transform: translateX(0); }


#mpyc .map .sec:not(:last-of-type){ padding-bottom: 100px; }
#mpyc .map h6{ font-weight: 500; }
#mpyc .map p{ font-size: 1.8rem; font-weight: 400; color: #333; letter-spacing: -0.02em; }
#mpyc .map .iframe{ height: 500px; border-radius: 10px; overflow: hidden; margin: 30px 0; }
#mpyc .map .iframe iframe{ width: 100%; height: 100%; }


#mpyc .location .table-box:not(:last-of-type){ margin-bottom: 60px; }
#mpyc .location .table-box table th{ width: 480px; font-size: 2.4rem; }
#mpyc .location .table-box table th .icon{ margin-bottom: 20px; }
#mpyc .location .table-box table td{ text-align: left; padding: 30px 40px; }
#mpyc .location dl dt{ font-size: 2.2rem; font-weight: 600; color: #111; letter-spacing: -0.02em; margin-bottom: 20px; }
#mpyc .location dl dd{ font-size: 1.7rem; font-weight: 300; color: #111; letter-spacing: -0.02em; }
#mpyc .location dl dd span{ display: inline-block; background: #6B4B43; border-radius: 5px; font-size: 1.7rem; font-weight: 400; color: #FFF; letter-spacing: -0.02em; line-height: 1; padding: 8px 20px; margin-bottom: 15px; }
#mpyc .location ul li:not(:last-of-type){ margin-bottom: 10px; }
#mpyc .location ul li em{ font-weight: 500; color: #6B4B43; }
#mpyc .location ul + p{ font-size: 1.6rem; color: #333; margin-top: 20px; }

@media screen and (max-width: 1700px){
	#mpyc h3{ font-size: 4rem; margin-bottom: 70px; }

	#mpyc .introduce ul li:not(:last-of-type){ margin-bottom: 80px; }
	#mpyc .introduce ul li .text h2{ font-size: 5.5rem; }
	#mpyc .introduce ul li .text dl dt{ font-size: 2.8rem; }

	#mpyc .map .sec:not(:last-of-type){ padding-bottom: 80px; }
	#mpyc .map .iframe{ margin: 20px 0; }
	#mpyc .map p{ font-size: 1.7rem; }

	#mpyc .location .table-box table th{ width: 400px; font-size: 2.2rem; }
	#mpyc .location dl dt{ font-size: 2rem; }
	#mpyc .location dl dd span{ padding: 7px 15px; }
}

@media screen and (max-width: 1280px){
	#mpyc h3{ font-size: 3.5rem; margin-bottom: 30px; }

	#mpyc .introduce ul li .text{ padding-left: 40px; }
	#mpyc .introduce ul li:nth-of-type(even) .text{ padding-right: 40px; }
	#mpyc .introduce ul li .text h2{ font-size: 4rem; margin-bottom: 15px; }
	#mpyc .introduce ul li .text dl dt{ font-size: 2.4rem; margin-bottom: 20px; }
	#mpyc .introduce ul li .text dl dd{ font-size: 1.6rem; }
	#mpyc .introduce ul li .text strong{ margin-top: 30px; }

	#mpyc .map .sec:not(:last-of-type){ padding-bottom: 50px; }
	#mpyc .map .iframe{ height: 400px; margin: 10px 0 20px; }
	#mpyc .map p{ font-size: 1.6rem; }

	#mpyc .location .table-box table th{ width: 320px; font-size: 2rem; }
	#mpyc .location .table-box table td{ padding: 20px 25px; }
	#mpyc .location dl dt{ font-size: 1.8rem; margin-bottom: 10px; }
	#mpyc .location dl dd span{ font-size: 1.5rem; padding: 6px 10px; margin-bottom: 10px; }
	#mpyc .location ul + p{ font-size: 1.5rem; }
}

@media screen and (max-width: 1050px){
	#mpyc .introduce br{ display: none; }
}

@media screen and (max-width: 1000px){
	#mpyc .location .table-box tr{ display: flex; flex-direction: column; }
	#mpyc .location .table-box tr:not(:last-of-type){ margin-bottom: -1px; }
	#mpyc .location .table-box table th,
	#mpyc .location .table-box table td{ width: 100%; }
	#mpyc .location .table-box table th{ display: flex; align-items: center; font-size: 1.8rem; padding: 15px; }
	#mpyc .location .table-box table th .icon{ margin-bottom: 0; margin-right: 15px; }
	#mpyc .location .table-box table td{ font-size: 1.6rem; padding: 15px 20px; }
}

@media screen and (max-width: 900px){
	#mpyc h3{ font-size: 2.8rem; }

	#mpyc .introduce ul li .text h2{ font-size: 3rem; }
	#mpyc .introduce ul li .text dl dt{ font-size: 2.2rem; margin-bottom: 15px; }
	#mpyc .introduce ul li .text strong{ margin-top: 20px; }
}

@media screen and (max-width: 800px){
	#mpyc .introduce ul li{ flex-direction: column !important; }
	#mpyc .introduce ul li > div{ width: 100%; }
	#mpyc .introduce ul li .text{ padding: 0 !important; margin-top: 20px; }
}

@media screen and (max-width: 750px){
	#mpyc .intro br{ display: none; }
}


/* 대관령음악제 - 예술감독 */
#director{ padding-bottom: 0; overflow: hidden; }
#director .intro .image{ position: relative; opacity: 1 !important; }
#director .intro .image::before, #director .intro .image::after{ content: ""; width: calc(50% + 10px); height: calc(100% + 10px); background: var(--baseBg); position: absolute; top: -5px; z-index: 10; transform: scaleX(1); transition: transform 1.5s; }
#director .intro .image::before{ left: -5px; transform-origin: left; }
#director .intro .image::after{ right: -5px; transform-origin: right; }
#director .intro .image figure{ width: 100%; position: relative; overflow: hidden; padding-bottom: 41%; border-radius: 10px; }
#director .intro .image figure img{ width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#director .intro .image span{ font-size: 1.7rem; font-weight: 300; color: #FFF; letter-spacing: -0.02em; position: absolute; bottom: 45px; right: 45px; z-index: 5; }

#director .intro .image.aos-animate::before, #director .intro .image.aos-animate::after{ transform: scaleX(0); }

#director .intro .flex-box{ display: flex; margin-top: 100px; }
#director .intro .name{ width: 420px; }
#director .intro .name h2{ font-size: 7rem; font-weight: 700; color: #111; letter-spacing: -0.02em; margin-bottom: 10px; }
#director .intro .name p{ font-family: var(--engFont); font-size: 3rem; font-weight: 600; color: #111; }

#director .intro .content{ width: calc(100% - 420px); }
#director .intro .content p{ font-size: 1.7rem; font-weight: 300; color: #333; letter-spacing: -0.02em; line-height: 1.5; }
#director .intro .content p:not(:last-of-type){ margin-bottom: 25px; }

#director .histroy{ background: var(--beigeBg); }
#director .histroy h3{ font-size: 5rem; font-weight: 700; color: #111; letter-spacing: -0.02em; margin-bottom: 70px; }

#director .histroy .director-wrap{ position: relative; z-index: 10; }
#director .histroy .director-wrap::before{ content: ""; width: calc((100vw - 100%) / 2); height: calc(100% + 20px); background: var(--beigeBg); position: absolute; top: -10px; left: 0; z-index: 20; transform: translateX(-100%); }
#director .histroy .director-wrap::after{ content: ""; width: calc(100% - (15px / 2)); height: 1px; background: linear-gradient(90deg, #555 0%, rgba(91, 91, 91, 0.94) 60.5%, rgba(187, 187, 187, 0.00) 100%); position: absolute; top: calc(15px / 2); left: calc(15px / 2); transform: translateY(-50%); z-index: -5; }
#director .histroy .director-wrap .slick-list{ overflow: visible; }
#director .histroy .director-wrap .slick-track{ margin: 0; }
#director .histroy .director{ outline: none; padding-right: 30px; } 
#director .histroy .director .dot{ display: inline-block; width: 15px; height: 15px; position: relative; margin-left: 1px; }
#director .histroy .director .dot::before, #director .histroy .director .dot::after{ border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); box-sizing: border-box; }
#director .histroy .director .dot::before{ content: ""; width: 100%; height: 100%; border: 1px solid var(--mainColor); transform: translate(-50%, -50%) scale(0); transition: transform 0.5s; }
#director .histroy .director.slick-current .dot::before{ transform: translate(-50%, -50%) scale(1); }
#director .histroy .director .dot::after{ content: ""; width: 6px; height: 6px; background: var(--mainColor); }
#director .histroy .director dl{ margin-top: 20px; }
#director .histroy .director dl dt{ font-size: 3rem; font-weight: 600; color: #111; letter-spacing: -0.02em; margin-bottom: 10px; }
#director .histroy .director dl dd{ display: flex; font-size: 1.7rem; font-weight: 300; color: #333; letter-spacing: -0.02em; }
#director .histroy .director dl dd span{ display: inline-block; margin-right: 5px; }
#director .histroy .director dl dd p:not(:last-of-type){ margin-bottom: 5px; }

@media screen and (max-width: 1700px){
	#director .intro .name{ width: 300px; }
	#director .intro .name h2{ font-size: 5.5rem; }
	#director .intro .name p{ font-size: 2.5rem; }

	#director .intro .content{ width: calc(100% - 300px); }

	#director .histroy h3{ font-size: 4rem; }
	#director .histroy .director dl dt{ font-size: 2.6rem; }
}

@media screen and (max-width: 1280px){
	#director .intro .image span{ font-size: 1.6rem; bottom: 30px; right: 30px; }

	#director .intro .flex-box{ margin-top: 50px; }
	#director .intro .name h2{ font-size: 4rem; margin-bottom: 5px; }
	#director .intro .name p{ font-size: 2.2rem; }

	#director .intro .content p{ font-size: 1.6rem; }
	#director .intro .content p:not(:last-of-type){ margin-bottom: 15px; }

	#director .histroy h3{ font-size: 3rem; margin-bottom: 40px; }
	#director .histroy .director dl dt{ font-size: 2.2rem; }
	#director .histroy .director dl dd{ font-size: 1.7rem; }
}

@media screen and (max-width: 1200px){
	#director .intro .flex-box{ flex-direction: column; margin-top: 30px; }
	#director .intro .name{ width: 100%; }
	#director .intro .content{ width: 100%; margin-top: 30px; }
}

@media screen and (max-width: 1100px){
	#director .histroy .director-wrap::after{ width: calc(100% - (15px / 2) + 20px); }
}

@media screen and (max-width: 900px){
	#director .intro .image span{ bottom: 20px; right: 20px; }

	#director .intro .name h2{ font-size: 3rem; }
	#director .intro .name p{ font-size: 2rem; }

	#director .pt150{ padding-top: 60px; }
	#director .pb150{ padding-bottom: 60px; }
	#director .histroy h3{ font-size: 2.5rem; }
	#director .histroy .director dl dt{ font-size: 2rem; }
}


/* 대관령음악제 - 조직도 */
#organ .organ ul{ max-width: 260px; width: 100%; margin: 0 auto; position: relative; }
#organ .organ ul::before{ content: ""; width: 1px; height: 100%; background: #BBB; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); }
#organ .organ ul li{ position: relative; text-align: center; padding-bottom: 60px; }
#organ .organ ul li .box{ position: relative; z-index: 10; }
#organ .organ ul li .box::before{ content: ""; width: calc(100% + 15px); height: calc(100% + 15px); background: var(--baseBg); border: 1px solid var(--mainColor); border-radius: 50%; position: absolute; top: 50%; left: 50%; z-index: -1; transform: translate(-50%, -50%); }
#organ .organ ul li * { color: #fff; letter-spacing: -0.02em; }
#organ .organ ul li .circle{ width: 100%; padding-bottom: 100%; background: var(--mainColor); border-radius: 50%; }
#organ .organ ul li .text{ position: absolute; top: 50%; left: 0; right: 0; z-index: 10; transform: translateY(-50%); padding: 0 20px; }
#organ .organ ul li .text h6{ font-weight: 3rem; font-weight: 600; margin-bottom: 15px; }
#organ .organ ul li .text p{ font-size: 2.5rem; font-weight: 500; line-height: 1.5; }
#organ .organ ul li .text span{ font-size: 1.6rem; font-weight: 600; }
#organ .organ ul li .text span::after{ content: url("/img/sub/mpyc/organ_arrow.svg"); margin-left: 13px; position: relative; top: -1px; }
#organ .organ ul li a{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 30; }

#organ .organ ul li.beige * { color: #111; }
#organ .organ ul li.beige .box::before{ display: none; }
#organ .organ ul li.beige::before{ content: ""; width: 7px; height: 7px; background: var(--mainColor); border-radius: 50%; position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); z-index: 25; }
#organ .organ ul li.beige .circle{ background: var(--beigeBg); }

#organ .table{ position: relative; z-index: 20; }
#organ .table .table-box td{ padding: 25px 55px; }

@media screen and (max-width: 1700px){
	#organ .organ ul{ max-width: 230px; }
	#organ .organ ul li .text h6{ font-weight: 2.5rem; }
	#organ .organ ul li .text p{ font-size: 2.2rem; }

	#organ .table .table-box td{ padding: 20px 40px; }
}

@media screen and (max-width: 1280px){
	#organ .organ ul{ max-width: 200px; }
	#organ .organ ul li .text h6{ font-weight: 2.2rem; margin-bottom: 10px; }
	#organ .organ ul li .text p{ font-size: 2rem; }
	#organ .organ ul li .text span{ font-size: 1.5rem; }

	#organ .table .table-box td{ padding: 15px 20px; }
}

@media screen and (max-width: 1100px){
	#organ .table .table-box{ width: 100%; overflow-x: scroll; }
	#organ .table .table-box table{ width: 1000px; }
}

@media screen and (max-width: 900px){
	#organ .organ ul{ max-width: 180px; }
	#organ .organ ul li .text h6{ font-weight: 1.9rem; }
	#organ .organ ul li .text p{ font-size: 1.7rem; }
}


/* 대관령음악제 - 후원 및 협력사 (후원사) */
#sponsor .intro{ margin-bottom: 60px; }
#sponsor .img-bg{ background: url("/img/sub/mpyc/sponsor_bg01.jpg") no-repeat center center / cover; padding: 11.2% 0; }

#sponsor .sponsor ul{ display: flex; flex-wrap: wrap; }
#sponsor .sponsor ul li{ position: relative; }
#sponsor .sponsor ul li figure{ width: 100%; display: flex; justify-content: center; align-items: center; padding: 20px; border-radius: 10px; }
#sponsor .sponsor ul li figure img{ max-height: 100%; mix-blend-mode: multiply; -webkit-mix-blend-mode: multiply;  }
#sponsor .sponsor ul li .text{ display: flex; justify-content: space-between; margin-top: 10px; }
#sponsor .sponsor ul li .text p{ max-width: calc(100% - 65px); font-size: 2.2rem; font-weight: 600; color: #111; letter-spacing: -0.02em; margin-top: calc((35px - 1.3em) / 2); }
/* #sponsor .sponsor ul li .text::after{ content: ""; display: inline-block; width: 35px; height: 35px; background: var(--mainColor) url("/img/sub/mpyc/home_icon.svg") no-repeat center center / auto; border-radius: 50%;  } */
#sponsor .sponsor ul li a{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 10; }

#sponsor .logo1 ul{ gap: 50px 40px; }
#sponsor .logo1 ul li{ width: calc((100% - 80px) / 3); }
#sponsor .logo1 ul li figure{ height: 160px; background: var(--beigeBg); }

#sponsor .logo2 ul{ gap: 25px; }
#sponsor .logo2 ul li{ width: calc((100% - 100px) / 5); }
#sponsor .logo2 ul li figure{ height: 100px; border: 1px solid #CCC; }

@media screen and (max-width: 1700px){
	#sponsor .logo1 ul li figure{ height: 145px; }
	#sponsor .sponsor ul li .text p{ font-size: 2rem; }

	#sponsor .logo2 ul li figure{ height: 90px;}
}

@media screen and (max-width: 1280px){
	#sponsor .logo1 ul{ gap: 30px 20px; }
	#sponsor .logo1 ul li{ width: calc((100% - 60px) / 3); }
	#sponsor .logo1 ul li figure{ height: 130px; }
	#sponsor .sponsor ul li .text::after{ width: 30px; height: 30px; }
	#sponsor .sponsor ul li .text p{ font-size: 1.9rem; margin-top: calc((30px - 1.3em) / 2); }

	#sponsor .logo2 ul{ gap: 20px; }
	#sponsor .logo2 ul li{ width: calc((100% - 60px) / 4); }
	#sponsor .logo2 ul li figure{ height: 80px;}
}

@media screen and (max-width: 1050px){
	#sponsor .logo1 ul li{ width: calc((100% - 20px) / 2); }
	#sponsor .logo1 ul li figure{ height: 110px; }
}

@media screen and (max-width: 900px){
	#sponsor .img-bg br{ display: none; }

	#sponsor .logo2 ul li{ width: calc((100% - 40px) / 3); }
}

@media screen and (max-width: 700px){
	#sponsor .logo2 ul li{ width: calc((100% - 20px) / 2); }
}


/* 대관령음악제 - 후원 및 협력사 (더 프렌즈) */
#friends .img-bg{ background: url("/img/sub/mpyc/friends_bg.jpg") no-repeat center center / cover; padding: 9.27% 0; }
#friends .img-bg p{ font-size: 2.5rem; font-weight: 400; }

#friends .text-box{ padding: 60px 0 100px; text-align: center; }
#friends .text-box p{ font-size: 2rem; font-weight: 300; color: #333; letter-spacing: -0.02em; line-height: 1.5; }
#friends .text-box p:not(:last-of-type){ margin-bottom: 30px; }

@media screen and (max-width: 1700px){
	#friends .img-bg p{ font-size: 2.3rem; }

	#friends .text-box p{ font-size: 1.8rem; }
}

@media screen and (max-width: 1280px){
	#friends .img-bg p{ font-size: 2rem; }

	#friends .text-box{ padding: 30px 0 60px; }
	#friends .text-box p{ font-size: 1.7rem; }
}

@media screen and (max-width: 1000px){
	#friends .text-box br{ display: none; }
}

@media screen and (max-width: 900px){
	#friends .img-bg p{ font-size: 1.7rem; }
}

@media screen and (max-width: 600px){
	#friends .img-bg br{ display: none; }
}


/* 대관령음악제 - 후원 및 협력사 (혜택 및 후원문의) */
#benefit{ overflow: hidden; }
#benefit .intro .flex-box{ display: flex; align-items: center;  }
#benefit .intro .img{ width: 47.5%; }
#benefit .intro .img::before, #benefit .intro .img::after{ transition-delay: unset; }
#benefit .intro .img figure{ width: 100%; position: relative; overflow: hidden; padding-bottom: 73.5%; border-radius: 10px; }
#benefit .intro .img figure img{ width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

#benefit .intro .text{ width: 52.5%; padding-left: 80px; }
#benefit .intro .text h3{ font-weight: 700; color: #111; letter-spacing: -0.02em; line-height: 1.5; margin-bottom: 25px; }
#benefit .intro .text p{ font-size: 1.7rem; font-weight: 300; color: #333; letter-spacing: -0.02em; line-height: 1.5; }
#benefit .intro .text p.bold{ font-size: 2rem; font-weight: 500; color: #333; letter-spacing: -0.02em; line-height: 1.5; margin-bottom: 30px; }
#benefit .intro .text ul{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 50px; }
#benefit .intro .text ul li{ background: var(--mainColor); border-radius: 50px; font-size: 1.8rem; font-weight: 300; color: #fff; letter-spacing: -0.02em; padding: 15px 20px; }
#benefit .intro .text ul li span{ display: inline-block; font-weight: 700; margin-right: 10px; }

#benefit .table h4{ margin-bottom: 40px; }
#benefit .table table p.bold{ font-size: 1.9rem; font-weight: 500; color: #111; letter-spacing: -0.02em; }
#benefit .table table ul{ margin-top: 10px; }
#benefit .table table ul li{ font-size: 1.5rem; font-weight: 300; color: #333; letter-spacing: -0.02em; line-height: 1.5; }
#benefit .table table ul li:not(:last-of-type){ margin-bottom: 5px; }
#benefit .table table .circle{ display: inline-block; width: 19px; height: 19px; border: 1px solid #111; border-radius: 50%; line-height: 1; }
#benefit .table tbody tr > *:first-of-type{ border-left: none; }
#benefit .table tbody tr > *:last-of-type{ border-right: none; }
#benefit .table .right{ margin-top: 30px; }
#benefit .table .right p{ font-size: 1.6rem; font-weight: 300; color: #333; letter-spacing: -0.02em; text-align: right; }

@media screen and (max-width: 1700px){
	#benefit .intro .text p.bold{ font-size: 1.9rem; }
	#benefit .intro .text ul li{ font-size: 1.7rem; padding: 13px 20px; }

	#benefit .table h4{ margin-bottom: 30px; }
	#benefit .table table p.bold{ font-size: 1.8rem; }
}

@media screen and (max-width: 1400px){
	#benefit .intro br{ display: none; }
}

@media screen and (max-width: 1280px){
	#benefit .intro .text{ padding-left: 40px; }
	#benefit .intro .text h3{ margin-bottom: 15px; }
	#benefit .intro .text p{ font-size: 1.6rem; }
	#benefit .intro .text p.bold{ font-size: 1.8rem; margin-bottom: 20px; }
	#benefit .intro .text ul{ margin-top: 30px; }
	#benefit .intro .text ul li{ font-size: 1.6rem; }

	#benefit .table h4{ margin-bottom: 20px; }
	#benefit .table table p.bold{ font-size: 1.7rem; }
	#benefit .table table .circle{ width: 15px; height: 15px; }
	#benefit .table .right{ margin-top: 15px; }
	#benefit .table .right p{ font-size: 1.5rem; }
}

@media screen and (max-width: 1100px){
	#benefit .intro .flex-box{ flex-direction: column; }
	#benefit .intro .img{ width: 100%; }
	#benefit .intro .text{ width: 100%; padding-left: 0; padding-top: 30px; }
}

@media screen and (max-width: 1000px){
	#benefit .table-box{ overflow-x: scroll; }
	#benefit .table-box table{ width: 1000px; }
}


/* 대관령음악제 - 문의 */
#register.inquiry .policy-agree label::before, #register.inquiry .policy-agree label::after{ top: calc(1.3em / 2); transform: translateY(-50%); }

@media screen and (max-width: 1280px){
	#register.inquiry .policy-agree label::before, #register.inquiry .policy-agree label::after{ top: calc(1.2em / 2); }
}


/* 회원 - 로그인 */
#login{ --height: 70px; }
#login .inner{ max-width: 800px; width: 100%; margin: 0 auto; padding: 70px 100px; }
#login h4{ text-align: center; margin-bottom: 30px; }
#login .input > div:not(:last-of-type){ margin-bottom: 20px; }
#login .input input{ width: 100%; height: var(--height); background: var(--beigeBg); border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 10px; -webkit-border-radius: 10px; font-size: 1.7rem; font-weight: 300; color: #111; letter-spacing: -0.02em; line-height: 1; padding: 0 15px; outline: none; }
#login .input input::placeholder{ color: #888; }
#login .input .email{ display: flex; gap: 0 40px; position: relative; }
#login .input .email input{ width: calc((100% - 40px) / 2); }
#login .input .email::after{ content: "@"; font-size: 1.7rem; font-weight: 300; color: #111; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

#login .policy-agree label::before, #login .policy-agree label::after{ top: calc(1.1em / 2); }

#login .btns{ margin-top: 50px; }
#login .btns button{ width: 100%; height: var(--height); border-radius: 10px; -webkit-border-radius: 10px; background: var(--mainColor); font-family: var(--baseFont); font-size: 1.7rem; font-weight: 500; color: #fff; line-height: 1; }
#login .btns button.gray{ background: #D4D4D4; color: #333; }
#login .btns button.black{ background: #111; }

#login .btns .flex{ display: flex; gap: 10px; margin-top: 15px; }
#login .btns .flex button{ width: calc((100% - 10px) / 2); }

#login .btns p.i{ font-size: 1.5rem; font-weight: 400; color: #111; letter-spacing: -0.02em; position: relative; padding-left: 20px; margin-top: 35px; }
#login .btns p.i::before{ content: ""; width: 13px; height: 13px; border: 1px solid #CE0E19; background: url("/img/sub/i_icon.svg") no-repeat center center / auto; border-radius: 50%; position: absolute; top: 2px; left: 0; }

@media screen and (max-width: 1700px){
	#login{ --height: 60px; }
}

@media screen and (max-width: 1280px){
	#login{ --height: 55px; }
	#login .inner{ max-width: 700px; padding: 50px 70px; }
	#login h4{ font-size: 3rem; margin-bottom: 15px; }
	#login .input input{ font-size: 1.6rem; }

	#login .btns{ margin-top: 30px; }
	#login .btns button{ font-size: 1.6rem; }
	#login .btns p.i{ margin-top: 20px; }
}

@media screen and (max-width: 600px){
	#login .inner{ padding: 40px; }
}


/* 아이디 · 비밀번호 찾기 */
#login .flex-box{ display: flex; justify-content: space-between; }
#login .flex-box .inner{ width: calc((100% - 40px) / 2); margin: 0; }

@media screen and (max-width: 1350px){
	#login .flex-box .inner{ padding: 50px 70px; }
}

@media screen and (max-width: 1200px){
	#login .flex-box .inner{ padding: 40px; }
}

@media screen and (max-width: 1050px){
	#login .flex-box{ flex-direction: column; align-items: center; }
	#login .flex-box .inner{ width: 100%; }
	#login .flex-box .inner:not(:last-of-type){ margin-bottom: 40px; }
}


/* 회원 - 회원가입 */
#register.membership .policy{ padding-bottom: 50px; }
#register.membership p.i{ display: none; }
#register.membership .flex{ gap: 10px; }
#register.membership .id .flex{ flex-wrap: wrap; }
#register.membership .id button{ width: 150px; }

@media screen and (max-width: 1280px){
	#register.membership .id .max650{ width: calc(100% - 160px); }
}

@media screen and (max-width: 600px){
	#register.membership .id .max650{ width: calc(100% - 130px); }
	#register.membership .id button{ width: 120px; }
}

/* 회원 - 회원정보수정 */
#register.mypage p.i{ display: none; }


/* 검색결과 */
#result .search .inner{ max-width: 800px; width: 100%; margin: 0 auto; position: relative; }
#result .search input{ width: 100%; border: none; border-bottom: 1px solid #111; border-radius: 0; -webkit-border-radius: 0; font-size: 2rem; font-weight: 400; color: #111; background: none; padding: 20px 0; padding-right: 45px; outline: none;}
#result .search input::placeholder{ color: #111; }
#result .search button{ outline: none; height: 100%; position: absolute; top: 0; right: 0; padding-left: 20px; }

#result .result h4{ margin-bottom: 20px; }
#result .result section:not(:last-of-type){ margin-bottom: 100px; }
#result .result .board_box{ margin-top: 0; }

@media screen and (max-width: 1700px){
	#result .search input{ font-size: 1.8rem; }
}

@media screen and (max-width: 1280px){
	#result .search input{ font-size: 1.7rem; padding: 15px 0; padding-right: 40px; }
	#result .search button img{ width: 20px; }

	#result .result h4{ margin-bottom: 10px; }
}


/* animation */
@keyframes blurSpacing{
	0%{ letter-spacing: var(--spacing); filter: blur(10px); -webkit-filter: blur(10px); opacity: 0; }
	100%{ letter-spacing: 0; filter: blur(0px); -webkit-filter: blur(0px); opacity: 1; }
}

@keyframes textClip{
	0%{ transform: translateY(100%); clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); }
	100%{ transform: translateY(0); clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}


/* 이용약관 */
#policy.service .dlBox{ margin-top: 40px; }


/* 팝업 (공통) */
#popup{ width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); position: fixed; top: 0; left: 0; z-index: 100000; display: none; }
#popup .blank{ width: 100%; height: 100%; }
#popup .inner{ width: 90%; background: #fff; position: absolute; top: 50%; left: 50%; z-index: 20; transform: translate(-50%, -50%); }
#popup .inner .close{ width: 25px; height: 25px; position: absolute; top: 30px; right: 30px; }
#popup .inner .close::before, #popup .inner .close::after{ content: ""; display: inline-block; width: 100%; height: 1px; background: #111; position: absolute; top: 50%; left: 50%; }
#popup .inner .close::before{ transform: translate(-50%, -50%) rotate(45deg); }
#popup .inner .close::after{ transform: translate(-50%, -50%) rotate(-45deg); }

@media screen and (max-width: 1280px){
	#popup .inner .close{ top: 20px; right: 20px; }
}


/* 팝업 (로그인 전 예매) */
#popup.reserve .inner{ max-width: 800px; padding: 100px 30px; text-align: center; }
#popup.reserve h5{ margin-bottom: 20px; }
#popup.reserve p{ font-size: 1.7rem; font-weight: 300; color: #111; line-height: 1.5; margin-bottom: 50px; }
#popup.reserve .round-btn{ max-width: 320px; width: 100%; margin: 0 auto; }

@media screen and (max-width: 1700px){
	#popup.reserve h5{ font-size: 3rem; }
}

@media screen and (max-width: 1280px){
	#popup.reserve .inner{ max-width: 700px; padding: 80px 30px; }
	#popup.reserve h5{ font-size: 2.6rem; }
	#popup.reserve p{ font-size: 1.6rem; margin-bottom: 30px; }
	#popup.reserve .round-btn{ max-width: 250px; height: 50px; }
}

@media screen and (max-width: 900px){
	#popup.reserve h5{ font-size: 2.4rem; margin-bottom: 10px; }
}