@charset "utf-8";

#wrap {
	width: 100%;
    position: relative;
    overflow-x: hidden;
	/* overflow: hidden; */
}

.inner {
	width: calc(100% - 4rem);
	max-width: 1435px;
	margin: 0 auto;
}

.ptb180{
    padding-top: 18rem;
    padding-bottom: 18rem;
}

.pt180{
    padding-top: 18rem;
}

.pt200{
    padding-top: 20rem;
}

.ptb200{
    padding-top: 20rem;
    padding-bottom: 20rem;
}


.bg_sky{
    background: #EDF4FA;
}

.bg_sky_gr{
    background: linear-gradient(to bottom, rgba(237,244,250,0), rgb(231,238,244));
}

.bg_sky_gr02{
    background: linear-gradient(to top, rgba(237,244,250,0), rgb(231,238,244));
}

.bg_gray{
    background: #F5F5F5;
}

.txt_center{
    text-align: center;
}

/* ################# header  ################# */

#hd {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	transition: all 0.3s;
}

#hd::after {
    content: '';
    position: absolute;
    top: 5vh; /* 헤더 높이만큼 내려서 시작 */
    left: 0;
    width: 100%;
    height: 0;
    background-color: #fff; /* 서브메뉴 전체 배경색 */
    border-radius: 0px 0px 40px 40px;
    transition: all 0.3s ease-in-out;
    z-index: -1; /* 메뉴 글자보다 뒤에 위치 */
    box-shadow: 0 10px 10px rgba(0,0,0,0.05);
}

#hd:hover::after {
    height: 34rem; /* 서브메뉴가 들어갈 충분한 높이 */
}

#hd:hover .depth02 {
    max-height: 36rem;
    opacity: 1;
    pointer-events: auto;
    padding-top: 20px;
    padding-bottom: 30px;
}

#hd .hd_wr {
    width: 100%;
	height: 10vh;
	margin: 0px auto;
	border-radius: 0px 0px 40px 40px;
	background-color: #fff;
	display: flex;
	justify-content: space-around;
	align-items: center;
    position: relative;
}

#hd .logo {
	flex: 0 0 auto;
	height: 40px;
    margin-left: 40px;
}

#hd .logo a {
	display: block;
	width: 178px;
	height: 40px;
	font-size: 0;
	background: url('/img/common/logo.png') no-repeat;
	transition: .5s;
}
#gnb {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .5s;
    margin-left: 172px;
    position: sticky;
}

#gnb>ul {
	display: flex;
}

#gnb > ul > li {
    position: static; 
}

#gnb>ul>li {
	min-width: 12rem;
	transition: all 0.22s linear;
	position: relative;
}


#gnb>ul>li>a {
	display: flex;
	width: 100%;
	font-size: 18px;
	font-weight: 500 ;
	text-align: center;
	align-items: center;
	justify-content: center;
	position: relative;
	color: #000;
}

#gnb>ul:nth-of-type(3)>li>a{
    color: #4189CB;
    margin-left:2rem;
}

#gnb>ul:nth-of-type(3)>li>a{
    margin-left: 0rem;
}

#gnb .depth01:hover .depth02 {
    height: auto;          /* 높이를 자동으로 확장 */
    opacity: 1;           /* 불투명하게 변경 */
    pointer-events: auto;
}

#gnb .depth02 {
	position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: 0; /* 평소엔 숨김 */
    opacity: 0;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    padding-top: 0;
    pointer-events: none;
    display: block; /* 가로 배열을 원하면 flex로 변경 가능 */
}

#gnb .depth02 li {
	padding: 0.8rem 0;
	text-align: center;
	font-size: 2.6rem;
}
#hd #gnb .depth02 a {
	position: relative;
	transition: .2s;
    color: #888;
    margin-left: 0rem;
}

#hd #gnb .depth02 a:hover{
    color: #2D83D2;
}


/* ################# header  ################# */


/* 햄버거, 메뉴 버튼 */
.hd_right {
	display: flex;
	justify-content: space-between;
    margin-right: 2vw;
}

.member_btn {
	display: flex;
	min-width: 50px;
	justify-content: space-between;
}
.member_btn li {
	width: 24px;
    height: 24px;
    flex-shrink: 0;
}
.hamBtn {
	width: 24px;
}
.hamBtn.act {
	position: relative;
	z-index: 100000;
}

/* 햄버거, 메뉴 버튼 */

/* 서브비주얼 */

.sub_visual {
    width: 100%;
    margin: 0 auto;
	overflow: hidden;
    position: relative;
    /* margin-top: 66px; */
}

.sub_visual .inner {
    width: 100%;
    margin: 0 auto;
    height: 550px;
    overflow: hidden;
}

.sub_visual_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
    background: no-repeat center center/cover;
    animation: zoom 2s linear both;
}

.sub_visual_bg .sub_txt_box{
    position: relative;
    top: 24rem;
    left: 0rem;
}

.sub_visual_bg .sub_bn_tit{
    font-size: 7rem;
    color: #fff;
    font-weight: 800;
    margin-bottom: 2.5rem;
}

.sub_visual_bg .sub_bn_desc{
    font-size: 2.2rem;
    color: #fff;
}


@keyframes tit_ani {
    0% {
        opacity: 0;
        transform: translate3d(0, 50%, 0);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

#snb {
	background: rgba(255, 255, 255, 0.4);
	position: relative;
	height: 6rem;
	margin-top: 49rem;
}

#snb .inner ul {
	width: 100%;
	display: flex;
    justify-content: center;
}

#snb .inner ul li {
	width: 16.5%;
	height: 60px;
}

#snb .inner ul li a{
    background: transparent;
    border-radius: 360rem;
}

#snb .inner ul li a.active{
    background-color: #4189CB;
    color: #fff;
    border-radius: 360rem;
    opacity: 1;
}

#snb .inner ul li a:hover{
    background: rgba(65,137,203,0.6);
    color: #fff;
    border-radius: 360rem;
}

#snb .inner ul li a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	transition: .5s;
	text-align: center;
}

#snb .inner ul li a:hover {
	background-color: rgba(65,137,203,0.6);
    color: #fff;
    border-radius: 360rem;
}

.mo_br{
    display: none;
}

.pc_br{
    display: block;
}


/* 서브비주얼 */

/* 서브 공통 섹션01 타이틀 */

.sub_sec_tit::before{
    content: "";
    display: block;
    border: 2px solid #2D83D2;
    width: 5rem;
    margin-bottom: 2rem;
}

.sub_sec_tit {
	font-size: 5.2rem;
	font-weight: 600;
	color: #222;
	margin-bottom: 1.6rem;
}

.sub_sec_tit_en {
	font-size: 1.8rem;
	color: #BBBBBB;
	margin-bottom: 6.0rem;
    font-family: "Sorts Mill Goudy", serif;
}
.sub_sec_desc {
	font-size: 2.5rem;
	color: #222;
	font-weight: 400;
	line-height: 1.5;
}
.sub_sec_desc strong {
	color: #4289CC;
	font-weight: 400;
    font-size: 2.5rem;
}

.sub_sec_desc::after{
    content: "";
    display: block;
    border: 1px solid #DDDDDD;
    margin-top: 2rem;
    margin-bottom: 2rem;
    width: 60rem;
}

.int_row .bot .desc{
    font-size: 2.2rem;
    line-height: 1.5;
    color: #555;
}

/* 서브 공통 섹션01 타이틀 */

/* 서브 공통 섹션 타이틀02 */

.sub_int_box{
    text-align: center;
}

.sub_int_box .sub_int_en{
    font-family: "Sorts Mill Goudy", serif;
    font-size: 1.8rem;
	color: #BBBBBB;
    margin-bottom: 1.8rem;
}

.sub_int_box .sub_int_tit{
    font-size: 4.5rem;
    font-weight: 600;
}

.sub_int_box .sub_int_tit strong{
    color: #4189CB;
    font-size: 4.5rem;
    font-weight: 600;
}

.sec03 .sub_int_box .sub_int_tit::after{
    content: "";
    display: block;
    border: 2px solid #2D83D2;
    width: 5rem;
    margin-bottom: 2rem;
    margin: 2.5rem auto;
}

.sub_int_box .sub_int_disc{
    font-size: 2.5rem;
    margin-bottom: 1.8rem;
    margin-top: 3.0rem;
}

.sub_int_box .sub_int_disc span{
    font-weight: 600;
    font-size: 2.5rem;
}

.sub_int_box .sub_int_desc{
    font-size: 2.2rem;
    font-weight: 300;
    color: #555;
    line-height: 1.5;
}

/* 서브 공통 섹션 타이틀02 */

/* 서브 dept01 섹션 타이틀 */

.sub_intro_tit_box {
    margin-bottom: 15rem;
}

.sub_intro_tit_box .sub_intro_tit_en{
    font-family: "Sorts Mill Goudy", serif;
    font-size: 2.6rem;
    color: #4289CC;
    margin-bottom: 0.5rem;
}

.sub_intro_tit_box .sub_intro_tit{
    font-size: 5.5rem;
    color: #222;
    font-weight: 600;
}

.sub_intro_tit_box .sub_intro_tit strong{
    font-size: 5.5rem;
    color: #4289CC;
    font-weight: 600;
}

.sub_intro_tit_box .sub_intro_desc{
    font-size: 3.5rem;
    font-weight: 300;
    margin-top: 6rem;
    margin-bottom: 12rem;
    line-height: 5rem;
}

.sub_intro_tit_box .sub_intro_desc span{
    font-size: 3.5rem;
    font-weight: 500;
    color: #4289CC;
}

.sub_intro_tit_box .sub_intro_desc strong{
    font-size: 3.5rem;
    color: #333;
    font-weight: 500;
}

/* 서브 dept01 섹션 타이틀 */

/* 공통 sub_BN */

.sub_scroll_BN{
    position: relative;
}

.sub_scroll_BN .sub_bn_bg{
    width: 192rem;
    height: 35rem;
    overflow: hidden;
}

.con0301 .sub_scroll_BN .sub_bn_bg{
    background: url('/img/sub/m31sub_bn_img.jpg') no-repeat;
    background-attachment: fixed;
}

.sub_scroll_BN_txt{
    color: #fff;
    text-align: center;
    position: absolute;
    top: 30%;
    left: 30%;
}

.sub_scroll_BN_txt .sub_scroll_BN_en{
    font-family: "Sorts Mill Goudy", serif;
    font-size: 1.8rem;
}

.sub_scroll_BN_txt .sub_scroll_BN_tit{
    font-size: 3.5rem;
    margin-top: 1.8rem;
    margin-bottom: 2.0rem;
    font-weight: 500;
}

.sub_scroll_BN_txt .sub_scroll_BN_desc{
    font-size: 2.2rem;
    font-weight: 300;
}

/* 공통 sub_BN */

/* con0104 둘러보기 */


.faci_slide.swiper {
    width: 1420px;
    height: 630px;
    margin-left: auto;
    margin-right: auto;
}

.faci_slide .swiper-slide {
    width: 1000px; /* 메인 이미지 가로 크기 */
    height: 630px;
    border-radius: 30px;
    overflow: hidden;
    transition: 0.6s ease;
    transform: scale(0.85); /* 양옆 이미지는 85% 크기로 */
    opacity: 0.4; /* 양옆 이미지는 흐리게 */
}


.faci_slide .swiper-slide img {
    box-shadow: 0 0 20px #00000020;
    border-radius: 30px;
}

.faci_slide .swiper-slide-active {
    transform: scale(1); /* 100% 크기 */
    opacity: 1;
    opacity: 1;
}

.faci_pagination {
    width: 100%;
    height: 115px;
    max-width: 1380px;
    margin: 0 auto 70px;
    font-size: 14px;
    position: relative;
    overflow: hidden;
}

.faci_pagination::before {
    content: "";
    display: block;
    border-bottom: 1px dashed #ccc;
    width: 1380px;
    height: 1px;
    position: absolute;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
}

.faci_pagination .swiper-wrapper {
    display: flex;
    align-items: flex-start;
}

.faci_pagination .swiper-slide {
    width: 140px;
    flex-shrink: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.faci_pagination .swiper-slide .dot {
    width: 10px;
    height: 10px;
    background: #4189CB;
    border-radius: 360px;
    display: block;
    margin-bottom: 64px;
}

.faci_pagination .swiper-slide .tit,
.faci_pagination .swiper-slide .dot {
    opacity: .2;
}


.faci_pagination .is-prev1 .tit,
.faci_pagination .is-next1 .tit,
.faci_pagination .is-prev1 .dot,
.faci_pagination .is-next1 .dot {
    opacity: .7;
}

.faci_pagination .is-prev1 .tit,
.faci_pagination .is-next1 .tit {
    transform: scale(1.2);
}

.faci_pagination .is-prev2 .tit,
.faci_pagination .is-next2 .tit,
.faci_pagination .is-prev2 .dot,
.faci_pagination .is-next2 .dot {
    opacity: .5;
}

.faci_pagination .is-prev2 .tit,
.faci_pagination .is-next2 .tit {
    transform: scale(1);
}

.faci_pagination .tit{
    font-size: 18px;
    transition: 0.4s;
}


.faci_pagination .swiper-slide-active .tit {
    opacity: 1;
    font-weight: 700;
    font-size: 32px;
}

.faci_pagination .swiper-slide-active .dot {
    opacity: 1;
}


/* .around_slide02_wr {
	position: relative;
}

.around02_pagination {
	display: flex;
	gap: 150px;
	justify-content: center;
	align-items: center;
	margin: 7rem 0;
    height: 1px;
    background: #eee;
}


.around02_pagination .swiper-pagination-bullet span {
	display: inline-block;
	font-size: 2rem;
	font-weight: 600;
	line-height: 6rem;
	color: #222;
	position: relative;
	z-index: 5;
	margin: 2rem -3rem;
}

.around02_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
	width: 100%;
}

.around02_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active span {
	color: #222;
    font-size: 3rem;
}


.around_slide02_wr .around_slide02 {
	overflow: hidden;
}

.around_slide02 .swiper-slide {
	width: 50% !important;
	display: flex;
	align-items: center;
	border-radius: 3rem;
	overflow: hidden;
	margin: 0;
	filter: brightness(0.5);
    transform: scale(0.8);
    opacity: 0;
    visibility: hidden;
    margin-top: 6rem;
}

.around_slide02 .swiper-slide-active,
.around_slide02 .swiper-slide-next,
.around_slide02 .swiper-slide-prev {
    opacity: 1;
    visibility: visible;
}

.around_slide02 .swiper-slide.swiper-slide-active {
	filter: brightness(1);
    transform: scale(1);
    position: relative;
    z-index: 10;
    opacity: 1;
}

.around_slide02 .swiper-slide .img_wr {
	width: 100%;
	max-height: 60rem;
}

.around_slide02 .swiper-slide .img_wr img {
	width: 100%;
} */

/* con0104 둘러보기 */


/* con0105 오시는길 */

.direc_desc{
    width: 51rem;
    height: 66.7rem;
}

.direc_box{
    display: flex;
    gap: 20rem;
    margin-left: 25rem ;
    margin-bottom: 10rem;
}

.direc_map .map_box{
    width: 96rem;
    height: 69.7rem;
    overflow: hidden;
    border-radius: 4rem;
}

.direc_box .root_daum_roughmap {
    width: 96rem !important;
}

.direc_box .root_daum_roughmap .wrap_map{
    height: 69.7rem !important;
}

.direc_map .root_daum_roughmap .wrap_controllers,
.direc_map .root_daum_roughmap .cont .section.lst{
    display: none;
}

/* con0105 오시는길 */

/* con0301 sec01 */

.sec01{
    position: relative;
}

.int_row{
    display: flex;
    gap: 10rem;
}

.int_row .img_box{
    width: 71rem;
    height: 50rem;
    overflow: hidden;
    border-radius: 2rem;
}

.int_row .img_box img{
    width: 100%;
}

.rolling_txt{
    position: absolute;
    top: 43rem;
    right: 17.4rem;
    animation: rolling_txt 10s linear infinite;
}

/* .rolling_txt .wh_img {
    display: none;
}
 */
.rolling_txt .blue_img{
    display: none;
}

.counsel_box .moreview_btn:hover .rolling_txt{
    top: 42.6rem;
    right: 17rem; 
}

.counsel_box .moreview_btn:hover .rolling_txt .wh_img { display: none; }
.counsel_box .moreview_btn:hover .rolling_txt .blue_img { 
    display: block;
    
}

.rolling_txt_big{
    position: absolute;
    top: 71rem;
    right: -15rem;
    animation: rolling_txt 10s linear infinite;
}

@keyframes rolling_txt{
    0%{
        rotate: 0deg;
    }
    100%{
        rotate: 360deg;
    }
}

/* con0301 sec01 */

/* con0301 sec03 */

.diff_box{
    margin: 5rem 0 9rem 20rem;
}

.diff_box ul{
    display: flex;
    gap: 10.5rem;
}

.diff_box ul li{
    width: 45rem;
    height: 51.2rem;
    border-radius: 2rem;
    overflow: hidden;
}

.diff_box ul .diff_box01{
    background: #EEEEEE;
}

.diff_box ul .diff_box02{
    background: #fff;
    border: 1px solid #4189CB;
}

.diff_box ul li .diff_list{
    width: 20rem;
    height: 5rem;
    border-radius: 36rem;
    text-align: center;
    line-height: 5rem;
    font-size: 2.5rem;
    margin: 0 auto;
    margin-top: 3.5rem;
}

.diff_box ul .diff_box01 .diff_list{
    background: #bbb;
    color: #333;
}

.diff_box ul .diff_box02 .diff_list{
    background: #4189CB;
    color: #fff;
}

.diff_box ul li .diff_img{
    width: 30rem;
    height: 30rem;
    margin: 3rem auto;
}

.diff_box ul li .diff_disc{
    font-size: 2.5rem;
    color: #333;
    text-align: center;
}

.diff_check_list{
    position: relative;
}

.diff_check_list ul{
    display: flex;
    gap: 4.2rem;
}

.diff_check_list ul li {
    width: 25rem;
    height: 25rem;
    border-radius: 25rem;
    background: #fff;
    font-size: 2.2rem;
    color: #333;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

.diff_check_list li span{
    color: #4189CB;
    font-size: 5.2rem;
}

/* con0301 sec03 */

/* con0301 sec04 */

.symp_list {
    margin: 8rem 0rem 0rem 6rem;
}

.symp_list ul{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2.0rem;
}

.symp_list ul li{
    width: 65rem;
    height: 8.6rem;
    border-radius: 1.0rem;
    background: #EDF4FA;
    font-size: 2.2rem;
    color: #222;
    line-height: 8.6rem;
    padding-left: 5rem;
}

.symp_list ul li span{
    width: 2.8rem;
    height: 2.8rem;
    border: 2px solid #AAC1D5;
    border-radius: 0.5rem;
    color: #4289CC;
    font-weight: 700;
    position: relative;
    top: 0.5rem;
    left: 0;
    margin-right: 2rem;
}

/* con0301 sec04 */

/* con0301 sec05 */

.outlook_box ul{
    display: flex;
    gap: 8.0rem;
    margin-top: 8.0rem;
}

.outlook_box ul li{
    width: 67rem;
    height: 48.5rem;
}

.outlook_box ul li figure{
    width: 67rem;
    height: 40rem;
    border-radius: 2.0rem;
    overflow: hidden;
}

.outlook_box ul li:nth-of-type(2) figure{
    border: 5px solid #4189CB;
}

.outlook_box ul li figure img{
    width: 100%;
}

.outlook_box ul li .outlook_desc{
    display: block;
    width: 20rem;
    height: 5rem;
    border-radius: 36rem;
    font-size: 2.2rem;
    text-align: center;
    line-height: 5rem;
    color: #fff;
    background: #bbb;
    margin: 3.5rem 0 0 24rem;
}

.outlook_box ul li:nth-of-type(2) .outlook_desc{
    background: #4189CB;
}

/* con0301 sec05 */

/* con0301 sec06 */

.con0301_sec06_pc{
    display: block;
}

.con0301_sec06_mo{
    display: none;
}

.cure_scroll .swiper-wrapper {
	position: relative;
}
.cure_scroll .swiper-wrapper .swiper-slide {
	padding-left: 5.8rem;
}
.cure_scroll_pagination {
	position: absolute;
	top: 9rem !important;
    left: 10rem !important;
    width: 12px !important;
	bottom: auto !important;
    display: flex;
    flex-direction: column;
    gap: 6rem;
	z-index: 1;
}

.cure_scroll_pagination::before {
	content: "";
	display: block;
	width: 0;
	height: 6.5rem;
	border-right: 1px dashed #ddd;
	position: absolute;
	z-index: -1;
	top: 1rem;
	left: 0.55rem;
}

.con0304 .cure_scroll_pagination::before,
.con0402 .cure_scroll_pagination::before {
	content: "";
	display: block;
	width: 0;
	height: 13.5rem;
	border-right: 1px dashed #ddd;
	position: absolute;
	z-index: -1;
	top: 1rem;
	left: 0.55rem;
}

.cure_scroll_pagination .swiper-pagination-bullet {
	width: 1.2rem;
	height: 1.2rem;
	margin: 0 !important;
}
.cure_scroll_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #327EC2;
}

.type_box01, 
.type_box02, 
.type_box03{
    margin: 8.0rem;
}

.type_box01 img, 
.type_box02 img, 
.type_box03 img{
    width: 56rem;
    height: 45rem;
    border-radius: 2rem;
    overflow: hidden;
}

.type_box01 > ul, 
.type_box02 > ul, 
.type_box03 > ul{
	display: flex;
	gap: 84px;
}

.type_box01 ul .type_num, 
.type_box02 ul .type_num, 
.type_box03 ul .type_num{
    width: 10rem;
    height: 3rem;
    background: #327EC2;
    border-radius: 36rem;
	font-size: 1.8rem;
	color: #fff;
    text-align: center;
    line-height: 3rem;
	margin-bottom: 2.5rem;
    margin-top: 2.3rem;
}

.type_box01 .type_tit , 
.type_box02 .type_tit, 
.type_box03 .type_tit{
	font-size: 2.8rem;
	color: #222;
	margin-bottom: 1.8rem;
    font-weight: 500;
}

.type_box01 .type_tit strong, 
.type_box02 .type_tit strong, 
.type_box03 .type_tit strong{
	color: #327EC2;
    font-size: 2.8rem;
}

.type_box01 .type_desc, 
.type_box02 .type_desc,
.type_box03 .type_desc{
	font-size: 2.2rem;
	color: #555;
    font-weight: 300;
}

.type_box01 > ul > li, 
.type_box02 > ul > li,
.type_box03 > ul > li{
	display: flex;
	flex-direction: column;
}

.type_cir_list li{
	width: 18rem;
	height: 18rem;
	border-radius: 18rem;
	background: #EDF4FA;
}

.type_cir_list ul{
	display: flex;
	position: absolute;
	top: 34rem;
	left: 72.5rem;
	gap: 3rem;
}

.type_cir_list li{
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.type_cir_list span{
	color: #4189CB;
	font-size: 4rem;
    font-weight: 400;
}

.type_cir_list .type_cir_desc{
	font-size: 20px;
	text-align: center;
}

/* con0301 sec06 */

/* con0301 sec07 */

.point_swiper{
    width: 100%;
    overflow: hidden;
    padding: 10rem 0;
}

.point_swiper .swiper-slide{
    width: 60rem;
    transition: all 0.5s;
    opacity: 0.5;
    transform: scale(1) translateY(15%);
    
}

.point_swiper .swiper-slide .more_btn,
.point_swiper .swiper-slide .point_box_desc{
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}

.point_swiper .swiper-slide .point_box_list{
    margin-top: 24rem;
    transition: all 0.3s;
}

.point_swiper .swiper-slide-active{
    opacity: 1;
    transform: scale(1.1) translateY(0);
}

.point_swiper .swiper-slide-active .more_btn,
.point_swiper .swiper-slide-active .point_box_desc{
    opacity: 1;
    visibility: visible;
}

.point_swiper .swiper-slide-active .point_box_list{
    margin-top: 0rem;
}

.point_box {
    width: 32rem;
    height: 36rem;
    margin: 0 auto;
    transition: all 0.5s;
    border-radius: 2rem;
    overflow: hidden;
    position: relative;
}

.point_swiper .swiper-slide-active .point_box{
    width: 60rem;
    height: 44.2rem;
}

.point_img img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 이미지가 찌그러지지 않게 */
}

.point_img .img_on_mo{
    display: none;
}

.point_box .point_box_txt{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    text-align: center;
}

.point_box .point_box_txt .point_box_list{
    font-family: "Sorts Mill Goudy", serif;
    font-size: 2.2rem;
    color: #fff;
    opacity: 0.5;
    margin-bottom: 1.5rem;
}

.point_box .point_box_txt .point_box_tit{
    font-size: 2.8rem;
    color: #fff;
    margin-bottom: 2.8rem;
}

.point_box .point_box_txt .point_box_desc{
    font-size: 2.2rem;
    color: #fff;
    line-height: 3.4rem;
    margin-bottom: 4.3rem;
}

.point_box_txt .more_btn{
    font-family: "Sorts Mill Goudy", serif;
    width: 20rem;
    height: 5rem;
    border: 1px solid #4289CC;
    border-radius: 33.6rem;
    margin: 0 auto;
    background: #fff;
}

.point_box_txt .more_btn p{
    color: #4289CC;
    font-size: 1.6rem;
    line-height: 4.5rem;
    margin-left: 1rem;
}

.point_box_txt .more_btn span{
    color: #4289CC;
    line-height: 2.5rem;
    position: relative;
    top: 0.5rem;
    left: 0.5rem;
}

.point_img .img_on {
    display: none; 
}

.point_img .img_off {
    display: block;
    filter: brightness(0.8); 
    opacity: 0.6;
}

.swiper-slide-active .point_img .img_on {
    display: block;
}

.swiper-slide-active .point_img .img_off {
    display: none;
    width: 32rem;
    height: 40rem;
}

.swiper-slide-active .point_img .img_off img{
    width: 100%;
}

/* 페이지네이션 컨테이너 위치 조정 */
.point_swiper .swiper-pagination {
    position: relative; /* 하단 고정 대신 흐름에 맞게 배치 */
    margin-bottom: 5rem; /* 슬라이드와의 간격 */
    bottom: 55.5rem !important; /* Swiper 기본 bottom 값 무효화 */
    display: none;
}

/* 기본 점(dot) 스타일 */
.point_swiper .swiper-pagination-bullet {
    width: 1rem;
    height: 1rem;
    background: #ccc; /* 비활성화된 점 색상 (회색) */
    opacity: 1;
    margin: 1rem 12rem !important; /* 점 사이의 간격 */
    transition: all 0.3s;
}

/* 활성화된 점(active dot) 스타일 */
.point_swiper .swiper-pagination-bullet-active {
    background: #4289CC; /* 활성화된 점 색상 (파란색) */
    width: 1rem; /* 원하면 가로로 길게 변형 가능 */
    border-radius: 0.5rem;
}

.point_swiper .swiper-pagination::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200rem; /* 선의 전체 길이 */
    height: 1px;
    background: #eee; /* 선 색상 */
    z-index: -1; /* 점 뒤로 가게 설정 */
}

/* con0301 sec07 */

/* con0701 sec03 */

.con0701_sec03_pc{
    display: block;
}

.con0701_sec03_mo{
    display: none;
}

.cure_scroll .swiper-wrapper {
	position: relative;
}
.cure_scroll .swiper-wrapper .swiper-slide {
	padding-left: 5.8rem;
}
.cure_scroll_pagination {
	position: absolute;
	top: 9rem !important;
    left: 0rem !important;
    width: 12px !important;
	bottom: auto !important;
    display: flex;
    flex-direction: column;
    gap: 6rem;
	z-index: 1;
}

.cure_scroll_pagination::before {
	content: "";
	display: block;
	width: 0;
	height: 6.5rem;
	border-right: 1px dashed #ddd;
	position: absolute;
	z-index: -1;
	top: 1rem;
	left: 0.55rem;
}

.cure_scroll_pagination .swiper-pagination-bullet {
	width: 1.2rem;
	height: 1.2rem;
	margin: 0 !important;
}

.cure_scroll_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #327EC2;
}

.type_box01, 
.type_box02{
    margin: 8.0rem 0rem;
}

.type_box01 img, 
.type_box02 img{
    width: 56rem;
    height: 45rem;
    border-radius: 2rem;
    overflow: hidden;
}

.type_box01 > ul, 
.type_box02 > ul{
	display: flex;
	gap: 100px;
}

.type_box01 ul .type_num, 
.type_box02 ul .type_num{
    width: 10rem;
    height: 3rem;
    background: #327EC2;
    border-radius: 36rem;
	font-size: 1.8rem;
	color: #fff;
    text-align: center;
    line-height: 3rem;
	margin-bottom: 2.5rem;
    margin-top: 2.3rem;
}

.con0402 .type_box01 ul .type_num, 
.con0402 .type_box02 ul .type_num,
.con0402 .type_box03 ul .type_num{
    width: 15rem;
}

.type_box01 .type_tit , 
.type_box02 .type_tit{
	font-size: 2.8rem;
	color: #222;
	margin-bottom: 1.8rem;
    font-weight: 500;
}

.type_box01 .type_tit strong, 
.type_box02 .type_tit strong{
	color: #327EC2;
    font-size: 2.8rem;
}

.type_box01 ul .type_disc, 
.type_box02 ul .type_disc{
    font-size: 2.2rem;
    color: #555;
}


.type_box01 > ul > li, 
.type_box02 > ul > li{
	display: flex;
	flex-direction: column;
}

.type_list li span{
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 0.5rem;
    border: 2px solid #AAC1D5;
	color: #4289CC;
}

.type_list{
	display: flex;
    flex-direction: column;
	gap: 3rem;
    margin-top: 2.5rem;
}

.type_list li{
	display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}

.type_desc{
	font-size: 2.0rem !important;
    color: #222 !important;
}

.type_list_bg{
    width: 71rem;
    height: 12.6rem;
    background: #fff;
    border-radius: 3rem;
    margin-top: 3rem;
}

.type_list_bg li{
    display: flex;
    gap: 1rem;
    align-items: center;
    line-height: 3rem;
    margin: 3.5rem;
}

.type_list_bg li span{
    font-size: 24px;
    color: #4189CB;
}

.type_list_bg li .type_desc{
    font-size: 2rem;
    color: #333;
}

.type_list_bg .type_desc{
    font-size: 2rem;
    color: #333;
}

/* con0701 sec03 */



/* 하단 공통 배너 */

.main_ttl_row .tag{
    font-size: 1.8rem;
    font-family: "Sorts Mill Goudy", serif;
    color: #BBBBBB;
}

.main_ttl_row .bg_ttl{
    font-size: 4.5rem;
    font-weight: 600;
    margin-top: 1.8rem;
    margin-bottom: 2.2rem;
}
.main_ttl_row .bg_ttl b{
    font-weight: 600;
    font-size: 4.5rem;
    color: #4289CC;
}

.main_ttl_row .disc{
    font-size: 2.2rem;
    line-height: 3.5rem;
}

.direc_wr{
    display: flex;
    gap: 11rem;
}

.map{
    width: 85.0rem;
    height: 78rem;
    border-radius: 2rem;
    background: #fff;
    overflow: hidden;
    margin-top: 8rem;
}

.map .map_box{
    width: 74rem;
    height: 28rem;
    border-radius: 2rem;
    overflow: hidden;
    margin: 5rem auto;
}

.map .place_desc{
    position: relative;
    margin-left: 5rem;
    border-bottom: 1px solid #EEEEEE;
    padding-bottom: 3rem;
    width: 74rem;
}

.map .place_desc .icon{
    position: absolute;
    top: 0;
    left: 0;
}

.map .place_desc p{
    font-size: 2.3rem;
    margin-left: 3rem;
}

.map .place_desc p strong{
    font-size: 2.3rem;
    color: #2D83D2;
}

.map_list {
    display: flex;
    gap: 0rem;
    margin-top: 4rem;
    margin-left: 5.5rem;
}

.map_list ul {
    width: 50%;
}

.map_list ul li {
    display: flex;
    flex-direction: row;
    margin-bottom: 1.5rem;

}

.map_list ul .cs_tit {
    color: #BBBBBB;
    margin-bottom: 2.5rem;
    font-size: 2.5rem;
}

.map_list li {
    font-size: 2.2rem;
    font-weight: 600;
}

.map_list li .cs_num{
    font-size: 4rem;
    font-weight: 800;
}

.map_list li .cs_date {
    font-size: 2.2rem;
    font-weight: 400;
    width: 30%;
}

.map_list li .cs_time {
    font-size: 2.2rem;
    font-weight: 400;
    width: 60%;
}

.map_list li .cs_rest {
    font-size: 1.8rem;
    color: #888;
    font-weight: 400;
}

.map_list .icon_flex {
    display: flex;
    gap: 1.8rem;
    margin-top: 8.8rem;
}

.counsel_box{
    width: 53rem;
    height: 78rem;
    background: url('/img/main/footer_bn_img.jpg') no-repeat;
    border-radius: 2rem;
    overflow: hidden;
    margin-top: 8.0rem;
    margin-left: 4.0rem;
}

.counsel_box .main_ttl_row{
    margin-top: 19rem;
    margin-bottom: 8rem;
}

.counsel_box .tag{
    font-size: 1.8rem;
}

.counsel_box .bg_ttl{
    font-size: 4.2rem;
    color: #fff;
}

.counsel_box .disc{
    font-size: 2.0rem;
    color: #fff;
}

.counsel_box .moreview_btn img{
    margin: 0 auto;
}


/* 하단 공통 배너 */

/* footer */

#ft{
    background-color: #9FC0DE;
    height: auto;
    overflow: hidden;
    padding-bottom: 1vw;
}

#ft .top{
    margin-top: 3.4rem;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 2rem;
}

#ft .top .ft_fnb ul {
    display: flex;
    gap: 2.5rem;
}

#ft .top .ft_fnb li a{
    font-size: 1.6rem;
    color: #fff;
}

#ft .bottom{
    margin-top: 3.7rem;
}

#ft address dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

#ft address dl dt {
    position: relative;
}

#ft address dl dd {
    position: relative;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

#ft address dl dd::before {
    content: ':';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0.4rem;
    line-height: 1.5;
}

#ft .copy {
    margin-top: 2rem;
}

#ft address * {
    font-size: 1.6rem;
    color: #fff;
    line-height: 1.5;
}

.bot_mo{
    display: none;
}

.bot_pc{
    display: block;
}

/* footer */

/* 흘러가는 글자 */
.marquee_wr {
	width: 100%;
	height: 140px;
	margin: auto;
	overflow: hidden;
	position: relative;
}

@keyframes marquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-100%);
	}
}

.marquee {
	width: 200%;
	font-size: 15rem;
	font-weight: 400;
	color: #EEEEEE;
	opacity: 0.6;
	position: absolute;
	top: -5rem;
	white-space: nowrap;
	text-transform: uppercase;
	animation: marquee 40s linear infinite;
    font-family: "Sorts Mill Goudy", serif;
}
/* 흘러가는 글자 */

