@charset "utf-8";

/* all */
.main-container {position: relative; padding-top: 233.78px; overflow: hidden;}
.main-intro {position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 9999; background: #fff url("/assets/site/img/main/intro-bg.png") no-repeat center; background-size: cover;}
.main-intro .main-intro-box {position: absolute; top: calc(50% - 70px); left: 50%; transform: translate(-50%, -50%); width: 100%; animation: introBox 1s both;}
.main-intro .main-intro-box .main-intro-title {text-align: center; margin-bottom: 60px;}
.main-intro .main-intro-box .main-intro-title img {width: 100%; max-width: 320px;}
.main-intro .main-intro-box .main-intro-title p {font-size: 18px; font-weight: 500; margin-top: 30px;}
.main-intro .main-intro-box .main-intro-link {}
.main-intro .main-intro-box .main-intro-link ul {display: flex; justify-content: center;}
.main-intro .main-intro-box .main-intro-link ul li {position: relative; width: 100%; max-width: 300px; margin: 0 40px; box-shadow: 0px 4px 4px 0px #0000001A; border-radius: 10px; overflow: hidden; transition: all 0.5s;}
.main-intro .main-intro-box .main-intro-link ul li:hover {transform: translateY(-20px);}
.main-intro .main-intro-box .main-intro-link ul li button {display: flex; flex-wrap: wrap; align-content: space-between; width: 100% ;height: 100%;}
.main-intro .main-intro-box .main-intro-link ul li button p {position: relative; width: 100%; padding: 45px 73.5px 200px; font-size: 24px; font-weight: 700; color: #1275CC; border-radius: 10px 10px 0 0; border: 3px solid #64A3DA; background: #F0F8FF;}
.main-intro .main-intro-box .main-intro-link ul li:last-child button p {border: 3px solid #66B7C5; color: #1797AE; background: #EBFCFF;}
.main-intro .main-intro-box .main-intro-link ul li button span {position: relative; display: flex; justify-content: center; align-items: center; width: 100%; font-size: 18px; font-weight: 600; color: #fff; background: #64A3DA; padding: 25px 0;}
.main-intro .main-intro-box .main-intro-link ul li:last-child button span {background: #66B7C5;} 
.main-intro .main-intro-box .main-intro-link ul li button span .deco {position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%);}
.main-intro .main-intro-box .main-intro-link ul li:last-child button span .deco {bottom: calc(80% - 1px);}
.main-intro .main-intro-box .main-intro-link ul li button span .ico {margin-left: 5px;}
.main-intro .main-intro-foot {position: absolute; bottom: 0; left: 0; width: 100%; background: #f7f7f7;}
.main-intro .main-intro-foot .wrap {display: flex; justify-content: center; align-items: center; align-content: center; height: 135px;}
.main-intro .main-intro-foot .main-intro-sns {margin-right: 40px;}
.main-intro .main-intro-foot .main-intro-sns a {}
.main-intro .main-intro-foot .main-intro-sns a img {}
.main-intro .main-intro-foot .main-intro-info {}
.main-intro .main-intro-foot .main-intro-info span {font-size: 14px; color: #757575; margin-left: 10px;}
.main-intro .main-intro-foot .main-intro-info span:first-child {margin-left: 0;}
.main-intro .main-intro-foot .main-intro-info p {width: 100%; font-size: 18px; color: #424242;}

@media screen and (max-width: 640px) {
    .main-intro .main-intro-box .main-intro-title {margin-bottom: 40px;}
    .main-intro .main-intro-box .main-intro-title img {max-width: 200px;}
    .main-intro .main-intro-box .main-intro-title p {font-size: 16px; margin-top: 20px;}
    .main-intro .main-intro-box .main-intro-link ul {flex-wrap: wrap;}
    .main-intro .main-intro-box .main-intro-link ul li {width: 100%; margin: 0; max-width: none;}
    .main-intro .main-intro-box .main-intro-link ul li:last-child {margin-top: 15px;}
    .main-intro .main-intro-box .main-intro-link ul li button p {font-size: 20px; padding: 30px 0;}
    .main-intro .main-intro-box .main-intro-link ul li button span {font-size: 16px; padding: 15px 0;}
    .main-intro .main-intro-box .main-intro-link ul li button span .deco {display: none;}
}

.main-title {text-align: center; margin-bottom: 50px;}
.main-title h2 {font-family: "KCC-Ganpan"; font-size: 46px; color: #424242;}
.main-title h2 strong {position: relative;}
.main-title p {font-size: 18px; margin-top: 12px;}

.sec02 .main-title h2 strong {color: #099698;}
.sec02 .main-title h2 strong::after {content: ''; position: absolute; top: 0; right: -16px; width: 25px; height: 25px; background: url("/assets/site/img/main/title-deco1.png") no-repeat center; background-size: cover;}
.sec03 .main-title h2 strong {color: #F17EA0;}
.sec03 .main-title h2 strong::after {content: ''; position: absolute; top: 0; right: -16px; width: 25px; height: 25px; background: url("/assets/site/img/main/title-deco2.png") no-repeat center; background-size: cover;}

/* css animation */
@keyframes fadeUpTxt { 
    0% {transform: translateY(30px); opacity: 0;}
    100% {transform: translateY(0); opacity: 1;}
}

@keyframes introBox {
    0% {opacity: 0; transform: translate(-50%, -50%) scale(0.9);}
    100% {opacity: 1; transform: translate(-50%, -50%) scale(1);}
}

/* sec01 */
.sec01 {position: relative; padding-top: 45px;}
.sec01::before {content: ''; position: absolute; width: 60%; height: 55%; background: linear-gradient(90deg, rgba(65, 130, 179, 0.9) 0%, rgba(0, 30, 255, 0.3) 100%); border-radius: 0 50px 50px 0;}
.sec01 .sec01-box {display: flex; justify-content: space-between;}
.sec01 .sec01-box .sec01-left {width: 750px; padding: 40px 0 35px;}
.sec01 .sec01-box .sec01-left .visual {overflow: visible;}
.sec01 .sec01-box .sec01-left .visual .swiper-wrapper {transform: translateY(35px);}
.sec01 .sec01-box .sec01-left .visual .swiper-slide {position: relative;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-bg {border-radius: 20px; overflow: hidden;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-bg img {width: 100%;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt {position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 100%; padding: 0 40px;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt p {font-size: 20px; color: #fff; font-weight: 500;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt strong {display: block; font-size: 30px; font-weight: 700; color: #fff; margin: 15px 0 20px;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt span {display: block; font-size: 14px; color: #fff;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt a {display: inline-block; font-size: 14px; font-weight: 600; padding: 10px 30px; color: #fff; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 35px; margin-top: 25px; transition: all 0.3s;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt a:hover {color: #374ea0; background: #fff; border: 1px solid #fff;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide-active .visual-txt p {animation: fadeUpTxt 0.3s both 0.3s;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide-active .visual-txt strong {animation: fadeUpTxt 0.5s both 0.5s;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide-active .visual-txt span {animation: fadeUpTxt 0.7s both 0.7s;}
.sec01 .sec01-box .sec01-left .visual .swiper-slide-active .visual-txt a {animation: fadeUpTxt 1s both 1s;}
.sec01 .sec01-box .sec01-left .visual .swiper-util {display: flex; align-items: center;}
.sec01 .sec01-box .sec01-left .visual .swiper-util .swiper-play {margin-right: 15px;}
.sec01 .sec01-box .sec01-left .visual .swiper-util .swiper-play button {display: flex; justify-content: center; align-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #fff;}
.sec01 .sec01-box .sec01-left .visual .swiper-util .swiper-play button img {width: 10px;}
.sec01 .sec01-box .sec01-left .visual .swiper-util .swiper-pagination {all: unset; font-size: 18px; font-weight: 500; color: #fff; margin-right: 20px;}
.sec01 .sec01-box .sec01-left .visual .swiper-util .swiper-pagination span:first-child {font-size: 22px; font-weight: 700;}
.sec01 .sec01-box .sec01-left .visual .swiper-util .swiper-view {}
.sec01 .sec01-box .sec01-left .visual .swiper-util .swiper-view a {display: block; font-size: 14px; font-weight: 500; color: #757575; padding: 10px 23.5px; background: #fff; border-radius: 35px;}
.sec01 .sec01-box .sec01-left .visual .swiper-bt {}
.sec01 .sec01-box .sec01-left .visual .swiper-bt .swiper-button-next,
.sec01 .sec01-box .sec01-left .visual .swiper-bt .swiper-button-prev {top: calc(50% + 35px); width: 50px; height: 50px; background: #fff; margin-top: 0; border-radius: 50%;}
.sec01 .sec01-box .sec01-left .visual .swiper-bt .swiper-button-next {right: -25px;}
.sec01 .sec01-box .sec01-left .visual .swiper-bt .swiper-button-prev {left: -25px;}
.sec01 .sec01-box .sec01-left .visual .swiper-bt .swiper-button-next:after,
.sec01 .sec01-box .sec01-left .visual .swiper-bt .swiper-button-prev:after {font-size: 14px; font-weight: 700; color: #000;}
.sec01 .sec01-box .sec01-right {width: calc(100% - 850px);}
.sec01 .sec01-box .sec01-right .sec01-intro {}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-title {}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-title p {font-size: 24px; font-weight: 500; line-height: 1.3; margin: 12px 0;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-title span {color: #888;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-link {padding-top: 200px; background-image: url("/assets/site/img/main/sec01-deco.png"); background-repeat: no-repeat; background-position: center right; background-size: 50%;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-link .sec01-link-bt {}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-link .sec01-link-bt:last-child {margin-top: 10px;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-link .sec01-link-bt a {display: inline-flex; justify-content: center; align-items: center; padding: 10px 16px; border: 1px solid #25237B80; border-radius: 35px;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-link .sec01-link-bt a p {font-size: 14px; color: #5b5b5b; margin-right: 8px;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-link .sec01-link-bt a img {}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search {}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-bar {display: flex; border: 1px solid #25237b; border-radius: 20px; overflow: hidden;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-bar input[type="text"] {width: calc(100% - 70px); height: 70px; border: none; padding: 0 20px; background: #25237B1A; color: #25237b; font-size: 18px; font-weight: 500;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-bar input[type="text"]::placeholder {color: #25237b !important; opacity: 1 !important; font-weight: 500; font-size: 18px;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-bar button {display: flex; justify-content: center; align-items: center; width: 70px; height: 70px; background: #25237b;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-bar button img {}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-tag {margin-top: 18px;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-tag ul {display: flex; justify-content: center;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-tag ul li {margin-right: 16px;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-tag ul li:last-child {margin-right: 0;}
.sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-tag ul li a {display: block; font-weight: 500; color: #888;}
.sec01 .sec01-cate {margin-top: 20px;}
.sec01 .sec01-cate ul {display: flex; justify-content: space-between;}
.sec01 .sec01-cate ul li {position: relative; width: calc(100% / 2 - 12px); border-radius: 20px; overflow: hidden; transition: all 0.5s;}
.sec01 .sec01-cate ul li:hover {box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;}
.sec01 .sec01-cate ul li a {display: flex; flex-wrap: wrap; align-content: space-between; height: 210px; padding: 30px 40px; background: #DBF1F5;}
.sec01 .sec01-cate ul li:last-child a {background: #E3F2FF;}
.sec01 .sec01-cate ul li a .sec01-cate-deco {position: absolute; bottom: 0; right: 0; transition: all 0.5s;}
.sec01 .sec01-cate ul li a .sec01-cate-deco img {}
.sec01 .sec01-cate ul li:hover a .sec01-cate-deco {transform: scale(1.08);}
.sec01 .sec01-cate ul li a .sec01-cate-txt {position: relative; width: 100%;}
.sec01 .sec01-cate ul li a .sec01-cate-txt p {font-size: 12px; font-weight: 300;}
.sec01 .sec01-cate ul li a .sec01-cate-txt strong {display: block; font-size: 24px; font-weight: 700; margin-bottom: 8px;}
.sec01 .sec01-cate ul li a .sec01-cate-txt span {display: block; font-size: 14px; font-weight: 700; color: #007084;}
.sec01 .sec01-cate ul li a .sec01-cate-bt {display: inline-flex; padding: 10px 16px; border-radius: 35px; background: #66B7C5; white-space: nowrap;}
.sec01 .sec01-cate ul li:last-child a .sec01-cate-bt {background: #64a3da;}
.sec01 .sec01-cate ul li a .sec01-cate-bt p {font-size: 14px; color: #fff; font-weight: 500; margin-right: 8px;}
.sec01 .sec01-cate ul li a .sec01-cate-bt img {}

/* sec02 */
.sec02 {position: relative; padding: 100px 0; overflow: hidden;}
.sec02::before {content: ''; position: absolute; top: 15%; right: -16%; width: 300px; height: 300px; border: 90px solid #0d4cc2; border-radius: 50%; opacity: 0.05;}
.sec02::after {content: ''; position: absolute; top: 40%; left: -8%; width: 180px; height: 180px; border: 90px solid #77D6CB; border-radius: 50%; opacity: 0.12; z-index: -1;}
.sec02 .sec02-box {display: flex; justify-content: space-between;}
.sec02 .sec02-box > div {}
.sec02 .sec02-box .sec02-calendar {}
.sec02 .sec02-calendar {width: 600px;}
.sec02 .sec02-calendar .sec02-calendar-tab {}
.sec02 .sec02-calendar .sec02-calendar-tab ul {display: flex;}
.sec02 .sec02-calendar .sec02-calendar-tab ul li {width: 100%; max-width: 180px; background: #fff; border: 1px solid #e4e4e4; border-bottom: 0; border-radius: 20px 20px 0 0; text-align: center; cursor: pointer;}
.sec02 .sec02-calendar .sec02-calendar-tab ul li.on {background: #099698; border: 1px solid #099698;}
.sec02 .sec02-calendar .sec02-calendar-tab ul li p {font-size: 20px; font-weight: 500; color: #5b5b5b; padding: 10px;}
.sec02 .sec02-calendar .sec02-calendar-tab ul li.on p {color: #fff;}
.sec02 .sec02-calendar .sec02-calendar-list {}
.sec02 .sec02-calendar .sec02-calendar-list ul {}
.sec02 .sec02-calendar .sec02-calendar-list ul li {}
.sec02-calendar-month {padding: 25px; border: 1px solid #e4e4e4; border-radius: 0 20px 20px 20px; background: rgba(255, 255, 255, 0.5); backdrop-filter: blur(3px);}
.sec02-calendar-month .fc-header-toolbar {position: relative;}
.sec02-calendar-month .sec02-calendar-cate {position: absolute; top: 50%; right: 0; transform: translateY(-50%);}
.sec02-calendar-month .sec02-calendar-cate ul {display: flex;}
.sec02-calendar-month .sec02-calendar-cate ul li {display: flex; align-items: center; margin-right: 20px;}
.sec02-calendar-month .sec02-calendar-cate ul li:last-child {margin-right: 0;}
.sec02-calendar-month .sec02-calendar-cate ul li span {width: 12px; height: 12px; border-radius: 50%; background: #f173a0;}
.sec02-calendar-month .sec02-calendar-cate ul li:nth-child(2) span {background: #8bc53f;}
.sec02-calendar-month .sec02-calendar-cate ul li:nth-child(3) span {background: #485c9f;}
.sec02-calendar-month .sec02-calendar-cate ul li p {margin-left: 8px;}
.sec02-calendar-month .fc-toolbar-chunk > div {display: flex; align-items: center;}
.sec02-calendar-month .fc-button {display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; background: #fff; border-radius: 50%; border: 1px solid #e4e4e4;}
.sec02-calendar-month .fc-button-primary:not(:disabled).fc-button-active:focus,
.sec02-calendar-month .fc-button-primary:not(:disabled):active:focus {border: 1px solid #e4e4e4; background: none; box-shadow: none;}
.sec02-calendar-month .fc-button-primary:focus,
.sec02-calendar-month .fc-button-primary:hover {border: 1px solid #e4e4e4; background: none; box-shadow: none;}
.sec02-calendar-month .fc-icon {color: #000;}
.sec02-calendar-month .fc-toolbar-title {font-size: 24px; font-weight: 900; margin: 0 20px;}
.sec02-calendar-month .fc-scrollgrid {border: none;}
.sec02-calendar-month .fc-theme-standard td, .fc-theme-standard td,
.sec02-calendar-month .fc-theme-standard td, .fc-theme-standard th {border: none;}
.sec02-calendar-month .fc-daygrid-body {margin-top: 1rem;}
.sec02-calendar-month .fc-daygrid-day-top {justify-content: center;}
.sec02-calendar-month .fc-col-header-cell-cushion {font-size: 20px; font-weight: 500;}
.sec02-calendar-month .fc-day-sun .fc-col-header-cell-cushion {color: #c6281d;}
.sec02-calendar-month .fc-daygrid-day-number {font-size: 20px;}
.sec02-calendar-month .fc-day-today .fc-daygrid-day-number {font-weight: 600;}
.sec02-calendar-month .fc-day-sun .fc-daygrid-day-number {color: #c6281d;}
.sec02-calendar-month .fc-daygrid-body-natural .fc-daygrid-day-events {min-height: 0; margin-top: 0; margin-bottom: 0; display: flex; justify-content: center; margin: 8px 0;}
.sec02-calendar-month .fc-daygrid-day.fc-day-today {background: none;}
.sec02-calendar-month .fc-daygrid-day-top {width: 54px; aspect-ratio: 1 / 1; margin: 0 auto; align-items: center; border-radius: 50%;}
.sec02-calendar-month .fc-day-today .fc-daygrid-day-top {background: #f7f7f7;}
.sec02-calendar-month  .fc-daygrid-event-harness {margin: 0 !important;}
.sec02-calendar-month  .fc-daygrid-event-harness-abs .fc-daygrid-event {width: 100%; height: 12px; border-radius: 5px;}
.sec02-calendar-month .fc-daygrid-event {width: 12px; height: 12px; border-radius: 50%;}
.sec02-modal {display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.5); z-index: 999;}
.sec02-modal .sec02-modal-box {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 768px; width: 100%; border-radius: 10px; padding: 40px; background: #fff;}
.sec02-modal .sec02-modal-box .sec02-modal-top {display: flex; justify-content: space-between; align-items: center;}
.sec02-modal .sec02-modal-box .sec02-modal-top p {font-size: 24px; font-weight: 700;}
.sec02-modal .sec02-modal-box .sec02-modal-top button {position: relative; width: 20px; height: 20px;}
.sec02-modal .sec02-modal-box .sec02-modal-top button span {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 1.5px; background: #000;}
.sec02-modal .sec02-modal-box .sec02-modal-top button span:first-child {transform: translate(-50%, -50%) rotate(45deg);}
.sec02-modal .sec02-modal-box .sec02-modal-top button span:last-child {transform: translate(-50%, -50%) rotate(-45deg);}
.sec02-modal .sec02-modal-box .sec02-modal-list {margin-top: 24px; padding-top: 24px; border-top: 1px solid #e4e4e4;}
.sec02-modal .sec02-modal-box .sec02-modal-list ul {max-height: 502px; overflow-y: scroll; border: 1px solid #e4e4e4;}
.sec02-modal .sec02-modal-box .sec02-modal-list ul li {display: flex; align-content: center; flex-wrap: wrap; height: 100px; border-bottom: 1px solid #e4e4e4; padding: 0 30px;}
.sec02-modal .sec02-modal-box .sec02-modal-list ul li:last-child {border-bottom: 0;}
.sec02-modal .sec02-modal-box .sec02-modal-list ul li p {width: 100%; font-size: 20px; font-weight: 600; margin-bottom: 10px;}
.sec02-modal .sec02-modal-box .sec02-modal-list ul li span {font-weight: 500;}
.sec02-modal .sec02-modal-box .sec02-modal-list ul li span.type1 {color: #F17EA0;}
.sec02-modal .sec02-modal-box .sec02-modal-list ul li span.type2 {color: #8BC53F;}
.sec02-modal .sec02-modal-box .sec02-modal-list ul li span.type3 {color: #485C9F;}
.sec02-modal .sec02-modal-box .sec02-modal-list ul li span.date {font-weight: 400; color: #757575; margin-left: 10px;}
.sec02-calendar-week {border: 1px solid #e4e4e4; border-radius: 0 20px 20px 20px; background: rgba(255, 255, 255, 0.5); backdrop-filter: blur(3px);}
.sec02-calendar-week .sec02-calendar-day {}
.sec02-calendar-week .sec02-calendar-day ul {display: flex;}
.sec02-calendar-week .sec02-calendar-day ul li {display: flex; align-items: center; align-content: center; flex-wrap: wrap; width: calc(100% / 7); aspect-ratio: 1 / 1; border-right: 1px solid #e4e4e4;}
.sec02-calendar-week .sec02-calendar-day ul li.sun {color: #c6281d;}
.sec02-calendar-week .sec02-calendar-day ul li.today {background: #f7f7f7;}
.sec02-calendar-week .sec02-calendar-day ul li:last-child {border-right: 0;}
.sec02-calendar-week .sec02-calendar-day ul li p {width: 100%; text-align: center; font-size: 18px; font-weight: 500;}
.sec02-calendar-week .sec02-calendar-day ul li.today p {font-weight: 700;}
.sec02-calendar-week .sec02-calendar-day ul li span {width: 100%; text-align: center; font-size: 18px; font-weight: 500;}
.sec02-calendar-week .sec02-calendar-day ul li.today span {font-weight: 700;}
.sec02-calendar-week .sec02-calendar-con {}
.sec02-calendar-week .sec02-calendar-con ul {}
.sec02-calendar-week .sec02-calendar-con ul li {border-top: 1px solid #e4e4e4;}
.sec02-calendar-week .sec02-calendar-con ul li a {display: block; padding: 24px 30px;}
.sec02-calendar-week .sec02-calendar-con ul li a p {font-size: 20px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 10px;}
.sec02-calendar-week .sec02-calendar-con ul li a span {display: block; color: #757575;}
.sec02-calendar-week .sec02-calendar-con ul li a span strong {display: inline-block; font-weight: 500; margin-right: 10px;}
.sec02-calendar-week .sec02-calendar-con ul li a span strong.type01 {color: #f17ea0;}
.sec02-calendar-week .sec02-calendar-con ul li a span strong.type02 {color: #8bc53f;}
.sec02-calendar-week .sec02-calendar-con ul li a span strong.type03 {color: #485c9f;}

.sec02 .sec02-box .sec02-notice {width: calc(100% - 650px);}
.sec02 .sec02-box .sec02-notice .sec02-notice-title {display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px;}
.sec02 .sec02-box .sec02-notice .sec02-notice-title p {font-size: 30px; font-weight: 700;}
.sec02 .sec02-box .sec02-notice .sec02-notice-title a {display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; background: #f7f7f7; border-radius: 50%; font-size: 24px;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list {}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul {}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li {position: relative;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li::before {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #fff; z-index: 1;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li::after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 2px solid transparent; border-radius: 20px; background-origin: border-box; background-clip: content-box, border-box; background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #8BC53F 0%, #2E63C5 100%); box-sizing: border-box; z-index: 2; opacity: 0; transition: all 0.3s;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li.on::after {opacity: 1;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a {position: relative; display: flex; align-items: center; padding: 26px 30px; z-index: 3;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a .sec02-notice-date {position: relative; text-align: center; white-space: nowrap; padding-right: 24px;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a .sec02-notice-date::before {content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 1px; height: 70%; background: #e4e4e4;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a .sec02-notice-date p {font-size: 40px; font-weight: 900; line-height: 1; color: #bababa; margin-bottom: 5px; transition: all 0.3s;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li.on a .sec02-notice-date p {color: #757575;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a .sec02-notice-date span {font-size: 15px; color: #424242;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a .sec02-notice-subject {position: relative; width: 100%; padding-left: 24px;}
.sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a .sec02-notice-subject p {font-size: 20px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}

/* sec03 */
.sec03 {position: relative; padding-bottom: 120px;}
.sec03 .sec03-deco {position: absolute; top: 10%; right: 0;}
.sec03 .sec03-deco img {}
.sec03 .sec03-box {display: flex; justify-content: space-between;}
.sec03 .sec03-box .sec03-faq {width: calc(100% - 660px);}
.sec03 .sec03-box .sec03-faq .sec03-faq-title {display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px;}
.sec03 .sec03-box .sec03-faq .sec03-faq-title p {font-size: 30px; font-weight: 700;}
.sec03 .sec03-box .sec03-faq .sec03-faq-title a {display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; background: #f7f7f7; border-radius: 50%; font-size: 24px;}
.sec03 .sec03-box .sec03-location {width: 600px;}
.sec03 .sec03-box .sec03-location .sec03-location-box {background: #F7F4FF; padding: 40px; border-radius: 20px;}
.sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-title {}
.sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-title p {font-size: 30px; font-weight: 700;}
.sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-map {margin: 30px 0;}
.sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-map .root_daum_roughmap .wrap_controllers {display: none;}
.sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-map .root_daum_roughmap .map_border {display: none;}
.sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-map .root_daum_roughmap .cont {display: none;}
.sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-info {}
.sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-info p {font-size: 18px; font-weight: 700;}
.sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-info span {font-size: 18px;}
.sec03 .sec03-box .sec03-location .sec03-location-bt {margin-top: 30px;}
.sec03 .sec03-box .sec03-location .sec03-location-bt ul {display: flex; border: 2px solid #e4e4e4; border-radius: 15px;}
.sec03 .sec03-box .sec03-location .sec03-location-bt ul li {width: calc(100% / 3); border-right: 2px solid #e4e4e4;}
.sec03 .sec03-box .sec03-location .sec03-location-bt ul li:last-child {border-right: 0;}
.sec03 .sec03-box .sec03-location .sec03-location-bt ul li a {display: block; text-align: center; padding: 26px;}
.sec03 .sec03-box .sec03-location .sec03-location-bt ul li a img {height: 60px;}
.sec03 .sec03-box .sec03-location .sec03-location-bt ul li a p {font-weight: 500;}

/* reponsive */
@media screen and (max-width: 1280px) {
    .sec01 {padding-top: 0;}
    .main-container {padding-top: 205px;}
    .sec01::before {width: 100%; height: 40%; border-radius: 0;}
    .sec01 .sec01-box {flex-wrap: wrap;}
    .sec01 .sec01-box .sec01-left {width: 100%;}
    .sec01 .sec01-box .sec01-left .visual .swiper-util {margin-bottom: 20px;}
    .sec01 .sec01-box .sec01-left .visual .swiper-bt .swiper-button-next,
    .sec01 .sec01-box .sec01-left .visual .swiper-bt .swiper-button-prev {top: calc(50% + 20px);}
    .sec01 .sec01-box .sec01-left .visual .swiper-wrapper {transform: translateY(0);}
    .sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt {padding: 0 60px;}
    .sec01 .sec01-box .sec01-right {width: 100%;}
    .sec01 .sec01-box .sec01-right .sec01-intro .sec01-title {text-align: center; margin-bottom: 25px;}
    .sec01 .sec01-box .sec01-right .sec01-intro .sec01-link {display: none;}
    .sec01 .sec01-cate ul li a .sec01-cate-deco {width: 50%;}
    .sec01 .sec01-cate ul li a .sec01-cate-deco img {width: 100%;}
    .sec02 .sec02-box {flex-wrap: wrap;}
    .sec02 .sec02-box .sec02-calendar {width: 100%; margin-bottom: 30px;}
    .sec02 .sec02-box .sec02-notice {width: 100%;}
    .sec03 .sec03-box {flex-wrap: wrap;}
    .sec03 .sec03-box .sec03-faq {width: 100%; margin-bottom: 30px;}
    .sec03 .sec03-box .sec03-location {width: 100%;}
}

@media screen and (max-width: 1024px) {
    .sec01::before {height: 30%;}
    .sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt p {font-size: 16px;}
    .sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt strong {font-size: 24px; margin: 10px 0 15px;}
    .sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-bar input[type="text"] {width: calc(100% - 50px); height: 50px; font-size: 16px;}
    .sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-bar button {width: 50px; height: 50px;}
    .sec01 .sec01-box .sec01-right .sec01-intro .sec01-search .sec01-search-bar button img {width: 50%;}
    .sec01 .sec01-cate ul {flex-wrap: wrap;}
    .sec01 .sec01-cate ul li {width: 100%; margin-bottom: 20px;}
    .sec01 .sec01-cate ul li:last-child {margin-bottom: 0;}
    .main-title h2 {font-size: 36px;}
    .sec02 {padding: 60px 0;}
    .sec02 .main-title h2 strong::after {top: -5px;}
    .sec02 .sec02-box .sec02-notice .sec02-notice-title p {font-size: 24px;}
    .sec03 {padding-bottom: 80px;}
    .sec03 .main-title h2 strong::after {top: -5px;}
    .sec03 .sec03-box .sec03-faq .sec03-faq-title p {font-size: 24px;}
    .sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-title p {font-size: 24px;}
}

@media screen and (max-width: 768px) {
    .main-container {padding-top: 118px;}
    .sec01 .sec01-box .sec01-left {padding: 25px 0 20px;}
    .sec01 .sec01-box .sec01-left .visual .swiper-util {margin-bottom: 15px;}
    .sec01 .sec01-box .sec01-left .visual .swiper-util .swiper-pagination {font-size: 14px;}
    .sec01 .sec01-box .sec01-left .visual .swiper-util .swiper-pagination span:first-child {font-size: 16px; margin-right: 3px;}
    .sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-bg {position: relative;}
    .sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-bg::after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.35);}
    .sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-bg img {position: relative; height: 300px; object-fit: cover; object-position: right;}
    .sec01 .sec01-box .sec01-left .visual .swiper-slide .visual-txt {text-align: center; padding: 0 30px;}
    .sec01 .sec01-box .sec01-right .sec01-intro .sec01-title p {font-size: 20px;}
    .sec01 .sec01-cate ul li a {padding: 20px; height: 180px;}
    .sec01 .sec01-cate ul li a .sec01-cate-txt strong {font-size: 20px;}
    .main-title {margin-bottom: 30px;}
    .main-title h2 {font-size: 24px;}
    .main-title p {font-size: 15px;}
    .sec02 .main-title h2 strong::after {width: 20px; height: 20px;}
    .sec03 .main-title h2 strong::after {width: 20px; height: 20px;}
    .sec02-calendar-month .fc-header-toolbar {justify-content: center;}
    .sec02-calendar-month .sec02-calendar-cate {position: relative; transform: translate(0); margin-left: 0 !important; margin-top: 20px;}
    .sec02-calendar-month .fc-col-header-cell-cushion {font-size: 16px;}
    .sec02-calendar-month .fc-daygrid-day-number {font-size: 16px;}
    .sec02-calendar-month .fc-daygrid-event {width: 8px; height: 8px;}
    .sec02-calendar-month .fc-daygrid-day-bottom {display: none;}
    .sec02-calendar-month .fc-daygrid-day-top {width: auto;}
    .sec02 .sec02-box .sec02-notice .sec02-notice-title {margin-bottom: 15px;}
    .sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a {padding: 15px;}
    .sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a .sec02-notice-date p {font-size: 24px;}
    .sec02 .sec02-box .sec02-notice .sec02-notice-list ul li a .sec02-notice-subject p {font-size: 16px;}
    .sec02-modal .sec02-modal-box {width: 95%;}
    .sec03 {padding-bottom: 60px;}
    .sec03 .sec03-box .sec03-faq .sec03-faq-title {margin-bottom: 15px;}
    .sec03 .sec03-box .sec03-location .sec03-location-box {padding: 30px;}
    .sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-info p {margin-bottom: 10px;}
    .sec03 .sec03-box .sec03-location .sec03-location-box .sec03-location-info span {font-size: 16px;}
    .sec03 .sec03-box .sec03-location .sec03-location-bt ul li a {padding: 15px;}
    .sec03 .sec03-box .sec03-location .sec03-location-bt ul li a img {height: 45px; margin-bottom: 10px;}
}

@media screen and (max-width: 680px) {
    .sec02-modal .sec02-modal-box {padding: 25px; height: 65vh;}
    .sec02-modal .sec02-modal-box .sec02-modal-top {}
    .sec02-modal .sec02-modal-box .sec02-modal-top p {font-size: 18px;}
    .sec02-modal .sec02-modal-box .sec02-modal-list {margin-top: 12px; padding-top: 12px; height: 90%;}
    .sec02-modal .sec02-modal-box .sec02-modal-list ul {max-height: none; height: 100%;}
    .sec02-modal .sec02-modal-box .sec02-modal-list ul li {padding: 15px; height: auto;}
    .sec02-modal .sec02-modal-box .sec02-modal-list ul li p {font-size: 16px;}
    .sec02-modal .sec02-modal-box .sec02-modal-list ul li span {font-size: 13px;}
    .sec02-calendar-month .fc-toolbar-title {font-size: 18px;}
    .sec02-calendar-month .fc-toolbar-chunk > div {justify-content: center;}
    .sec02-calendar-month .sec02-calendar-cate ul li span {width: 8px; height: 8px;} 
    .sec02-calendar-month .sec02-calendar-cate ul li p {font-size: 12px;}
}