@charset "utf-8";
/* 공용 CSS = 모바일 퍼스트 */
body {
    font-family: 'Montserrat', sans-serif;
}
/* Safe Area */
.container {
    max-width: 1132px;
    margin: 0 auto;
}
/* 각 타이틀 스타일 */
.sec_title {
    font-size: 42px;
    /* (42/16) = 2.625 */
    font-size: 2.625rem;
    color: #3f51b5;
}
/* 구분선 스타일 */
.divider {
    max-width: 1132px;
    margin: 0 auto;
    height: 2px;
    background: #eee;
    margin-top: 80px;
}
/* 짧은 구분선 스타일 */
.m_divider {
    width: 20px;
    margin: 0 auto;
    height: 2px;
    background: #3f51b5;
    margin-top: 80px;
}

/* 1. Header */
header {
    padding: 18px 5%;
    /* 포지션 위치기준값 */
    position: relative;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.logo a {
    font-size: 26px;
    /* (26/16) = 1.625 */
    font-size: 1.625rem;
    color: #3f51b5;
    letter-spacing: -2px;
    font-weight: 500;
}
.gnb {
    width: 100%;
    background: #3f51b5;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 99999;
    /* 로딩시 안보이도록 코딩 */
    display: none;
}
.gnb li {
    border-bottom: 1px solid #303f9f;
}
.gnb li a {
    display: block;
    font-size: 14px;
    /* (14/16) = 0.875 */
    font-size: 0.875rem;
    padding: 14px 0 14px 5%;
}

.menu_toggle_btn {
    width: 20px;
    margin-top: 4px;
    cursor: pointer;
}
.menu_toggle_btn span {
    display: block;
    width: 20px;
    height: 2px;
    background: #303f9f;
}
.menu_toggle_btn span:nth-child(2) {
    margin: 5px 0;
}

/* 2. Slider */
.slider .slider_img {
    width: 100%;
}
.slider .slider_img img {
    width: 100%;
}

/* 3-1. Display */
.display_section {
    margin-top: 60px;
    text-align: center;
}
.display_section .sec_title {
    margin-bottom: 32px;
}
.display_section .desc {
    color: #616161;
    line-height: 2;
}

/* 3-2. Promotion */
.promotion_section {
    margin-top: 68px;
}
.promotion_list li {
    margin-top: 48px;
    text-align: center;
}
.promotion_list li:nth-child(1) {
    margin-top: 0;
}
.promotion_list li img {
    width: 52px;
    height: 52px;
}
.promotion_list li h3 {
    margin: 30px 0 20px;
}
.promotion_list li p {
    font-family: 'Noto Serif', serif;
    font-size: 0.875rem;
    color: #616161;
    line-height: 1.5;
}

/* 3-3. Work */
.work_section {
    margin-top: 80px;
}
.work_section .sec_title {
    margin: 0 auto;
    text-align: center;
    margin-bottom: 48px;
}
.work_list li {
    width: 100%;
}
.work_list li a {
    display: block;
    width: 100%;
    height: 100%;
}
.work_list li img {
    width: 100%;
}

/* 이미지 정보 효과 */
.work_list li a {
    position: relative;
}

/* a. 셀로판지 */
.work_list li a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #3f51b5;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100;
    transition: all 0.3s;
}
/* a. 호버 시 셀로판지 나타남 */
.work_list li a:hover::before {
    opacity: 0.7; 
}

/* 정보 텍스트 */
.work_list li div {
    position: absolute;
    left: 30px;
    top: 0;
    z-index: 200;
    opacity: 0;
    transition: all 0.3s;
}
.work_list li div h3 {
    font-size: 1.5rem;
    color: #fff;
    margin-bottom: 8px;
}
.work_list li div span {
    font-size: 0.6875rem;
    color: #fff;
}

/* b. 정보 텍스트 이동 효과 */
.work_list li a:hover div {
    opacity: 1;
    transform: translateY(30px); 
}

/* 3-4. Blog */
.blog_section {
    margin-top: 80px;
}
.blog_section .sec_title {
    margin-bottom: 48px;
    text-align: center;
}
.blog_list li {
    width: 100%;
    margin-top: 48px;
}
.blog_list li:nth-child(1) {
    margin-top: 0;
}
.blog_list li img {
    width: 100%;
}
.blog_list li span {
    display: block;
    font-size: 0.75rem;
    color: #9e9e9e;
    margin: 10px 0;
}
.blog_list li h3 {
    color: #424242;
    line-height: 1.6;
}

/* 3-5. Contact */
.contact_section {
    margin-top: 100px;
}
.contact_section .sec_title {
    margin-bottom: 48px;
    text-align: center;
}
input, textarea {
    border-bottom: 1px solid #757575;
    font-size: 0.75rem;
    font-family: 'Montserrat', sans-serif;
    color: #3f51b5;
}
/* input */
.form_box .form input {
    padding-bottom: 14px;
    margin-bottom: 40px;
}
/* textarea */
.form_box .txta textarea {
    height: 170px;
}
/* button */
.form_box .send_btn {
    margin-top: 36px;
    text-align: right;
}
.form_box .send_btn button {
    font-size: 0.75rem;
    color: #fff;
    background: #3f51b5;
    padding: 15px;
    cursor: pointer;
}

/* 4. Footer */
footer {
    margin-top: 100px;
    margin-bottom: 500px;
}
footer iframe {
    width: 100%;
    height: 320px;
}
footer p {
    margin: 20px 0;
    color: #000;
    text-align: center;
    font-size: 0.75rem;
}

/* 태블릿 미디어 쿼리 768px 이상 */
@media screen and (min-width:768px){
    /* 1. 태블릿 Header */
    header {
        padding: 18px 5%;
        position: relative;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .logo a {
        font-size: 26px;
        /* (26/16) = 1.625 */
        font-size: 1.625rem;
        color: #3f51b5;
        letter-spacing: -2px;
        font-weight: 500;
    }
    /* 태블릿 GNB */
    .gnb {
        /* 속성값 초기화 */
        width: auto;
        background: none;
        position: static;
        /* 태블릿 GNB 속성값 수정+추가 */
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .gnb li {
        /* 속성값 수정 */
        border-bottom: 0;
        /* 속성값 추가 */
        margin-left: 20px;
    }
    .gnb li a {
        display: block;
        font-size: 14px;
        /* (14/16) = 0.875 */
        font-size: 0.875rem;
        /* 속성값 수정 */
        padding: 5px 0 0 0;
    }
    /* Hamberger Toggle */
    .menu_toggle_btn {
        width: 20px;
        margin-top: 4px;
        cursor: pointer;
    }
    .menu_toggle_btn span {
        display: block;
        width: 20px;
        height: 2px;
        background: #303f9f;
        /* 속성값 추가 */
        display: none;
    }
    .menu_toggle_btn span:nth-child(2) {
        margin: 5px 0;
    }

    /* 3-1. 태블릿 Display */
    .display_section {
        /* 값 수정 */
        margin-top: 100px;
        text-align: center;
    }
    .display_section .sec_title {
        margin-bottom: 32px;
    }
    .display_section .desc {
        color: #616161;
        line-height: 2;
    }

    /* 3-2. 태블릿 Promotion */
    .promotion_section {
        /* 값 수정 */
        margin-top: 110px;
    }
    /* 속성 추가 */
    .promotion_list {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .promotion_list li {
        /* (768px) */
        /* 768-60 = 708/4 = 177 */
        width: 177px;
        /* (177/768)*100 = 23.046875 */
        width: 23.0469%;
        margin-left: 20px;
        /* (20/768)*100 = 2.604166666666667 */
        margin-left: 2.604166666666667%;
    }
    .promotion_list li {
        /* 값 수정 */
        margin-top: 0;
        text-align: center;
    }
    .promotion_list li:nth-child(1) {
        margin-top: 0;
        /* 속성 추가 */
        margin-left: 0;
    }
    .promotion_list li img {
        width: 52px;
        height: 52px;
    }
    .promotion_list li h3 {
        margin: 30px 0 20px;
    }
    .promotion_list li p {
        font-family: 'Noto Serif', serif;
        font-size: 0.875rem;
        color: #616161;
        line-height: 1.5;
    }

    /* 3-3. 태블릿 Work */
    .work_section {
        /* 값 수정 */
        margin-top: 100px;
    }
    .work_section .sec_title {
        margin: 0 auto;
        text-align: center;
        /* 값 수정 */
        margin-bottom: 80px;
    }
    .work_list li {
        /* 값 수정 */
        width: 50%;
    }
    .work_list li a {
        display: block;
        width: 100%;
        height: 100%;
    }
    .work_list li img {
        width: 100%;
    }
    /* 속성 추가 */
    .work_list {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    
    /* 3-4. 태블릿 Blog */
    .blog_section {
        /* 값 수정 */
        margin-top: 124px;
    }
    .blog_section .sec_title {
        margin-bottom: 48px;
        text-align: center;
    }
    /* 속성 추가 */
    .blog_list {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .blog_list li {
        /* 값 수정 */
        /* 768-40 = 728/3 = 242.6666666666667 */
        width: 242.6666666666667px;
        /* (242.6666666666667/768)*100 = 31.597222222222225 */
        width: 31.597222222222225%;
        margin-left: 20px;
        /* (20/768)*100 = 2.604166666666667 */
        margin-left: 2.604166666666667%;
        /* 값 수정 */
        margin-top: 0;
    }
    .blog_list li:nth-child(1) {
        margin-top: 0;
        /* 속성 추가 */
        margin-left: 0;
    }
    .blog_list li img {
        width: 100%;
    }
    .blog_list li span {
        display: block;
        font-size: 0.75rem;
        color: #9e9e9e;
        margin: 10px 0;
    }
    .blog_list li h3 {
        color: #424242;
        line-height: 1.6;
    }
    
    /* 3-5. 태블릿 Contact */
    .contact_section {
        /* 값 수정 */
        margin-top: 180px;
    }
    .contact_section .sec_title {
        /* 값 수정 */
        margin-bottom: 80px;
        text-align: center;
    }
    input, textarea {
        border-bottom: 1px solid #757575;
        font-size: 0.75rem;
        font-family: 'Montserrat', sans-serif;
        color: #3f51b5;
    }
    /* 속성 추가 */
    .form_box>fieldset {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .form_box .form {
        width: 374px;
        /* (374/768)*100 = 48.69791666666667 */
        width: 48.69791666666667%;
        margin-right: 20px;
        /* (20/768)*100 = 2.604166666666667 */
        margin-right: 2.604166666666667%;
    }
    .form_box .txta {
        width: 48.69791666666667%;
    }
    /* input */
    .form_box .form input {
        padding-bottom: 14px;
        margin-bottom: 40px;        
    }
    /* textarea */
    .form_box .txta textarea {
        height: 170px;
    }
    /* button */
    .form_box .send_btn {
        margin-top: 36px;
        text-align: right;
    }
    .form_box .send_btn button {
        font-size: 0.75rem;
        color: #fff;
        background: #3f51b5;
        padding: 15px;
        cursor: pointer;
    }

} /* end of tablet */


/* PC 미디어 쿼리 1132px 이상 */
@media screen and (min-width:1132px){
    /* 3-1. PC Display */
    .display_section {
        margin-top: 100px;
        /* 속성값 수정 */
        text-align: left;
    }
    .display_section .sec_title {
        /* 값수정 */
        margin-bottom: 0;
    }
    .display_section>div {
        display: flex;
        justify-content: space-between;
    }
    .display_section .desc {
        color: #616161;
        line-height: 2;
        /* 위치 기준 */
        position: relative;
        padding-left: 20px;
    }
    /* 데코 세로 막대 */
    .desc::before {
        content: "";
        display: block;
        width: 2px;
        height: 44px;
        background: #e0e0e0;
        position: absolute;
        left: 0;
        top: 10px;
        z-index: 1;
    }

    /* 3-2. PC Promotion */
    .promotion_section {
        /* 값 수정 */
        margin-top: 110px;
    }
    /* 속성 추가 */
    .promotion_list {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .promotion_list li {
        /* (1132px) */
        /* 1132-60 = 1072/4 = 268 */
        width: 268px;
        /* (268/1132)*100 = 23.674911660777383 */
        width: 23.674911660777383%;
        margin-left: 20px;
        /* (20/1132)*100 = 1.76678445229682 */
        margin-left: 1.76678445229682%;
    }
    .promotion_list li {
        /* 값 수정 */
        margin-top: 0;
        text-align: center;
    }
    .promotion_list li:nth-child(1) {
        margin-top: 0;
        /* 속성 추가 */
        margin-left: 0;
    }
    .promotion_list li img {
        width: 52px;
        height: 52px;
    }
    .promotion_list li h3 {
        margin: 30px 0 20px;
    }
    .promotion_list li p {
        font-family: 'Noto Serif', serif;
        font-size: 0.875rem;
        color: #616161;
        line-height: 1.5;
    }

    /* 3-3. PC Work */
    .work_section {
        /* 값 수정 */
        margin-top: 100px;
    }
    .work_section .sec_title {
        margin: 0 auto;
        text-align: left;
        /* 값 수정 */
        margin-bottom: 80px;
    }
    .work_list li {
        /* 값 수정 */
        width: 25%;
    }
    .work_list li a {
        display: block;
        width: 100%;
        height: 100%;
    }
    .work_list li img {
        width: 100%;
    }
    /* 속성 추가 */
    .work_list {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }

    /* 3-4. PC Blog */
    .blog_section {
        margin-top: 124px;
    }
    /* 속성 추가 */
    .blog_section>div {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }   
    .blog_section .sec_title {
        /* 값 수정 */
        margin-bottom: 0;
        text-align: center;
    }
    .blog_list {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .blog_list {
        width: 844px;
        /* (844/1132)*100 = 74.55830388692578 */
        width: 74.55830388692578%;
    }
    .blog_list li {
        /* (844px) */
        /* 844-40 = 804/3 = 268 */
        width: 268px;
        /* (268/844)*100 = 31.753554502369667 */
        width: 31.753554502369667%;
        margin-left: 20px;
        /* (20/844)*100 = 2.3696682464454977 */
        margin-left: 2.3696682464454977%;
        /* 값 수정 */
        margin-top: 0;
    }
    .blog_list li:nth-child(1) {
        margin-top: 0;
        /* 속성 추가 */
        margin-left: 0;
    }
    .blog_list li img {
        width: 100%;
    }
    .blog_list li span {
        display: block;
        font-size: 0.75rem;
        color: #9e9e9e;
        margin: 10px 0;
    }
    .blog_list li h3 {
        color: #424242;
        line-height: 1.6;
    }

    /* 3-5. PC Contact */
    .contact_section {
        margin-top: 180px;
    }
    /* 속성 추가 */
    .contact_section>div {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .contact_section .sec_title {
        margin-bottom: 80px;
        text-align: center;
    }
    input, textarea {
        border-bottom: 1px solid #757575;
        font-size: 0.75rem;
        font-family: 'Montserrat', sans-serif;
        color: #3f51b5;
    }
    /* 속성 추가 */
    .form_box {
        width: 844px;
        /* (844/1132)*100 = 74.55830388692578 */
        width: 74.55830388692578%;
    }
    .form_box>fieldset {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
    }
    /* 2단 구조 코딩 */
    /* 값 수정 */
    .form_box .form {
        /* (844px) */
        /* 844-20 = 824/2 = 412 */
        width: 412px;
        /* (412/844)*100 = 48.81516587677725 */
        width: 48.81516587677725%;
        margin-right: 20px;
        /* (20/844)*100 = 2.3696682464454977 */
        margin-right: 2.3696682464454977%;
    }
    .form_box .txta {
        width: 48.81516587677725%;
    }
    /* input */
    .form_box .form input {
        padding-bottom: 14px;
        margin-bottom: 40px;        
    }
    /* textarea */
    .form_box .txta textarea {
        height: 170px;
    }
    /* button */
    .form_box .send_btn {
        margin-top: 36px;
        text-align: right;
    }
    .form_box .send_btn button {
        font-size: 0.75rem;
        color: #fff;
        background: #3f51b5;
        padding: 15px;
        cursor: pointer;
    }

} /* end of PC */