/* topvisual */
.topvisual { position: relative; overflow: hidden; height: 970px; max-height: 100vh; }
.topvisual .bg1 { position: absolute; width: 100%; height: 100%; top: 0; left: 0; transform-origin: center; transform: scale(1.1); animation: topvisual forwards linear 3s; }
@keyframes topvisual { 
    0% { transform: scale(1.1); }
    100% { transform: scale(1); }
}
.topvisual .topwrap { position: absolute; width: 100%; height: 100%; top: 0; left: 0; }
.topvisual .topwrap .contwrap { position: absolute; left: 50%; transform: translateX(-50%); height: 100%; }
.topvisual .topwrap .topcont { z-index: 5; position: relative; top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center; }
.topvisual .topwrap .topcont .mv_btn { margin-top: 30px; text-align: center; }
.topvisual .topwrap .topcont .mv_btn a { display: inline-block; padding: 10px 25px; font-weight: 500; font-size: 15px; color: #fff; background-color: #4b7c5f; }

.topvisual .topwrap .topcont2 { z-index: 5; position: relative; top: 100px;  height: calc(100% - 100px); left: 50%; transform: translateX(-50%); text-align: center; }
.topvisual .topwrap .topcont2 .bar { margin: 30px auto; width: 1px; height: 40%; background-color: #46731d; }
.topvisual .topwrap .topcont2 .toptext .text1 { font-family: 'NanumMyeongjo', serif; font-weight: bold; font-size: 30px; color: #3d523c; letter-spacing: -0.01em; line-height: 1.65; }
.topvisual .topwrap .topcont2 .toptext .text2 { font-family: 'NanumMyeongjo', serif; font-weight: bold; font-size: 24px; color: #3d523c; line-height: 1.65; }
.topvisual.ver2 .topwrap .topcont2 .bar { background-color: #fff; }
.topvisual.ver2 .topwrap .topcont2 .toptext .text1 { color: #fff; }
.topvisual.ver2 .topwrap .topcont2 .toptext .text2 { color: #fff; }

.topvisual.ver_main .bg1 { background: url(/image/main/top_main.jpg) no-repeat center/cover; }
.topvisual.ver_main .topwrap .topcont .img1 { width: 570px; }

.topvisual.ver_sub1 .bg1 { background: url(/image/sub/sub1/top_sub1.jpg) no-repeat center/cover; }
.topvisual.ver_sub2 .bg1 { background: url(/image/sub/sub2/top_sub2.jpg) no-repeat center/cover; }
.topvisual.ver_sub3 .bg1 { background: url(/image/sub/sub3/top_sub3.jpg) no-repeat center/cover; }
.topvisual.ver_sub4 .bg1 { background: url(/image/sub/sub4/top_sub4.jpg) no-repeat center/cover; }
.topvisual.ver_sub5 .bg1 { background: url(/image/sub/sub5/top_sub5.jpg) no-repeat center/cover; }
.topvisual.ver_sub6 .bg1 { background: url(/image/sub/sub6/top_sub6.jpg) no-repeat center/cover; }

@media (max-width: 1535px) {
    .topvisual { height: calc(500px + 27vw); }

    .topvisual.ver_main  .topwrap .topcont .img1 { width: calc(300px + 16vw); }

    .topvisual .topwrap .topcont2 { top: 100px;  height: calc(100% - 90px); }
    .topvisual .topwrap .topcont2 .bar { margin: 20px auto; }
}
@media (max-width: 1279px) {
    .topvisual { height: calc(400px + 20vw); }

    .topvisual.ver_main  .topwrap .topcont .img1 { width: calc(250px + 14vw); }

    .topvisual .topwrap .topcont2 { top: 80px;  height: calc(100% - 80px); }
}
@media (max-width: 1023px) {
    .topvisual { height: calc(300px + 15vw); }

    .topvisual.ver_main  .topwrap .topcont .img1 { width: calc(200px + 10vw); }

    .topvisual .topwrap .topcont2 { top: 70px;  height: calc(100% - 70px); }
    .topvisual .topwrap .topcont2 .bar { height: 30%; }
}
@media (max-width: 767px) {
    .topvisual .topwrap .topcont2 { top: 60px;  height: calc(100% - 60px); }
}


/* main_about */
#main_about { position: relative; padding:100px 0; overflow: hidden; background: url(/image/main/about_bg.jpg) no-repeat center/cover; }
#main_about dl { display: flex; flex-wrap: nowrap; align-items: center; }
#main_about dl dt { width: 50%; padding-right: 20px; }
#main_about dl dt img { width: 100%; }
#main_about dl dd { width: 50%; padding-left: 60px; }
#main_about dl dd .textbox { width: 100%; }
#main_about dl dd .textbox .text1 { font-weight: 700; font-size: 40px; color: #000; }
#main_about dl dd .textbox .text2 { margin: 25px 0 50px; font-size: 18px; color: #707070; line-height: 1.65; }
#main_about dl dd .textbox a { display: inline-block; padding: 14px 45px; text-align: center; font-weight: 500; font-size: 18px; color: #2da539; border: 1px solid #2da539; transition: background-color 0.3s; }
#main_about dl dd .textbox a:hover { background-color: rgba(66, 125, 74, 0.3); }
@media (max-width: 1535px) {
    #main_about dl dd { padding-left: calc(40px + 1.2vw); }
}
@media (max-width: 1023px) {
    #main_about dl dt { width: 52%; }
    #main_about dl dd { width: 48%; padding-left: calc(30px + 1.2vw); }
}
@media (max-width: 767px) {
    #main_about dl { display: block; text-align: center; }
    #main_about dl dt { width: 100%; padding-right: initial; }
    #main_about dl dt img { width: 100%; max-width: 300px; }
    #main_about dl dd { width: 100%; margin-top: 20px; padding-left: initial; }
}
@media (max-width: 560px) {
    #main_about dl dt img { max-width: 250px; }
    #main_about dl dd .textbox .text2 br { display: none; }
}
@media (max-width: 460px) {
#main_about dl dt img { max-width: 220px; }
}

/* main_location */
#main_location { position: relative; overflow: hidden; height: 750px; height: 39.0625vw; }
#main_location .locationWrap { position: relative; height: 100%; }

#main_location .locationWrap .contents1 { position: relative; height: 100%; }
#main_location .locationWrap .contents1 .bg { width: 100%; }
#main_location .locationWrap .contents1 .listText { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#main_location .locationWrap .contents1 .listText .contwrap { height: 100%; }
#main_location .locationWrap .contents1 .listText .textbox { z-index: 3; position: absolute; top: 50%; transform: translateY(-50%); padding: 80px; width: 33%; background-color: rgba(255, 255, 255, 0.8); }
#main_location .locationWrap .contents1 .listText .textbox .text1 { font-weight: 700; font-size: 30px; color: #2da539; line-height: 1.65; }
#main_location .locationWrap .contents1 .listText .textbox .text2 { font-size: 18px; color: #707070; line-height: 1.65; }
#main_location .locationWrap .contents1 .listText .textbox .link1 { display: block; margin-top: 27px; padding: 15px 5px; text-align: center; font-weight: 500; font-size: 18px; color: #2da539; border: 1px solid #2da539; transition: background-color 0.3s; }
#main_location .locationWrap .contents1 .listText .textbox .link1:hover { background-color: rgba(45, 165, 57, 0.1); }

#main_location .locationSlick,
#main_location .locationSlick .slick-track,
#main_location .locationSlick .slick-list,
#main_location .locationSlick .slick-slide,
#main_location .locationSlick .slick-slide > div
{ height: 100%; }


#main_location .locationWrap .contents1 .listText .textbox .slickdots { display: flex; flex-wrap: nowrap; justify-content: space-between; margin-top: 30px; font-size: 16px; color: #585858; }
#main_location .locationWrap .contents1 .listText .textbox .slickdots li { width: 17%; }
#main_location .locationWrap .contents1 .listText .textbox .slickdots li a { display: flex; align-items: center; justify-content: center; aspect-ratio: 1/1; background-color: #ececec; border-radius: 50%; }
#main_location .locationWrap .contents1 .listText .textbox .slickdots li.active a { background-color: #2da539; color: #fff; }

@media (max-width: 1535px) {
    #main_location .locationWrap .contents1 .listText .textbox a { padding: 13px 5px; }
}
@media (max-width: 1279px) {
    #main_location .locationWrap .contents1 .listText .textbox a { padding: 11px 5px; }
}
@media (max-width: 1023px) {
    #main_location { height: calc(300px + 17vw); }
    #main_location .locationWrap .contents1 { /* padding: 60px 0; */ }
    #main_location .locationWrap .contents1.ver1 { background: url(/image/sub/sub2/sub2_1_list1.jpg) no-repeat center/cover; }
    #main_location .locationWrap .contents1.ver2 { background: url(/image/sub/sub2/sub2_1_list2.jpg) no-repeat center/cover; }
    #main_location .locationWrap .contents1.ver3 { background: url(/image/sub/sub2/sub2_1_list3.jpg) no-repeat center/cover; }
    #main_location .locationWrap .contents1.ver4 { background: url(/image/sub/sub2/sub2_1_list4.jpg) no-repeat center/cover; }
    #main_location .locationWrap .contents1.ver5 { background: url(/image/sub/sub2/sub2_1_list5.jpg) no-repeat center/cover; }
    #main_location .locationWrap .contents1 .bg { display: none; }
    /* #main_location .locationWrap .contents1 .listText { position: relative; width: initial; height: initial; } */
    #main_location .locationWrap .contents1 .listText .textbox { /* position: relative; top: initial; transform: translateY(0);  */width: 50%; }
    #main_location .locationWrap .contents1 .listText .textbox .link1 { display: block; padding: 10px 5px; }
}
@media (max-width: 767px) {
    /* #main_location .locationWrap .contents1 { padding: 50px 0; } */
    #main_location .locationWrap .contents1 .listText .textbox .link1 { padding: 9px 17px; }
}
@media (max-width: 524px) {
    #main_location .locationWrap .contents1 .listText .textbox { width: 100%; }
    #main_location .locationWrap .contents1 .listText .textbox .link1 { display: inline-block; padding: 8px 15px; }

    #main_location .locationWrap .contents1 .listText .textbox .slickdots { max-width: 250px; }
}
@media (max-width: 460px) {
    #main_location .locationWrap .contents1 .listText .textbox .link1 { padding: 8px 15px; }
}

/* main_contact */
#main_contact { overflow: hidden; background-color: #f8f8f8; } 
#main_contact .contents1 { display: flex; flex-wrap: nowrap; }
#main_contact .contents1 .left { width: 60vw; }
#main_contact .contents1 .left .mapcont { position: relative; height: 100%; }
#main_contact .contents1 .left .mapcont .root_daum_roughmap { width: 100%; height: 100%; }
#main_contact .contents1 .left .mapcont .root_daum_roughmap .wrap_map { width: 100%; height: calc(100% - 32px); }
#main_contact .contents1 .right { width: 40vw; padding: 150px 60px; }
#main_contact .contents1 .right .textbox .text1 { font-weight: 700; font-size: 34px; color: #1a1a1a; }
#main_contact .contents1 .right .textbox dl { margin-top: 40px; display: flex; flex-wrap: nowrap; align-items: center; font-size: 18px; color: #616161; line-height: 1.38; }
#main_contact .contents1 .right .textbox dl * { font-size: inherit; color: inherit; line-height: inherit; }
#main_contact .contents1 .right .textbox dl dt { min-width: max-content; margin-right: 16px; }
#main_contact .contents1 .right .textbox dl dt img { display: inline-block; width: 68px; }
#main_contact .contents1 .right .textbox dl dd p b { display: block; font-weight: 700; color: #2da539; }
@media (max-width: 1535px) {
    #main_contact .contents1 .right { padding: 130px 50px; }
    #main_contact .contents1 .right .textbox dl { margin-top: 30px; }
    #main_contact .contents1 .right .textbox dl dt img { width: calc(30px + 2vw); }
}
@media (max-width: 1279px) {
    #main_contact .contents1 .right { padding: 110px 40px; }
}
@media (max-width: 1023px) {
    #main_contact .contents1 { display: block; }
    #main_contact .contents1 .left { width: 100%; height: calc(200px + 10vw); }
    #main_contact .contents1 .right { width: 100%; padding: 40px; }
    /* #main_contact .contents1 .right .textbox dl dt img { width: calc(30px + 2vw); } */
    #main_contact .contents1 .right .textbox dl dd p br { display: none; }
}
@media (max-width: 767px) {
    #main_contact .contents1 .right { padding: 30px; }
}
@media (max-width: 460px) {
    #main_contact .contents1 .right { padding: 30px 20px; }
}


/* main_family */
#main_family { position: relative; padding: 70px 0; }
#main_family .contents1 { text-align: center; }
#main_family .contents1 .selectbox { z-index: 1; position: relative; display: inline-block; text-align: left; }
#main_family .contents1 .selectbox .top { position: relative; display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 14px; width: 320px; border: 3px solid #dedede; font-weight: 600; font-size: 18px; color: #555; background-color: #fff; cursor: pointer; transition: background-color 0.3s; }
#main_family .contents1 .selectbox .top:hover { background-color: #efefef; }
#main_family .contents1 .selectbox .top * { font-weight: inherit; font-size: inherit; color: inherit; line-height: 1; }
#main_family .contents1 .selectbox .top img { display: inline-block; transform-origin: center; transition: transform 0.3s; width: 13px; }
#main_family .contents1 .selectbox.active .top img { transform: rotateZ(180deg); }
#main_family .contents1 .selectbox .bottom { display: none; position: absolute; left: 0; width: 100%; font-size: 16px; color: #333; border: 3px solid #dedede; border-top: none; background-color: #fff; }
#main_family .contents1 .selectbox .bottom * { font-size: inherit; color: inherit; }
#main_family .contents1 .selectbox .bottom a { display: block; width: 100%; padding: 14px; border-bottom: 1px solid #ddd; }
#main_family .contents1 .selectbox .bottom a:last-of-type { border-bottom: none ;}
#main_family .contents1 .selectbox .bottom a:hover { background-color: #eee; }

@media (max-width: 1535px) {
    #main_family .contents1 .selectbox .top { width: 300px; border: 2px solid #dedede; }
    #main_family .contents1 .selectbox .top, #main_family .contents1 .selectbox .bottom a { padding: 13px; }
    #main_family .contents1 .selectbox .top img { width: 12px; }
    #main_family .contents1 .selectbox .bottom { border: 2px solid #dedede; border-top: none; }
}
@media (max-width: 1279px) {
    #main_family .contents1 .selectbox .top { width: 260px; }
    #main_family .contents1 .selectbox .top, #main_family .contents1 .selectbox .bottom a { padding: 12px; }
    #main_family .contents1 .selectbox .top img { width: 11px; }
}
@media (max-width: 1023px) {
    #main_family .contents1 .selectbox .top { width: 230px; }
    #main_family .contents1 .selectbox .top, #main_family .contents1 .selectbox .bottom a { padding: 10px; }
    #main_family .contents1 .selectbox .top img { width: 10px; }
}
@media (max-width: 767px) {
    #main_family .contents1 .selectbox .top { width: 200px; }
    #main_family .contents1 .selectbox .top, #main_family .contents1 .selectbox .bottom a { padding: 9px; }
}