@charset "UTF-8";
/* CSS Document */

/*메인공통*/
.headline {
	margin-bottom: 3rem;
}
.headline h2 {
	font-family: "S-CoreDream";
	font-size: 6rem;
	line-height: 1.3em;
	color: #000;
	text-transform: capitalize;
}
.headline h2 span {
	color: #767676;
	font-size: 2rem;
	font-weight: 400;
	display: block;
	margin-bottom: 10px;
}
.headline .keyword {
	font-family: "S-CoreDream";
	color: #0093ff;
	font-weight: 500;
	font-size: 2rem;
	text-transform: uppercase;
	margin-bottom: 1.5rem;
}
.headline .btn_more {
	margin-top: 2em;
	display: inline-block;
}

/*login*/
.container:has(.member_container) .sub_title {
	padding: 4em 0 5em;
}
.container:has(.member_container) .sub_title h2 {
	font-size: 3em;
	text-align: center;
	margin-top: 40px;
}

.member_container {
	width: 100%;
	position: relative;
}
.member_container .content {
	display: flex;
	justify-content: center;
}
.member_container .content .title {
	font-size: 4rem;
	font-family: "S-CoreDream";
	font-weight: 900;
	text-align: center;
	margin-bottom: 1.6em;
	display: block;
}
.member_container .content .caption_txt {
	margin: 2rem 0 3rem;
	display: flex;
	justify-content: space-between;
}
.member_container .content .btn_l {
	height: 50px !important;
	min-width: 140px;
	font-size: 1.7rem;
	box-shadow:
		rgba(255, 255, 255, 0.1) 0px 0 0 0px inset,
		rgba(50, 50, 93, 0.25) 0px 0 0 0,
		rgba(0, 0, 0, 0.3) 0px 0 0 0;
}
.member_container .content .btn_l:hover {
	box-shadow:
		rgba(255, 255, 255, 0.1) 0px 1px 1px 0px inset,
		rgba(50, 50, 93, 0.25) 0px 25px 50px -10px,
		rgba(0, 0, 0, 0.3) 0px 15px 30px -15px;
}
.member_container .content .btn_text {
	font-weight: 600;
	color: #666;
}

.btn_wrap {
	margin-top: 3rem;
	display: flex;
	gap: 5px;
	justify-content: center;
}

.member_container .login {
	width: 400px;
}
.member_container .find {
	width: 500px;
}
.member_container .signin {
	width: 800px;
}
.member_container .sub_header {
	padding: 3rem 0 0;
}

.find .tab_wrap .tabs {
	border-bottom: none;
	height: 54px;
}
.find .tab_wrap .tabs li {
	width: 50%;
	height: 55px;
}
.find .tab_wrap .tabs li:last-child {
	width: calc(50% + 1px);
}
.find .tab_wrap .tabs li a {
	width: 100%;
}
.find .tab_content {
	border: 1px solid #ccc;
	padding: 40px;
	border-radius: 0 0 30px 30px;
}
.find .tab_content .btn_wrap {
	margin-top: 3rem;
}
.tab_wrap .tabs li:first-child a {
	border-radius: 24px 0px 0 0;
}
.tab_wrap .tabs li:last-child a {
	border-radius: 0px 24px 0 0;
}

/*login*/

.login_wrap {
	width: 100%;
	height: 100dvh;
	background: url(/images/user/bg_sub1.jpg) 50% 50% / cover no-repeat;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	overflow: hidden;
}
.login_wrap::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.4);
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.95) 50%);
	z-index: 0;
}
.login_wrap .bg_video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.login_wrap h1 {
	position: absolute;
	top: 5rem;
	left: 5rem;
	z-index: 1;
}
.login_wrap h1 img {
	height: 30px;
}
.login {
	width: 50%;
	height: 100%;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center; /* -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); */
}
.login h2 {
	font-family: Poppins;
	font-size: 5rem;
	line-height: 1em;
	text-align: center;
	text-transform: uppercase;
	font-weight: 800;
	margin-bottom: 4rem;
	color: #fff;
}
.login_form {
	width: 400px;
}
.login_form .btn_l {
	height: 55px;
	font-size: 1.6rem;
	text-transform: uppercase;
}
.login_form dl {
	display: flex;
	flex-direction: column;
	margin-bottom: 2rem;
}
.login_form dl dt {
	margin-bottom: 10px;
	text-transform: capitalize;
	font-size: 1.3rem;
	color: #fff;
}
.login_form dl dd {
	margin-bottom: 20px;
}
.login_form dl dd:last-child {
	margin-bottom: 0;
}
.login_form .login_input {
	width: 100%;
	display: flex;
	font-size: 1.8rem;
	align-items: center;
	justify-content: space-between;
	background: #fff;
	height: 55px;
	border-radius: 10px;
	transition: all 0.2s;
}
.login_form .login_input:hover {
	box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.4);
}
.login_form .login_input::before {
	display: flex;
	width: 55px;
	height: 55px;
	font-size: 1.7rem;
	align-items: center;
	justify-content: center;
}
.login_form .login_input span {
	width: 55px;
	text-align: center;
	color: #333;
	opacity: 0.5;
	transition: all 0.2s;
}
.login_form .login_input.icon-password::before {
	font-size: 2.2rem;
}
.login_form .login_input:hover span {
	opacity: 1;
}
.login_form .login_input .inputText {
	border: none;
	background: none;
	height: 100%;
	border-radius: 0 10px 10px 0;
	width: calc(100% - 55px);
	font-weight: 700;
}
.login_form .login_input .inputText:hover {
	box-shadow: none;
}
.login .button_area {
	gap: 45px;
}
.login .textinfo {
	font-size: 1.3rem;
	line-height: 2.6rem;
	color: #767676;
	margin-top: 3rem;
}
.login input[type="checkbox"] + label::before {
	background: #000;
	color: #999;
	border: 1px solid #fff;
	margin-right: 5px;
}
.login input[type="checkbox"]:checked + label::before {
	background: #fff;
	color: #000;
	border: 1px solid #fff;
}

.login_wrap .marquee_wrap {
	width: 100%;
	height: 170px;
	position: absolute;
	bottom: -35px;
	left: 0;
	z-index: 0;
	overflow: hidden;
	z-index: 0;
}
.login_wrap .marquee_wrap .marquee_content {
	display: flex;
	white-space: nowrap;
}
.login_wrap .marquee_wrap .marquee_content span {
	font-size: 14rem;
	font-family: Poppins;
	font-weight: 900;
	margin: 0 2rem;
	white-space: nowrap;
	transition: all 0.5s;
	background: -webkit-linear-gradient(#f3f3f3, #fdfdfd);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.login_wrap .marquee_wrap .marquee {
	position: absolute;
	bottom: 0;
	line-height: 170px;
	display: flex;
	align-items: center;
	width: fit-content;
	animation: marquee 30s linear infinite;
}

@keyframes marquee {
	0% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(-50%);
	}
}

/*signin*/
.agree_wrap {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.agree_wrap .textArea {
	width: 100%;
	height: 150px;
	line-height: 2em;
	background: none !important;
	border: none !important;
	border-bottom: 1px solid #dae4ef !important;
	border-radius: 0;
}
.agree_wrap .text {
	border-bottom: 1px solid #dae4ef;
	padding-bottom: 25px;
}
.agree_wrap .agree_form {
	width: 100%;
	background: var(--lp);
	padding: 25px;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.agree_wrap .agree_form .checkbox .check label {
	font-size: 1.6rem;
}
.agree_wrap .agree_form .state {
	width: auto;
	padding: 5px 10px;
	font-size: 1.2rem;
}
.modal_content .agree_wrap .agree_form {
	gap: 10px;
}
.modal_content .agree_wrap .agree_form .checkbox {
	margin-top: 10px;
}

.signin_step {
	margin: 0 0 5rem;
	position: relative;
	display: flex;
	justify-content: center;
}
.signin_step ul {
	display: flex;
}
.signin_step ul li {
	padding: 0 30px;
	font-size: 13px;
	line-height: 1.5em;
	display: inline-flex;
	flex-direction: column;
	text-align: center;
	align-items: center;
	position: relative;
}
.signin_step ul li::after {
	content: "";
	width: 100%;
	height: 3px;
	background: #eee;
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
}
.signin_step ul li:first-child::after {
	width: 50%;
	left: auto;
	right: 0;
}
.signin_step ul li:last-child::after {
	width: 55%;
}
.signin_step ul li span {
	font-weight: 900;
}
.signin_step ul li .dot {
	width: 15px;
	height: 15px;
	background: #ddd;
	border-radius: 20px;
	display: inline-block;
	margin-bottom: 15px;
	position: relative;
	z-index: 1;
}
.signin_step ul li.active .dot {
	background: rgb(143 42 255);
	border: 1px solid #0c1a85;
	background: linear-gradient(145deg, rgb(0 88 255) 0%, rgb(143 42 255) 100%);
}
.signin_step ul li.active .dot::after {
	content: "";
	display: block;
	position: absolute;
	top: 47%;
	left: 50%;
	opacity: 0;
	transform: translate(-50%, -50%) scale(1);
	width: 20px;
	height: 20px;
	border: 4px solid var(--main);
	border-radius: 50px;
	animation: btn_close 1s both infinite cubic-bezier(0.22, 0.61, 0.36, 1);
}
.signin_step ul li.active span {
	color: var(--main);
}

@media all and (max-width: 600px) {
	.button_area .btn_both.auto .btn_l {
		font-size: 12px;
		height: 32px;
		padding: 0 15px;
	}
}

.visitors_infographic {
	& h4 {
		margin-bottom: 5rem !important;
	}
	& ul {
		display: flex;
	}
	& li {
		width: 20%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	& li dt {
		font-size: 1.8rem;
		line-height: 1.2;
		font-weight: 400;
		margin: 3rem 0 1rem;
		opacity: 0.6;
	}
	& li dd {
		font-size: 6rem;
		line-height: 1.2;
		font-weight: bold;
		font-family: Poppins;
		color: #0e1e6d;
	}
	& img {
		height: 100px;
	}
	& .gender ul {
		justify-content: center;
		gap: 10rem;
	}
	& .gender li {
		flex-direction: row;
		justify-content: center;
		gap: 5rem;
	}
	& .gender dt {
		margin: 0 0 1rem;
	}
	& .field ul {
		flex-wrap: wrap;
		gap: 8rem 0;
	}
	& .field img {
		height: 60px;
	}
	& .field li {
		width: calc(100% / 3);
	}
}

/**************************************************************************************************************************************/
/****************************************************  main page  ***********************************************************************/

.main_content {
	scroll-behavior: smooth;
}

.main_headline {
	padding: 7rem;
	width: 100%;
	overflow: hidden;
}
.main_headline_content {
	width: 100%;
	& .title {
		display: flex;
		gap: 50px;
	}
	& .title h3 {
		font-size: 3.2rem;
	}
	& .title > span {
		flex: 1;
		display: flex;
		height: 2px;
		background: #000;
	}

	& ul {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 10rem;
		margin-top: 5rem;
	}
	& ul li {
		position: relative;
		min-width: 0;
	}
	& ul li + li::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: -5rem;
		width: 1px;
		background: #ededed;
	}
	& ul li a {
		display: flex;
		flex-direction: column;
	}
	& ul li a .img {
		display: flex;
		flex-direction: column;
	}
	& ul li a .img::after {
		content: "";
		width: 60px;
		height: 3px;
		background: #000;
		margin: 3rem 0;
		display: block;
	}
	& ul li a .img img {
		width: 60px;
		height: 60px;
		object-fit: contain;
	}
	& ul li a .text {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}
	& ul li a .text strong {
		font-size: 2.6rem;
		line-height: 1.2;
		font-weight: 800;
	}
	& ul li a .text p {
		font-size: 1.6rem;
		font-weight: 600;
	}

	& .news_box {
		width: 100%;
		display: block;
	}
	& .main_slide_wrap {
		min-width: 0;
		margin-top: 6rem;
	}
	& .main_slide {
		width: 100%;
		padding-bottom: 4rem;
	}
	& .main_slide .swiper-slide {
		height: auto;
		display: flex;
		flex-direction: column;
	}
	& .main_slide .swiper-slide a {
		flex: 1;
		display: flex;
		flex-direction: column;
		border: 1px solid #666;
		transition: all 0.3s;
	}
	& .main_slide .swiper-slide a:hover {
		border: 1px solid #000;
	}
	& .main_slide .swiper-slide a .thumbnail {
		flex: none;
		border-radius: 0;
	}
	& .main_slide .swiper-slide a .thumbnail:hover {
		box-shadow: none;
	}
	& .main_slide .swiper-slide .text {
		flex: 1;
		width: 100%;
		padding: 3rem;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		gap: 1rem;
		position: relative;
		z-index: 3;
	}
	& .main_slide .swiper-slide .category {
		font-size: 1.4rem;
		font-weight: 600;
		color: #fff;
		padding:6px 11px;
		background: #0d6997;
		background: linear-gradient(323deg, rgb(18 109 177) 0%, rgb(21 48 189) 100%);
		position:absolute; top:0; left:0; z-index:2;
	}
	& .main_slide .swiper-slide strong {
		font-size: 2.4rem;
		font-weight: 800;
		line-height: 1.3em;
		display: block;
	}
	& .main_slide .swiper-slide p {
		font-size: 1.6rem;
		line-height: 1.6em;
		font-weight: 400;
	}
	& .main_slide .swiper-slide .ctgry { color: #082591; }
	& .main_slide .swiper-slide .date {
		color: #999;
		font-size: 1.4rem;
	}
	& .main_slide .swiper-slide .slide_header {
		display: flex;
		align-items: center;
	}
	& .main_slide .swiper-slide .slide_header .ctgry {
		display: inline-flex;
		align-items: center;
		color: #666;
	}
	& .main_slide .swiper-slide .slide_header .ctgry::before {
		content: "";
		width: 4px;
		height: 4px;
		background: #ccc;
		margin: 0 10px;
		border-radius: 0;
		display: block;
	}
	& .main_slide .swiper-slide .slide_footer {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: auto;
	}
	& .main_slide .swiper-slide .slide_footer p {
		color: #999;
		font-size: 1.4rem;
	}
	/* 글 카테고리(메뉴명 다음 줄) : 게시글 상세의 카테고리 박스(board.css .board_view .bbs_category p)와 같은 모양 */

	& .main_slide_contr {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 1rem;
	}
	& .main_slide_contr .btn_slide {
		background: #fff;
		color: #000;
		border: 1px solid #000;
	}
	& .main_slide_contr .btn_slide:hover {
		background: #fff;
		box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.1);
	}
	& .main_slide_contr .paging {
		color: #999;
		font-size: 1.5rem;
		display: inline-flex;
		gap: 5px;
		align-items: baseline;
		margin-right: 10px;
	}
	& .swiper-pagination-current {
		color: #000;
		font-weight: 800;
	}
	& .main_slide_contr:has(.swiper-button-lock) {
		display: none;
	}
	& .slide_contr .paging {
		width: auto;
	}

	/* Upcoming 비었을 때 : 슬라이드가 하나도 없으면 슬라이드·버튼 줄을 숨기고 안내(.upcoming_empty, index.jsp)를 보인다.
	   안내는 카드와 같은 옅은 테두리 상자, 글자는 사이트 '내용 없음' 안내와 같은 회색 */
	& .upcoming_empty {
		display: none;
	}
	& .news_box:not(:has(.main_slide .swiper-slide)) .main_slide_wrap {
		display: none;
	}
	& .news_box:not(:has(.main_slide .swiper-slide)) .upcoming_empty {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 6rem;
		padding: 7rem 2rem;
		background: #f9f9f9;
		font-size: 1.6rem;
		font-weight: 500;
		color: #767676;
		text-align: center;
	}
}

/*mypage*/
.btn_more {
	padding: 0 20px;
	width: 115px;
	display: flex;
	justify-content: space-between;
	height: 40px;
	border-radius: 50px;
	color: #000;
	border: 1px solid #000;
	background: rgba(255, 255, 255, 0.6);
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
}
.btn_more:hover {
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 0px 5px rgba(0, 0, 0, 0.1);
}
.btn_more .tooltip.top {
	top: auto;
	bottom: 130%;
}

.maincontent {
	display: block;
	background: var(--lp);
}

.slide_link {
	display: flex;
	gap: 3rem;
	padding: 0 7rem 7rem;
}
.slide_link .box {
	width: calc(100% / 3 - 6rem / 3);
	height: 260px;
	position: relative;
	padding: 4rem 4rem 5rem;
	border-radius: 2rem 0 2rem 2rem;
	background: url(/images/user/box_shape.svg) 100% 0% / cover no-repeat;
}
.slide_link .box.box_link {
	padding: 0;
	display: flex;
}
.slide_link .box.box_link a {
	display: flex;
	width: 100%;
	height: 100%;
	padding: 4rem 4rem 5rem;
	border-radius: 2rem;
}
.slide_link .box strong {
	font-family: Playfair;
	font-size: 3rem;
	display: block;
	margin-bottom: 2rem;
}
.slide_link .box p {
	font-size: 1.6rem;
	line-height: 1.5em;
}
.slide_link .box .text {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.slide_link .box .deco {
	border-radius: 50px;
	width: 50px;
	height: 50px;
	font-size: 2rem;
	background: #fff;
	border: none;
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.slide_link .box.box_link:hover .deco,
.slide_link .box .deco:hover,
.slide_link .box .deco:focus {
	transform: scale(1.1);
	background: var(--main);
	color: #fff;
	border-color: var(--main);
}
.slide_link .btn_wrap {
	display: flex;
	gap: 5px;
	justify-content: flex-start;
}
.slide_link .box .text:has(.btn_wrap) {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
/* .slide_link .box::before { content:''; width:100%; height:100%; border-radius:2rem; position:absolute; top:0; left:0; background:rgba(255,255,255,1); mask-image: url('/images/user/box_shape.svg'); mask-repeat: no-repeat; mask-position: top left; mask-size: 100% 100%; -webkit-mask-image: url('/images/user/box_shape.svg'); -webkit-mask-repeat: no-repeat; -webkit-mask-position: top left; -webkit-mask-size: 100% 100%; }*/
.slide_link .box::after {
	transition: all 0.3s;
	pointer-events: none;
	aspect-ratio: 1.3 / 1;
	height: 197px;
	content: "";
	display: block;
	position: absolute;
	right: 1px;
	bottom: 1px;
	opacity: 0.5;
	border-radius: 50rem;
	box-shadow: inset 0 0 30px 35px rgba(255, 255, 255, 1);
}
.slide_link .box:hover::after {
	opacity: 0.8;
}
.slide_link .box::before {
	transition: all 0.3s;
	pointer-events: none;
	aspect-ratio: 1.3 / 1;
	height: 199px;
	content: "";
	display: block;
	box-sizing: border-box;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	opacity: 1;
	border-radius: 50rem;
	border: 10px solid #fff;
}
.slide_link .box:nth-child(1)::after {
	background: url(/images/user/bg_link_01.jpg) 50% 50% / cover no-repeat;
}
.slide_link .box:nth-child(2)::after {
	background: url(/images/user/bg_link_02.jpg) 50% 50% / cover no-repeat;
}
.slide_link .box:nth-child(3)::after {
	background: url(/images/user/bg_link_03.jpg) 50% 50% / cover no-repeat;
}

/* .slide_link .box:hover::after { opacity:0.8; box-shadow:inset 0 0 30px 35px rgba(255, 255, 255, 1); }*/

.section h3 {
	font-size: 2.8rem;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.2em;
}

.news_list_wrap {
	padding: 5rem 0 10rem;
}
.news_list_wrap .inner {
	display: flex;
	gap: 10rem;
}
.news_box {
	width: calc(100% / 2 - 10rem / 2);
	display: flex;
}
.news_box .title {
	width: 300px;
}
.news_box .title h3 {
	margin-bottom: 2rem;
}
.news_box .news_list {
	width: calc(100% - 300px);
	border-top: 2px solid #333;
}
.news_box .news_list li {
	border-bottom: 1px solid #ededed;
}
.news_box .news_list li.nothing {
	padding: 4rem 0;
	font-size: 1.6rem;
	font-weight: 500;
	color: #767676;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
.news_box .news_list li.nothing i {
	font-size: 5rem;
}
.news_box .news_list li a {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	font-size: 1.8rem;
	padding: 2rem 0;
}
.news_box .news_list li a .title {
	width: calc(100% - 115px);
}
.news_box .news_list li a .title span {
	font-size: 1.2rem;
	padding: 3px 6px;
	background: #e9e9e9;
	border-radius: 5px;
}
.news_box .news_list li a .title strong {
	font-size: 2rem;
	line-height: 3rem;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-top: 13px;
	font-weight: 700;
}
.news_box .news_list li a .title strong:hover {
	color: var(--main);
}
.news_box .news_list li a p {
	color: #767676;
	font-weight: 400;
	font-size: 1.5rem;
}
.news_networkstories .news_list li a .title span {
	color: #0035d1;
	background: #e0f2ff;
}
.support_wrap {
	background: #f4f4f4;
	padding: 10rem 0;
	overflow: hidden;
	position: relative;
}
.support_wrap::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 95%;
	background: url(/images/user/logo_lg.svg) 50% 50% / contain no-repeat;
	pointer-events: none;
}
.support_wrap .inner {
	display: flex;
	position: relative;
	z-index: 1;
}
.support_wrap .title {
	width: 300px;
}
.support_wrap .support_list {
	width: calc(100% - 300px);
}
.support_wrap .support_list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.support_wrap .support_list ul li {
	width: calc(100% / 5 - 8rem / 5);
}
.support_wrap .support_list ul li a {
	width: 100%;
	height: 80px;
	padding: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 8px;
	border: 1px solid #fff;
	transition: all 0.3s;
}
.support_wrap .support_list ul li a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: all 0.3s;
}
.support_wrap .support_list ul li a:hover {
	border: 1px solid #666;
	box-shadow: 0 0 0px 5px rgba(0, 0, 0, 0.1);
}
.support_wrap .support_list ul li a:hover img {
	filter: grayscale(0);
}

.autoplay-progress {
	position: relative;
	z-index: 10;
	width: 40px;
	height: 40px;
	background: rgba(144, 144, 144, 0.12);
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	color: var(--main);
}
.autoplay-progress svg {
	--progress: 0;
	position: absolute;
	left: 0;
	top: 0px;
	z-index: 10;
	width: 100%;
	height: 100%;
	stroke-width: 4px;
	stroke: var(--main);
	fill: none;
	stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
	stroke-dasharray: 125.6;
	transform: rotate(-90deg);
}

.swiper_control {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1rem;
}
.swiper_control button {
	z-index: 2;
}
.swiper_control button:disabled {
	box-shadow: none;
	cursor: pointer;
}
.swiper_control .btn_prev {
	left: -15px;
}
.swiper_control .btn_next {
	right: -15px;
}
.swiper_control .paging {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 1.2rem;
	width: auto;
	height: 40px;
	padding: 0 20px;
	justify-content: center;
	border-radius: 50px;
	background: rgba(144, 144, 144, 0.12);
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	transform: none;
}
.swiper_control .paging a {
	opacity: 1;
	background: #ccc;
	border-radius: 50px;
	transition: all 0.5s;
}
.swiper_control .paging .swiper-pagination-bullet-active {
	background: var(--main);
}
.swiper_control .paging .swiper-pagination-current {
	font-weight: 700;
	font-size: 1.5rem;
}
.swiper_control .bottom {
	display: inline-flex;
	gap: 5px;
	justify-content: center;
}

.pswd_wrap {
	width: 500px;
	margin: 0 auto;
	padding: 5rem 0 3rem;
}
.pswd_wrap h1 img {
	height: 4rem;
}
.pswdguide {
	font-size: 1.4rem;
	line-height: 3rem;
	margin: 2rem 0;
}
.pswdguide strong {
	font-size: 2.6rem;
	line-height: 4rem;
	margin-bottom: 1rem;
	display: block;
}
.pswd_wrap .content_box .board_write .col {
	border-bottom: 1px solid #d8e0e7;
}

/*calendar*/
.cal_wrap {
	position: relative;
	display: grid;
	grid-template-columns: 150px calc(100% - 150px);
	align-items: start;
}
.cal_wrap::after {
	content: "";
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 172px;
	background: #ededed;
}
.cal_wrap .display_option {
	position: sticky;
	top: 4rem;
}
.cal_wrap .display_option_list {
	position: static;
	width: 150px;
	right: auto;
	display: block;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	border: none;
}
.cal_wrap .display_option_list .checkbox .check {
	width: 100%;
}
.cal_wrap .display_option_list .checkbox .check label {
	width: 100%;
	background: #f4f4f4;
	padding: 8px;
	border-radius: 8px;
}
.cal_wrap .display_option_list .checkbox .check input[type="checkbox"] + label::before,
.cal_wrap .display_option_list .checkbox .check input[type="radio"] + label::before {
	background: none;
	border: none;
}
.cal_wrap .display_option_list .checkbox .check input[type="checkbox"]:checked + label,
.cal_wrap .display_option_list .checkbox .check input[type="radio"]:checked + label {
	background: var(--main);
	color: #fff;
}
.cal_wrap .display_option_list .checkbox .check input[type="checkbox"]:checked + label::before,
.cal_wrap .display_option_list .checkbox .check input[type="radio"]:checked + label::before {
	color: #fff;
}
.cal_wrap .display_option > button {
	display: none;
}
.cal_wrap .search_box:has(.cal_contr) {
	padding: 1rem;
}

.cal_wrap .cal_contr {
	display: flex;
	gap: 5px;
	align-items: center;
	justify-content: center;
	background: var(--lg);
	border-radius: 15px;
	padding: 15px;
}
.cal_wrap .contr_date {
	display: flex;
	gap: 5px;
	align-items: center;
}
.cal_wrap .contr_date:hover {
	box-shadow: none;
}
.cal_wrap .contr_date button {
	width: 36px;
	height: 36px;
	font-size: 1.5rem;
	border-radius: 9px;
}
.cal_wrap .contr_date p {
	font-size: 2.6rem;
	font-weight: 900;
	margin: 0 2rem;
}

.cal_wrap .calendar {
	padding-left: 5rem;
}
.cal_wrap .calendar_days {
	border-top: 1px solid #ededed;
	margin-top: 2rem;
}
.cal_wrap .calendar_days > .day {
	min-height: 115px;
	padding: 0.5rem 1.5rem 1.5rem;
	border-bottom: 1px solid #ededed;
	border-right: 1px solid #ededed;
}
.cal_wrap .calendar_days > .day.saturday {
	border-right: none;
}
.cal_wrap .calendar_days > .day:nth-child(-n + 7) {
	padding: 10px 10px;
	min-height: 0;
}
.cal_wrap .calendar_days .date {
	padding: 5px 10px;
}
.cal_wrap .calendar_days .event_data {
	width: 100%;
	margin-top: 0;
	position: relative;
	padding: 0;
}
.cal_wrap .calendar_days .event_data_list {
	display: block;
}
.cal_wrap .calendar_days .event_data_list .event_btn {
	font-size: 1.1rem;
	margin-bottom: 3px;
	position: relative;
	z-index: 1;
	padding: 5px 7px;
	max-width: 100%;
	border-radius: 20px;
	display: block;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.cal_wrap .calendar_days .event_data.active .event_btn:nth-child(n + 5) {
	display: none;
}

.cal_wrap .calendar_days .event_data .event_data_more {
	width: 100%;
	display: none;
	color: #000;
	font-weight: 600;
	font-size: 1.3rem;
	padding: 6px 10px;
	border-radius: 50px;
	position: relative;
	z-index: 1;
}
/*.cal_wrap .calendar_days .event_data.active { max-height:115px; overflow:hidden; }*/
.cal_wrap .calendar_days > .day .event_add_btn {
	width: 100%;
	height: 100%;
	border-radius: 0;
	border: 2px solid transparent;
	background: none;
	position: absolute;
	top: 0;
	left: 0;
}
.cal_wrap .calendar_days > .day .event_add_btn:hover {
	border: 2px solid var(--main);
}
.cal_wrap .calendar_days .mon_date,
.cal_wrap .calendar_days .mon_date:hover {
	background: #f9f9f9;
}
.cal_wrap .calendar_days .mon_date .event_add_btn {
	cursor: pointer;
}

.cal_wrap .calendar_days .mon_date .event_data.active::after {
	background: linear-gradient(180deg, rgb(249 249 249 / 0%) 0%, #f9f9f9 40%);
}

.cal_wrap .calendar_days .event_data.active .event_data_more {
	display: block;
	z-index: 2;
}
.event_data.active .event_data_more span {
	font-weight: 900;
	margin-left: 3px;
	color: #000;
}

.modal_content .event_data_list {
	display: flex;
	gap: 5px;
	flex-direction: column;
	align-items: flex-start;
}
.modal_content .event_data_list .event_btn {
	padding: 5px 10px;
	font-size: 1.3rem;
	border-radius: 50px;
	font-weight: 600;
}
.modal:has(.event_data_list) .modal_title {
	border-bottom: none;
}
.modal:has(.event_data_list) .modal_content {
	padding: 0 20px 20px;
}

/* 상단 이동 버튼 스타일
.btn-top {
  position: fixed;
  bottom: 6.4rem;
  right: 4rem;
  width: 5.6rem;
  height: 5.6rem;
  border: 0.1rem solid #cdd1d5;
  border-radius: 0.8rem;
  font-size: 20px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  z-index: 9999;
  padding-top: 0.7rem;
}

.btn-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
 */
