@charset "utf-8";

.cal_Wrap {width:100%; max-width:1180px; margin:0 auto; padding:36px 0 36px;}
.calendar {width:100%; background:#fff;}
.calendar .date {position:relative; display:flex; align-items:center; justify-content:center; min-height:78px; margin-bottom:26px; padding:0 100px 14px; color:#4d4f54; font-size:36px; font-weight:700; line-height:1.2; text-align:center; border-bottom:2px solid #5b9ace; overflow:visible;}
.calendar .date .arrow {position:absolute; top:50%; width:56px; height:56px; margin-top:-34px; border:0; background:none; overflow:visible;}
.calendar .date .prev {left:calc(50% - 252px);}
.calendar .date .next {left:calc(50% + 196px);}
.calendar .date .arrow:before, .calendar .date .arrow:after {content:""; position:absolute; top:50%; left:50%; width:24px; height:7px; margin-left:-12px; background:#1476ad; border-radius:20px;}
.calendar .date .arrow:before {margin-top:-8px;}
.calendar .date .arrow:after {margin-top:5px;}
.calendar .date .prev:before {transform:rotate(-45deg);}
.calendar .date .prev:after {transform:rotate(45deg);}
.calendar .date .next:before {transform:rotate(45deg);}
.calendar .date .next:after {transform:rotate(-45deg);}
.calendar .date .arrow:hover:before, .calendar .date .arrow:hover:after {background:#0d6799;}

.calendar .tbl {width:100%; overflow:hidden; border:2px solid #5b9ace !important; border-top:2px solid #5b9ace !important; border-radius:8px; background:#fff; box-shadow:none;}
.calendar .tbl:before, .calendar .tbl:after {display:none !important; content:none !important;}
.calendar .tbl table {width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; background:#fff; border:0 !important; border-top:0 !important;}
.calendar .tbl tbody, .calendar .tbl tr {border:0 !important; border-top:0 !important;}
.calendar .tbl th {width:14.285%; height:48px; background:#5b9ace; color:#fff; font-size:13px; font-weight:700; line-height:48px; text-align:center; border:0 !important; border-top:0 !important; border-right:1px solid rgba(255,255,255,.35) !important;}
.calendar .tbl th:last-child {border-right:0 !important;}
.calendar .tbl td {position:relative; height:118px; padding:11px 12px 12px; background:#fff; color:#333; font-size:13px; line-height:1.35; text-align:left; vertical-align:top; border:0 !important; border-right:1px solid #d5dce2 !important; border-bottom:1px solid #d5dce2 !important;}
.calendar .tbl tr:last-child td {border-bottom:0 !important;}
.calendar .tbl td:last-child {border-right:0 !important;}
.calendar .tbl td:hover {background:#f8fbfd;}
.calendar .tbl td .day {display:block; width:auto; height:auto; margin:0 0 10px; padding:0; background:none; border:0; color:#777; font-size:14px; font-weight:500; line-height:1.2;}
.calendar .tbl td:first-child .day, .calendar .tbl td .day.holi {color:#d8655c;}
.calendar .tbl td .con {display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:7px; padding-top:2px; word-break:keep-all;}
.calendar .tbl td p {margin:0; padding:0; font-size:13px; font-weight:500; text-align:center; white-space:nowrap;}
.calendar .tbl.edu td p {height:auto; white-space:nowrap; overflow:visible; text-overflow:clip;}
.calendar .tbl.edu td a {display:inline-flex !important; align-items:center; justify-content:center; white-space:nowrap; overflow:visible; text-overflow:clip;}
.calendar .tbl td a {display:inline-flex;}

.holiday {position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;background:rgba(255,0,0,0.2);color:#fff;line-height:115px;font-size:18px;text-align:center;font-weight:bold;letter-spacing:1px}

.status {display:inline-flex !important; align-items:center; justify-content:center; width:124px !important; min-width:124px; height:30px; box-sizing:border-box; padding:0 10px; background:#236f9d; color:#fff !important; border:1px solid #236f9d; border-radius:18px; font-size:13px; font-weight:700; line-height:28px;}
.status:hover {background:#185f8b; border-color:#185f8b; color:#fff !important;}
.status:before {content:"+"; display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; margin-right:4px; border-radius:50%; background:#fff; color:#236f9d; font-size:14px; font-weight:700; line-height:16px;}
.status.end {display:inline-flex !important; align-items:center; justify-content:center; width:124px !important; min-width:124px; height:30px; box-sizing:border-box; padding:0 10px; background:#f4f6f7; color:#7f858a !important; border:1px solid #d8dee2; border-radius:18px; font-size:13px; font-weight:700; line-height:28px;}
.status.end:hover {background:#f4f6f7; border-color:#d8dee2; color:#7f858a !important;}
.status.end:before {content:""; display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#b9c1c6;}
.status.success {background:#236f9d; border-color:#236f9d;}
.status.cancel {background:#9ea8ad; border-color:#9ea8ad;}

.cal_check_box {display:flex; justify-content:center; padding:20px 0 54px;}
.cal_check_btn {display:inline-flex; align-items:center; justify-content:center; min-width:174px; height:50px; box-sizing:border-box; padding:0 34px; background:#f36b2a; color:#fff !important; border:1px solid #e95d1b; border-bottom:4px solid #d74f12; border-radius:30px; font-size:16px; font-weight:700; line-height:46px;}
.cal_check_btn:hover {background:#e95d1b; color:#fff !important;}
.cal_check_btn:before {content:"+"; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; margin-right:9px; border-radius:50%; background:#fff; color:#f36b2a; font-size:18px; font-weight:700; line-height:22px;}

@media all and (max-width: 767px) {
	.cal_Wrap {width:100%; max-width:none; padding:18px 0 52px;}
	.calendar .pc_vw2, .calendar .tbl td.pc_vw2 {display:none;}
	.calendar .date {min-height:62px; margin-bottom:18px; padding:0 54px 10px; font-size:23px;}
	.calendar .date .arrow {width:34px; height:34px; margin-top:-21px;}
	.calendar .date .prev {left:0;}
	.calendar .date .next {left:auto; right:0;}
	.calendar .date .arrow:before, .calendar .date .arrow:after {width:13px; height:4px; margin-left:-6px;}
	.calendar .date .arrow:before {margin-top:-5px;}
	.calendar .date .arrow:after {margin-top:3px;}
	.calendar .tbl {border-radius:6px;}
	.calendar .tbl th, .calendar .tbl td {display:inline-block; width:100%; border-right:0;}
	.calendar .tbl td {height:auto; min-height:96px; padding:12px 14px;}
	.calendar .tbl td .day {font-size:12px; margin-bottom:8px;}
	.calendar .tbl td .con {align-items:flex-start; gap:6px;}
	.status {width:120px !important; min-width:120px; height:29px; padding:0 9px; font-size:12px; line-height:27px;}
	.status.end {width:120px !important; min-width:120px; height:29px; padding:0 9px; font-size:12px; line-height:27px;}
	.status:before {width:15px; height:15px; font-size:13px; line-height:15px;}
	.cal_check_box {padding:38px 0 8px;}
	.cal_check_btn {min-width:156px; height:48px; padding:0 28px; font-size:15px; line-height:44px;}
	.cal_check_btn:before {width:20px; height:20px; margin-right:8px; font-size:17px; line-height:20px;}
}