@charset "utf-8";

* {margin: 0; padding: 0;}
li {list-style: none;}
a {text-decoration: none; color: inherit;}

body {font-family: 'Noto Sans KR', sans-serif; color: #555;}
div {box-sizing: border-box;}
.Montserrat {font-family: 'Montserrat', sans-serif;}
.Poppins {font-family: 'Poppins', sans-serif;}
/* 
font-family: 'Montserrat', sans-serif;
font-family: 'Noto Sans KR', sans-serif;
font-family: 'Poppins', sans-serif;
 */

/* 전체내용 */
.wrap {width: 100%; overflow: hidden; max-width: 2000px; margin: 0 auto;}

/* 헤더 */
header {padding: 0 15rem; display: flex; justify-content: space-between;}
    /* 로고 */
    .logo {height: 40px; margin: 25px 0;}
    .logo img {height: 40px;}

    /* 메뉴 */
    .gnb {display: flex; height: 40px; margin-top: 25px;}
    .gnb > li {width: 150px; height: 40px; line-height: 40px; text-align: center; position: relative; padding-bottom: 25px;}
    .gnb > li > a {display: block; width: 100%; height: 100%;}
    .gnb > li:hover > a {color: #2D91FF; font-weight: bold;}
    .gnb > li > ul {position: absolute; top: 65px; left: 0; width: 150px; text-align: center; background-color: #11397C; color: #fff; display: none;}
    .gnb > li > ul::before {content: ""; display: block; width: 20px; height: 20px; position: absolute; top: -10px; left: 45%; background-color: #11397C; transform: rotate(45deg);}
    .gnb > li:hover > ul {display: block;}
    .gnb > li > ul > li {height: 50px; line-height: 50px; border-bottom: 1px solid #999;}
    .gnb > li > ul > li > a {display: block; width: 100%; height: 100%;}
    .gnb > li > ul > li > a:hover {color: #2D91FF;}

    .gnb > li.fmb {width: 40px;}
    .gnb > li.fmb > div {width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center;}
    .gnb > li.fmb > div > .bar {display: blockz; height: 3px; width: 25px; background-color: #555; border-radius: 3px;}
    .gnb > li.fmb > div > .bar2 {margin: 4px 0;}


/* 메인 */
main {width: 100%;}
    /* 인트로 */
    .main_intro {padding: 0 15rem; height: 500px; display: flex; flex-direction: column; justify-content: center; align-items: center; background: no-repeat center center / cover; background-image: linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)), url(../img/main_intro_bg2.jpg); color: #fff;}
    .main_intro h2 {font-size: 50px;}
    /* 서브메뉴 */
    .sub_menu {padding: 0 15rem; background-color: #fff;}
    .sub_menu ul {display: flex; width: 100%;}
    .sub_menu ul li {width: calc(100% / 3); height: 60px; text-align: center; line-height: 60px; border-bottom: 2px solid #ddd; color: #ddd; cursor: pointer;}
    .sub_menu ul li.on {color: #2D91FF; border-bottom: 2px solid #2D91FF; font-weight: bold;}
    /* 제이윈즈 소개 */
    .introduce {padding: 150px 0;}
        /* 제목 */
        .introduce .title {text-align: center; color: #555; margin-bottom: 100px;}
        .introduce .title h3 {font-size: 40px;}
        /* 이미지 */
        .introduce .img {background: url(../img/introduce_img_bg.jpg) no-repeat center center / cover; height: 400px; width: 70%; margin-bottom: 80px; box-shadow: 10px 10px 10px #999; transform: translate(-100% , 0); opacity: 0; transition: all .5s;}
        /* 텍스트 */
        .introduce .txt {display: flex; flex-direction: column; align-items: flex-end; transform:translate(0 , 100%); opacity: 0; transition: all .5s;}
        .introduce .txt h4 {font-size: 32px; margin-bottom: 30px;}
        .introduce .txt h4 span {color: #11397C;}
        .introduce .txt p {margin-right: 15rem; color: #999;}
        .introduce .txt p span {color: #2D91FF;}
    /* 비전 */
    .vision {padding: 150px 0; position: relative; transform: translate(0 , 400px); opacity: 0; transition: all .5s;}
    .vision::before {content: ""; display: block; width: 100%; height: 50%; background-color: #efefef; position: absolute; top: 0; left: 0; z-index: -1;}
        /* 제목 */
        .vision .title {text-align: center; color: #555; margin-bottom: 100px;}
        .vision .title h3 {font-size: 40px;}
        .vision .title .explane {margin-top: 20px; color: #999;}
        /* 이미지 */
        .vision .img_wrap {display: flex; justify-content: end;}
        .vision .img {background: url(../img/vision_img_bg.jpg) no-repeat center center / cover; height: 400px; width: 70%; margin-bottom: 80px; box-shadow: -10px 10px 10px #999; transform: translate(100%, 0); opacity: 0; transition: all .5s;}
        /* 텍스트 */
        .vision .txt {display: flex; flex-direction: column; align-items: flex-start; margin-left: 15rem; transform:translate(0 , 100%); opacity: 0; transition: all .5s;}
        .vision .txt h4 {font-size: 32px; margin-bottom: 30px;}
        .vision .txt h4 span {color: #11397C;}
        .vision .txt p span {color: #2D91FF;}
    /* 현황 */
    .status {padding: 150px 15rem; background: no-repeat center center / cover; background-image: linear-gradient(rgba(17, 57, 124, .3),rgba(17, 57, 124, .3)), url(../img/status_bg.jpg); color: #fff;}
        /* 제목 */
        .status .title {text-align: center; margin-bottom: 100px;}
        .status .title h3 {font-size: 40px;}
        .status .title .explane {margin-top: 20px;}
        /* 내용 */
        .status ul {display: flex; justify-content: space-between;}
        .status ul li {width: 22%; text-align: center; background-color: rgba(0,0,0, .4); padding: 50px 0; transform:translate(0 , 100%); opacity: 0; transition: all .5s;}
        .status ul li.activea { opacity: 1; transform: translate(0,0);}
        .status ul li .large {font-size: 20px; margin-bottom: 20px;}
    /* 배너 */
    .banner {height: 500px; display: flex; justify-content: center; align-items: center; background: url(../img/leaf.png) no-repeat center center / cover; font-size: 32px; text-align: center;}
    .banner p span {color: #11397C; font-weight: bold;}
    /* 다짐 */
    .promise {padding: 150px 15rem; background: no-repeat center center / cover; background-image: linear-gradient(rgba(17, 57, 124, .7),rgba(17, 57, 124, .7)), url(../img/promise_bg1.jpg); color: #fff; background-attachment: fixed;}
        /* 제목 */
        .promise .title {text-align: center; color: #fff; margin-bottom: 100px;}
        .promise .title h3 {font-size: 40px;}
        .promise .txt {font-size: 25px; text-align: center; margin-bottom: 40px;}
        .promise .writer {text-align: center;}
    /* 사업분야 */
    .bussiness {padding: 150px 15rem;}
        /* 제목 */
        .bussiness .title {text-align: center; color: #555; margin-bottom: 100px;}
        .bussiness .title h3 {font-size: 40px;}
        .bussiness .title .explane {margin-top: 20px; color: #999;}
        /* 컨텐츠 */
        .bussiness .contents {display: flex; justify-content: center;}
            /* 시스템사업 */
            .system {width: 40%; margin-right: 10%}
            .system .img {height: 300px; background: url(../img/bussiness_img1.jpg) no-repeat center center / cover; box-shadow: 0 0 10px #ddd;}
            .system .cont p {color: #2D91FF; font-weight: bold; margin: 30px 0;}
            .system .cont ul li {text-align: center; height: 40px; line-height: 40px;}
            /* 시스템사업 */
            .SI {width: 40%;}
            .SI .img {height: 300px; background: url(../img/bussiness_img2.jpg) no-repeat center center / cover; box-shadow: 0 0 10px #ddd;}
            .SI .cont p {color: #2D91FF; font-weight: bold; margin: 30px 0;}
            .SI .cont ul li {text-align: center; height: 40px; line-height: 40px;}
    /* 사업영역 */
    .area {padding: 150px 15rem; background-color: #efefef;}
        /* 제목 */
        .area .title {text-align: center; color: #555; margin-bottom: 100px;}
        .area .title h3 {font-size: 40px;}
        /* 컨텐츠 */
        .area .contents {display: flex; justify-content: space-between;}
            .area .contents .cont p {font-weight: bold; margin: 30px 0;}
            .area .contents .cont ul li {text-align: center; height: 40px; line-height: 40px;}
    /* 오시는길 */
    .contact {padding: 150px 15rem; background: no-repeat center center / cover; background-image: linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)), url(../img/contact_bg1.jpg); background-attachment: fixed;}
        /* 제목 */
        .contact .title {text-align: center; color: #fff;}
        .contact .title h3 {font-size: 40px; margin-bottom: 40px;}
        .contact .title .add {margin-bottom: 15px;}
        .contact .map {width: 200px; height: 50px; border: 1px solid #fff; color: #fff; margin: 0 auto; margin-top: 30px; text-align: center; line-height: 50px; position: relative; z-index: 5; transition: all .5s;}
        .contact .map a {display: block; width: 100%; height: 100%;}
        .contact .map::before {content: ""; display: block; width: 0; height: 100%; position: absolute; top: 0; left: 0; background-color: #fff; transition: all .5s; z-index: -1;}
        .contact .map:hover {color: #555;}
        .contact .map:hover::before {width: 100%;}

/* 푸터 */
footer {padding: 40px 15rem 0; background-color: #333; color: #ddd;}
    /* 상단 */
    .top {display: flex; justify-content: space-between; padding-bottom: 15px; border-bottom: 1px solid #ddd;}
        /* 정보 */
        .info ul {display: flex;}
        .info ul li::after {content: "ㅣ"; margin: 0 5px;}
        .info ul li:first-of-type {padding: 0 30px 0 0;}
        .info ul li:first-of-type::after {content: "";}
        .info ul li:last-of-type::after {content: "";}
        /* 기타 */
        .etc ul {display: flex;}
        .etc ul li {cursor: pointer;}
        .etc ul li::before {content: "ㅣ"; margin: 0 5px;}
        .etc ul li:first-of-type::before {content: "";}
    /* 하단 */
    .bottom {height: 100px; display: flex; justify-content: center; align-items: center;}
        /* 카피 */

/* 상단이동 */
.move_top {width: 70px; height: 70px; border-radius: 50%; box-shadow: 0 0 10px rgba(0,0,0, .3); background-color: rgba(255, 255, 255, .2); display: flex; justify-content: center; align-items: center; position: fixed; right: 30px; bottom: 30px; color: #fff; flex-direction: column; display: none;}

@media screen and (max-width:1600px) {
    .main_intro {padding: 0 11rem;}

    .sub_menu {padding: 0 11rem;}

    .introduce .txt p {margin-right: 11rem;}

    .vision .txt {margin-left: 11rem;}

    .status {padding: 150px 11rem;}

    .promise {padding: 150px 11rem;}
    .bussiness {padding: 150px 11rem;}
    .area {padding: 150px 11rem;}
    .contact {padding: 150px 11rem;}
}

@media screen and (max-width:1400px) {
    .introduce .title h3 {font-size: 32px;}
    .introduce .txt h4 {font-size: 28px;}
    .vision .title h3 {font-size: 32px;}
    .vision .txt h4 {font-size: 28px;}
    .status .title h3 {font-size: 32px;}
    .status ul li .large {font-size: 18px;}
    .banner {font-size: 28px;}
    .promise .title h3 {font-size: 32px;}
    .promise .txt {font-size: 20px;}
    .bussiness .title h3 {font-size: 32px;}
    .area .title h3 {font-size: 32px;}
    .contact .title h3 {font-size: 32px;}

    body {font-size: .9rem;}
}

@media screen and (max-width: 1250px) {
    .main_intro {padding: 0 8rem; height: 400px;}

    .sub_menu {padding: 0 8rem;}

    .introduce {padding: 4rem 0;}
    .introduce .title {margin-bottom: 40px;}
    .introduce .img {margin-bottom: 40px; height: 350px;}
    .introduce .txt p {margin-right: 8rem;}

    .vision {padding: 4rem 0;}
    .vision .title {margin-bottom: 40px;}
    .vision .img {height: 350px; margin-bottom: 40px;}
    .vision .txt {margin-left: 8rem;}

    .status {padding: 4rem 8rem;}
    .status ul li {padding: 20px 0; width: 24%;}
    .status .title {margin-bottom: 40px;}

    .banner {height: 400px;}

    .promise {padding: 4rem 8rem;}
    .promise .title {margin-bottom: 40px;}
    
    .bussiness {padding: 4rem 8rem;}
    .bussiness .title {margin-bottom: 40px;}
    .system .img {height: 200px;}
    .SI .img {height: 200px;}
    .system .cont p {margin: 20px 0;}
    .SI .cont p {margin: 20px 0;}

    .area {padding: 4rem 8rem;}
    .area .title {margin-bottom: 40px;}
    .area .contents .cont p {margin: 20px 0;}

    .contact {padding: 4rem 8rem;}

}

@media screen and (max-width: 1000px) {

    .main_intro {padding: 0 3rem; height: 300px;}
    .main_intro h2 {font-size: 40px;}

    .sub_menu {padding: 0 3rem;}
    .sub_menu ul li {height: 50px; line-height: 50px;}

    .introduce {padding: 3rem 0;}
    .introduce .title h3 {font-size: 25px;}
    .introduce .img {height: 250px;}
    .introduce .txt h4 {font-size: 20px;}
    .introduce .txt p {margin-right: 3rem;}

    .vision {padding: 3rem 0;}
    .vision .title h3 {font-size: 25px;}
    .vision .img {height: 250px;}
    .vision .txt {margin-left: 3rem;}
    .vision .txt h4 {font-size: 20px;}

    .status {padding: 3rem;}
    .status .title h3 {font-size: 25px;}

    .banner {height: 300px; font-size: 25px;}

    .promise {padding: 3rem;}
    .promise .title h3 {font-size: 25px;}
    .promise .txt {font-size: 20px;}

    .bussiness {padding: 3rem;}
    .bussiness .title h3 {font-size: 25px;}

    .area {padding: 3rem;}
    .area .title h3 {font-size: 25px;}
    .area .contents {justify-content: center;}
    .area .contents > div {margin-right: 40px;}
    .area .contents > div:last-of-type {margin-right: 0;}

    .contact {padding: 3rem;}
    .contact .title h3 {font-size: 25px;}

    body {font-size: .8rem;}
}

@media screen and (max-width: 640px) {

    .main_intro {height: 200px;}
    .main_intro h2 {font-size: 30px;}

    .introduce .img {height: 150px; }
    .introduce .txt {padding-left: 3rem;}

    .vision .img {height: 150px;}

    .status ul {display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 20px 0;}
    .status ul li {width: 90%; margin: 0 auto;}
    .status ul li .large {font-size: 16px;}

    .banner {height: 250px;}

    .promise .txt {font-size: 16px; margin-bottom: 20px;}
    .promise .title {margin-bottom: 20px;}

    .system .img {height: 150px;}
    .SI .img {height: 150px;}
    .system .cont ul li {height: 30px; line-height: 30px;}
    .SI .cont ul li {height: 30px; line-height: 30px;}

    .area .title {margin-bottom: 30px;}
    .area .contents {margin-bottom: 0;}
    .area .contents div .cont ul {display: none;}
    .area .contents > div {margin-right: 0; position: relative;}
    .area .contents div p::after {content: "ㅣ"; margin: 20px;}
    .area .contents div.SI_A p::after {content: ""; margin: 0;}

    .contact .title h3 {margin-bottom: 20px;}

}

@media screen and (max-width: 440px) {
    .main_intro {height: 150px; padding: 1rem;}
    .main_intro h2 {font-size: 25px;}

    .sub_menu {padding: 0;}
    .sub_menu ul li {height: 40px; line-height: 40px;}

    .introduce {padding: 2rem 0;}
    .introduce .title {margin-bottom: 20px;}
    .introduce .title h3 {font-size: 20px;}
    .introduce .img {height: 100px; margin-bottom: 20px; box-shadow: 5px 5px 5px #999;}
    .introduce .txt h4 {font-size: 16px; margin-bottom: 15px;}
    .introduce .txt p {margin-right: 1rem;}

    .vision {padding: 2rem 0;}
    .vision .title {margin-bottom: 20px;}
    .vision .title h3 {font-size: 20px;}
    .vision .title .explane {padding: 0 1rem;}
    .vision .img {height: 100px; margin-bottom: 20px; box-shadow: -5px 5px 5px #999;}
    .vision .txt {margin-left: 1rem;}
    .vision .txt h4 {font-size: 16px; margin-bottom: 15px;}

    .status {padding: 2rem 1rem;}
    .status .title {margin-bottom: 20px;}
    .status .title h3 {font-size: 20px;}
    .status ul {grid-template-columns: repeat(1, 1fr);}
    .status ul li {padding: 10px 0;}
    .status ul li .large {margin-bottom: 10px;}

    .banner {padding: 1rem 0; font-size: 18px; height: 150px;}

    .promise {padding: 2rem 1rem;}
    .promise .title h3 {font-size: 20px;}
    .promise .txt {font-size: 14px; line-height: 16px;}

    .bussiness {padding: 2rem 1rem;}
    .bussiness .title {margin-bottom: 5px;}
    .bussiness .title h3 {font-size: 20px;}
    .system .img {height: 0;}
    .SI .img {height: 0;}

    .area {padding: 2rem 1rem;}
    .area .title {margin-bottom: 20px;}
    .area .title h3 {font-size: 20px;}
    .area .contents {display: block;}
    .area .contents .cont p {margin: 10px 0;}
    .area .contents div p::after {content: ""; margin: 0;}

    .contact {padding: 2rem 1rem;}
    .contact .title h3 {font-size: 20px;}
    .contact .map {width: 150px; height: 40px; line-height: 40px;}

    body {font-size: .7rem;}
}