.visual {
    aspect-ratio:18 / 8;
}

.visual .container {
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.visual_line {
    width:1px;
    height:136px;
    background-color:#fff;
    margin:0 auto 60px;
}

h2, #page_randd h4, #page_product h4 {
    font-size:50px;
    color:#fff;
    text-align:center;
    font-weight:700;
    word-break:keep-all;
}

.subh2 {
    font-size:32px;
    color:#fff;
    text-align:center;
    font-weight:500;
    word-break:keep-all;
}

.sec1_logo h3 {
    font-size:50px;
    font-weight:700;
    margin-bottom:30px;
}

.sec1_logo .logo_txt {
    font-size:30px;
    text-align:center;
    line-height:180%;
    word-break:keep-all;
}

.sec1_logo {
    margin-bottom:110px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.m_img {
    display:none;
}



#page_news .visual {
    background:url('/img/contact/visual_news.png') 50% 50% no-repeat;
    background-size:cover;
}

#page_news a.content {
    display:flex;
    gap:70px;
    align-items:center;
    width:100%;
    margin:0 auto;
    padding-bottom:20px;
    border-bottom:1px solid #898989;
    margin-bottom:50px;
    color:#222;
}

#page_news a.content .thumb {
    width:512px;
    border-radius:30px;
    overflow:hidden;
}

#page_news a.content .text {
    width:calc(100% - 592px);
}

#page_news a.content .subject {
    font-size:25px;
    font-weight:300;
    margin-bottom:10px;
    text-overflow: ellipsis;
    overflow: hidden;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

#page_news a.content .subdate {
    font-size:20px;
    font-weight:300;
}




#page_newsdetail {
    padding-top:200px;
}

#page_newsdetail .title {
    display:flex;
    justify-content:space-between;
    align-items:end;
    padding-bottom:20px;
    border-bottom:1px solid #6c6c6c;
    margin-bottom:20px;
}

#page_newsdetail .title .subject {
    font-size:45px;
    font-weight:500;
    color:#333;
}

#page_newsdetail .title .date {
    font-size:20px;
}

#page_newsdetail .prevnext a {
    display:flex;
    padding:15px 20px;
    align-items:center;
    border-top:1px solid #6c6c6c;
}

#page_newsdetail .prevnext a:last-child {
    border-bottom:1px solid #6c6c6c;
}

#page_newsdetail .wrap_pn .subject {
    width:calc(100% - 100px);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space:nowrap;
    font-size:25px;
}

#page_newsdetail .wrap_pn .date {
    font-size:23px;
}

#page_newsdetail .prevnext {
    margin:60px 0 100px;
}

#page_newsdetail .prevnext .wrap_pn {
    display:flex;
    align-items:center;
    width:calc(100% - 160px);
}

#page_newsdetail .prevnext .pn {
    padding:0 70px 0 44px;
    font-size:25px;
}

#page_newsdetail .prev .pn {
    background:url('/img/prevbtn.svg') 0 50% no-repeat;
    background-size:16px;
}

#page_newsdetail .next .pn {
    background:url('/img/nextbtn.svg') 0 50% no-repeat;
    background-size:16px;
}

#page_newsdetail .buttonarea {
    margin-bottom:150px;
    display:flex;
    justify-content:center;
}

#page_newsdetail .buttonarea .backtolist {
    display:block;
    width:315px;
    height: 75px;
    line-height:75px;
    border-radius:30px;
    box-shadow:0 4px 4px rgba(0,0,0,0.2);
    text-align:center;
    font-size:30px;
}



#page_contact .visual {
    background:url('/img/contact/visual_contact.png') 50% 50% no-repeat;
    background-size:cover;
}

#page_contact .sec_2 {
    background-color:#F8F8F8;
    padding:80px 0;
}

#page_contact .sec_2 input,
#page_contact .sec_2 textarea {
    border:1px solid #898989;
    border-radius:10px;
    background-color:#fff;
    width:100%;
}

#page_contact .sec_2 input {
    height:80px;
    padding: 0 6px;
    font-size:23px;
}

#page_contact .sec_2 textarea {
    height:380px;
    padding: 6px;
    font-size:23px;
}

#page_contact .sec_2 label {
    display:block;
    margin-bottom:30px;
}

#page_contact .sec_2 .label p {
    margin-bottom:20px;
    font-size:25px;
}

#page_contact .sec_2 .label p i {
    font-style:normal;
    color:#f00;
    font-size:20px;
}

#page_contact .sec_3 {
    padding:80px 0 130px;
}

#page_contact .sec_3 .container {
    max-width:1460px;
}

#page_contact .sec_3 p.text {
    font-size:30px;
    text-align:center;
    margin-bottom:100px;
    line-height:160%;
    word-break: keep-all;
}

#page_contact .sec_3 label {
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:100px;
    gap:15px;
    cursor:pointer;
}

#page_contact .sec_3 label span {
    font-size:25px;
}

#page_contact .sec_3 label input[type="checkbox"] {
    width:40px;
    height:40px;
    border-radius:5px;
    border:1px solid #6c6c6c;
}

#page_contact .sec_3 label input[type="checkbox"]:checked {
    background-color:#87C246;
    border:0;
    position:relative;
}

#page_contact .sec_3 label input[type="checkbox"]:checked:after {
    content:'';
    width:100%;
    height:100%;
    display:block;
    background:url("data:image/svg+xml,%3Csvg width='45' height='31' viewBox='0 0 45 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 12L14 28L44 2' stroke='white' stroke-width='3'/%3E%3C/svg%3E%0A") 50% 50% no-repeat;
    background-size:80%;
}

#page_contact .sec_3 .wrap_btn {
    display:flex;
    justify-content:center;
}

#page_contact .sec_3 .sendbtn {
    border:0;
    background-color:#87C246;
    width:315px;
    height:64px;
    border-radius:30px;
    font-size:30px;
    color:#fff;
    cursor:pointer;
}



#page_location .visual {
    /* background:url('/img/contact/visual_location.png') 50% 50% no-repeat;
    background-size:cover; */
    width:100%;
    height:auto;
    position:relative;
}

#page_location .visual .container {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
}

#page_location article.visual video {
    width:100%;
    height:100%;
    object-fit:cover;
}

#page_location .sec_1 {
    padding-bottom:130px;
}

#page_location .companycontent {
    width:calc(100% - 542px);
}

#page_location .companylocation li {
    margin-bottom:110px;
}

#page_location .companylocation li:last-child {
    margin-bottom:0;
}

#page_location .flexbox {
    display:flex;
    align-items:center;
    gap:30px;
    margin-bottom:5px;
}

#page_location .tr {
    display:flex;
    align-items:center;
    gap:50px;
    border-bottom:1px solid #D2D2D2;
    padding-bottom:10px;
    margin-bottom:10px;
}

#page_location .tr:last-child {
    border-bottom:0;
    padding-bottom:0;
    margin-bottom:0;
}

#page_location .tr .ctg {
    width:80px;
    color:#222;
}

#page_location .tr .ctt {
    color:#222;
}

#page_location .tr .ctt span {
    display:inline-block;
    margin-right:80px;
}

#page_location .tr .ctt span:last-child {
    margin-right:0;
}

#page_location .sec_1 p {
    font-size:25px;
    font-weight:300;
    word-break:keep-all;
}

#page_location .sec_1 p.companyname {
    font-size:40px;
    font-weight:500;
    margin-bottom:10px;
}

#page_location .companyimg {
    width:512px;
    border-radius:30px;
    overflow:hidden;
}

#page_location .maplocation {
    border-bottom:1px solid #898989;
    text-align:right;
}

#page_location .maplocation .btn_map {
    padding-bottom:20px;
    color:#898989;
    font-weight:300;
    font-size:25px;
    padding-right:30px;
    background:url('/img/contact/location_plus.svg') 100% 10px no-repeat;
    background-size:20px;
    cursor:pointer;
}

html[lang="ko"] #page_location .maplocation .btn_map:after {
    content:' 보기';
    color:#898989;
    font-weight:300;
    font-size:25px;
}

html[lang="en"] #page_location .maplocation .btn_map:after {
    content:'View map';
    color:#898989;
    font-weight:300;
    font-size:25px;
}

#page_location .maplocation.open .btn_map {
    background:url('/img/contact/location_minus.svg') 100% 20px no-repeat;
    background-size:20px;
}

html[lang="ko"] #page_location .maplocation.open .btn_map:after {
    content:' 닫기';
}

html[lang="en"] #page_location .maplocation.open .btn_map:after {
    content:' Fold map';
}

#page_location .maplocation .map_api {
    width:100%;
    height:0;
    overflow:hidden;
}

#page_location .maplocation.open .map_api {
    height:400px;
    margin-bottom:30px;
}



@media all and (max-width:1379px) {
    .visual_line {
        margin-bottom:30px;
    }

}


@media all and (max-width:1339px) {
    #page_news a.content {
        gap:30px;
    }

    #page_news a.content .thumb {
        width:460px;
    }

    #page_news a.content .text {
        width:calc(100% - 530px);
    }
}


@media all and (max-width:1119px) {
    #page_location .companycontent {
        width:calc(100% - 442px);
    }

    #page_location .companyimg {
        width:412px;
    }
}


@media all and (max-width:1024px) {
    .visual_line {
        height:100px;
    }

    h2 {
        font-size:32px;
    }
    
    .subh2 {
        font-size:21px;
    }

    .sec1_logo h3 {
        font-size:38px
    }

    .sec1_logo .logo_txt {
        font-size:24px;
    }

    .sec1_logo {
        margin-bottom:100px;
    }

    #page_news a.content {
        gap:15px;
        flex-direction:column;
        border-bottom:0;
        padding-bottom:0;
    }

    #page_news a.content .thumb,
    #page_news a.content .text {
        width:100%;
        max-width:560px;
    }

    #page_news a.content .text {
        display:flex;
        align-items:center;
        justify-content: space-between;
    }

    #page_news a.content .subject {
        -webkit-line-clamp: 1;
        margin-bottom:0;
        font-size:16px;
    }

    #page_news a.content .subdate {
        padding-left:20px;
        font-size:12px;
    }

    #page_newsdetail .title {
        flex-direction:column;
        align-items:start;
        word-break:keep-all;
    }

    #page_newsdetail .title .date {
        width:100%;
        text-align:right;
    }



    #page_contact .sec_3 {
        padding:30px 0 50px;
    }

    #page_contact .sec_3 p.text {
        font-size:24px;
        margin-bottom:30px;
    }

    #page_contact .sec_3 label {
        margin-bottom:30px;
    }

    #page_contact .sec_3 label span {
        font-size:17px;
    }

    #page_contact .sec_3 label input[type="checkbox"] {
        width:25px;
        height:25px;
    }

    #page_contact .sec_3 .sendbtn {
        width:210px;
        height:45px;
        font-size:20px;
    }

    #page_contact .sec_2 {
        padding:30px 0;
    }

    #page_contact .sec_2 .label p {
        font-size:16px;
        margin-bottom:12px;
    }

    #page_contact .sec_2 input {
        height:45px;
    }

    #page_contact .sec_2 textarea {
        height:250px;
    }

    #page_contact .sec_2 input, #page_contact .sec_2 textarea {
        font-size:16px;
    }

    #page_contact .sec_2 .label {
        margin-bottom:20px;
    }




    #page_location .sec_1 p,
    #page_location .maplocation .btn_map,
    #page_location .maplocation .btn_map:after {
        font-size:16px;
    }

    #page_location .maplocation .btn_map {
        padding-bottom:10px;
        background-size:16px;
        padding-right:24px;
        background-position:100% 5px;
    }

    #page_location .maplocation.open .btn_map {
        background-size:16px;
        background-position:100% 12px;
    }

    #page_location .maplocation.open .map_api {
        height:250px;
    }
    
    #page_location .sec_1 p.companyname {
        font-size:20px;
    }

    #page_location .companyimg {
        width:312px;
    }

    #page_location .companycontent {
        width:calc(100% - 342px);
    }

    #page_location .tr {
        gap:0;
    }

    html[lang="en"] #page_location .tr {
        gap:20px;
    }

    #page_location .companylocation li {
        margin-bottom:60px;
    }

    #page_location .tr .ctt {
        width:calc(100% - 80px);
    }
}

@media all and (max-width:768px) {
    .visual {
        aspect-ratio:10 / 9;
    }

    .visual_line {
        height:60px;
        margin-bottom:20px;
    }

    h2 {
        font-size:20px;
    }
    
    .subh2 {
        font-size:15px;
        letter-spacing:-0.5px;
    }

    .sec1_logo h3 {
        font-size:30px;
        margin-bottom:20px;
    }

    .sec1_logo .logo_txt {
        font-size:15px;
    }

    .sec1_logo {
        margin-bottom:60px;
    }

    .m_img {
        display:block;
    }

    .pc_img {
        display:none;
    }

    #page_newsdetail {
        padding-top:30px;
    }

    #page_newsdetail .title .subject {
        font-weight:400;
        font-size:18px;
    }

    #page_newsdetail .title .date {
        font-weight:300;
        font-size:13px;
    }

    #page_newsdetail .title {
        border-bottom:0;
        margin-bottom:30px;
        padding-bottom:0;
    }

    #page_newsdetail .prevnext {
        margin:50px 0 40px;
    }

    #page_newsdetail .buttonarea {
        margin-bottom:60px;
    }

    #page_newsdetail .prevnext .wrap_pn {
        flex-direction:column;
        align-items:end;
        width:calc(100% - 100px);
    }

    #page_newsdetail .wrap_pn .subject {
        width:100%;
        text-align:right;
        font-size:13px;
    }

    #page_newsdetail .wrap_pn .date {
        font-size:11px;
    }

    #page_newsdetail .prevnext .pn {
        padding:0 50px 0 20px;
        background-size:12px;
        font-size:13px;
    }

    #page_newsdetail .prevnext a {
        border-top:0;
        padding: 10px;
    }

    #page_newsdetail .prevnext a:last-child {
        border-bottom:0;
    }

    #page_newsdetail .buttonarea .backtolist {
        width:142px;
        height:34px;
        line-height:34px;
        font-size:15px;
        box-shadow:3px 4px 10px rgba(0,0,0,0.1);
    }



    #page_contact .sec_3 p.text {
        font-size:15px;
    }

    #page_contact .sec_3 label span {
        font-size:15px;
    }


    #page_location .companylocation li {
        max-width:560px;
        margin:0 auto 50px;
    }

    #page_location .flexbox {
        flex-direction:column;
    }

    #page_location .companyimg,
    #page_location .companycontent {
        width:100%;
    }

    #page_location .maplocation.open .map_api,
    #page_location .maplocation .map_api  {
        height:150px;
    }

    #page_location .maplocation .btn_map {
        font-size:10px;
        color:transparent;
        opacity:0;
        background:none;
    }

    #page_location .maplocation .btn_map:after {
        display:none;
    }

    #page_location .tr .ctt span {
        margin-right: 0;
        display:block;
    }

    #page_location .tr .ctg {
        width:65px;
    }

    #page_location .tr .ctt {
        width: calc(100% - 65px);
        word-break:break-all;
    }
}


@media all and (max-width:560px) {
    #page_contact .sec1_logo .logo_txt br {
        display:none;
    }
}

@media all and (max-width:420px) {
    
    .sec1_logo .logo_txt br {
        display:none;
    }

}