/* common */
.subpage { overflow: hidden; position:relative; text-align: center; }
.subpage > section {padding: 90px 0; position: relative; }
.subpage > section:nth-of-type(even) {background: #f7f7f7;}
.sub_inner { padding: 0 50px; margin: 0 auto; max-width: 1400px; width: 100%; position: relative;}
/* .sub_tit {margin-bottom: 50px; } */
.sub_tit h2::before {content: ''; width:46px; height: 4px; display: block ;background-color: #192e63; margin: 0 0 20px;}

.line_tit {text-align: left; position: relative;  padding-left: 12px;  }
.line_tit::before {content: ''; display: block; width: 3px; height: 70%; background-color: #095fb7; position: absolute; left: 0; top:15%; }
.dot_tit {text-align: left; position: relative; padding-left: 12px; }
.dot_tit::before {content: ''; position: absolute; left: 0; top:14px; display: block; width: 6px; height: 6px; background-color: #000; border-radius: 50%;}

/* font size */
.fs_55 {font-size: 55px; font-weight :600; line-height: 1.2; color:#000; }
.fs_37 {font-size: 37px; font-weight :700; line-height: 1.2; color:#000; }
.fs_34 {font-size: 34px; font-weight:500; line-height: 1.32;  color:#000;  }
.fs_32 {font-size: 32px; font-weight:700; line-height: 1.57;  color:#000;  }
.fs_30 {font-size: 30px; font-weight:700; line-height: 1.6;  color:#000;  }
.fs_26 {font-size: 26px; font-weight:700; line-height: 1.57;  color:#000;  }
.fs_24 {font-size: 24px; font-weight:300; line-height: 1.67; color:#333;  }
.fs_22 {font-size: 22px; font-weight:600; line-height: 1.4; color:#000;  }
.fs_21 {font-size: 21px; font-weight:700; line-height: 1.4; color:#000;  }
.fs_20 {font-size: 20px; font-weight:300; line-height: 1.8; color:#333;  }
.fs_19 {font-size: 19px; font-weight: 400; color: #333; line-height: 1.67; letter-spacing: -.36px; }
.fs_18 {font-size: 18px; font-weight: 400; color: #333; line-height: 1.72; letter-spacing: -.36px; }
.fs_17 {font-size: 17px; font-weight: 400; color: #333; line-height: 1.72; letter-spacing: -.36px; }
.fs_16 {font-size: 16px; font-weight: 400; color: #444; line-height: 1.72; letter-spacing: -.36px; }
.fs_15 {font-size: 15px; font-weight: 400; color: #666; line-height: 1.72; letter-spacing: -.36px; }

/* btn */
.sub_btn {display: flex;align-items: center; justify-content: space-between; width: 260px; height: 60px; border:1px solid #000; border-radius: 30px;
font-size: 16px; font-weight: 500; color:#000;  transition: all .3s; padding: 0 32px; text-transform: uppercase;}
.sub_btn .arrow {  position: relative; left: 0;top:-1px; transition: all .3s; display: block; width: 9px; height: 15px;
background:url("../img/btn_arrow.png") 50%/contain no-repeat;}
.sub_btn:hover {background-color: #192e63; border-color: #192e63; color:#fff;}
.sub_btn:hover .arrow {left: 7px; background-image:url("../img/btn_arrow_hv.png") ;}

/*Content CSS*/
.subpage {text-align: left;}
.line_tit {margin-bottom: 30px;}
@media screen and (min-width:1401px) {
    .sub_inner.flex {display: flex; align-items: flex-start; }
    .sub_inner.flex .sub_tit {flex-shrink: 0; width: 380px;}
    .sub_inner.flex .cont_wrap {width: 100%;  }
}
.cont + .cont {border-top: 1px solid #ccc; margin-top:70px; padding-top: 70px; }

#sec1 .map_wr { width: 100%; height: 530px; position: relative; z-index: 1;  }
#sec1 .map_wr .wrap_map {height: 100%;}

#sec1 .info {margin: 60px 0 70px; }
#sec1 .info > div {border-bottom: 1px solid #ccc; display: flex; align-items: flex-start; padding: 40px 0;}
#sec1 .info > div:first-child {padding-top: 0;}
#sec1 .info > div:last-child {padding-bottom: 0; border-bottom: 0;}
#sec1 .info .line_tit {flex-shrink: 0; width: 180px; margin: 0;}
#sec1 .info .list {border-left: 1px solid #ccc; padding-left: 65px; width: 100%; position: relative; top:5px;}
#sec1 .info .list > li {display: flex; align-items: flex-start; text-align: left;}
#sec1 .info .list > li b {flex-shrink: 0; display: block; width: 98px;}
#sec1 .info .list > li b::before {top:13px;}
#sec1 .info .list > li:nth-child(n+2) {margin-top: 5px;}

#sec1 .sns_box {display: flex; align-items: center; width: 100%; text-align: left; height: 130px; border-radius: 15px; background-color: #32b04a; padding: 0 40px; }
#sec1 .sns_box + .sns_box {margin-top: 20px;}
#sec1 .sns_box .icon {flex-shrink: 0; width: 58px; }
#sec1 .sns_box a {display: flex ;align-items: center; justify-content: center; width: 230px; height: 45px; background: #fff; border-radius: 22.5px;
text-align: center; font-size: 14px; font-weight: 700; color:#32b04a; flex-shrink: 0; transition: all .3s; margin: 0 0 0 auto;}
#sec1 .sns_box a:hover {background-color: #c8f5d3;}
#sec1 .sns_box a i {margin-right: 5px; }
#sec1 .sns_box .desc {margin: 0 40px;}
#sec1 .sns_box h4 {color:#fff; font-weight: 700;}
#sec1 .sns_box .fs_16 {font-weight: 400; color:#fff; letter-spacing: -.4px; margin:5px 0 5px; }
#sec1 .sns_box .fs_14 {font-weight: 300; color: rgba(255, 255, 255, 0.6); }

#sec1 .sns_box.youtube {background-color: #d92c28;}
#sec1 .sns_box.youtube a {color:#d92c28;}
#sec1 .sns_box.youtube a:hover {background-color: #f9c6c3;}

#sec1 .sns_box.insta {background:url("../img/insta_bg.jpg") 50%/cover no-repeat;}
#sec1 .sns_box.insta a {color:#c91d9b;}
#sec1 .sns_box.insta a:hover {background-color: #ffe2c8;}



@media screen and (max-width:1400px) {
    /* common */
    .subpage br:not(.space) {display: none;}
    /* .sub_tit h2::before {margin: 0 auto 20px;} */

    /* content */
    .subpage {text-align: center;}
    .sub_tit h2::before {margin: 0 auto 20px;}
    .cont_wrap { margin:50px 0 0; }
    .sub_btn {margin:0 auto;}
}

@media screen and (max-width: 1024px) {
    /* common */
    /* .subpage {text-align: center;} */
    .subpage > section {padding: 70px 0; }
    .sub_inner {padding:0 30px;}
    .sub_tit h2::before {margin: 0 auto 15px;}
    .dot_tit::before {top:11px; }

    /* font size */
    .fs_55 {font-size:40px; }
    .fs_37 {font-size:30px; }
    .fs_34 {font-size: 27px;}
    .fs_32 {font-size: 26px;}
    .fs_30 {font-size: 25px;}
    .fs_26 {font-size: 21px;}
    .fs_24 {font-size: 20px;}
    .fs_22 {font-size: 19px;}
    .fs_21 {font-size: 18px; line-height: 1.4;}
    .fs_20 {font-size: 17px; line-height: 1.65;}
    .fs_19 {font-size: 17px; line-height: 1.65;}
    .fs_18 {font-size: 16px; line-height: 1.65;}
    .fs_17 {font-size: 15px; line-height: 1.65;}
    .fs_16 {font-size: 14px; line-height: 1.65;}
    .fs_15 {font-size: 13px; line-height: 1.65;}

    /* btn */
    /* .sub_btn {margin:0 auto;} */

    /* content */
    #sec1 .map_wr { height: 350px;}

    #sec1 .info .line_tit {width: 140px;}
    #sec1 .info .list {padding-left: 40px;}
    #sec1 .info .list > li b {width: 80px;}
    #sec1 .info .list > li b::before {top:10px;}

    #sec1 .sns_box {height: auto; padding: 20px 30px; }
    #sec1 .sns_box .desc {margin: 0 20px;}
    #sec1 .sns_box a {width: 200px; font-size: 14px; letter-spacing: -.5px;}

}

@media screen and (max-width: 640px) {
    /* common */
    .subpage > section {padding: 50px 0;}
    .sub_inner {padding:0 20px;}
    /* .sub_tit {margin-bottom: 20px; } */
    .dot_tit::before {top:10px; }

    /* font size */
    .fs_55 {font-size:32px; }
    .fs_37 {font-size:22px; }
    .fs_34 {font-size: 21px;}
    .fs_32 {font-size: 20px;}
    .fs_30 {font-size: 20px;}
    .fs_26 {font-size: 18px;}
    .fs_24 {font-size: 17px;}
    .fs_22 {font-size: 17px;}
    .fs_21 {font-size: 16px;}
    .fs_20 {font-size: 15px;}
    .fs_19 {font-size: 15px;}
    .fs_18 {font-size: 14px;}
    .fs_17 {font-size: 14px;}
    .fs_16 {font-size: 13px;}
    .fs_15 {font-size: 12px;}

    /* btn */
    .sub_btn {  width: 100%;   height:40px; font-size: 14px; padding: 0 20px;}
    .sub_btn .arrow {top:0; width: 7px;}

    /* content */
    .cont_wrap { margin: 30px 0 0; }
    /* .cont_wrap { margin: 20px 0 0; } */
    /* .line_tit {margin-bottom: 20px;} */
    .cont + .cont { margin-top: 40px; padding-top: 40px;}

    #sec1 .map_wr { height: 250px;}
    #sec1 .info {margin: 40px 0;}
    #sec1 .info > div {padding: 25px 0; display: block;}
    #sec1 .info .list {border:0; top:0; padding: 0; margin: 10px 0 0;}
    #sec1 .info .list > li b {width: 70px;}
    #sec1 .info .list > li b::before {top:8px;}

    #sec1 .sns_box {flex-direction: column; text-align: center; padding: 20px;}
    #sec1 .sns_box .icon {width: 40px;}
    #sec1 .sns_box .desc {margin: 15px 0 20px;}
    #sec1 .sns_box a {margin: 0 auto; height: 35px; font-size: 13px;}


}
