@media screen and (max-width:1440px) {
    #hd_pop,
    #tnb .inner,
    #gnb .gnb_wrap,
    #hd_wrapper,
    .wrap, #ft_wr{
        /*width: 1000px;*/
        width: 100%;
        padding: 0 20px;
    }

    .fields li .field_icon {
        width: 200px;
        height: 200px;
    }
}

@media screen and (max-width:1400px) {
    .about_cont_mp:after{
        top:-200px;
        right: 0;
    }
    .fields:before{
        display: none;
    }
    #portfolio .tabs .wrap{
        width: 70vw;
    }
}

@media screen and (max-width:1240px) {
    #gnb .gnb_al_ul > li a {
        font-size: 1rem;
    }
    .fields .wrap{
        display: block;
        overflow:hidden;
    }
    .fields li{
        display: inline-block;
        float: left;
        padding:0;
        margin-bottom: 5vw;
        width: 50%;
        text-align: center;
    }
    .fields li .field_icon{
        margin: 0 auto;
    }
    #portfolio .tabs .wrap {
        width: 90vw;
    }
    .pf_lt li {
        width: 31%;
        height: 15vw;
        margin: 0 1% 1vh;
    }
    .notice li a,
    .notice li.empty_li {
        width: 98%;
        padding: 3vh 1vw;
    }
    .post_previw {
        margin-top: 2vw;
        font-size: 1rem;
    }
    .post_previw p{
        font-size: 1rem;
    }
    .contact_info {
        width: 46vw;
        padding:0 10px 0 0;
    }

}

@media screen and (max-width:720px) {
    .mo{
        display: block;
    }
    .pc{
        display: none;
    }
    #hd{
        height: 74px;
    }
    #hd_wrapper{
        padding: 0;
    }
    .gnb_open{
        width:5vw;
        height:5vw;
        min-width:24px;
        min-height:24px;
        margin-right: 20px;
        background: url('../img/mobile/btn_gnb.png') no-repeat center / contain;
        font-size: 0;
    }
    #gnb{
        display: none;
        position: fixed;
        width: 100vw;
        height: 100vh;
        top:0;
        background:#fff url('../img/mobile/gnb_bg_symbol.png') no-repeat right bottom;
    }
    #gnb.show{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .logo {
        width: 40%;
        margin-left: 20px;
    }
    #gnb .gnb_al_ul {
        flex-direction: column;
        align-items: center;
        margin-bottom: 20vh;
    }
    #gnb .gnb_al_ul > li {
        margin: 0 auto 2.5vh;
    }
    #gnb .gnb_al_ul > li a {
        font-size: 2rem;
    }
    #main_banner {
        height: 100vh;
        margin-top: -150px;
    }
    .main_lg_txt {
        width: 80vw;
        margin: 0 auto 5vw;
        font-size: 2rem;
    }
    .main_sm_txt{
        width: 80vw;
        margin: 0 auto;
        font-size: 1rem;
    }
    .cat_ttl{
        margin-bottom: 8vw;
        transform: translateY(0);
        opacity: 1;
    }
    .cont_lg_txt {
        font-size: 2rem;
    }
    #about {
        margin: 12vw auto;
    }
    .about_cont_pr .cont_lg_txt {
        margin: 0 5vw 8vw;
    }
    .about_cont_pr .cont_sm_txt{
        margin: 0 5vw 8vw;
    }
    .about_cont_mp{
        background: none;
    }
    .about_cont_mp:after{
        display: none;
    }
    .about_cont_mp .cont_lg_txt {
        font-weight: 600;
        margin: 3vw 0 15vw;
    }
    .about_cont_mp p.cont_sm_txt {
         margin-bottom: 0;
     }
    .about_cont_mp h3 {
        font-size: 1.2em;
    }
    .philosophy {
        padding: 15vw 10vw;
        margin-bottom: 10px;
        background: url('../img/about/about_bg.png') no-repeat center top;
    }
    .missions {
        display: block;
        padding: 0;
    }
    .missions > div,
    .missions .ms_01,
    .missions .ms_02,
    .missions .ms_03{
        padding: 10vw;
        margin: 0;
    }
    .missions > div p {
        margin-bottom: 10vw;
    }
    #team{
        background: none;
        margin-bottom: 10vh;
    }
    #team h3 {
        margin: 0 0 10vw 0;
        font-size: 2.3rem;
    }
    #team article {
        margin-bottom: 8vw;
    }
    .latest_our,
    .latest_our .galley_li{
        border: none;
    }
    .latest_our .galley_li{
        padding: 0;
        margin: 0 auto;
    }
    /*.pic_lt{*/
    /*    width: 280px;*/
    /*    margin: 0 auto;*/
    /*}*/
    .latest_our .gallery_ttl,
    .latest_adv .gallery_ttl,
    #team .pic_lt li .lt_img{
        width:270px;
        margin:25px auto 10px;
    }
    .latest_our .lt_info{
        width:270px;
        margin:0 auto;
    }
    .pic_lt li {
        /*width: 80%;*/
        /*max-width: 252px;*/
        /*float: none;*/
        /*margin: 0 auto;*/
    }
    .bus_cont_pr {
        margin: 0 7vw 5vh;
    }
    .bus_cont_pr .cont_lg_txt {
        font-size: 2rem;
        margin-bottom: 2vh;
    }
    .fields li {
        margin-bottom: 5vh;
    }
    .fields li .field_ttl {
        margin: 3vh 0 2vh;
        font-size: 1.2rem;
    }
    .latest_our .pic_lt li .lt_img::before{
        display: none;
    }
    .latest_our .pic_lt li .lt_img::after{
        height: 100%;
    }
    #portfolio{
        padding-bottom: 10vw;
    }
    #portfolio .tabs{
        padding: 0;
    }
    #portfolio .tabs .wrap {
        flex-wrap: wrap;
        justify-content: center;
    }

    #portfolio .tabs li{
        margin: 10px;
    }
    .pf_cat{
        border: none;
        flex-direction: column;
        margin: 0 auto 5vw;
    }
    .pf_lt ul {
        margin: 0 auto;
    }
    .pf_cat span:first-child{
        border: 1px solid #ddd;
        padding: 5px 30px;
        border-radius: 30px;
        margin-bottom: 2vh;
    }
    .pf_cat span:first-child:after{
        display: none;
    }
    .pf_cat span:nth-child(2) {
        font-size: 1rem;
        word-break:break-all
    }
    .pf_lt li {
        width: 46%;
        height: 20vw;
        margin: 0 2% 1vh;
    }
    #news {
        height: 110vh;
        padding-bottom: 6vw;
    }
    #news .tabs {
        margin-bottom: 8vw;
    }
    #news .tabs button {
        width: 46%;
        font-size: 1rem;
    }
    #news section{
        height: 70vh;
    }
    .notice{
        height: 100%;
    }
    #contact {
        padding: 120px 0 10vw;
    }
    .address {
        flex-direction: column-reverse;
    }
    #map {
        width: 100%;
    }
    .contact_info {
        width: 100%;
        margin-top: 8vw;
    }
    .contact_info img {
        margin-bottom: 6vw;
    }
    .post_top{
        padding: 30px;
    }
    .post_doc {
        flex-direction: column;
        padding: 10px 30px;
    }
    .post_cont{
        height: 50%;
        padding:30px;
    }
    .post_doc ul.file_list {
        flex: 5;
    }
    .post_doc span{
        flex: 1.5;
        margin-bottom: 10px;
        font-size: 0.8rem;
    }
    .post_doc ul.file_list li a{
        font-size: 0.9rem;
    }
    .post_doc p {
        flex: 2.5;
        font-size: 0.8rem;
        margin-top: 5px;
    }
    .contact_info .add_cont{
        text-align: right;
    }
    #ft_wr {
        flex-direction: column;
        padding: 5vw;
    }
    #ft_company {
        width: 100%;
        margin-top: 5vh;
    }
    #top_btn {
        position: unset;
        display: block;
        margin: 5vh auto;
    }
}


@media screen and (max-width:480px) {
    .fields li .field_icon {
        width: 150px;
        height: 150px;
    }
    .post_previw .lt_date {
        font-size: 0.6rem;
    }
    .post_top .post_ttl {
        font-size: 1rem;
    }
    .pagenation {
        width: 250px;
    }
    #ft_copy {
        font-size: 0.8rem;
    }
}