@charset "utf-8"; 

.container .contents h2{font-size: 3.6rem; font-weight: 700; color:#232323;}
.container .contents h3{font-size: 3.2rem; font-weight: 700; color:#232323;}
.container .contents h4{font-size: 2.4rem; font-weight: 600; color:#111; line-height: 1.3;}
@media(max-width:768px){
  .container .contents h2{font-size: 3.2rem;}
  .container .contents h3{font-size: 2.8rem;}
}

/* 메인 팝업존 */
.btn-popup{position: absolute; transform:rotate(-90deg); z-index: 5; margin-top:-10rem; top:50%; right:-6.5rem; width:20rem; height:7rem; line-height: 7rem; font-size: 1.6rem; color:#4936af; font-weight: 500; background: #fff; border-radius: 1rem 1rem 0 0;}
.btn-popup img{transform:rotate(-180deg); margin-left:1rem}
.pop .el{max-width: 540px;}
.pop .el .pop-contents{padding:0; min-height: 200px;}
.pop .pop-bottom{position: relative;	overflow: hidden;	height: 6rem;	line-height: 6rem; color:#fff; background: #333;}
.pop .el button.close-pop02{position: absolute; right:2rem; top:0; color:#fff; height: auto; line-height: inherit;}
.pop .form .input input[type=checkbox] + label::before,
.pop .form .input input[type=radio] + label::before{border-color:#2f2f2f; margin-right: 2px;}
.pop .func{position: absolute; z-index: 3; right: 7rem; top:1.1rem; white-space: nowrap;}
.pop .func button{width: 3rem; height: 3rem; line-height: 3.5rem; text-align: center;}
.pop .func button + button::before{position: relative; margin-right:1rem; display: inline-block; content: ""; width: 1px; height: 12px; background: rgba(255,255,255,0.1); vertical-align: middle;}
.pop .func button img{vertical-align: middle;}

/* 메인 팝업 슬라이드 */
.pop-swiper{position: relative; overflow: hidden;}
.pop-swiper .swiper-container{position: relative; max-width: 540px; width:100%; height:100%;}
.pop-swiper .swiper-container .swiper-slide img{margin:0 auto; display: block; width: 100%; height: auto;}

/* 더보기 버튼 공통 */
.btn-more{position: absolute; z-index: 3; top:0; right:0; padding:1rem 2rem; font-size: 1.6rem; color:#fff; font-weight: 400; text-align: center; background: #FF6B00; border-radius: 3.5rem;}

/* photo_event_box */
.photo_event_box {position:relative; overflow:hidden;}
.photo_event_box .photo-event-row{display: flex; flex-wrap: nowrap; justify-content: center; gap: 40px; width: 100%;}
.photo_event_box .photo-swiper,
.photo_event_box .event-swiper {position: relative; width: 49%; overflow: hidden; border-radius: 10px;border: 1px solid #E1E1E1;box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); height: 47rem;}
.photo_event_box .photo-swiper .swiper-container,
.photo_event_box .event-swiper .swiper-container {width: 100%; height: 100%;}
.photo_event_box .swiper-slide {position: relative; overflow: hidden; height: 100%;}
.photo_event_box .swiper-slide a{display: block; width: 100%; height: 100%;}
.photo_event_box .swiper-slide .thumbs{position: relative; width: 100%; height: 100%; overflow: hidden;}
.photo_event_box .swiper-slide .thumbs img{position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; object-position: center top;}
.photo_event_box .photo-swiper .swiper-slide .thumbs img{object-fit: cover;}
.photo_event_box .event-swiper .swiper-slide .thumbs img{object-fit: contain; object-position: center center;}
.photo_event_box .swiper-slide dl{position: absolute;  bottom: 2rem;left: 50%; transform: translateX(-50%); width: 59rem; height: 11rem; padding: 1.5rem; background: rgba(0, 0, 0, 0.5); box-sizing: border-box; z-index: 3; margin: 0;}
.photo_event_box .swiper-slide dl dt{ font-weight: 600;font-size: 32px;line-height: 100%;letter-spacing: 0%;vertical-align: middle;color: rgba(255, 255, 255, 0.5);margin: 0 0 1rem 0;}
.photo_event_box .swiper-slide dl dd{margin: 0; font-size: 0;}
.photo_event_box .swiper-slide dl dd span{ display: block;font-weight: 400; font-size: 16px; line-height: 100%; letter-spacing: 0%; color: rgba(255, 255, 255, 0.5);}
.photo_event_box .swiper-slide dl dd span + span{margin-top: 0.5rem;}

.photo_event_box .func{position: absolute; z-index: 2; bottom: 5rem; left: 50%; margin-left:-7rem; width: 14rem; height: 2rem; line-height: 2rem; text-align: center; z-index: 4;}
.photo_event_box .func button[aria-pressed]{display: inline-block; margin:-0.3rem 0 0 1rem;}
.photo_event_box .func button[aria-pressed][aria-pressed=false]::before,
.photo_event_box .func button[aria-pressed][aria-pressed=false]::after{position: relative; content:""; display:inline-block; width:2px; height:8px; background:#fff;}
.photo_event_box .func button[aria-pressed][aria-pressed=false]::after{left: 3px;}
.photo_event_box .func button[aria-pressed][aria-pressed=true]::before{position: relative; content:""; display: inline-block; border: 5px solid rgba(255,255,255,0); border-left: 6px solid rgba(255,255,255,1);}
.photo_event_box .func .visual-pagination-num{display: inline-block; vertical-align:baseline; position: relative; z-index: -1; font-size: 1.5rem; color:#fff; font-weight: 200;}
.photo_event_box .func .visual-pagination-num > span{display: inline-block; font-weight: 700; color:#6e4be1; }
.photo_event_box .func .visual-pagination-num > i{display: inline-block; margin:1rem 0.6rem;}
.photo_event_box .func .visual-pagination-num > i::after{position: relative; margin:0 0.5rem; display: inline-block; content: ""; width: 1px; height: 13px; background: rgba(255,255,255,0.35); vertical-align: middle; transform:rotate(30deg);}
.photo_event_box .func .swiper-button-next,
.photo_event_box .func .swiper-button-prev{display: inline-block; z-index: 4; opacity: 1; left:0; width:2.8rem; height: 2.8rem; background:url(../img/main/icon_visual_prev.svg) no-repeat 50% 50%; background-size: 7px 11px; border-radius: 50%; transition:all 0.4s ease-out 0s;}
.photo_event_box .func .swiper-button-next{left:inherit; right:0; transform:rotate(-180deg);}
.photo_event_box .func .swiper-button-next:hover,
.photo_event_box .func .swiper-button-prev:hover{opacity: 0.5;}
@media(max-width:1400px){
  .photo_event_box .func .inner{margin:0;}
}
@media(max-width:1024px){
  .photo_event_box .photo-event-row {flex-wrap: wrap;gap:20px;}
  .photo_event_box .photo-swiper,
  .photo_event_box .event-swiper{width:100%;}
  .photo_event_box .photo-swiper .swiper-slide dl{width: 100%; height: auto; padding: 1.5rem 2rem;}
  .photo_event_box .photo-swiper .swiper-slide dl dt{font-size: 2.4rem;}
  .photo_event_box .photo-swiper .swiper-slide dl dd span{font-size: 1.4rem;}
  .photo_event_box .func{bottom:4rem;}
}
@media(max-width:1023px){
	.photo_event_box {margin-top:15rem;}

}
@media(max-width:768px){
  .photo_event_box .photo-event-row{flex-direction: column; gap: 2rem;}
  .photo_event_box .photo-swiper,
  .photo_event_box .event-swiper{width: 100%; height: 30rem;}
  .photo_event_box .photo-swiper .swiper-slide dl{width: 100%; height: auto; padding: 1.5rem 2rem;}
  .photo_event_box .photo-swiper .swiper-slide dl dt{font-size: 2rem; margin-bottom: 0.8rem;}
  .photo_event_box .photo-swiper .swiper-slide dl dd span{font-size: 1.3rem; display: block;}
  .photo_event_box .photo-swiper .swiper-slide dl dd span + span{margin-left: 0; margin-top: 0.5rem;}
}
@media(max-width:420px){
}

/* news */
.news {position: relative; font-size: 0; text-align: center; overflow: hidden;}
.news .marquee {position: absolute; width: 100%; height: 62.3rem; left: 0; top: 22rem; z-index: -1; white-space: nowrap; line-height: 1; overflow: hidden; background: linear-gradient(0deg, #002D72 48.23%, #00AEEF 100%);}
.news .inner{max-width: 1328px; margin: 0 auto; text-align: left; overflow: hidden;}
.news .inner .row [class*="grid-"]{float:left; box-sizing:border-box;}
.news .inner .news-tab {position: relative; display: block; width: 100%; z-index: 3; margin-bottom: 0; white-space: nowrap; box-sizing:border-box;}
.news .inner .news-tab .el {padding-right: 0rem; box-sizing:border-box;}
.news .inner .news-tab button {height: 6.5rem; font-size: 2.4rem; font-weight: 700; color: #333; display: inline-flex; align-items: center; justify-content: center;}
.news .inner .news-tab button:last-child {margin-right: 0;}
.news .inner .news-tab button.active {color: #FFFFFF; border-radius: 20px; padding: 0rem 3rem; background: #002D72;}
.news .inner .news-tab button em{display: inline-block;}
.news .inner .news-tab button + button{margin-left: 4rem;}
.news .inner .tab-contents {position: absolute; left: 0; top: 0; visibility: hidden; opacity: 0;padding:3rem;background: #F0F5FF;border-radius: 1rem;}
.news .inner .tab-contents.active {position: relative; visibility: visible; opacity: 1;display:flex;flex-direction:column;}
.news .inner .tab-swiper {position: relative; margin:-6rem 0 0;}
.news .inner .tab-swiper .swiper-container {box-sizing:border-box; padding:6rem 0 10rem;}
.news .inner .tab-swiper .swiper-container .swiper-slide a {position: relative; display: block; height: 34rem; padding:4rem 3rem; border: 1px solid #e1e1e1; background: #fff; border-radius: 1rem; box-sizing:border-box;}
.news .inner .tab-swiper .swiper-container .swiper-slide a u[data-title="category"]{position: absolute; left:3rem; bottom:4rem; text-decoration: none; display: inline-block; padding:0.6rem 1.5rem; font-size: 1.4rem; font-weight: 400; color:#0052CC;; background: #F0F5FF;; border-radius: 3px;}
.news .inner .tab-swiper .swiper-container .swiper-slide a em{margin: 3.5rem 0 1.5rem; font-size: 1.8rem; color:#333; font-weight: 600;}
.news .inner .tab-swiper .swiper-container .swiper-slide a span{font-size: 1.5rem; font-weight: 300; color:#666;}
.news .inner .tab-swiper .swiper-container .swiper-slide a sub{font-size: 1.4rem; color: #888; font-weight: 400;}
.news .inner .tab-swiper .swiper-container .swiper-slide a sub i[data-title="일"]{display: block; margin-bottom: 0.8rem; font-size: 5rem; color:#FF6B00; font-weight: 700;}
.news .inner .tab-swiper .swiper-container .swiper-slide a sub i[data-title="월"]{display: inline-block;}
.news .inner .tab-swiper .swiper-container .swiper-slide a sub i[data-title="년"]::after{content: "."; display: inline-block; color:#888; font-size: 1.4rem;}
.news .inner .func{position: absolute; z-index: 3; right: 14rem; top:0; white-space: nowrap;}
.news .inner .func button{width: 3rem; height: 3rem; line-height: 3.5rem; text-align: center;}
.news .inner .func button + button::before{position: relative; margin-right:1.5rem; display: inline-block; content: ""; width: 1px; height: 12px; background: rgba(0,0,0,0.1); vertical-align: middle;}
.news .inner .func button img{vertical-align: middle;}    
@media (max-width: 1400px) {
  .news .inner{margin:0 2rem;}
  .news .inner .news-tab button + button{margin-left:2.5rem;}
}
@media (max-width: 1024px) {
  .news .inner .tab-swiper .swiper-container .swiper-slide a{padding:2rem;}
  .news .inner .news-tab button{font-size:2rem;height:6.5rem;}
  .news .inner .news-tab button.active{padding:0 2.5rem;}
}
@media (max-width: 768px) {
  .news {height: auto; line-height: 1;}
  .news .inner .news-tab button.active{padding:0rem 3rem;}
  .news .inner .tab-contents{padding:2rem;}
}
@media (max-width: 420px) {
  .news .inner .news-tab button {height:5rem;font-size:1.7rem;}
  .news .inner .news-tab button.active{border-radius:15px;padding:0 2rem;}
  .news .inner .news-tab button + button{margin-left:1.5rem;}
}

/* box */
.area-box{position: relative; border:1px solid #e6e6e6; padding:4rem 6rem; border-radius: 1rem 1rem 0 0;}
@media (max-width: 1400px) {
  .area-box{padding:4rem 3rem;}
}
@media (max-width: 1200px) {
  .area-box{padding:3rem 2rem;}
}
@media (max-width: 768px) {
  .area-box{padding:2rem 0;}
}
/* 폰트 색상 */
.purple{color:#563da5;}
.red{color:#d51b2b;}
.blue{color:#0052CC;}

/* 달력 table */
div:not(.ui-datepicker) table{border-top: 0; margin-top:1.5rem;border-bottom:0px;}
div:not(.ui-datepicker) table>thead>tr>th, div:not(.ui-datepicker) table>thead>tr>td{height: 5rem; border-bottom: 0; background: #fff;}
div:not(.ui-datepicker) .month-prev,div:not(.ui-datepicker) .month-next {
  position: absolute;
  width: 3.2rem;
  height: 3.2rem;
  top: 50%;
  margin-top: -1.5rem
}
div:not(.ui-datepicker) .month-prev::before,div:not(.ui-datepicker) .month-prev::after,
div:not(.ui-datepicker) .month-next::before,div:not(.ui-datepicker) .month-next::after {
  display: inline-block;
  width: inherit;
  height: inherit;
  top: 0;
}
div:not(.ui-datepicker) .month-prev i,div:not(.ui-datepicker) .month-next i {
  position: absolute;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 2px solid #111;
  border-right: 2px solid #111;
  left: 50%;
  top: 50%;
  z-index: 2
}
div:not(.ui-datepicker) .month-prev {
  transform: translateX(-5rem)
}
div:not(.ui-datepicker) .month-prev::before {
  display: none;
}
div:not(.ui-datepicker) .month-prev::after {
  left: 0;
  background: #fff;
  border: 1px solid #d7d7d7;
}
div:not(.ui-datepicker) .month-prev i {
  margin-left: -0.25rem;
  margin-top: -0.4rem;
  transform: rotate(-135deg)
}
div:not(.ui-datepicker) .month-next {
  transform: translateX(2.5rem)
}
div:not(.ui-datepicker) .month-next::before {
  display: none;
}
div:not(.ui-datepicker) .month-next::after {
  right: 0;
  background: #fff;
  border: 1px solid #d7d7d7;
}
div:not(.ui-datepicker) .month-next i {
  margin-left: -0.75rem;
  margin-top: -0.4rem;
  transform: rotate(45deg)
}
div:not(.ui-datepicker) table>tbody>tr>th,
div:not(.ui-datepicker) table>tbody>tr>td{border-bottom:0;}
div:not(.ui-datepicker) table.schedule>tbody th.able, div:not(.ui-datepicker) table.schedule>tbody td.able, div:not(.ui-datepicker) table.gs-calendar>tbody th.able, div:not(.ui-datepicker) table.gs-calendar>tbody td.none {color: #c1c1c1;}
div:not(.ui-datepicker) table.schedule>tbody th.able, div:not(.ui-datepicker) table.schedule>tbody td.able, div:not(.ui-datepicker) table.gs-calendar>tbody th.able, div:not(.ui-datepicker) table.gs-calendar>tbody td a {display: block; margin: 0 auto; width: 4.6rem; padding: 1rem; border-radius: 50%; transition: all 0.1s ease;}
div:not(.ui-datepicker) table.schedule>tbody th.able, div:not(.ui-datepicker) table.schedule>tbody td.able, div:not(.ui-datepicker) table.gs-calendar>tbody th.able, div:not(.ui-datepicker) table.gs-calendar>tbody td.able a {border:2px solid #002D72;}
div:not(.ui-datepicker) table.schedule>tbody th.today, div:not(.ui-datepicker) table.schedule>tbody td.today, div:not(.ui-datepicker) table.gs-calendar>tbody th.today, div:not(.ui-datepicker) table.gs-calendar>tbody td.today a {background: #FF6B00; border:2px solid #FF6B00;border-radius: 22.9px;}
div:not(.ui-datepicker) table.gs-calendar>tbody>tr>td,
div:not(.ui-datepicker) table>thead>tr>th,
div:not(.ui-datepicker) table>thead>tr>td,
div:not(.ui-datepicker) table>tbody>tr>th,
div:not(.ui-datepicker) table>tbody>tr>td{height: 4rem;}
div:not(.ui-datepicker) table>thead>tr>th,
div:not(.ui-datepicker) table>thead>tr>td{font-weight: 700;}
div:not(.ui-datepicker) table.schedule>tbody th.today, div:not(.ui-datepicker) table.schedule>tbody td.today, div:not(.ui-datepicker) table.gs-calendar>tbody th.today, div:not(.ui-datepicker) table.gs-calendar>tbody td.today{background: #fff;}

/* 달력 스케줄 */
.schedule{padding:3rem; font-size: 1.6rem; font-weight: 400; color:#333; background: #F0F5FF; border-radius: 0 0 1rem 1rem;}
.schedule strong{position: relative; display: block; padding-left:1rem; padding-bottom: 2rem; font-weight: 500; border-bottom:1px solid #dedeeb;}
.schedule strong::before{position: absolute; display: inline-block; width: 2px; height: 2px; left: 0; top: 0.8rem; background: #0052CC;}
.schedule ul{padding:2rem 2rem 2rem 0; height: 9.6rem; overflow-y: auto;}
.schedule ul li{position: relative; line-height: 1.4; margin-bottom: 0.7rem; padding-left:4rem;}
.schedule ul li em{position: absolute; top:0; left:0; display: block; width:4rem;}
.schedule ul::-webkit-scrollbar{width:3px; /* 세로스크롤 넓이 */ height:3px; /* 가로스크롤 높이 */}
.schedule ul::-webkit-scrollbar-track{width:3px; background:rgba(37,45,142,0.1);}
.schedule ul::-webkit-scrollbar-thumb{background:#002D72;}
@media (max-width: 768px) {
  .schedule{padding:2rem;}
  div:not(.ui-datepicker) table.gs-calendar>tbody>tr>td,
  div:not(.ui-datepicker) table>thead>tr>th,
  div:not(.ui-datepicker) table>thead>tr>td,
  div:not(.ui-datepicker) table>tbody>tr>th,
  div:not(.ui-datepicker) table>tbody>tr>td{height: 3rem;}
  div:not(.ui-datepicker) table.gs-calendar>thead>tr>th{text-align: center;}
}

/* 서비스 링크 */
.gs-service{position: relative; overflow: hidden;}
.gs-service .marquee{position: absolute; width: 100%; height: 56rem; left: 0; top: 0; z-index: -2; white-space: nowrap; line-height: 1; overflow: hidden; background:#F2F2F2;}
.gs-service .marquee::before{position: absolute; content: ""; display: block; width:50%; height: 100%; top:0; left:0; z-index: -1; background: #002D72; border-radius: 0 2rem 0 0;}
.gs-service .inner{max-width: 1328px; margin: 0 auto; text-align: left; overflow: hidden;}
.gs-service .inner .row .grid-6:first-child,
.gs-service .inner .row .grid-6:first-child h2{color:#fff;}
/* left - 텍스트링크 */
.gs-service .inner .service-link{font-size: 1.8rem; font-weight: 400; border-top:1px solid rgba(237,238,253,0.2);}
.gs-service .inner .service-link li{height: 8rem; line-height: 8rem; overflow: hidden; border-bottom:1px solid rgba(237,238,253,0.2);}
/* right- 아이콘링크 */
.gs-service .inner .service-icon-link{text-align: center; display:flex; justify-content: center; align-items: center; gap:7rem;flex-wrap: wrap;}
.gs-service .inner .service-icon-link li{display: inline-block; margin-bottom: 2rem; width:25rem; height: auto;}
.gs-service .inner .service-icon-link li:first-child{margin-left: 0 !important;}
.gs-service .inner .service-icon-link li:nth-child(3n+1){margin-left: 0;}
.gs-service .inner .service-icon-link li a{display: block; width:100%; height: 100%; /*padding: 3rem 2rem 2rem;*/ font-size: 2.2rem; text-align: center; font-weight: 500; color:#333; background: #fff; border-radius: 1rem; transition:all 0.2s ease-out 0s;}
.gs-service .inner .service-icon-link li a img{display: block; margin:0 auto 2.5rem; width: 161px;height:119px;}
.gs-service .btn-go,
.gs-service .btn-go-line{font-size: 1.5rem; font-weight: 500; vertical-align: middle;}
.gs-service .btn-go-line{padding:0.5rem 1rem; border:1px solid #fff; border-radius: 3rem;}
.gs-service .btn-go img,
.gs-service .btn-go-line img{vertical-align: middle;}
@media (max-width: 1400px) {
  .gs-service .inner{margin:0 2rem;}
  /* .gs-service .inner .service-icon-link li{width:15rem; height: 13rem;} */
  .gs-service .inner .service-icon-link li a img{height: 12rem;}
  .gs-service .inner .service-icon-link li a{padding-top: 2rem; padding-bottom: 2rem;}
}
@media (max-width: 1200px) {
  .gs-service .inner .service-icon-link {gap:1rem;}
}
@media (max-width: 1024px) {
  .gs-service .inner{margin:0;}
  .gs-service .inner .row .grid-6{background: #f2f2f2; padding:6rem 2rem;}
  .gs-service .inner .row .grid-6:first-child{background: #4d349e;}
  .gs-service .inner .service-icon-link{gap:3rem;}
  .gs-service .inner .service-icon-link li{margin-bottom: 1rem; width:calc(100% / 5 - 2rem); height: auto;}
  .gs-service .inner .service-icon-link li:nth-child(3n+1){margin-left: 2rem;}

}
@media (max-width: 768px) {
  .gs-service .inner .service-icon-link li{margin-bottom: 1rem; width:calc(100% / 3 - 1rem); height: auto;}
  .gs-service .inner .service-icon-link li a{font-size:1.8rem;}
  .gs-service .inner .service-icon-link li:nth-child(3n+1){margin-left: 0;}
}


/* 공지사항~자료실 tab */
.program a{position: relative; display: block; width:100%; overflow: hidden;background: #F0F5FF;border-bottom: 1px solid #dedeeb;}
.program a:last-child{border-bottom:none;}
.program a .state{display:flex; flex-direction:column; /* width: 100%; height:25rem; */ padding: 2.3rem 0rem; gap:2.3rem;}
.program a strong{display: block; font-size: 2rem; color:#333; font-weight:600; line-height:1.2; letter-spacing:-0.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.program a strong.ellipsis{overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.program a ul{margin-top:auto;}
.program a ul li{font-size: 1.7rem; color:#333; font-weight: 600; line-height: 1.4;}
.program a .date{display: block; font-size: 1.8rem; color:#333; line-height: 1.4;}
.program .inner .func{position: absolute; z-index: 3; right: 30px; top:200px; white-space: nowrap;}
.program .inner .func button{width: 3rem; height: 3rem; line-height: 3.5rem; text-align: center;}
.program .inner .func button + button::before{position: relative; margin-right:1.5rem; display: inline-block; content: ""; width: 1px; height: 12px; background: rgba(0,0,0,0.1); vertical-align: middle;}
.program .inner .func button img{vertical-align: middle;}  
@media (max-width: 1400px) {
  .program .inner{margin:0;}
}
@media (max-width: 1200px) {
  .program a .state{padding:2.1rem 0rem;}
}
@media (max-width: 1024px) {
  .program h3{margin-bottom:2rem; font-size: 3rem;}
}
@media (max-width: 480px) {
  .program a .state{width:100%; float: inherit;}
}

/* photo gallery */
.photo{overflow: hidden;}
.photo .photo-swiper {position: relative;}
.photo .photo-swiper .swiper-container {margin-top: 3rem;}
.photo .photo-swiper a {position: relative; display: block;}
.photo .photo-swiper a .thumbs {position: relative; height: 18.5rem; overflow: hidden; background: #F0F5FF;background-size: 20rem;  border-radius: 1rem;}
.photo .photo-swiper a .thumbs img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover;}
.photo .photo-swiper a dl {padding: 2rem 3rem; line-height: 2.5rem; box-sizing:border-box;}
.photo .photo-swiper a dl dt {margin-bottom: 1rem; font-size: 1.8rem; font-weight: 500; color:#333;}
.photo .photo-swiper a dl dd {font-size: 1.5rem; color: #666;}
.photo .inner .func{position: absolute; z-index: 3; right: 14rem; top:0; white-space: nowrap;}
.photo .inner .func button{width: 3rem; height: 3rem; line-height: 3.5rem; text-align: center;}
.photo .inner .func button + button::before{position: relative; margin-right:1.5rem; display: inline-block; content: ""; width: 1px; height: 12px; background: rgba(0,0,0,0.1); vertical-align: middle;}
.photo .inner .func button img{vertical-align: middle;}  
@media (max-width: 1024px) {
  .photo h3{margin-bottom:2rem; font-size: 3rem;}
  .photo .photo-swiper a .thumbs {height: 20vw;}
  .photo .photo-swiper a dl{padding:2rem;}
}
@media (max-width: 768px) {
  .photo .photo-swiper a .thumbs {height: 30vw;}
}
@media (max-width: 640px) {
  .photo .inner .func{right:0;}
}
@media (max-width: 420px) {
  .photo .photo-swiper a .thumbs {height: 60vw;}
}

/* 패밀리사이트 */
.family-swiper{position: relative; background: #F0F5FF;}
/*.family-swiper .inner.s{max-width: 1160px;}*/
.family-swiper .swiper-slide a{position: relative; display: block; margin:2rem 0 6rem 0; height: 7.6rem; line-height: 7.6rem; text-align: center; font-size: 0;width:auto;}
.family-swiper .swiper-slide a .family-img{border:1px solid #E1E1E1; border-top-right-radius:20px; /*max-width:29rem;*/ width:auto; height:11rem;display: flex; align-items: center;justify-content: center;background-color:#fff;}
.family-swiper .swiper-slide a img{display: block;vertical-align: middle;border-top-right-radius: 20px;}
.family-swiper .init{display: flex; align-items: center; justify-content: space-between;}
.family-swiper .btn-init{display: flex; align-items: center; justify-content: end; gap:5rem; padding-right:2rem;}
.family-swiper .btn-init button{display: flex; align-items: center; justify-content: center; width: 2.8rem; height: 2.8rem;}
.family-swiper .btn-init button span{font-size:1.6rem;font-weight: 600;line-height: 1;color:#333333;margin-left: 0.5rem;margin-right: 0.5rem;}
.family-swiper .btn-init button img{vertical-align: middle;width: 1.6rem;}
.family-swiper .btn-init button:nth-child(2){left:inherit; right:0;}
@media(max-width: 1200px) {
  .family-swiper .swiper-slide a{max-height:10rem; line-height: 10rem}
  /*.family-swiper .swiper-slide a .family-img{max-width: 25rem;}*/
  .family-swiper .init{width:100%;border-radius: 0; border: 0}
  
}
@media(max-width: 1024px) {
 /* .family-swiper .swiper-slide a .family-img{max-width: 20rem;}*/
}
@media(max-width: 640px) {
/*  .family-swiper .swiper-slide a .family-img{max-width: 20rem;}*/
}
