@charset "UTF-8";

html{overflow-x: hidden;}

.container_head {
    width: 1400px;
    margin: 161px auto 40px;
    position: relative;
}

.container_head h2 {
    font-size: 56px;
    font-weight: 700;    
    color: #111;
    letter-spacing: 0;
}

/* navi */
.navi{
    
}
.navi ul{
    display: flex;
    gap: 40px;
    align-items: center;
}
.navi ul li{
    position: relative;
}
.navi ul li::after{
    content: "";
    display: block;
    width: 1px;
    height: 16px;
    background: #666;
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
}
.navi ul li:first-child{
    text-indent: -9999px;
    width: 25px;
    height: 25px;
    background: url(../images/sub/navi_home.png) no-repeat 100% 50%;
    background-size: contain;
}
.navi ul li:last-child::after{
    display: none;
}
.navi ul li a{
    display: block;
    width: 100%;
    height: 100%;
    color: #666;
    font-size: 17px;
    font-weight: 400;
}
.container_bottom{
    width: 1400px;
    margin: 0 auto;
}
.brand .container_head,
.intro .container_head,
.history .container_head,
.map .container_head{
    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* brand */
.top_img{
    width: 100%;
    height: 587px;    
}
.brand .top_img{
    width: 100%;
    height: 587px;   
    border-radius: 20px;
}
.brand .top_img img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}
/* .brand01 .top_img{     
    background: url(../images/sub/brand1.jpg) no-repeat 50% 50%;
    background-size: cover;    
}
.brand02 .top_img{
    background: url(../images/sub/brand2.jpg) no-repeat 50% 50%;
    background-size: cover;
}
.brand03 .top_img{
    background: url(../images/sub/brand3.jpg) no-repeat 50% 50%;
    background-size: cover;
}
.brand04 .top_img{
    background: url(../images/sub/brand4.jpg) no-repeat 50% 50%;
    background-size: cover;
}
.brand05 .top_img{
    background: url(../images/sub/brand5.jpg) no-repeat 50% 50%;
    background-size: cover;
}
.brand06 .top_img{
    background: url(../images/sub/brand6.jpg) no-repeat 50% 50%;
    background-size: cover;
}
.brand07 .top_img{
    background: url(../images/sub/brand7.jpg) no-repeat 50% 50%;
    background-size: cover;
}
.brand08 .top_img{
    background: url(../images/sub/brand8.jpg) no-repeat 50% 50%;
    background-size: cover;
}
.brand09 .top_img{
    background: url(../images/sub/brand9.jpg) no-repeat 50% 50%;
    background-size: cover;
} */

.brand .cont{    
    margin: 60px 0 120px 0;
}
.brand .cont h4{
    font-size: 50px;
    color: #111;
    font-weight: 600;
    padding-bottom: 60px;
    margin-bottom: 60px;
    position: relative;
}
.brand .cont h4::after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;    
    background: #000;
    position: absolute;
    left: 0;
    bottom: 0;    
}
.brand .cont .bott{
    display: flex;
    justify-content: space-between;
    gap: 80px;
}
.brand .cont .bott .logo_img{
    min-width: 210px;
    width: auto;
    height: 70px;
}
.brand .cont .bott .logo_img img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: 0% 50%;
}
.brand .cont .bott .right{
    display: flex;
    gap: 40px;
    flex-flow: column;
    width: auto;
}
.brand .cont .bott .right p{
    font-size: 18px;
    color: #333;
    line-height: 1.75;
    letter-spacing: -0.025em;
    text-align: justify;
}
.brand .cont .bott .right p.tit{
    font-size: 30px;
    color: #666;
    line-height: 1;
    font-weight: 400;
    margin-top: 20px;
}
.brand .cont .bott .right .btn{
}
.brand .cont .bott .right .btn a{
    display: block;
    width: 182px;
    border: 1px solid #333;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: 400;
    color: #111;
    background: #fff;
    position: relative;
    padding: 15px 20px;    
    transition: all ease-in-out 0.3s;
}
.brand .cont .bott .right .btn a::after{
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url(../images/sub/btn_arrow.png) no-repeat 50% 50%;
    background-size: contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}
.brand .cont .bott .right .btn a:hover{
    color: #fff;
    background: #000;
    border-radius: 8px;
}
.brand .cont .bott .right .btn a:hover::after{
    background: url(../images/sub/btn_arrow_wh.png) no-repeat 50% 50%;
    background-size: contain;
}

/* intro */
.intro .top_img{
    height: 587px;
    width: 100%;
    background: url(../images/sub/intro_img.png) no-repeat 0 0;
    background-size: contain;   
    display: flex;
    align-items: center; 
    border-radius: 20px;
}
.intro .top_img p{    
    font-size: 50px;
    color: #fff;
    font-weight: 700;
    margin: 0 auto;
    text-align: center;
}
.intro .top .txt{
    display: flex;
    justify-content: end;
}
.intro .top .txt p{    
    margin: 50px 0 80px 0;
    font-size: 18px;
    color: #333;
    line-height: 1.75;
    letter-spacing: -0.025em;
    text-align: justify;
}
.intro .top .txt p span{
    display: block;
    margin-top: 16px;
}
.intro .top .txt p span:first-child{
    margin-top: 0;
}
.intro .cont h4{
    font-size: 50px;
    font-weight: 500;
    padding-bottom: 40px;
    position: relative;
}
.intro .cont h4::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    left: 0;
    bottom: 0;
}
.intro .cont .bott > div{
    padding: 60px;
    display: flex;
    gap: 50px;
    align-items: center;
    justify-content: center;
}
.intro .cont .bott > div img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.intro .cont .bott > div img:nth-child(1){
    width: 542px;
}
.intro .cont .bott > div img:nth-child(2){
    width: 132px;
}
.intro .cont .bott > div img:nth-child(3){
    width: 220px;
}

/* history */
.history .cont{
    padding-bottom: 120px;
}
.history .top_img{
    height: 587px;
    width: 100%;
    background: url(../images/sub/history_img.png) no-repeat 0 0;
    background-size: contain;   
    display: flex;
    align-items: center; 
    border-radius: 20px;
}
.history .top_img p{    
    font-size: 54px;
    color: #fff;
    font-weight: 700;
    margin: 0 auto;
}
.hist_box{
    display: flex;
    gap: 60px;
    margin-top: 60px;
}
.hist_box .hist_img{
    width: 575px;
    height: 462px;    
}
.hist_box .hist_img img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}
.hist_box .hist_txt p{
    font-size: 40px;
    font-weight: 700;
    color: #111;
    letter-spacing: -0.025em;
    margin-bottom: 25px;
}
.hist_box .hist_txt ul{
    display: flex;
    gap: 20px;
    flex-flow: column;
}
.hist_box .hist_txt ul li{
    display: flex;
    gap: 40px;
    align-items: center;
}
.hist_box .hist_txt ul li span.date{
    display: block;
    width: 73px;
    color: #444;
    font-weight: 400;
    position: relative;
    font-size: 16px;
}
.hist_box .hist_txt ul li span.date::after{
    content: "";
    display: block;
    width: 1px;
    height: 12px;
    background: #aaa;
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
}
.hist_box .hist_txt ul li span.txt{
    display: block;
    color: #111;
    font-weight: 400;
    font-size: 17px;
}

/* 오시는길 */
.root_daum_roughmap .cont{
    display: none;
}
.root_daum_roughmap .wrap_controllers{
    height: 30px;
}
.map .txt{
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    margin: 40px 0 120px 0;
    padding: 35px 40px;
    background: #F2F5F8;
    border-radius: 10px;
}
.map .txt dl{
    width: calc((100% - 30px) / 2);
    display: flex;
    gap: 8px;
    flex-flow: column;
}
.map .txt dl dt{
    font-size: 18px;
    color: #C40F39;
    font-weight: 500;
    letter-spacing: 0;
    position: relative;
    padding-left: 30px;
}
.map .txt dl dt::after{
    content: "";
    display: block;
    width: 20px;
    height: 20px;    
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.map .txt dl:nth-child(1) dt::after{
    background: url(../images/sub/map_icon01.png) no-repeat 0 0;
    background-size: contain;
}
.map .txt dl:nth-child(2) dt::after{
    background: url(../images/sub/map_icon02.png) no-repeat 0 0;
    background-size: contain;
}
.map .txt dl:nth-child(3) dt::after{
    background: url(../images/sub/map_icon03.png) no-repeat 0 0;
    background-size: contain;
}
.map .txt dl dd{
    font-size: 18px;
    color: #111;
    font-weight: 400;   
    padding-left: 30px;

}


/* 미디어쿼리 */
@media all and (max-width:1400px){
    .container{
        width: 100%;
        padding: 0 3.5%;
    }
    .container_head{
        width: 100%;
    }
    .container_bottom{
        width: 100%
    }

    /* intro */
    .intro .top_img{
        background-size: cover;
    }

    /* history */
    .history .top_img{
        background-size: cover;
    }   

    /* brand */
    .brand .cont .bott .right{
        min-width: 60%;
    }
}

@media all and (max-width:1200px){
    /* intro */
    .intro .top_img p{
        font-size: 46px;
        width: 60%;
    }

    /* history */
    .hist_box{
        gap: 30px;
    }
    .hist_box .hist_txt ul li{
        align-items: flex-start;
    }

    /* brand */
    .brand01 .top_img img{
        object-position: 30% 50%;
    }

}

@media all and (max-width:1024px){
    .container_head h2{
        font-size: 40px;
    }
    /* intro */
    .intro .top_img{
        height: 450px;
    }
    .intro .top_img p{
        font-size: 40px;
    }
    .intro .cont .bott > div{
        flex-flow: column;
        padding: 30px 3.5%;
        gap: 30px;
    }
    .intro .top .txt p{
        margin: 30px 0 60px 0;
    }
    .intro .cont .bott > div img:nth-child(2){
        transform: rotate(90deg);
        width: 90px;
    }
    .intro .cont h4{
        font-size: 40px;
    }

    /* history */
    .history .top_img{
        height: 450px;
    }
    .history .top_img p{
        font-size: 40px;
    }
    .hist_box .hist_img{
        width: 40%;
    }
    .hist_box .hist_txt p{
        font-size: 34px;
    }

    /* brand */
    .brand .top_img p{
        font-size: 40px;
    }
    .brand .top_img{
        height: 450px;
    }
}

@media all and (max-width:1000px){
    /* history */
    .hist_box{
        flex-flow: column;
    }
    .hist_box .hist_img{
        width: 100%;
        height: 250px;
    }

    /* brand */
    .brand .cont .bott .right p{
        width: 100%;
    }
}

@media all and (max-width:768px) {    
    header .home .logo{
        height: 30px!important;
    }
    .container_head{
        margin: 101px auto 20px;
    }

    /* intro */
   .container_head h2{
        font-size: 30px;
   }
   .intro .cont h4{
        font-size: 28px;
   }
   .navi ul li a{
        font-size: 16px;
   }
   .intro .top_img{
        height: 350px;
   }
   .intro .top_img p{
        font-size: 30px;
   }
   .intro .top .txt p{
        font-size: 16px;
        text-align: left;
        word-break: break-all;
   }
   .intro .top .txt p span{
        margin-top: 15px;
   }
   .intro .cont .bott > div img:nth-child(1){
        width: 100%;
   }
   .intro .cont .bott > div img:nth-child(2){
        width: 20%;
   }
   .intro .cont .bott > div img:nth-child(3){
        width: 45%;
   }

   /* hisory */
   .history .top_img p {
        font-size: 30px;
    }
    .hist_box .hist_txt p{
        font-size: 26px;
    }
    .hist_box .hist_txt ul{
        gap: 10px;
    }
    
    /* map */
    .map .txt{
        padding: 25px;
        flex-flow: column;
        margin: 20px 0 80px 0;
    }
    .map .txt dl{
        width: 100%;
    }
    #daumRoughmapContainer1765957200560{
        height: 500px;
    }
    .map .txt dl dt{
        font-size: 16px;
        padding-left: 25px;
    }
    .map .txt dl dd{
        font-size: 16px;
        padding-left: 25px;
    }
    .map .txt dl dt::after{
        width: 16px;
        height: 16px;
    }

    /* brand */
    .brand .top_img{
        height: 350px;
    }
    /* .brand .top_img img{
        object-fit: contain;
    } */
   .brand .top_img p {
        font-size: 30px;
    }
    .brand .cont{
        margin: 40px 0 80px 0;
    }
    .brand .cont h4{
        font-size: 30px;
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
    .brand .cont .bott{
        flex-flow: column;
        align-items: flex-start;
        gap: 20px;
    }
    .brand .cont .bott .right p.tit{
        font-size: 24px;
    }
    .brand .cont .bott .right p{
        font-size: 16px;
    }
    .brand .cont .bott .right .btn a{
        font-size: 16px;
        width: 100%;
        border-radius: 8px;
    }
    .brand .cont .bott .right{
        gap: 25px;
    }
}

@media all and (max-width:580px) {

    /* history */
    .hist_box .hist_txt ul li{
        gap: 30px;
    }
    .hist_box .hist_txt ul li span.date::after{
        right: -10px;
    }

    /* brand */
        .brand01 .top_img img {
        object-position: 20% 50%;
    }
}


@media all and (max-width:520px) {
   .container_head{
        flex-flow: column;
        align-items: flex-start!important;
        gap: 10px;
    }
    .navi{
        width: 100%;
    }
    .navi ul{
        gap: 20px;
    }
    .navi ul li::after{
        right: -10px;
    }

    /* intro */
    .container_head h2{
        font-size: 25px;
    }
    .intro .top_img p{
        width: 70%;
        font-size: 24px;
    }
    .intro .cont .bott > div{
        gap: 20px        ;
    }
    .intro .cont h4{
        font-size: 24px;
    }

    /* history */
    .hist_box .hist_txt ul li{
        flex-flow: column;
        gap: 3px;
    }
    .hist_box .hist_txt ul li span.txt{
        font-size: 16px;
    }
    .hist_box .hist_txt ul li span.date::after{
        display: none;
    }
    .hist_box .hist_txt ul{
        gap: 10px;
    }    
    .hist_box .hist_txt p{
        margin-bottom: 15px;
    }
    .hist_box{
        margin-top: 30px;
    }
    .hist_box{
        gap: 20px;
    }

    /* brand */
    .brand .cont h4{
        font-size: 25px;
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    .brand .cont .bott .logo_img {
        min-width: 110px;
        width: auto;
        height: 40px;
    }
    .brand .cont .bott .right p.tit {
        font-size: 21px;
        margin-top: 10px;
    }
    .brand .cont .bott .right{
        gap: 20px;
    }
    .brand .top_img{
        border-radius: 10px;
    }
    .brand .top_img img{
        border-radius: 10px;
    }
}

@media all and (max-width:430px) {
    /* brand */
    .brand01 .top_img{
        height: 250px;
    }
    .brand01 .top_img img {
        object-position: 23% 50%;
    }
}


@media all and (max-width:400px) {
  
}

@media all and (max-width:360px) {

}

@media all and (max-width:340px) {
    /* brand */
    .brand .top_img{
        height: 220px;
    }

}