@charset "utf-8";

main > * {max-width: 1440px; margin: 0 auto;}

.kv {max-width: none; padding-top: 63px;}
.kv .contents-obj {width: 100vw; max-width: 1440px; min-width: 320px; margin: 0 auto;}

.calendar {position: relative; padding-bottom: 134px; min-height: 1708px;}
.calendar > .contents {width: 100%;}

.calendar .contents-title {height: 225px; font-size: 55px; line-height: 34px; text-align: center; text-transform: uppercase;}
.calendar .contents-title span {font-size: 30px;}
.calendar table {overflow: hidden; position: relative; width: 100%; border: 1px solid #000; border-width: 2px 0 0 2px; font-family: 'MVB-SolanoGothicMVB-B'; font-size: 25px; line-height: 45px; border-collapse: separate;}
.calendar table col {width: 14.2857%;}
.calendar table col:last-child {width: 0;}
.calendar table th, .calendar table td {overflow: hidden; width: 14.2857%;}
.calendar table thead {position: absolute; top: 0; left: 0; display: table; width: 100%;}
.calendar table thead th {display: table-cell; padding: 7px 21px; text-transform: uppercase; text-align: left;}
.calendar table thead th:last-child {display: none;}
.InternetExplorer .calendar table tbody td {/* border:2px solid #dcdcdc; */ border-width: 0 2px 2px 0;/* margin-top:-3px; */}
.calendar table tbody tr {overflow: hidden; display: table; position: relative; width: 1440px; height: 271px;/* border:1px solid #dcdcdc; *//* margin-top:-2px; */}
.calendar table tbody tr:first-child {margin-top:0px;}
.calendar table tbody td {position: relative; padding: 5px; border: 2px solid #000; border-width: 0px 2px 2px 0; vertical-align: top;}
.calendar table tbody td:nth-child(7) {width: 300px;}
.calendar table tbody td:last-child {z-index: -1; position: absolute; bottom: 100%; right: 0; width: calc(100% + 1px); height: calc(100% + 2px); margin: -1px; border: none;}
.calendar table tbody tr.active td:last-child {display: block;}
.calendar table tbody td .date {z-index: 999; position: absolute; top: 3px; right: 5px; width: 95.57%; padding: 0 14px; text-align: right;}
.calendar table tbody td .date.disabled {color: rgba(0, 0, 0, 0.2);}
.calendar table tbody tr.active td .date {color: rgba(255, 255, 255, 0.5);}
.calendar table tbody tr.active td .date.active {color: rgba(255, 255, 255, 1);}
.calendar table tbody td .schedule-list {padding-top: 45px;}
.calendar table tbody td .schedule-list button {width: 100%; height: 215px;}
.calendar table tbody td .schedule-list ul {height: calc(100% - 5px);}
.calendar table tbody td .schedule-list li {width: 100%; height: 65px; margin-top: 6px; font-family: 'NotoSansCJKkr-R'; font-size: 13px; line-height: 19px; letter-spacing: -0.03em; color: #fff;}
.calendar table tbody td .schedule-list li.one-line {height: 47px;}
.calendar table tbody td .schedule-list li p {padding: 0 10px;}
.calendar .btn-prev {position: absolute; top: 88px; left: 164px; width: 50px; height: 50px;}
.calendar .btn-next {position: absolute; top: 88px; right: 164px; width: 50px; height: 50px;}
.calendar .popup .btn-area {position: relative;}
.calendar .btn-close {position: absolute; top: 50%; left: 50%; width: 82px; height: 82px; margin-left: -41px; margin-top: -41px; border-radius: 50vh; background: rgba(0, 0, 0, 0.2) url('./../images/btn-close.png') no-repeat center; background-size: 100% auto;}
.calendar .btn-close:focus, .calendar .btn-close:hover {background-color: rgba(0, 0, 0, 0.5);}
.calendar .active .popup {z-index: 998;}
.calendar .popup {display: none; padding: 0; background: #1f1f1f; font-family: 'NotoSansCJKkr-B'; font-size: 16px; line-height: 21px; letter-spacing: -0.04em; color: #fff;}
.calendar .popup .valign > div {text-align: center;}
.calendar .popup .list {display: none;}
.calendar .popup .list.active {display: table-cell;}
.calendar .popup .list {width: 85.83%; padding-top: 56px; vertical-align: top;}
.calendar .popup .list li {height: 66px; margin-bottom: 6px;}
.calendar .popup .time {width: 16.21%; font-family: 'Camber-SB'; letter-spacing: 0;}
.calendar .popup .contents {width: 83.79%;}
.calendar .popup .contents .contents-inner {display: inline;}
.calendar .popup .contents a {cursor: pointer; display: table; width: 100%; height: 100%; background-repeat: no-repeat; background-position: right center; background-size: auto 100%;}
.calendar .popup .contents a .contents-inner {display: table-cell; width: 100%; height: 100%; vertical-align: middle;}
.calendar .popup .contents p {font-size: 14px;font-family:'NotoSansCJKkr-R';opacity:0.8}








@media screen and (max-width: 1440px) {

.calendar {padding-bottom: 9.31vw; min-height: 118.61vw;}
.calendar .contents-title {height: 15.625vw; font-size: 3.82vw; line-height: 2.36vw;}
.calendar .contents-title span {font-size: 2.08vw;}
.calendar table {font-size: 1.74vw; line-height: 3.125vw;}
.calendar table thead th {padding: 0.49vw 1.46vw;}
.calendar table tbody tr {width: 100vw; height: 18.82vw;}
.calendar table tbody td {padding: 0.35vw;}
.calendar table tbody td .date {top: 0.21vw; right: 0.35vw; padding: 0 0.97vw;}
.calendar table tbody td .schedule-list {padding-top: 3.125vw;}
.calendar table tbody td .schedule-list button {height: 14.995vw;}
.calendar table tbody td .schedule-list ul {height: calc(100% - 0.35vw);}
.calendar table tbody td .schedule-list li {height: 4.51vw; margin-top: 0.42vw; font-size: 0.9vw; line-height: 1.32vw;}
.calendar table tbody td .schedule-list li.one-line {height: 3.26vw;}
.calendar table tbody td .schedule-list li p {padding: 0 0.69vw;}
.calendar .btn-prev {top: 6.11vw; left: 11.39vw; width: 3.47vw; height: 3.47vw;}
.calendar .btn-next {top: 6.11vw; right: 11.39vw; width: 3.47vw; height: 3.47vw;}
.calendar .btn-close {width: 5.69vw; height: 5.69vw; margin-left: -2.845vw; margin-top: -2.845vw;}
.calendar .popup {font-size: 1.11vw; line-height: 1.46vw;}
.calendar .popup .list {padding-top: 3.89vw;}
.calendar .popup .list li {height: 4.58vw; margin-bottom: 0.42vw;}
.calendar .popup .contents p {font-size: 0.97vw;}

}








@media screen and (max-width: 1111px) {


.calendar {min-height: 1533px;}
.calendar table tbody tr {height: 209px;}
.calendar table tbody td {padding: 4px;}
.calendar table tbody td .schedule-list button {width: 100%; height: calc(201px - 3.125vw);}
.calendar table tbody td .schedule-list ul {height: calc(100% - 4px);}
.calendar table tbody td .schedule-list li {height: 50px; font-size: 10px; line-height: 15px;}
.calendar table tbody td .schedule-list li.one-line {height: 36px;}
.calendar .popup {font-size: 12px; line-height: 16px;}
.calendar .popup .list li {height: 50px;}
.calendar .popup .contents p {font-size: 11px;}

}






@media screen and (max-width: 768px) {

.kv {padding-top: 12.5vw;}

.calendar {min-height: 198.83vw; padding-bottom: 20.69vw;}
.calendar .contents-title {height: 39.44vw; padding-top: 4.44vw; font-size: 13.89vw; line-height: 6.67vw;}
.calendar .contents-title span {font-size: 6.53vw;}
.calendar table {overflow: visible; border: none; font-size: 3.61vw; line-height: 3.06vw;}
.calendar table thead {position: static;}
.calendar table thead th {display: table-cell; padding: 1.39vw 0; text-transform: uppercase; text-align: center;}
.calendar table thead th:last-child {display: none;}
.calendar table tbody tr {height: 22.64vw; border-top: 2px solid #d9d9d9; border-left: 0; border-right: 0;}
.InternetExplorer .calendar table tbody tr:first-child td {border-width: 2px 2px 2px 0;}
.InternetExplorer .calendar table tbody tr:last-child {border-width: 2px 0px;}
.calendar table tbody tr.active {overflow: visible;}
.calendar table tbody td {padding: 0.69vw; border: none;}
.calendar table tbody td:last-child {bottom: auto !important; top: 0 !important; height: auto; min-height: calc(44.44vw + 4px); padding-bottom: 17.71vw;}
.calendar table tbody td .date {z-index: 0; position: absolute; top: 0.42vw; right: 0; width: 100%; padding: 0; font-size: 4.44vw; line-height: 3.89vw; text-align: center; color: #000;}
.calendar table tbody td .date.disabled {color: rgba(0, 0, 0, 0.3);}
.calendar table tbody tr.active td .date {z-index: 999; color: rgba(255, 255, 255, 0.2);}
.calendar table tbody td .schedule-list {padding-top: 4.44vw;}
.calendar table tbody td .schedule-list button {height: 16.4vw;}
.calendar table tbody td .schedule-list ul {height: calc(100% - 0.69vw);}
.calendar table tbody td .schedule-list li {position: relative; overflow: hidden; width: 1.94vw; height: 1.94vw; margin: 0 auto 2.78vw; border-radius: 50vh; font-size: 1px;}
.calendar table tbody td .schedule-list li.one-line {height: 1.67vw;}
.calendar table tbody td .schedule-list li p {overflow: hidden; position: absolute; top: auto; left: -10000px; width: 1px; height: 1px; margin: -1px; clip: rect(0, 0, 0, 0);}
.calendar .btn-prev {position: absolute; top: 13.33vw; left: 4.72vw; width: 6.94vw; height: 6.94vw;}
.calendar .btn-next {position: absolute; top: 13.33vw; right: 4.72vw; width: 6.94vw; height: 6.94vw;}
.calendar .popup .btn-area {position: static;}
.calendar .btn-close {position: absolute; top: auto; bottom: 100%; left: 50%; width: 12.5vw; height: 12.5vw; margin: 0 0 5.56vw -6.25vw;}
.calendar .popup {overflow: visible; padding: 0;  font-size: 3.19vw; line-height: 4.17vw;}
.calendar .popup .valign {display: block;}
.calendar .popup .valign > div {display: block;}
.calendar .popup .valign > div.list {display: none;}
.calendar .popup .valign > div.list.active {display: block;}
.calendar .popup .valign > div.contents {display: table;}
.calendar .popup .list.active {display: block;}
.calendar .popup .list {width: 100%; padding-top: 8.06vw;}
.calendar .popup .list li {height: auto; margin-bottom: 2.35vw;}
.calendar .popup .time {width: 100%; margin-bottom: 1.81vw; font-size: 2.78vw;}
.calendar .popup .contents {width: 100%; height: 13.33vw;}
.calendar .popup .contents .contents-inner {display: table-cell; width: 100%; height: 100%; vertical-align: middle;}
.calendar .popup .contents a {background-position: right center;}
.calendar .popup .contents p {font-size: 2.78vw;}
.calendar .popup-dimmed {display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(31, 31, 31, 0.9); z-index: 500;}


}






@media screen and (max-width: 400px) {

.calendar table tbody td {padding: 3px;}
.calendar table tbody td:last-child {min-height: 178px;}
.calendar table tbody td .schedule-list ul {height: calc(100% - 3px);}
.calendar .popup {font-size: 13px; line-height: 17px;}
.calendar .popup .time {margin-bottom: 7px; font-size: 11px;}
.calendar .popup .contents {height: 53px;}
.calendar .popup .contents p {font-size: 11px;}

}






@media screen and (max-width: 320px) {

.kv {padding-top: 40px;}

.calendar {min-height: 636px; padding-bottom: 66px;}
.calendar .contents-title {height: 126px; padding-top: 14px; font-size: 44px; line-height: 21px;}
.calendar .contents-title span {font-size: 21px;}
.calendar table {font-size: 12px; line-height: 10px;}
.calendar table thead th {padding: 4px 0;}
.calendar table tbody tr {width: 320px !important; height: 73px;}
.calendar table tbody td:last-child {padding-bottom: 57px;}
.calendar table tbody td .date {top: 1px; font-size: 14px; line-height: 12px;}
.calendar table tbody td .schedule-list {padding-top: 12px;}
.calendar table tbody td .schedule-list button {height: 52px;}
.calendar table tbody td .schedule-list li {width: 6px; height: 6px; margin: 0 auto 9px;}
.calendar table tbody td .schedule-list li.one-line {height: 5px;}
.calendar .btn-prev {top: 43px; left: 15px; width: 22px; height: 22px;}
.calendar .btn-next {top: 43px; right: 15px; width: 22px; height: 22px;}
.calendar .btn-close {width: 40px; height: 40px; margin: 0 0 18px -20px;}
.calendar .popup .list {padding-top: 26px;}
.calendar .popup .list li {margin-bottom: 8px;}


}






