﻿@charset "utf-8";


/* 시스템이용 안내문구 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/* 페이지 준비중 */
.ready_page * {line-height:1.4; word-break:keep-all;}
.ready_page {width:100%; min-height:70rem; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:40px; text-align:center; margin:0 auto; overflow:hidden;}
.ready_page span {width:120px; height:120px; display:flex; justify-content:center; align-items:center; text-align:center; border-radius:50%; background:linear-gradient(to bottom, #3a7ecd, #6da4e3); box-shadow:0 0 10px rgba(0,0,0,0.1);}
.ready_page span img {height:60px; padding:5px 0 0 5px;}
.ready_page h3 {font-size:48px; color:var(--black);}
.ready_page p {font-size:18px;}
.ready_page p ~ p {margin-top:5px;}

@media screen and (max-width: 1200px){
}
@media screen and (max-width: 1025px){
	#userSub .ready_page span {width:100px; height:100px;}
	#userSub .ready_page span img {height:50px;}
	#userSub .ready_page h3 {font-size:36px;}
	#userSub .ready_page p {font-size:16px;}
}
@media screen and (max-width: 769px){
}
@media screen and (max-width: 481px){
}

/* 로딩화면 */
.loader {position:fixed; top:0; left:0; z-index:9999; width:100%; height:100%; background:var(--white);}
.loader .load_area {width:100%; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%);}
.loader .load_area > *:not(.load_animation) {letter-spacing:-0.03em; padding:0 30px; text-align:center; word-break:keep-all;}
.loader .load_area h3 {font-size:20px; font-weight:bold; color:var(--fontcolor1);}
.loader .load_area p {font-size:15px; color:var(--fontcolor3); margin-top:12px;}
.loader .load_area .load_animation {position:relative; width:60px; height:60px; margin:0 auto 30px auto;}
.loading {
	--b: 10px; width:60px; margin:0 auto; aspect-ratio:1; border-radius:50%; padding:1px; background:conic-gradient(#0000 10%,#f13e3e) content-box;
	-webkit-mask: repeating-conic-gradient(#0000 0deg,#000 1deg 20deg,#0000 21deg 36deg), radial-gradient(farthest-side,#0000 calc(100% - var(--b) - 1px),#000 calc(100% - var(--b)));
	-webkit-mask-composite: destination-in; mask-composite: intersect; animation:spin 1.2s infinite steps(10);
}
@keyframes spin {
	to{transform:rotate(1turn);}
}

/* 숫자 자간 조절 (Pretendard) */
.nums {font-family:var(--fontPre); font-variant-numeric:tabular-nums;}


/* 문구 공통영역 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/* 타이틀 */
.sub_title1 {font-size:18px; font-weight:bold; color:var(--fontcolor1); margin-bottom:20px; word-break:keep-all;}
.sub_title2 {position:relative; font-size:16px; font-weight:bold; color:var(--fontcolor1); margin-bottom:12px; padding:0 0 0 28px; word-break:keep-all;}
.sub_title2::after {content:""; display:block; position:absolute; left:0; top:7px; width:20px; height:12px; background:url('../images/common/icn_title.svg') no-repeat;}
.sub_title3 {position:relative; font-size:16px; font-weight:bold; color:var(--fontcolor1); padding-left:12px; margin-bottom:15px; word-break:keep-all;}
.sub_title3::after {content:""; display:block; position:absolute; left:0; top:0; width:5px; height:5px; border-radius:50%; background:var(--maincolor1);}

/* 안내문구(좌-우) */
.info_sect {display:flex; justify-content:flex-end; align-items:center; gap:20px; margin-bottom:15px;}
.info_sect > * {display:flex; flex-wrap:wrap; align-items:center; gap:5px; font-size:15px; margin-top:0 !important; margin-bottom:0 !important;}
.info_sect .left {margin-right:auto;}
.info_sect .left > * {margin-top:0 !important; margin-bottom:0 !important;}

@media screen and (max-width: 1200px){
}
@media screen and (max-width: 1025px){
	#userSub .info_sect {flex-direction:column;}
	#userSub .info_sect:not(.left) {align-items:flex-end;}
}
@media screen and (max-width: 769px){
}
@media screen and (max-width: 481px){
}

/* 중요-경고 문구 */
.warn {position:relative; font-size:15px; padding:2px 0 2px 20px; margin-bottom:15px; word-break:keep-all;}
.warn::after {content:"\f06a"; display:block; position:absolute; left:0; top:4px; font-family:"FontAwesome"; font-size:13px; color:var(--red);}
.warn span, .warn strong {color:var(--red);}
.warn em {letter-spacing:0.02em; font-weight:bold; color:var(--fontcolor1);}

/* 중요 안내 문구 */
.caution {position:relative; display:inline-block; font-size:14px; letter-spacing:0; margin:0 10px; padding-left:10px; word-break:keep-all;}
.caution::after {content:"*"; position:absolute; left:0; top:0; color:var(--red);}
.caution.long {display:block; margin:10px 0 0 0;}
.caution span, .caution strong {font-weight:500; color:var(--fontcolor1);}

@media screen and (max-width: 1200px){
}
@media screen and (max-width: 1025px){
}
@media screen and (max-width: 769px){
	#userSub .caution {display:block; margin:5px 0 0 0;}
}
@media screen and (max-width: 481px){
}

/* 테이블 설명 문구 */
.form_hint {position:relative; display:block; font-size:13px; letter-spacing:0; color:var(--gray); margin-top:6px; word-break:keep-all;}
.form_hint ~ .form_hint {margin-top:2px;}
.form_hint span, .form_hint strong {font-weight:500; color:var(--fontcolor1);}
.form_hint.short {display:inline-block; margin:0 0 0 8px;}

/* 목록카운트 */
.count {font-size:14px; color:var(--fontcolor3); margin-bottom:15px;}
.count strong {font-family:"Pretendard"; font-size:16px; color:var(--fontcolor1);}

.count_show {display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.count_show label {margin:0; font-size:14px; color:var(--fontcolor3);}

/* 상태변경 */
.change_status {display:flex; align-items:center; gap:5px; padding:5px; border-radius:4px; border:1px solid #eee; background:#f2f3f8;}

/* 내용 리스트 */
.sub_list > li {position:relative; font-size:15px; line-height:1.4; padding:5px 0 5px 20px; word-break:keep-all;}
.sub_list > li::after {content:""; display:block; position:absolute; left:0; top:14px; width:8px; height:1px; background:var(--fontcolor3);}
.sub_list > li > ul {margin-top:10px;}
.sub_list > li > ul > li {position:relative; font-size:15px; padding:6px 0 6px 14px;}
.sub_list > li > ul > li::after {content:""; display:block; position:absolute; left:0; top:14px; width:4px; height:4px; border-radius:50%; background:var(--maincolor1);}

@media screen and (max-width: 1200px){
}
@media screen and (max-width: 1025px){
	#userSub .sub_list * {font-size:14px;}
}
@media screen and (max-width: 769px){
}
@media screen and (max-width: 481px){
}

/* 파일리스트 */
.file_list li {display:flex; align-items:center; gap:6px; font-size:14px; padding:2px 0; word-break:break-all;}
.file_list a {font-size:14px; font-weight:normal; text-align:left; text-decoration:none;}
.file_list a:has(img) img {margin-right:3px;}
.file_list a:hover {color:var(--fontcolor1); text-decoration:none;}
.file_list button {flex:0 0 16px; display:inline-flex; justify-content:center; align-items:center; width:16px; height:16px; color:var(--white); border-radius:3px; background:var(--red);}
.file_list button i {font-size:8px;}
.file_list a.file_closed {flex:0 0 16px; display:inline-flex; justify-content:center; align-items:center; width:16px; height:16px; color:var(--white); border-radius:3px; background:var(--red);}
.file_list a.file_closed i {font-size:8px;}

/* 박스영역 */
.boxarea {font-size:14px; line-height:1.4; padding:15px; margin:20px 0; border-radius:3px; border:1px solid #ddd; background:#f7f8fc;}
.boxarea pre {font-family:var(--fontKor); white-space:pre-wrap;}

.warnbox {font-size:14px; line-height:1.4; padding:12px 15px; margin:20px 0; border-radius:3px; border:1px solid #ddd; background:var(--bgred);}
.warnbox .warn {margin:0;}
.warnbox .warn ~ .warn {margin-top:4px;}

/* 설명박스 */
.explain_box * {word-break:keep-all;}
.explain_box {width:100%; margin-bottom:20px; border-radius:4px; border:1px solid #ccc; background:var(--white); overflow:hidden;}
.explain_box > strong {display:block; font-size:16px; font-weight:bold; color:#74757e; padding:12px 15px; border-radius:4px 4px 0 0; border-bottom:1px solid #ccc;}
.explain_box > div {display:flex; flex-direction:column; gap:10px; font-size:14px; padding:15px 20px; border-radius:0 0 4px 4px; background:#f7f8fc;}
.explain_box > div ul li {position:relative; font-size:14px; line-height:1.2; color:var(--fontcolor1); padding:5px 0 5px 14px;}
.explain_box > div ul li::after {content:""; display:block; position:absolute; left:0; top:10px; width:4px; height:4px; border-radius:50%; background:var(--red); opacity:0.8;}
.explain_box > div ul li span {display:block; color:var(--fontcolor3); margin-top:10px;}
.explain_box > div h3 {font-size:15px; font-weight:bold; color:var(--fontcolor1);}
.explain_box > div ~ div {border-top:1px dashed #ccc;}
.explain_box b {color:var(--fontcolor1);}
.explain_box .go_view {
	display:inline-flex; justify-content:space-between; align-items:center; gap:12px; font-size:13px; color:var(--white); 
	padding:6px 12px; margin:4px; border-radius:50em; background:var(--pointcolor1);
}
.explain_box .go_view i {font-size:14px; opacity:0.5;}


/* tabs ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/* 탭버튼 */
.tab_button * {font-size:14px; word-break:keep-all;}
.tab_button {display:flex; flex-wrap:wrap; margin-bottom:30px; border:1px solid #ccc;}
.tab_button li {flex:auto; border-right:1px solid #ddd; border-bottom:1px solid #ddd;}
.tab_button.divd1 li {width:100%;}
.tab_button.divd2 li {width:calc(100% / 2);}
.tab_button.divd3 li {width:calc(100% / 3);}
.tab_button.divd4 li {width:calc(100% / 4);}
.tab_button.divd5 li {width:calc(100% / 5);}
.tab_button.divd6 li {width:calc(100% / 6);}
.tab_button li button {position:relative; width:100%; height:100%; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; font-weight:500; text-align:center; padding:15px 10px; background:var(--white);}
.tab_button li button:hover {color:var(--white); background:var(--maincolor3);}
.tab_button li button:hover::after {
	content:""; position:absolute; left:50%; bottom:-1px; width:0; height:0; transform:translate(-50%); 
	border-bottom:6px solid var(--white); border-left:6px solid transparent; border-right:6px solid transparent;
}
.tab_button li button.on {color:var(--white); background:var(--maincolor3);}
.tab_button li button.on::after {
	content:""; position:absolute; left:50%; bottom:-1px; width:0; height:0; transform:translate(-50%);
	border-bottom:6px solid var(--white); border-left:6px solid transparent; border-right:6px solid transparent;
}

/* 탭라인형 */
.tab_line {display:flex; margin-bottom:30px; border-bottom:1px solid #ddd; overflow:hidden;}
.tab_line li button {
	font-size:14px; font-weight:500; color:var(--fontcolor2); padding:12px 28px; margin-right:-1px; white-space:nowrap; 
	border:1px solid #ddd; border-bottom:none; background:var(--white); transition:background-color .15s, color .15s;
}
.tab_line li button:hover {color:var(--maincolor3);}
.tab_line li button.active {color:var(--white); background:var(--maincolor3);}

@media screen and (max-width :1200px) {
}
@media screen and (max-width :1025px) {
}
@media screen and (max-width :769px) {
	.tab_line {display:grid; grid-template-columns:repeat(3, 1fr); border:1px solid #ddd;}
	.tab_line li button {width:100%; padding:12px 20px; margin-right:0; border:none; border-bottom:1px solid #ddd; border-right:1px solid #ddd;}
	.tab_line li:nth-child(3n) button {border-right:none;}
	.tab_line li:nth-last-child(1) button, .tab_line li:nth-last-child(2) button {border-bottom:none;}
}
@media screen and (max-width :481px) {
}


/* 공통영역 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/* search */
.search_box {
	display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:15px; padding:15px; margin-bottom:24px;
	border-radius:4px; border:1px solid #ddd; background:var(--white); overflow:hidden;
}
.search_box label {font-size:13px; line-height:1.3; color:var(--fontcolor3); margin:0;}

.search_box input[type="text"]:-webkit-autofill, 
.search_box input[type="text"]:-webkit-autofill:hover, 
.search_box input[type="text"]:-webkit-autofill:focus, 
.search_box input[type="text"]:-webkit-autofill:active {
	transition:background-color 5000s ease-in-out 0.5s;
	-webkit-text-fill-color:#727272 !important;
} /*크롬 input 자동완성 배경색 제거 */

.search_box input[type="text"], .search_box select {min-width:100px;}

.search_box .form_row {flex:1; display:flex; flex-direction:column; gap:10px;}
.search_box .row {display:flex; flex-wrap:wrap; gap:10px;}
.search_box .row .items {display:flex; flex-wrap:wrap; flex-direction:column; gap:5px;}
.search_box .row .items span {display:flex;}

.search_box .row .wide {flex:1;} /* 넓게 */
.search_box .row .wide input[type="text"] {min-width:150px;}

.search_box .row .equal {min-width:200px; display:grid; grid-template-columns:repeat(auto-fit, minmax(20%, 1fr)); gap:10px;} /* 동일간격 */
.search_box .row .equal span {flex-direction:column; gap:5px;}

.search_box .row .words {flex:1;}  /* 상세검색 */
.search_box .row .words span {flex:1; display:grid; grid-template-columns:120px 1fr; gap:5px;}

.search_box .row .dates span {display:grid; grid-template-columns:100px 25px 10px 100px 25px; align-items:center; gap:3px;}  /* 날짜 */
.search_box .row .dates span em {font-size:14px; text-align:center;}
.search_box .row .dates.only span {grid-template-columns:100px 25px;} /* 단일달력일 경우 */

.search_box .submit {display:flex; justify-content:center; align-items:center;}
.search_box .submit button {
	font-family:var(--fontPre); width:100px; height:36px; display:flex; justify-content:center; align-items:center; gap:10px; 
	font-size:14px; line-height:0; letter-spacing:1px; font-weight:500; color:var(--white); text-align:center; border-radius:4px; background:var(--subcolor2);
}
.search_box .submit button i {font-size:10px; margin-top:2px; opacity:0.6;}

.search_box .select_highlight {
	font-weight:bold; color:var(--darkblue); border:1px dashed var(--maincolor3);
	background:url('/static_root/images/common/select_down.svg') right 2px center no-repeat, var(--bgblue); background-size:18px;
} /* 강조 */
.search_box .select_highlight:focus {border-color:transparent;}

/* search */
.search_minimum {display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:2px; overflow:hidden;}
.search_minimum label {width:stretch; font-size:13px; color:var(--fontcolor1); margin:0;}

.search_minimum input[type="text"]:-webkit-autofill, 
.search_minimum input[type="text"]:-webkit-autofill:hover, 
.search_minimum input[type="text"]:-webkit-autofill:focus, 
.search_minimum input[type="text"]:-webkit-autofill:active {
	transition:background-color 5000s ease-in-out 0.5s;
	-webkit-text-fill-color:#727272 !important;
} /*크롬 input 자동완성 배경색 제거 */

.search_minimum input[type="text"], .search_minimum select {min-width:100px;}

.search_minimum .form_row {display:flex; gap:10px;}
.search_minimum .form_row .items {display:flex; align-items:center; gap:10px;}
.search_minimum .form_row .items span {display:flex;}

.search_minimum .submit {display:flex; justify-content:center; align-items:center;}
.search_minimum .submit button {
	font-family:var(--fontPre); width:100px; height:36px; display:flex; justify-content:center; align-items:center; gap:10px; 
	font-size:14px; line-height:0; letter-spacing:1px; font-weight:500; color:var(--white); text-align:center; border-radius:4px; background:var(--subcolor2);
}
.search_minimum .submit button i {font-size:10px; margin-top:2px; opacity:0.6;}

@media screen and (max-width :1200px) {
}
@media screen and (max-width :1025px) {
}
@media screen and (max-width :769px) {
	#userSub .search_box {flex-direction:column; align-items:flex-start;}
	#userSub .search_box > * {width:100%;}
	
	#userSub .search_box .row {flex-direction:column;}
	#userSub .search_box .row .dates span {grid-template-columns:1fr 25px 10px 1fr 25px;}  /* 날짜 */
	
	#userSub .search_box .submit button {width:100%; height:40px;}
	#userSub .search_box .submit button i {display:none;}
}
@media screen and (max-width :481px) {
}

/* 서약 */
.vow * {line-height:1.4; color:var(--fontcolor1); word-break:keep-all;}
.vow {margin-top:30px;}
.vow h1 {font-size:22px; font-weight:bold; text-align:center; margin:30px 0;}
.vow h2 {font-size:20px; font-weight:500; text-align:center; margin:20px 0;}
.vow h3 {font-size:18px; text-align:center; padding:20px;}
.vow p {font-size:16px; text-align:center; padding:20px;}
.vow .user_sign {display:flex; flex-direction:column; gap:8px; padding:0 2px;}
.vow .user_sign div {display:flex; justify-content:flex-end; align-items:center; gap:8px; font-size:18px;}
.vow .user_sign div label {margin:0;}
.vow .user_sign div span {font-style:italic; font-weight:bold; margin-left:5px;}
.vow .jikin_vow {
	user-drag:none; -ms-user-drag:none; -moz-user-drag:none; -webkit-user-drag:none; -o-user-drag:none; /* 드래그 막기 */
	user-select:none; -ms-user-select:none; -moz-user-select:none; -webkit-user-select:none; -o-user-select:none; /* 선택 막기 */
	pointer-events:none; /* 마우스클릭 이벤트 막기-다운로드 등 방지 */
}

@media screen and (max-width: 1200px){
}
@media screen and (max-width: 1025px){
}
@media screen and (max-width: 769px){
	#userSub .vow h1 {font-size:22px;}
	#userSub .vow h2 {font-size:18px;}
	#userSub .vow h3 {font-size:16px;}
	#userSub .vow p {font-size:16px;}
	#userSub .vow p br {display:none;}
	#userSub .vow .user_sign > div {font-size:16px;}
	#userSub .vow .jikin_vow {width:50px;}
}
@media screen and (max-width: 481px){
}

/* 동의서 */
.agree_box * {word-break:keep-all;}
.agree_box {display:flex; flex-direction:column; gap:30px; padding:25px; border-radius:4px; border:1px solid #ccc; background:var(--white);}
.agree_box.nobox {padding:0; border:none;}
.agree_box h3 {display:flex; flex-wrap:wrap; align-items:center; gap:15px; font-size:18px; font-weight:bold; color:var(--fontcolor1);}
.agree_box h3 span {
	width:30px; height:30px; display:flex; justify-content:center; align-items:center; font-family:var(--fontPre); font-size:14px; 
	line-height:0; font-weight:bold; color:var(--white); border-radius:50%; background:var(--subcolor);
}
.agree_box .agree_head {display:flex; flex-direction:column; gap:15px;}
.agree_box .agree_head b, .agree_box .agree_head strong {font-size:15px; color:var(--black);}
.agree_box .agree_head p {font-size:15px;}

.agree_box .warn {margin:0;}
.agree_box .warnbox {gap:0; padding:15px 20px; border-radius:5px; background:var(--bgred);}
.agree_box .warnbox .warn ~ .warn {margin-top:5px;}

.agree_inner_box {padding:20px; margin-top:10px; border-radius:4px; background:#f5f5f5;}
.agree_inner_box dl ~ dl {margin-top:10px;}
.agree_inner_box dl dt {font-weight:normal;}

.agree_section {display:flex; flex-direction:column; gap:15px;} /* 영역별 */
.agree_section_title {display:flex; align-items:center; gap:10px; font-size:16px; font-weight:bold; color:var(--fontcolor1);}
.agree_section_title em {
	width:28px; height:28px; display:flex; justify-content:center; align-items:center; font-family:var(--fontPre); font-size:14px; font-weight:600; 
	color:var(--white); text-align:center; border-radius:50%; background:var(--maincolor1);
}

.agree_cont {display:flex; flex-direction:column; gap:20px; padding:20px; border-radius:4px; border:1px solid #ccc; background:var(--white);} /* 내용부분 */
.agree_cont strong {font-size:15px; font-weight:bold; color:var(--fontcolor1);}
.agree_cont > div {display:flex; flex-direction:column; gap:10px; font-size:15px; color:var(--fontcolor2);}
.agree_cont > div dl {display:flex; flex-direction:column; gap:8px;}
.agree_cont > div dl dt {font-weight:500; color:var(--fontcolor1);}
.agree_cont > div dl dd {display:flex; flex-direction:column; gap:8px; font-size:15px;}
.agree_cont > div ol > li {padding:4px 0; line-height:1.4;}
.agree_cont ul li {padding:2px 0; line-height:1.4;}
.agree_cont > div ol li > ol, .agree_cont ol li > ul {padding:2px 0 2px 15px;}
.agree_cont > div ol li > ol li, .agree_cont ol li > ul li {color:var(--fontcolor2);}
.agree_cont > div ul li {position:relative; padding-left:15px;}
.agree_cont > div ul > li::after {content:""; display:block; position:absolute; left:2px; top:10px; width:4px; height:4px; border-radius:50%; background:var(--maincolor3);}
.agree_cont > div ol > li > ul li::after,
.agree_cont > div ul > li > ul li::after {content:""; display:block; position:absolute; left:2px; top:11px; width:5px; height:1px; background:var(--fontcolor3);}

.agree_check {display:flex; flex-direction:column; gap:10px;}
.agree_check_box {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:15px 20px; font-size:15px; padding:15px; border-radius:4px; background:#f2f3f8;}
.agree_check_box p {color:var(--fontcolor1);}
.agree_check_box span {display:flex; align-items:center; gap:8px 15px;}
.agree_check_box span label {margin:0; cursor:pointer;}

@media screen and (max-width: 1200px){
}
@media screen and (max-width: 1025px){
	#userSub .agree_check_box {flex-direction:column; align-items:flex-start;}
}
@media screen and (max-width: 769px){
	#userSub .agree_box {gap:25px; padding:25px;}
}
@media screen and (max-width: 481px){
	#userSub .agree_check_box span {flex-direction:column; align-items:flex-start;}
}
@media print {
	.agree_box {border-color:transparent}
	.agree_section_title em {background:var(--black);}
	.agree_cont {padding:0; border-radius:0; border-color:transparent;}
	.agree_cont .boxarea {border-color:var(--black); background:var(--white);}
	.agree_check_box {background:#eee;}
}

/* 툴팁 */
.tooltip {position:relative; cursor:pointer;}
.tooltip::after {
	content: attr(data-tooltip); position:absolute; left:50%; bottom:20%; z-index:5; width:250%; transform:translateX(-50%); font-size:12px; color:var(--white); text-align:left;
	padding:6px 8px; border-radius:4px; background:rgba(0, 0, 0, 0.85); opacity:0; pointer-events:none; transition:opacity 0.2s; word-break:keep-all; white-space:pre-line;
}
.tooltip:hover::after {opacity:1;}
.tooltip_popup {
    position:fixed; z-index:9999;
    background:rgba(0, 0, 0, 0.85); color:var(--white); font-size:12px;
    padding:6px 8px; border-radius:4px; white-space:pre-line; word-break:keep-all;
    max-width:300px; pointer-events:none; opacity:0; transition:opacity 0.2s;
}

@media screen and (max-width: 769px) { 
	.tooltip_popup {left:30% !important;}
}

/* 캘린더[달력] */
.canledar_plan {width:100%; display:flex; flex-direction:column; gap:12px; padding:20px; border:1px solid #ccc; background:var(--white);}
.calendar_info {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px;}

.calendar_dates {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px;} /* 년도-월 이동 */
.calendar_dates > div {display:flex; flex-wrap:wrap; align-items:center; gap:0 20px;}
.calendar_dates > div button {font-size:24px; color:rgba(0,0,0,0.3);}
.calendar_dates > div span {display:flex; align-items:center; gap:10px; font-size:16px; color:var(--fontcolor1);}
.calendar_dates > div span:has(span) {gap:20px;}
.calendar_dates > div strong {font-family:var(--fontPre); font-size:30px; font-weight:600;}

.calendar table {width:100%; table-layout:fixed; border:1px solid #ccc;}
.calendar table thead th {font-size:14px; font-weight:500; color:var(--fontcolor1); text-align:center; padding:10px 8px; border-bottom:1px solid #ccc; background:#f7f8fc;}
.calendar table thead th ~ th {border-left:1px solid #ddd;}
.calendar table thead th br {display:none;}
.calendar table tbody th {font-size:14px; font-weight:500; color:var(--fontcolor1); text-align:center; padding:8px; border-right:1px solid #ddd; border-bottom:1px solid #ccc; background:#f7f8fc;}
.calendar table tbody td {height:100px; min-height:auto; vertical-align:top; font-size:14px; padding:8px; border-bottom:1px solid #b6d4f7; background:rgba(28,133,255,0.2);}
.calendar table tbody td ~ td {border-left:1px solid #b6d4f7;}
.calendar table tbody td p {font-family:var(--fontPre); font-size:16px; color:var(--fontcolor1); font-weight:bold; margin-bottom:8px;}

.calendar.schedule table tbody td {height:45px;} /* 스케줄용 */

.calendar .dept_bg {display:flex; justify-content:center; align-items:center; font-size:14px; text-align:center; text-decoration:none; padding:8px 5px; border-radius:3px;} /* 일정색상 */
.calendar .dept_bg ~ .dept_bg {margin-top:8px;}
.calendar .s_colorRed {color:#dd5f5b; background:#fff4f4;}
.calendar .s_colorOrange {color:#e29600; background:#fff6e3;}
.calendar .s_colorGreen {color:#4c9c00; background:#eef7e4;}
.calendar .s_colorBlue {color:#00aadd; background:#ebfaff;}

.calendar .saturday {color:var(--blue);} /* 토요일 */
.calendar .sunday {color:var(--red);} /* 일요일 */

.calendar .date_null {background:#f5f5f5;} /* 이전달-다음달 날짜 */

.color_state {display:flex; flex-wrap:wrap; justify-content:flex-start; gap:15px;} /* 일정색상안내 */
.color_state li {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; font-size:14px; color:var(--fontcolor1);}
.color_state li span {display:inline-flex; flex-wrap:wrap; width:20px; height:20px; border-radius:2px; border:1px solid #ccc;}

.mrColor4 {border-color:#ccc !important; background:url('/static_root/images/common/pattern_bg.png') repeat, var(--bgblue) !important;}
.mrColor5 {border-color:#777e82 !important; background:url('/static_root/images/common/pattern_bg.png') repeat, #7e8993 !important; background-blend-mode:hard-light;}
.mrColor6 {border-color:#b6d4f7 !important; background:rgba(28,133,255,0.2) !important;}
.mrColor7 {border-color:rgba(255,255,255,0.3) !important; background:var(--maincolor1) !important;}

@media screen and (max-width: 1200px){
}
@media screen and (max-width: 1025px){
	#userSub .calendar table colgroup col.time_date {width:80px;}
}
@media screen and (max-width: 769px){
	#userSub .canledar_plan {padding:30px 20px;}
	
	#userSub .calendar_info {flex-direction:column;}
	#userSub .calendar_info h4 {font-size:18px;}
	
	#userSub .calendar_dates {justify-content:center;}
	#userSub .calendar_dates > div button {font-size:18px;}
	#userSub .calendar_dates > div strong {font-size:22px;}
	
	#userSub .calendar table colgroup col.time_date {width:60px;}
	#userSub .calendar table thead th {font-size:14px; padding:12px 5px;}
	#userSub .calendar table thead th br {display:block;}
	#userSub .calendar table tbody th {font-size:14px; padding:12px 5px;}
	
	.color_state li {font-size:14px;}
}
@media screen and (max-width: 481px){
	#userSub .calendar_dates > div {gap:10px;}
	
	#userSub .calendar table colgroup col.time_date {width:40px;}
	#userSub .calendar table thead th {font-size:12px; padding:12px 3px;}
	#userSub .calendar table tbody th {font-size:12px; padding:12px 3px;}
}

/* 설문조사 */
.survey_wrapper { font-size:15px; }
.survey_wrapper * {word-break:keep-all;}
.survey_wrapper {overflow:hidden;}
.survey_wrapper .survey_title {font-size:18px; text-align:center; font-weight:bold; color:var(--white); padding:12px 20px; background:var(--darkblue);}
.survey_wrapper .survey_info {color:#333; padding:10px;}
.survey_wrapper .survey_text {font-size:16px; text-align:left; padding:20px; background:#f7f8fc; word-break: break-word;}
.survey_wrapper .survey_ex {position:relative; font-size:14px; color:#828aa0; padding:0 0 10px 18px; margin-bottom:10px; border-bottom:1px dashed #ddd;}
.survey_wrapper .survey_ex::after {content:"※"; display:inline-block; position:absolute; left:0;}

.survey_wrapper > ul {padding:20px; background:#ecf4fd;}
.survey_wrapper > ul > li {padding:20px; margin-bottom:20px; background:var(--white);}
.survey_wrapper > ul > li:last-child {margin:0;}
.survey_wrapper > ul > li > h4 {font-size:16px; font-weight:bold; color:var(--fontcolor1); margin-bottom:15px;}
.survey_wrapper > ul > li > div.short_answer label {display:inline-block;}
.survey_wrapper > ul > li > div.long_answer label {display:block;}
.survey_wrapper > ul > li > div label {font-size:15px; margin:6px 10px 6px 0; color:var(--fontcolor2);}
.survey_wrapper > ul > li > div label.ect {display:block; width:100%;}
.survey_wrapper > ul > li > div label.ect input[type="text"] {margin:5px;}

@media screen and (max-width: 1200px){
}
@media screen and (max-width: 1025px){
}
@media screen and (max-width: 769px){
	#userSub .survey_wrapper > ul > li > div.short_answer label {display:block;}
}
@media screen and (max-width: 481px){
}

/* 심의결과서 */
.review_result {display:flex; flex-direction:column; gap:15px; padding:20px; border:1px solid #ddd; background:var(--white);}
.review_result h2 {font-size:22px; font-weight:bold; color:var(--black); word-break:keep-all;}
.review_result_list {display:flex; flex-direction:column; gap:15px;}
.review_result_list dl {display:flex; flex-direction:column; gap:10px;}
.review_result_list dl dt {font-size:14px; font-weight:bold; color:var(--black);}
.review_result_list dl dd {font-size:14px;}
