/* 공통 속성 */
section > div.space {padding: 0 20px; width: auto;}

/* Typo */
section.sec1,section.sec2,section.sec3 {color: #333333;}
.typo1 {font-size: 25px; font-weight: bold; line-height: 1.2;}
.typo2 {font-size: 25px; font-weight: bold;}
.typo3 {font-size: 20px; font-weight: bold;}
.typo4 {font-size: 16px; font-weight: bold; color: #5D5D5F;}

/* >>>>>> SECTION 1: 캘린더 / 메뉴 / SNS <<<<<< */
section.sec1 {padding: 30px 0;}
section.sec1 > div.inner {overflow: visible;}
section.sec1 > div.inner > div + div {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
/* SECTION 1: 캘린더 */
section.sec1 > div > div.calendarBlock {
    border-radius: 20px;
    background: #fff;
    box-shadow: 0px 4px 25px 4px rgba(0, 0, 0, 0.1);
    padding: 20px;
}
section.sec1 > div > div.calendarBlock .calendar .menu {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}
section.sec1 > div > div.calendarBlock div.calendar .menu > div {
    display: flex;
    align-items: center;
    gap: 5px;
}
section.sec1 > div > div.calendarBlock div.calendar .menu > div h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
section.sec1 > div > div.calendarBlock div.calendar .menu > div h3 img {
    width: 15%;
}
section.sec1 > div > div.calendarBlock div.calendar .menu > div ul {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
}
section.sec1 > div > div.calendarBlock div.calendar .menu > div ul li {
    cursor: pointer;
    /* layout */
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* style */
    border-radius: 50px;
    border: 1px solid #ececec;
}
section.sec1 > div > div.calendarBlock div.calendar .menu > ul {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
section.sec1 > div > div.calendarBlock div.calendar .menu > ul > li span {
    display: block;
    width: 10px;
    height: 10px;
    background: #00279F;
    border-radius: 50%;
}
section.sec1 > div > div.calendarBlock div.calendar .menu > ul > li:nth-child(2) span {background: #F59DB2;}
section.sec1 > div > div.calendarBlock div.calendar .menu > ul > li {
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.2;
}
section.sec1 > div > div.calendarBlock .calendar ul.weeks {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-bottom: 10px;
}
section.sec1 > div > div.calendarBlock .calendar ul.days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    justify-content: center;
    gap: 3px;
}
section.sec1 > div > div.calendarBlock .calendar ul.days .day {
    border-radius: 5px;
    border: 1px solid #ececec;
    /* layout */
    box-sizing: border-box;
    padding: 5px;
    position: relative;
    /* typo */
    text-align: right;
    color: #272727;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
}
section.sec1 > div > div.calendarBlock div.calendar ul.days .disabled {
    border: none;
    color: #d7d7d7;
    background: #fafafa;
}
section.sec1 > div > div.calendarBlock .calendar ul.days .day::after {
    content: '';
    display: block;
    padding-bottom: 100%;
}
section.sec1 > div > div.calendarBlock div.calendar ul.days li.day > .day-inner {
    padding: 3px;
    /* position */
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /* typo */
    font-size: 13px;
    line-height: .9;
}
section.sec1 > div > div.calendarBlock div.calendar ul.days li.day > .day-inner .scheduleBox {
    display: flex;
    gap: 1.5px;
    align-items: flex-start;
    justify-content: right;
    flex-wrap: wrap;
    margin-top: 1px;
    margin-right: 2px;
}
section.sec1 > div > div.calendarBlock div.calendar ul.days li.day > .day-inner .scheduleBox .schedule {
    width: 26%;
    background: #00279F;
    border-radius: 50px;
}
section.sec1 > div > div.calendarBlock div.calendar ul.days li.day > .day-inner .scheduleBox .schedule2 {background: #F59DB2;}
section.sec1 > div > div.calendarBlock div.calendar ul.days li.day > .day-inner .scheduleBox .schedule::after {
    content: '';
    display: block;
    padding-bottom: 100%;
}
/* SECTION 1: NEW 캘린더 */
/* SECTION 1: NEW 캘린더 > 일정타입(부모교육/부모-자녀체험) */
section.sec1 > div > div.calendarBlock {position: relative;}
section.sec1 > div > div.calendarBlock ul.scheduleType {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 6px;
    right: 20px;
    top: 20px;
}
section.sec1 > div > div.calendarBlock ul.scheduleType li {
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 1.2;
}
section.sec1 > div > div.calendarBlock ul.scheduleType li > span {
    display: block;
    width: 8px;
    height: 8px;
    background: #00279F;
    border-radius: 50%;
}
section.sec1 > div > div.calendarBlock ul.scheduleType li:nth-child(2) > span {background: #F59DB2;}
/* SECTION 1: NEW 캘린더 > Fullcalendar API 내부 CSS 오버라이딩 */
/* SECTION 1: NEW 캘린더 > Fullcalendar API 내부 CSS 오버라이딩 > 캘린더 Header */
section.sec1 > div > div.calendarBlock div.fc-toolbar-chunk:nth-child(1) > div {
    display: flex;
    align-items: center;
}
section.sec1 > div > div.calendarBlock div.fc-toolbar-chunk:nth-child(1) > div h2 {margin-right: 10px;}
section.sec1 > div > div.calendarBlock div.fc-toolbar-chunk:nth-child(1) > div button {
    display: flex; 
    align-items: center; 
    justify-content: center;
    width: 30px; 
    height: 30px;
    border-radius: 100px;
    background: #ffffff;
    border: 1px solid #dddddd;
    transition: all .3s ;
    font-size: 0;
}
section.sec1 > div > div.calendarBlock div.fc-toolbar-chunk:nth-child(1) > div button svg {font-size: 18px;}
section.sec1 > div > div.calendarBlock div.fc-toolbar-chunk:nth-child(1) > div button svg path {stroke: #dddddd;}
section.sec1 > div > div.calendarBlock div.fc-toolbar-chunk:nth-child(1) > div button.fc-prev-button {margin-right: 5px;}
section.sec1 > div > div.calendarBlock div.fc-toolbar-chunk:nth-child(1) > div button.fc-next-button svg {transform: rotate(183deg);}
/* SECTION 1: NEW 캘린더 > Fullcalendar API 내부 CSS 오버라이딩 > 캘린더 Body */
.fc-theme-standard .fc-scrollgrid {border: none;}
.fc-theme-standard th {border: none;}
.fc-theme-standard td {padding: 3px; border: none;}
/* SECTION 1: NEW 캘린더 > Fullcalendar API 내부 CSS 오버라이딩 > 캘린더 Body > Day */
.fc-theme-standard td.fc-day-other > div {
    pointer-events: none;
    color: #d7d7d7;
    background: #fafafa;
    box-sizing: border-box;
    border: 1px solid transparent !important;
}
.fc .fc-daygrid-day {cursor: pointer; padding: 3px;}
.fc .fc-daygrid-day .fc-daygrid-day-top > a {line-height: .9;}
.fc .fc-daygrid-day.fc-day-today {background-color: transparent !important;}
.fc .fc-daygrid-day-number {padding: 4px !important;}
.fc .fc-daygrid-day > div {transition: all .2s linear;} 
.fc .fc-daygrid-day.fc-day-today > div{
    border: 1px solid #FFE5DD;
    box-shadow: 0px 3px 5px 1px rgba(252, 115, 71, 0.25)
}
.fc-theme-standard td > div.fc-scrollgrid-sync-inner {
    border: 1px solid #ececec;
    border-radius: 5px;
    box-sizing: border-box;
    position: relative;
}
/* SECTION 1: NEW 캘린더 > Fullcalendar API 내부 CSS 오버라이딩 > 캘린더 Body > Day > 일정 */
.fc .fc-daygrid-body-balanced .fc-daygrid-day-events {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    row-gap: 8px;
    padding: 0 3px;
}
.fc .fc-daygrid-event-harness {
    cursor: pointer;
    visibility: visible !important;
    width: 20%;
    position: relative !important;
    transition: all .1s linear;
    transform: scale(1);
    height: 0;
    margin-right: 3px;
}

/* 
* 
* 부모교육 색(rgb(245, 157, 178))의 일정이
* 부모-자녀체험일정보다 먼저 오게 한다
* ※ 추후 색상 변경 시, 코드 수정이 요구됨 ※
*
*/
.fc .fc-daygrid-event-harness:has(a[style*="background-color: rgb(245, 157, 178);"]) {order: 1;}

.fc .fc-daygrid-event-harness > a {
    height: 9px;
    border-radius: 50px;
    height: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}
.fc .fc-daygrid-event-harness > a::after {
    content: "";
    display: block;
    padding-bottom: 100%;
    background: inherit;
    border-radius: 50px;
}
.fc-h-event .fc-event-main {position: absolute;}
.fc-h-event {border: none !important;}
.fc .fc-daygrid-day-bottom {display: none;}
section.sec1 > div > div.calendarBlock div.calendar tbody div.fc-scroller {overflow: hidden !important;}
/* SECTION 1: NEW 캘린더 > 일정 팝업 */
section.sec1 > div > div.calendarBlock div.scheduleList {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 30;
    padding: 40px 20px;
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content {
    background: #f5f5f5;
    z-index: 20;
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    width: 100%;
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content div.txtBox {
    display: flex;
    justify-content: space-between;
    padding: 10px 25px 10px;
    align-items: center;
    background: #467a53;
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content div.txtBox div h2 {
    color: #ffffff;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content div.txtBox div h2 span {
    font-size: 13px;
    background: #edebeb;
    padding: 3px 10px;
    border-radius: 50px;
    color: #5d9c6d;
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content div.txtBox div p {
    font-size: 13px;
    color: #f0f0f0;
    margin-bottom: 3px;
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content div.txtBox button {
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 50px;
    color: #5d9c6d;
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content ul {
    padding: 25px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    overflow: auto;
    border: 2px solid #467a53;
    border-radius: 0 0 20px 20px;
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content ul li {
    position: relative;
    padding: 10px 15px;
    background: #ffffff;
    box-shadow: 0px 4px 10px 4px rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    border: 2px solid transparent;
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content ul li::before {
    display: block;
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 15px;
    width: 4px;
    border-radius: 50px;
    background: #00279F;
    box-shadow: 0px 0px 6px 3px rgba(0, 39, 159, 0.15);
}
section.sec1 > div > div.calendarBlock div.scheduleList > div.content ul li.schedule2::before {background: #F59DB2; box-shadow: 0px 0px 6px 3px rgba(245, 157, 178, 0.25);}
section.sec1 > div > div.calendarBlock div.scheduleList ul li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
section.sec1 > div > div.calendarBlock div.scheduleList ul li a div {width: calc(100% - 30px); margin-left: 20px;}
section.sec1 > div > div.calendarBlock div.scheduleList ul li.schedule div p {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
}
section.sec1 > div > div.calendarBlock div.scheduleList ul li.schedule div p span.sign {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50px;
    border: 3px solid #00279F;
}
section.sec1 > div > div.calendarBlock div.scheduleList ul li.schedule2 div p span.sign {border: 3px solid #F59DB2;}
section.sec1 > div > div.calendarBlock div.scheduleList ul li.schedule div p span.type {
    background: #00279F;
    border-radius: 50px;
    color: #fff;
    padding: 1px 6px;
    font-size: 11px;
}
section.sec1 > div > div.calendarBlock div.scheduleList ul li.schedule2 div p span.type {background: #F59DB2;}
section.sec1 > div > div.calendarBlock div.scheduleList ul li.schedule div h3 {
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
section.sec1 > div > div.calendarBlock div.scheduleList ul li.schedule p.go {color: #d7d7d7;}
section.sec1 > div > div.calendarBlock div.scheduleList > div.shadow {
    position: absolute;
    background: rgba(0,0,0,.2);
    width: 100%;
    height: 100%;
    pointer-events: none;
    touch-action: none;
}
/* SECTION 1: 퀵메뉴 */
section.sec1 > div > div.quickMenuBlock {
    /* layout */
    flex: 1;
    padding: 16px;
    /* style */
    background: rgba(255, 207, 207, 0.60);
    border-radius: 10px;
}
section.sec1 > div > div.quickMenuBlock ul {
    height: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
section.sec1 > div > div.quickMenuBlock ul li {
    /* layout */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    /* style */
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 20px 0px rgba(64, 61, 238, 0.40);
}
section.sec1 > div > div.quickMenuBlock ul li div:first-child {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    transition: all .2s linear ;
    /* style */
    box-shadow: 0px 0px 10px rgba(59, 54, 216, 0.1);
    border: 1px solid #D9D8FC;
    border-radius: 100px;
    padding: 3px;
}
section.sec1 > div > div.quickMenuBlock ul li div:first-child img {width: 60%; position: absolute;}
section.sec1 > div > div.quickMenuBlock ul li div:first-child::after {
    display: block;
    content: "";
    width: 100%;
    background: #E5E4FF;
    border: 3px solid #A2A0F5;
    border-radius: 100px;
    padding-bottom: calc(100% - 6px);
}
section.sec1 > div > div.quickMenuBlock ul li.menu .txtBox {
    text-align: center;
}
/* 퀵메뉴 > 2 */
section.sec1 > div > div.quickMenuBlock ul li:nth-child(2) {box-shadow: 0px 4px 20px 0px rgba(244, 102, 49, 0.50);}
section.sec1 > div > div.quickMenuBlock ul li:nth-child(2) div:first-child {
    box-shadow: 0px 0px 10px rgba(244, 102, 49, 0.1);
    border: 1px solid #FFE4DA;
}
section.sec1 > div > div.quickMenuBlock ul li:nth-child(2) div:first-child::after {
    background: #FFF0EA;
    border: 3px solid #F46631;
}
/* 퀵메뉴 > 3 */
section.sec1 > div > div.quickMenuBlock ul li:nth-child(3) {box-shadow: 0px 4px 20px 0px rgba(39, 157, 116, 0.40);}
section.sec1 > div > div.quickMenuBlock ul li:nth-child(3) div:first-child {
    box-shadow: 0px 0px 10px rgba(39, 157, 116, 0.1);
    border: 1px solid #C0DBD1;
}
section.sec1 > div > div.quickMenuBlock ul li:nth-child(3) div:first-child::after {
    background: #E2F9F1;
    border: 3px solid #279D74;
}
/* 퀵메뉴 > 4 */
section.sec1 > div > div.quickMenuBlock ul li:nth-child(4) {box-shadow: 0px 0px 10px rgba(253, 93, 146, .4);}
section.sec1 > div > div.quickMenuBlock ul li:nth-child(4) div:first-child {
    box-shadow: 0px 0px 10px rgba(253, 93, 146, .1);
    border: 1px solid #FFC9DB;
}
section.sec1 > div > div.quickMenuBlock ul li:nth-child(4) div:first-child::after {
    background: #FFECF2;
    border: 3px solid #FD5D92;
}
/* SECTION 1: SNS 메뉴 */
section.sec1 > div > div.snsBlock > ul.btns {
    padding: 5px 20px;
    background: none;
    box-shadow: none;
    gap: 5px;
    border: 2px solid #FC7347;
    background: #FC7347;
    border-radius: 15px;
}
section.sec1 > div > div.snsBlock > ul.btns li {
    background: none !important;
    width: 100%;
    border-bottom: 1px solid #ed9b80;
}
section.sec1 > div > div.snsBlock > ul.btns li:last-child {
    border: none;
}
section.sec1 > div > div.snsBlock > ul.btns li div {
    display: flex;
    /* flex-direction: column; */
    gap: 20px;
    width: 100%;
    justify-content: space-evenly;
    padding: 10px 0;
    color: #fff;
}
section.sec1 > div > div.snsBlock > ul.btns li div a {
    width: 10vw;
    height: 10vw;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    padding: 20px;
    background: #fff;
    border: 2px solid #ddd;
}
section.sec1 > div > div.snsBlock > ul.btns li div a img {
    width: 100%;
}
section.sec1 > div > div.snsBlock > ul.btns li div p {
    flex: 1;
    font-size: 3.9vw;
    font-weight: 600;
}
section.sec1 > div > div.snsBlock > ul {
    /* display */
    /* display: flex; */
    display: flex;
    flex-direction: column;
    /* grid-template-columns: repeat(2, 1fr); */
    justify-content: space-around;
    align-items: center;
    /* style */
    background: #fff;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.10);
    /* border-radius: 100px; */
    padding: 8px;
}
section.sec1 > div > div.snsBlock > ul li  {
    flex: 1;
}
section.sec1 > div > div.snsBlock > ul li > div {
    display: flex;
    align-items: center;
    justify-content: center;
}
section.sec1 > div > div.snsBlock > ul li > div a {text-align: center;}
/* SECTION 1: SNS 메뉴 > 인스타그램 */
section.sec1 > div > div.snsBlock > ul li.it {
    border-radius: 100px 0 0 100px;
    background: #FFF9F9;
}
section.sec1 > div > div.snsBlock > ul li > div a p {margin-top: 4px;}
section.sec1 > div > div.snsBlock > ul li.it > div {padding-top: 10px; padding-bottom: 10px;}
section.sec1 > div > div.snsBlock > ul li.it > div a p {color: #F42883; font-weight: bold;}
section.sec1 > div > div.snsBlock > ul li.it > div a img {height: 45px;}
/* SECTION 1: SNS 메뉴 > 충북유아 */
section.sec1 > div > div.snsBlock > ul li:nth-child(2) {
    background: #fff;
}
/* SECTION 1: SNS 메뉴 > 네이버밴드 */
section.sec1 > div > div.snsBlock > ul li.nb {
    border-radius: 0 100px 100px 0;
    background: #F4FFF5;
}
section.sec1 > div > div.snsBlock > ul li.nb > div {padding-top: 10px; padding-bottom: 10px;}
section.sec1 > div > div.snsBlock > ul li.nb > div a p {color: #19A21E;}
section.sec1 > div > div.snsBlock > ul li.nb > div a img {height: 45px;}
/* >>>>>> SECTION 2: 공지 & 팝업 <<<<<< */
section.sec2 {padding: 30px 0;}
section.sec2 > div.inner {overflow: visible;}
section.sec2 > div.inner > div + div {margin-top: 20px;}
section.sec2 > div.inner > div > div.txtBox {
    /* style */
    background: #ffffff;
    border-radius: 100px;
    box-shadow: 0px 4px 15px 0px rgba(252, 115, 71, 0.2);
    /* display */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    margin-bottom: 20px;
}
section.sec2 > div.inner > div div.txtBox h3 {
    display: flex;
    align-items: center;
}
section.sec2 > div.inner > div div.txtBox h3 img {margin-left: 15px; width: 30%;     object-fit: contain;}
section.sec2 > div.inner > div div.txtBox .txtBox-btn {
    /* layout */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 85px;
    padding: 10px 0;
    /* style */
    background: #FC7347;
    border-radius: 100px;
    color: #ffffff;
}
section.sec2 > div.inner > div div.txtBox .txtBox-btn a {
    display: flex;
    color: #ffffff;
}
section.sec2 > div.inner > div div.txtBox .txtBox-btn img {margin-right: 5px;}
/* SECTION 2: 공지사항 */
section.sec2 > div.inner > div ul.ctsBox {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
section.sec2 > div.inner > div ul.ctsBox li {
    /* style */
    background: #ffffff;
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.05);
    border-radius: 5px;
    /* display */
    padding: 5px 15px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
section.sec2 > div.inner > div ul.ctsBox li::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background: #FFB8A1;
    width: 8px;
}
section.sec2 > div.inner > div ul.ctsBox li h4 {
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    margin-bottom: 5px;
    /* typo */
    font-size: 14px;
    line-height: 1.2;
}
section.sec2 > div.inner > div ul.ctsBox li h4 p.created_at {font-size: 13px;}
/* SECTION 2: 공지 & 팝업 > 공지사항 */
section.sec2 > div.inner > div.popupBlock .txtBox > span.txtBox-btn b {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2;
}
section.sec2 > div.inner > div.popupBlock .ctsBox {
    border-radius: 20px;
    background: #FFF6E4;
    box-shadow: 0px 4px 15px 3px rgba(0, 0, 0, 0.05);
}
section.sec2 > div.inner > div.popupBlock .ctsBox .swiper .swiper-wrapper div.swiper-slide img {
    width: 100%;
    object-fit: cover;
    object-position: center;
}
section.sec2 > div.inner > div.popupBlock .ctsBox .swiper .swiper-controls {
    /* layout */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 7px 0;
    /* style */
    background: #FFF6E4;
}
section.sec2 > div.inner > div.joinBlock {

}
section.sec2 > div.inner > div.joinBlock .txtBox .moreBtn {
    width: 7vw;
    height: 7vw;
    background: #FC7347;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    cursor: pointer;
}
section.sec2 > div.inner > div.joinBlock .txtBox .moreBtn i {
    transform: rotate(0);
    transition: all .3s;
}
section.sec2 > div.inner > div.joinBlock .txtBox .moreBtn:hover > i {
    transform: rotate(45deg);
}
section.sec2 > div.inner > div.joinBlock .ctsBox {
    background: #FC7347;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 10px;
}
section.sec2 > div.inner > div.joinBlock .ctsBox .ctsBox-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    height: 100%;
    width: 100%;
    border-radius: 10px;
    gap: 15px;
    padding-top: 15px;
    padding-bottom: 15px;
}
section.sec2 > div.inner > div.joinBlock .ctsBox .thumb {
    width: 75%;
}
section.sec2 > div.inner > div.joinBlock .ctsBox .thumb  img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    height: 40vw;
}
section.sec2 > div.inner > div.joinBlock .ctsBox  .txtBox {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
section.sec2 > div.inner > div.joinBlock .ctsBox .txtBox .date {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    padding-top: 10px;
}
section.sec2 > div.inner > div.joinBlock .ctsBox .txtBox .date::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    background: #FC7347;
    height: 1px;
}
/* >>>>>> SECTION 3: 관련 사이트 <<<<<< */
section.sec3 {padding: 30px 0; position: relative;}
section.sec3::after {
    content: "";
    display: block;
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;
    background: #B4CAD4;
    height: 1px;
}
/* SECTION 3: 관련 사이트 > txtBox */
section.sec3 > div.inner > div.txtBox {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 50px;
}
section.sec3 > div.inner > div.txtBox h3 {border-bottom: 3px solid #F0FAFF;}
section.sec3 > div.inner > div.txtBox img {width: 15%;}
/* SECTION 3: 관련 사이트 > ctsBox */
section.sec3 > div.inner > div.ctsBox {
    position: relative;
}
section.sec3 > div div.swiper-site {
    padding: 0 10px;
}
section.sec3 > div div.swiper-site .swiper-wrapper > div.swiper-slide {
    display: flex;
    justify-content: center;
}
section.sec3 > div div.swiper-site .swiper-wrapper > div.swiper-slide img {width: 95%;}
section.sec3 > div div.swiper-site .swiper-wrapper > div.swiper-slide > a:last-child {
    /* layout */
    padding: 20px 0;
    width: calc(100% - 3px); /* Border 값 제외 */
    display: flex;
    align-items: center;
    justify-content: center;
    /* style */
    background: #ffffff;
    border: 1px solid #D6DCF3;
    border-radius: 10px;
    box-shadow: 0px 4px 15px 0px rgba(170, 181, 223, 0.40);
}
section.sec3 > div div.swiper-btns {
    position: absolute; 
    top: 0; 
    right: 5px; 
    left: 5px; 
    bottom: 0;
}
section.sec3 > div div.swiper-btns > div.swiper-btns-inner {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
section.sec3 > div div.swiper-btns > div.swiper-btns-inner > span {
    z-index: 20;
    cursor: pointer;
    /* layout */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    /* style */
    border-radius: 50px;
    background: #FFF;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.4);
    opacity: .8;
}
section.sec3 > div div.swiper-deco {
    display: flex;
    justify-content: space-between;
    /* position */
    position: absolute; 
    right: -52px; 
    bottom: 0;
    top: -27px;
    left: -39px;
}
section.sec3 > div div.swiper-deco > div.deco {
    opacity: .35;
}
.no-content {
    text-align: center;
}