﻿@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600&display=swap");

/*---------- Noto Sans Korean ----------*/
@font-face {
    font-family: "NotoSansKR";
    font-style: normal;
    font-weight: 100;
    src: url("../fonts/NotoSansKr/NotoSansKR-Thin.eot"), url("../fonts/NotoSansKr/NotoSansKR-Thin.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansKr/NotoSansKR-Thin.woff2") format("woff2"), url("../fonts/NotoSansKr/NotoSansKR-Thin.woff") format("woff");
}

@font-face {
    font-family: "NotoSansKR";
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/NotoSansKr/NotoSansKR-Light.eot"), url("../fonts/NotoSansKr/NotoSansKR-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansKr/NotoSansKR-Light.woff2") format("woff2"), url("../fonts/NotoSansKr/NotoSansKR-Light.woff") format("woff");
}

@font-face {
    font-family: "NotoSansKR";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/NotoSansKr/NotoSansKR-Regular.eot"), url("../fonts/NotoSansKr/NotoSansKR-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansKr/NotoSansKR-Regular.woff2") format("woff2"), url("../fonts/NotoSansKr/NotoSansKR-Regular.woff") format("woff");
}

@font-face {
    font-family: "NotoSansKR";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/NotoSansKr/NotoSansKR-Bold.eot"), url("../fonts/NotoSansKr/NotoSansKR-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansKr/NotoSansKR-Bold.woff2") format("woff2"), url("../fonts/NotoSansKr/NotoSansKR-Bold.woff") format("woff");
}
/*---------- NanumSquare ----------*/
@font-face {
    font-family: "NanumSquare";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/NanumSquare/NanumSquareR.eot"), url("../fonts/NanumSquare/NanumSquareR.eot?#iefix") format("embedded-opentype"), url("../fonts/NanumSquare/NanumSquareR.woff2") format("woff2"), url("../fonts/NanumSquare/NanumSquareR.woff") format("woff");
}

@font-face {
    font-family: "NanumSquare";
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/NanumSquare/NanumSquareB.eot"), url("../fonts/NanumSquare/NanumSquareB.eot?#iefix") format("embedded-opentype"), url("../fonts/NanumSquare/NanumSquareB.woff2") format("woff2"), url("../fonts/NanumSquare/NanumSquareB.woff") format("woff");
}

@font-face {
    font-family: "NanumSquare";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/NanumSquare/NanumSquareEB.eot"), url("../fonts/NanumSquare/NanumSquareEB.eot?#iefix") format("embedded-opentype"), url("../fonts/NanumSquare/NanumSquareEB.woff2") format("woff2"), url("../fonts/NanumSquare/NanumSquareEB.woff") format("woff");
}
/* Default Document Style */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    background: transparent;
    box-sizing: border-box;
}

ol, ul {
    list-style: none;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
    display: block;
}

blockquote, q {
    quotes: none;
}

    blockquote:before, blockquote:after,
    q:before, q:after {
        content: "";
        content: none;
    }

a {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    color: #555;
}

    a:link, a:hover, a:visited, a:active {
        text-decoration: none;
    }

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

caption {
    width: 100%;
    height: 1px;
    color: transparent;
    overflow: hidden;
    position: relative;
}

input, select {
    vertical-align: middle;
    font-family: inherit;
}

button {
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
}

input, textarea, select, button {
    font-family: inherit;
}

table {
    font-size: inherit;
}

pre, code, kbd, samp, tt {
    font-family: monospace;
    font-size: 108%;
    line-height: 100%;
}

legend {
    overflow: hidden;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    font-size: 0;
    line-height: 0;
}

img {
    vertical-align: top;
    border: 0;
    margin: 0;
    padding: 0;
    max-width: 100%;
}

span, a, strong, i, em {
    display: inline-block;
}

table {
    width: 100%;
}

strong {
    font-weight: 600;
}

html {
    font-size: 62.5%;
    height: 100%;
}

body {
    margin: 0;
    padding: 0;
    border: none;
    color: #666;
    font-size: 1.6rem;
    font-style: normal;
    background: transparent;
    height: 100%;
    width: 100%;
    line-height: 1.5;
    letter-spacing: -0.2px;
    font-weight: 400;
    font-family: "Plus Jakarta Sans", "맑은 고딕", "Malgun Gothic", sans-serif;
    transform-origin: center center;
    word-break: keep-all;
}

.font-mg {
    font-family: "맑은 고딕", "Malgun Gothic", sans-serif;
}

/* skipToContent */
#skipToContent a {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100%;
    height: 1px;
    margin-top: -1px;
    display: block;
    background-color: #3875c1;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    line-height: 1;
    text-align: center;
    overflow: hidden;
}

    #skipToContent a:focus,
    #skipToContent a:active {
        margin-top: 0px;
        height: auto;
        padding: 10px 0px;
    }

/* Text Color */
.txt-color-com {
    color: #f79433 !important;
}

.txt-color-black {
    color: #000 !important;
}

.txt-color-dgray {
    color: #222 !important;
}

.txt-color-gray {
    color: #bbb !important;
}

.txt-color-ltgray {
    color: #838383 !important;
}

.txt-color-red {
    color: #e60012 !important;
}

.txt-color-yellow {
    color: #f7ae00 !important;
}

.txt-color-cyan {
    color: #00b1f0 !important;
}

.txt-color-blue {
    color: #005b9e !important;
}

.txt-color-navy {
    color: #063c6d !important;
}

.txt-color-skyblue {
    color: #378ee0 !important;
}

.txt-color-cobalt {
    color: #053868 !important;
}

.txt-color-white {
    color: #fff !important;
}

.txt-color-aqua {
    color: #01b4bb !important;
}

.txt-color-green {
    color: #7ec356 !important;
}

.txt-color-orange {
    color: #f04e30 !important;
}

/* bg Color */
.bg-cyan {
    background-color: #01b3bb !important;
}

.bg-blue {
    background-color: #7b9acc !important;
}

.bg-lt-blue {
    background-color: #496877 !important;
}

.bg-sky {
    background-color: #99ccff !important;
    color: #333 !important;
}

.bg-whgrey {
    background-color: #f5f5f5 !important;
}

.bg-white {
    background-color: #fff !important;
    color: #005b9e !important;
}

.bg-grey {
    background-color: #888888 !important;
}

.bg-lt-grey {
    background-color: #f9f9f9 !important;
}

.bg-yellow {
    background-color: #f79433 !important;
}

.bg-green {
    background-color: #abdc15 !important;
}

.bg-red {
    background-color: #ff0033 !important;
}

.bg-orange {
    background-color: #ff6633 !important;
}

/* Float */
.f-left {
    float: left;
}

.f-right {
    float: right;
}

.f-none {
    float: none !important;
}

.clearfix {
    clear: both !important;
}

.clear:after {
    clear: both;
    display: block;
    content: "";
}

/* Text Style */
.txt-hidden {
    text-indent: -9999em;
    font-size: 0;
    color: transparent;
}

.txt-cnt {
    text-align: center !important;
}

.txt-left {
    text-align: left !important;
}

.txt-right {
    text-align: right !important;
}

/* Hidden */
.hidden, legend {
    visibility: hidden;
    overflow: hidden;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
    background: none;
}

/* View */
.pc-view {
    display: block !important;
}

.mo-view {
    display: none !important;
}

/* Icon */
i {
    display: inline-block;
    vertical-align: middle;
    background-size: contain !important;
}

/* Border */
.bo-0 {
    border: 0 !important;
}

/* Spacing */
.p-0 {
    padding: 0 !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-20 {
    padding-top: 20px !important;
}

.pt-30 {
    padding-top: 30px !important;
}

.pt-40 {
    padding-top: 40px !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.ph-20 {
    padding: 20px 0 !important;
}

.pw-20 {
    padding: 0 20px !important;
}

.m-0 {
    margin: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mt-40 {
    margin-top: 40px !important;
}

.mt-50 {
    margin-top: 50px !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mb-40 {
    margin-bottom: 40px !important;
}

.mb-50 {
    margin-bottom: 50px !important;
}

.mh-20 {
    margin: 20px 0 !important;
}

.mw-20 {
    margin: 0 20px !important;
}

@media all and (max-width: 1240px) {
    html {
        font-size: 58.5%;
    }
}

@media all and (max-width: 1000px) {
    html {
        font-size: 56.5%;
    }
}

@media all and (max-width: 768px) {
    html {
        font-size: 54.5%;
    }

    .pc-view {
        display: none !important;
    }

    .mo-view {
        display: block !important;
    }
}
/*---------- Layout ----------*/
.wrap {
    overflow: hidden;
    min-width: 320px;
}

.inner {
    max-width: 1270px;
    margin: 0 auto;
    width: 100%;
    padding: 0 15px;
    position: relative;
}

/*---------- Header type ----------*/
/* Header */
.header-wrap {
    width: 100%;
    margin: 0 auto;
    z-index: 3;
    position: fixed;
}

.header {
    height: 100px;
    padding: 0 20px;
    margin: 0 auto;
    z-index: 3;
    position: relative;
    transition: all 0.4s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
}

    .header h1 {
        width: 15%;
        margin-right: 2%;
        height: 100%;
    }

        .header h1 a {
            display: block;
            width: 100%;
            height: 100%;
            position: relative;
        }

            .header h1 a img {
                position: absolute;
                top: 50%;
                left: 0;
                transform: translateY(-50%);
                max-height: 80px;
            }

/* Header sticky */
.header-wrap.sticky {
    position: fixed;
    top: 0;
    left: 0;
    max-width: 100%;
    box-shadow: 0px 3px 10px rgba(255, 255, 255, 0.1);
    background: #fff;
    border-bottom: 1px solid #ddd;
}

    .header-wrap.sticky .header {
        height: 70px;
        margin: 0 auto;
    }

        .header-wrap.sticky .header h1 {
            background-size: contain;
        }

            .header-wrap.sticky .header h1 a img {
                max-height: 40px;
            }

        .header-wrap.sticky .header .gnb > li > a {
            height: 70px;
            line-height: 70px;
            font-size: 1.7rem;
            line-height: 1.3;
        }

        .header-wrap.sticky .header .gnb > li .gnb-dep2 {
            top: 70px;
        }

        .header-wrap.sticky .header .gnb-bg {
            top: 70px;
        }

/* Header right */
.header .header-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Gnb pc Type1 */
.header .ty01 .gnb {
    display: block;
    text-align: right;
    display: flex;
    align-items: center;
}

    .header .ty01 .gnb > li {
        position: relative;
        z-index: 2;
    }

        .header .ty01 .gnb > li > a {
            font-size: 1.8rem;
            color: #666;
            display: flex;
            align-items: center;
            text-align: center;
            padding: 0px 25px;
            position: relative;
            opacity: 1;
            height: 100px;
            line-height: 1.3;
            transition: all 0.4s ease;
        }

            .header .ty01 .gnb > li > a:after {
                content: "";
                display: block;
                position: absolute;
                bottom: 0px;
                left: 0;
                right: 0;
                margin: 0 auto;
                width: 0;
                height: 2px;
                background: #ff9933;
                opacity: 0;
                transition: all 0.4s ease;
            }

        .header .ty01 .gnb > li.on > a {
            opacity: 1;
            color: #000;
        }

            .header .ty01 .gnb > li.on > a:after {
                opacity: 1;
                width: 100%;
            }

    .header .ty01 .gnb .gnb-dep2 {
        width: 100%;
        z-index: 2;
        position: absolute;
        top: 100px;
        left: 0;
        display: none;
        text-align: center;
    }

        .header .ty01 .gnb .gnb-dep2.on {
            display: block;
        }

        .header .ty01 .gnb .gnb-dep2 > ul {
            width: 1000px;
            text-align: left;
            padding: 20px 10px;
        }

            .header .ty01 .gnb .gnb-dep2 > ul > li {
                display: inline-block;
                position: relative;
                padding: 5px 15px;
                white-space: nowrap;
            }

                .header .ty01 .gnb .gnb-dep2 > ul > li > a {
                    font-size: 1.45rem;
                    color: #000;
                    display: block;
                    line-height: 1.5;
                }

                    .header .ty01 .gnb .gnb-dep2 > ul > li > a:hover {
                        color: #ff9933;
                    }

    .header .ty01 .gnb > li:nth-of-type(4) .gnb-dep2 {
        left: -550px;
    }

    .header .ty01 .gnb > li:nth-of-type(5) .gnb-dep2 {
        left: -200px;
    }

    .header .ty01 .gnb > li:nth-of-type(6) .gnb-dep2 {
        left: -300px;
    }

.header .ty01 .gnb-bg {
    display: block;
    width: 100%;
    background: #eee;
    position: absolute;
    top: 100px;
    left: 0;
    opacity: 0;
    height: 0;
}

    .header .ty01 .gnb-bg.on {
        opacity: 1;
        height: 70px;
    }

/* Gnb pc Type2*/
.header .ty02 .gnb {
    display: block;
    text-align: right;
    margin-right: 90px;
    display: flex;
    align-items: center;
}

    .header .ty02 .gnb > li {
        position: relative;
        z-index: 2;
    }

        .header .ty02 .gnb > li > a {
            font-size: 2.2rem;
            color: #666;
            display: block;
            padding: 0px 35px;
            position: relative;
            font-weight: 300;
            opacity: 1;
            height: 110px;
            line-height: 110px;
            transition: all 0.4s ease;
        }

            .header .ty02 .gnb > li > a:after {
                content: "";
                display: block;
                position: absolute;
                bottom: 0px;
                left: 0;
                right: 0;
                margin: 0 auto;
                width: 100%;
                height: 2px;
                background: #000;
                opacity: 0;
                transition: all 0.4s ease;
            }

        .header .ty02 .gnb > li.on > a {
            opacity: 1;
            color: #000;
        }

            .header .ty02 .gnb > li.on > a:after {
                opacity: 1;
            }

    .header .ty02 .gnb .gnb-dep2 {
        width: auto;
        z-index: 2;
        position: absolute;
        top: 110px;
        left: 0;
        display: none;
        text-align: center;
        overflow: hidden;
    }

        .header .ty02 .gnb .gnb-dep2.on {
            display: block;
        }

        .header .ty02 .gnb .gnb-dep2 > ul {
            width: auto;
            padding: 20px 10px;
            display: flex;
            align-items: center;
        }

            .header .ty02 .gnb .gnb-dep2 > ul > li {
                display: block;
                position: relative;
                padding: 5px 10px;
            }

                .header .ty02 .gnb .gnb-dep2 > ul > li > a {
                    font-size: 1.6rem;
                    color: #000;
                    font-weight: 500;
                    display: block;
                    line-height: 1.5;
                }

                    .header .ty02 .gnb .gnb-dep2 > ul > li > a:hover {
                        text-decoration: underline;
                        color: #000;
                    }

.header .ty02 .gnb-bg {
    display: block;
    width: 100%;
    height: 70px;
    background: #eee;
    position: absolute;
    top: 110px;
    left: 0;
    opacity: 0;
}

    .header .ty02 .gnb-bg.on {
        opacity: 1;
    }

/* Gnb mobile */
.header .gnb-open {
    display: none;
    background: url(../img/common/btn-allmenu-dark.png) no-repeat 50% 50%;
    width: 26px;
    height: 26px;
    background-size: contain;
}

.header .gnb-close {
    display: none;
    position: absolute;
    top: 15px;
    right: 15px;
    background: url(../img/common/ico-close.png) no-repeat 50% 50%;
    z-index: 99999;
    width: 30px;
    height: 30px;
    background-size: 20px;
    display: none;
}

.header .mobile-gnb {
    position: fixed;
    top: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    background: #111;
    z-index: 10;
    display: none;
    padding: 60px 0 0 0;
    overflow-y: auto;
}

    .header .mobile-gnb .mgnb-logo {
        position: absolute;
        top: 13px;
        left: 20px;
        width: 110px;
    }

    .header .mobile-gnb > ul > li {
        text-align: left;
        position: relative;
        background: #111;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

        .header .mobile-gnb > ul > li:first-of-type {
            border-top: 1px solid rgba(255, 255, 255, 0.1);
        }

        .header .mobile-gnb > ul > li > a {
            font-size: 1.8rem;
            color: #fff;
            display: block;
            padding: 15px 30px;
            position: relative;
        }

            .header .mobile-gnb > ul > li > a.on:after {
                content: "";
                display: block;
                width: 7px;
                height: 7px;
                border-top: 2px solid #fff;
                border-right: 2px solid #fff;
                position: absolute;
                top: 50%;
                right: 25px;
                transform: translateY(-50%) rotate(45deg);
                opacity: 1;
            }

        .header .mobile-gnb > ul > li.on {
            background: #f79433;
        }

            .header .mobile-gnb > ul > li.on > a:after {
                top: 50%;
                transform: translateY(-50%) rotate(-45deg);
            }

    .header .mobile-gnb .gnb-dep2 {
        width: 100%;
        z-index: 2;
        display: none;
        background: #fff;
    }

        .header .mobile-gnb .gnb-dep2.on {
            display: block !important;
        }

        .header .mobile-gnb .gnb-dep2 > ul > li > a {
            font-size: 1.6rem;
            color: #000;
            font-weight: 500;
            padding: 15px 10px 15px 30px;
            border-bottom: 1px solid #ccc;
            display: block;
            background: #efefef;
            position: relative;
        }

        .header .mobile-gnb .gnb-dep2 > ul > li a.on:after {
            content: "";
            position: absolute;
            top: 50%;
            right: 20px;
            width: 20px;
            height: 20px;
            background: url(../img/common/ico-plus-grey.png) no-repeat 50% 50%;
            transform: translateY(-50%);
            opacity: 1;
        }

        .header .mobile-gnb .gnb-dep2 > ul > li.on a:after {
            background: url(../img/common/ico-del-grey.png) no-repeat 50% 50%;
        }

    .header .mobile-gnb .gnb-dep3 {
        display: none;
    }

        .header .mobile-gnb .gnb-dep3.on {
            display: block;
        }

        .header .mobile-gnb .gnb-dep3 li a {
            font-size: 1.6rem;
            color: #333;
            padding: 15px 15px 15px 40px;
            border-bottom: 1px solid #ccc;
            display: block;
        }

            .header .mobile-gnb .gnb-dep3 li a:before {
                content: "-";
                display: none;
                margin-right: 10px;
            }

/* Site map */
.sitemap-open {
    width: 32px;
    height: 26px;
    background: url(../img/common/btn-allmenu-dark.png) no-repeat 50% 50%;
}

.sitemap-close {
    width: 40px;
    height: 30px;
    background: url(../img/common/ico-close.png) no-repeat 50% 50%;
    position: absolute;
    top: 40px;
    right: 40px;
}

.sitemap-list {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    color: #fff;
    z-index: 2;
    display: none;
}

    .sitemap-list .inner {
        display: flex;
        justify-content: space-between;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        max-width: 1400px;
    }

    .sitemap-list dl {
        padding: 2%;
    }

        .sitemap-list dl dt {
            font-size: 1.9rem;
            margin-bottom: 30px;
            color: #ff9933;
            font-weight: 400;
        }

        .sitemap-list dl dd {
            margin-bottom: 15px;
        }

            .sitemap-list dl dd a {
                color: #eee;
                font-size: 1.5rem;
                font-weight: 400;
            }

            .sitemap-list dl dd ul {
                margin: 10px 0 30px;
            }

                .sitemap-list dl dd ul li {
                    margin-bottom: 6px;
                }

                    .sitemap-list dl dd ul li a {
                        padding-left: 0x;
                        font-size: 1.5rem;
                        color: #bbb;
                        line-height: 1.3;
                    }

    .sitemap-list a:hover {
        text-decoration: underline;
    }

/* Language nav */
.lang-nav {
    position: relative;
}

    .lang-nav button {
        border: 0;
        background: #fff url(../img/common/ico-select.png) no-repeat;
        background-size: 10px;
        background-position: calc(100% - 10px) 50%;
        color: #000;
        font-size: 1.6rem;
        width: 60px;
        height: 27px;
        line-height: 27px;
        position: relative;
        text-align: left;
        padding-left: 10px;
        border: 1px solid #333;
    }

        .lang-nav button.on {
            background: #999 url(../img/common/ico-select-w2.png) no-repeat;
            background-position: calc(100% - 10px) 46%;
        }

    .lang-nav .lang-list {
        color: #000;
        position: absolute;
        top: 26px;
        left: 0;
        width: 100%;
        text-align: center;
        display: none;
        padding: 5px;
        background: #fff;
        border: 1px solid #333;
    }

        .lang-nav .lang-list a {
            display: block;
            background: #fff;
            padding: 5px 10px;
            border-bottom: 1px solid #ddd;
            font-size: 1.6rem;
        }

            .lang-nav .lang-list a:hover {
                color: #000;
            }

            .lang-nav .lang-list a:last-of-type {
                border-bottom: 0;
            }

@media all and (max-width: 1700px) {
    .header .ty01 .gnb > li > a {
        font-size: 1.6rem;
        padding: 0 15px;
    }

    .header .ty01 .gnb li:last-of-type .gnb-dep2 {
        left: -300%;
    }
}

@media all and (max-width: 1500px) {
    .header-wrap.sticky .header .gnb > li > a {
        font-size: 1.5rem;
    }

    .header .ty01 .gnb > li > a {
        font-size: 1.5rem;
    }
}

@media all and (max-width: 1400px) {
    .header h1 {
        background-size: contain !important;
        background-position: 0 40%;
    }

    .header .ty01 .gnb {
        margin-right: 0;
    }

        .header .ty01 .gnb > li > a {
            padding: 0 25px;
        }

    .header-wrap.sticky .header .gnb > li > a {
        padding: 0 25px;
    }
}

@media all and (max-width: 1240px) {
    .header .gnb > li > a {
        padding: 0 20px;
    }

    .header .ty01 .gnb > li > a {
        padding: 0 20px;
    }

    .header-wrap.sticky .header .gnb > li > a {
        padding: 0 20px;
    }

    .header h1 a img {
        width: 130px;
    }

    .sitemap-open {
        width: 26px;
        background-size: contain;
    }
}

@media all and (max-width: 1000px) {
    .header-wrap.sticky .header {
        height: 60px;
    }

    .header {
        height: 60px;
    }

        .header h1 img {
            max-height: 35px;
            max-width: 170px;
        }

        .header .gnb {
            display: none !important;
        }

        .header .gnb-open {
            display: block !important;
        }

        .header .header-right .sitemap {
            display: none;
        }

        .header .gnb-open {
            position: absolute;
            top: 50%;
            right: 100px;
            transform: translateY(-50%);
        }
}
/*---------- Footer type ----------*/
/*Footer*/
.footer-wrap {
    width: 100%;
    border-top: 1px solid #ccc;
    position: relative;
}

    .footer-wrap .footer-inner {
        max-width: 1430px;
    }

    .footer-wrap .footer-info {
        background: #fff;
        padding: 50px 20px 60px 20px;
        font-size: 1.5rem;
        color: #666;
        overflow: hidden;
    }

        .footer-wrap .footer-info .footer-inner {
            display: flex;
            align-items: flex-start;
        }

        .footer-wrap .footer-info .footer-logo {
            width: 20%;
        }

            .footer-wrap .footer-info .footer-logo img {
                max-height: 60px;
                max-width: 250px;
            }

        .footer-wrap .footer-info .footer-txt {
            width: 70%;
        }

            .footer-wrap .footer-info .footer-txt address {
                margin-bottom: 20px;
                line-height: 1.5;
            }

                .footer-wrap .footer-info .footer-txt address span {
                    margin-right: 15px;
                }

        .footer-wrap .footer-info .social-list {
            width: 20%;
            text-align: right;
        }

            .footer-wrap .footer-info .social-list a {
                width: 50px;
                height: 50px;
                border-radius: 100px;
                border: 1px solid #fff;
                position: relative;
                margin-left: 7px;
            }

                .footer-wrap .footer-info .social-list a img {
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                }

    .footer-wrap .btn-gotop {
        width: 40px;
        height: 40px;
        background: url(../img/common/ico-top.png) no-repeat 50% 50%;
        position: absolute;
        bottom: 10px;
        right: 20px;
        text-indent: -9999px;
        background-size: 40px;
        z-index: 2;
        border-radius: 20px;
    }

        .footer-wrap .btn-gotop:hover {
            background-color: #e7e7e7;
        }

@media all and (max-width: 1400px) {
    .footer-wrap .footer-info .footer-logo img {
        max-height: 40px;
        max-width: 200px;
    }
}

@media all and (max-width: 1240px) {
    .footer-wrap .footer-info .footer-logo {
        margin-bottom: 10px;
    }

    .footer-wrap .footer-info address {
        margin-bottom: 10px;
    }

    .footer-wrap .footer-info .social-list {
        position: relative;
        top: 0;
        right: 0;
        text-align: right;
        margin-top: 20px;
        margin-right: 55px;
    }

        .footer-wrap .footer-info .social-list a {
            width: 35px;
            height: 35px;
        }

            .footer-wrap .footer-info .social-list a img {
                width: 15px;
            }

    .footer-wrap .btn-gotop {
        bottom: 32px;
    }
}

@media all and (max-width: 1000px) {
    .footer-wrap .footer-info {
        padding: 30px 0;
    }

        .footer-wrap .footer-info .footer-logo {
            width: 180px;
        }

        .footer-wrap .footer-info .footer-txt {
            width: calc(100% - 200px);
        }
}

@media all and (max-width: 768px) {
    .footer-wrap .footer-info .footer-inner {
        display: block;
    }

    .footer-wrap .footer-info .footer-txt {
        width: calc(100% - 40px);
        margin-top: 10px;
    }

    .footer-wrap .btn-gotop {
        bottom: 23px;
        right: 15px;
    }
}
/*---------- Drop ----------*/
.drop {
    position: relative;
}

.drop-list {
    display: none;
}

/*---------- Tab ----------*/
/* Tab inpage */
.tabInpage-con > div {
    display: none;
    font-size: 1.7rem;
    line-height: 1.5;
}

    .tabInpage-con > div.on {
        display: block;
    }

.tabInpage-con .section {
    margin-bottom: 70px;
}

.tabInpage-con ul.list {
    margin-bottom: 30px;
}

    .tabInpage-con ul.list li {
        margin-bottom: 7px;
    }

.tabInpage-con .rule-list strong {
    text-decoration: underline;
    display: inline;
}

.tabInpage-con .rule-list > strong {
    font-weight: 500;
    margin-bottom: 10px;
    text-decoration: none;
}

.tabInpage-con .rule-list > ul {
    margin-bottom: 30px;
}

    .tabInpage-con .rule-list > ul > li {
        margin-bottom: 10px;
        padding-left: 25px;
        position: relative;
        font-size: 1.7rem;
    }

        .tabInpage-con .rule-list > ul > li .num {
            position: absolute;
            top: 0;
            left: 0;
        }

.tabInpage-con .rule-list ul.depth2 {
    margin-top: 5px;
}

    .tabInpage-con .rule-list ul.depth2 li {
        margin-bottom: 5px;
    }

.tabInpage-con .rule-list ul.depth3 {
    margin: 5px 0 10px 18px;
}

.tabInpage-con .bg-txt {
    background: #eee;
    border: 1px solid #ddd;
    padding: 25px;
    margin: 20px 0;
    font-size: 1.8rem;
    color: #000;
    font-weight: 500;
}

    .tabInpage-con .bg-txt a {
        color: #005b9e;
    }

    .tabInpage-con .bg-txt span {
        font-size: 1.8rem;
        font-weight: 400;
        position: relative;
        padding-left: 12px;
    }

        .tabInpage-con .bg-txt span:before {
            content: "";
            display: inline-block;
            width: 6px;
            height: 2px;
            background: #747474;
            position: absolute;
            top: 12px;
            left: 0;
        }

/*---------- Table ----------*/
.table-scroll {
    overflow-x: auto;
}

    .table-scroll .table {
        min-width: 500px;
    }

.table {
    width: 99.99%;
    border-collapse: collapse;
    position: relative;
}

    .table thead:before {
        content: "";
        display: none;
        width: 100%;
        height: 0px;
        background: #000;
        position: absolute;
        top: 0;
        left: 0;
    }

    .table thead tr th {
        background: #eee;
        border-top: 1px solid #333;
    }

    .table tr td,
    .table tr th {
        border: 1px solid #ddd;
        padding: 20px 10px;
        vertical-align: middle;
        text-align: center;
        line-height: 1.5;
    }

    .table tr th {
        text-align: center;
        color: #000;
        font-weight: 500;
        background: #f9f9f9;
    }

    .table tr td ul {
        margin-top: 10px;
    }

        .table tr td ul li {
            margin-bottom: 10px;
        }

            .table tr td ul li:last-of-type {
                margin-bottom: 0;
            }

/*---------- Privacy ----------*/
.privacy-txt h4 {
    font-size: 1.9rem;
    font-weight: 500;
    margin-bottom: 10px;
    line-height: 1.5;
}

.privacy-txt p {
    margin-bottom: 30px;
}

.privacy-txt ul, .privacy-txt ol {
    margin-bottom: 30px;
}

    .privacy-txt ul > li {
        position: relative;
        padding-left: 15px;
        margin-bottom: 10px;
        line-height: 1.5;
    }

        .privacy-txt ul > li:before {
            content: "";
            display: inline-block;
            width: 6px;
            height: 1px;
            background: #333;
            position: absolute;
            left: 0;
            top: 13px;
        }

    .privacy-txt ol > li {
        margin-top: 10px;
        line-height: 1.5;
        position: relative;
        padding-left: 25px;
    }

        .privacy-txt ol > li span {
            position: absolute;
            top: 0;
            left: 0;
        }

.privacy-btn {
    font-size: 1.6rem;
    margin-left: 10px;
    color: #005b9e;
    position: relative;
    top: -1px;
}

/*---------- Quick nav ----------*/
.quick-nav {
    position: fixed;
    width: 60px;
    bottom: 3.8vw;
    right: 1.2vw;
    z-index: 3;
    text-align: right;
}

    .quick-nav li {
        float: right;
        margin-bottom: 10px;
        display: inline-block;
        width: 60px;
        height: 60px;
        background: #000;
        border-radius: 100px;
        cursor: pointer;
        transition: all 0.3s ease;
        position: relative;
    }

        .quick-nav li img {
            width: 60px;
        }

        .quick-nav li:hover {
            width: 160px;
        }

        .quick-nav li:first-of-type:hover,
        .quick-nav li:last-of-type:hover {
            width: 210px;
        }

        .quick-nav li span {
            position: absolute;
            top: 50%;
            left: 30px;
            transform: translateY(-50%);
            opacity: 0;
            color: #fff;
            font-size: 1.8rem;
        }

        .quick-nav li:hover span {
            animation: quickNav 0.4s 0.3s forwards;
        }

@keyframes quickNav {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@media all and (max-width: 1400px) {
    .quick-nav {
        bottom: 15vw;
    }

        .quick-nav li {
            width: 40px;
            height: 40px;
        }

            .quick-nav li:hover {
                width: 130px;
            }

            .quick-nav li:last-of-type:hover {
                width: 150px;
            }

            .quick-nav li img {
                width: 40px;
            }

            .quick-nav li span {
                font-size: 1.6rem;
                left: 20px;
            }
}
/*---------- Search ----------*/
/* Total search */
.search-wrap {
    position: relative;
    overflow: hidden;
    text-align: right;
    margin-bottom: 20px;
}

    .search-wrap select {
        width: 150px;
    }

    .search-wrap .input-box {
        border: 1px solid #ddd;
        padding: 5px 10px;
        position: relative;
        width: 300px;
        display: inline-block;
        vertical-align: top;
        text-align: left;
    }

    .search-wrap input[type=text] {
        background: none;
        border: 0;
        height: 38px;
        width: calc(100% - 40px);
    }

    .search-wrap .submit-btn {
        width: 30px;
        height: 30px;
        position: absolute;
        top: 50%;
        right: 15px;
        background: url(../img/common/ico-search-blue.png) no-repeat 50% 50%;
        transform: translateY(-50%);
    }

    .search-wrap .select-list {
        overflow: hidden;
        width: 80%;
        float: left;
    }

        .search-wrap .select-list select {
            float: left;
            width: 18%;
            margin-right: 2%;
        }

            .search-wrap .select-list select:last-of-type {
                margin-right: 0;
            }

    .search-wrap .btn-box {
        float: left;
        width: 20%;
        overflow: hidden;
        margin: 0;
    }

        .search-wrap .btn-box a {
            width: 50%;
            height: 55px;
            line-height: 55px;
            float: left;
            width: 49%;
            margin-right: 2%;
            color: #fff;
            font-weight: 500;
        }

            .search-wrap .btn-box a:last-of-type {
                margin-right: 0;
            }

/* Result */
.search-result {
    border-top: 2px solid #000;
}

    .search-result li a {
        display: block;
        padding: 30px 15px;
        border-bottom: 1px solid #ddd;
    }

        .search-result li a:hover {
            background: #eee;
        }

    .search-result li p {
        margin-bottom: 0;
        font-size: 1.7rem;
    }

    .search-result li .title {
        font-weight: 500;
        margin: 15px 0 5px;
        color: #000;
    }

    .search-result li .pg-location {
        margin-bottom: 10px;
    }

        .search-result li .pg-location span {
            font-size: 1.7rem;
            line-height: 1.5;
            font-weight: 500;
            color: #000;
        }

            .search-result li .pg-location span:after {
                content: "";
                display: inline-block;
                width: 7px;
                height: 7px;
                border-top: 1px solid #666;
                border-right: 1px solid #666;
                transform: rotate(45deg);
                vertical-align: middle;
                margin: 0 20px;
                position: relative;
                top: -1px;
            }

            .search-result li .pg-location span:last-of-type {
                color: #005b9e;
                font-weight: 500;
            }

                .search-result li .pg-location span:last-of-type:after {
                    display: none;
                }

/*---------- Board ----------*/
/*search*/
.border-top {
    margin-bottom: 40px;
    position: relative;
    min-height: 40px;
    text-align: right;
    border-bottom: 1px solid #ddd;
    padding-bottom: 30px;
    display: none;
}

    .border-top .select {
        position: absolute;
        top: 0;
        right: 0;
        border: 2px solid #000;
        border-radius: 30px;
        overflow: hidden;
        padding: 5px 10px;
        width: 170px;
    }

        .border-top .select select {
            height: 35px;
            line-height: 35px;
            border: 0;
            width: 100%;
        }

    .border-top .search-box {
        border: 1px solid #ccc;
        padding: 5px 15px;
        width: 300px;
        position: relative;
        overflow: hidden;
        background: #fff;
        text-align: left;
        display: inline-block;
    }

        .border-top .search-box input[type=text] {
            width: calc(100% - 40px);
            border: 0;
            height: 30px;
            padding: 0;
        }

        .border-top .search-box .submit-btn {
            background: url(../img/common/ico-search-orange.png) no-repeat 50% 50%;
            position: absolute;
            top: 50%;
            right: 18px;
            width: 25px;
            height: 25px;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            background-size: 17px;
        }

/* List */
.board-list {
    border-top: 1px solid #eee;
}

    .board-list ul {
        margin-bottom: 40px;
    }

        .board-list ul li a {
            display: block;
            overflow: hidden;
            padding: 15px 0;
            border-bottom: 1px solid #eee;
            position: relative;
            transition: all 0.4s ease;
        }

            .board-list ul li a:hover {
                background: #f9f9f9;
            }

    .board-list .txt-box {
        float: left;
        width: 50%;
        padding: 3% 1% 7% 1%;
    }

    .board-list .img-box {
        float: left;
        width: 50%;
        padding-top: 19%;
        position: relative;
        overflow: hidden;
    }

        .board-list .img-box img {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            max-width: none;
            height: auto;
        }

    .board-list .txt-box .title {
        font-size: 2.3rem;
        margin-bottom: 10px;
    }

    .board-list .txt-box .date {
        position: absolute;
        bottom: 10%;
        left: 1%;
    }

/* Thumbnail List */
.board-thumb {
    overflow: hidden;
}

    .board-thumb .board-list {
        margin: 0 -1.5%;
        border-top: 2px solid #000;
    }

        .board-thumb .board-list li {
            display: inline-block;
            width: 30%;
            margin: 3% 1.5% 0 1.5%;
            border: 1px solid #ddd;
        }

            .board-thumb .board-list li a {
                display: block;
                position: relative;
            }

                .board-thumb .board-list li a:after {
                    content: "";
                    display: block;
                    opacity: 0;
                    width: 100%;
                    height: 100%;
                    position: absolute;
                    top: 0;
                    left: 0;
                    background: rgba(0, 0, 0, 0.5) url(../img/common/ico-search.png) no-repeat 50% 50%;
                    transition: all 0.3s ease;
                }

                .board-thumb .board-list li a:hover:after {
                    opacity: 1;
                }

            .board-thumb .board-list li .txt-box {
                padding: 7%;
            }

                .board-thumb .board-list li .txt-box .title {
                    font-weight: 500;
                    font-size: 2rem;
                    line-height: 1.4;
                }

                .board-thumb .board-list li .txt-box p {
                    margin: 10px 0 0px;
                    color: #666;
                    font-size: 1.6rem;
                }

            .board-thumb .board-list li .img-box {
                position: relative;
                padding-top: 60%;
            }

                .board-thumb .board-list li .img-box img {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                }

        .board-thumb .board-list .other-info {
            margin-top: 20px;
        }

            .board-thumb .board-list .other-info span {
                font-size: 1.6rem;
                color: #666;
                padding: 0 10px;
                border-left: 1px solid #ddd;
                line-height: 1;
            }

                .board-thumb .board-list .other-info span:first-of-type {
                    border-left: 0;
                    padding-left: 0;
                }

/* View */
.board-view {
    margin-top: 40px;
}

    .board-view .view-top {
        margin-bottom: 20px;
        border-bottom: 1px solid #eee;
        border-top: 1px solid #eee;
        padding: 20px;
        background: #f8f8f8;
        position: relative;
    }

        .board-view .view-top .title {
            font-size: 2.3rem;
            color: #000;
        }

        .board-view .view-top .date {
            margin-top: 10px;
        }

    .board-view .txt {
        padding: 20px 20px 50px 20px;
        border-bottom: 1px solid #333;
    }

/* Write */
.board-write {
    border-top: 2px solid #000;
}

    .board-write .theater-info {
        width: 35px;
        height: 35px;
        text-align: center;
        text-indent: -99999px;
        background: #728189 url(../img/common/ico-help.png) no-repeat 48% 50%;
        margin-left: 7px;
        position: absolute;
        top: -7px;
        left: 154px;
    }

    .board-write .section {
        padding: 40px 30px;
        border-bottom: 1px dashed #ccc;
    }

        .board-write .section:after {
            content: "";
            display: block;
            width: 100%;
            clear: both;
        }

    .board-write .ico-require {
        color: #005b9e;
        margin-right: 10px;
        vertical-align: middle;
    }

    .board-write .input-field {
        float: left;
        width: 50%;
        padding: 0 30px;
    }

        .board-write .input-field:after {
            content: "";
            display: block;
            width: 100%;
            clear: both;
        }

        .board-write .input-field.wid-full {
            float: none;
            width: 100%;
        }

        .board-write .input-field .s-txt {
            font-size: 1.5rem;
            margin-bottom: 0;
            margin-top: 10px;
        }

        .board-write .input-field label {
            display: block;
            width: 100%;
            margin-bottom: 15px;
            font-size: 1.8rem;
            font-weight: 500;
            position: relative;
        }

            .board-write .input-field label .s-txt {
                font-weight: normal;
                margin-top: 0;
                margin-left: 10px;
            }

        .board-write .input-field input[type=email],
        .board-write .input-field input[type=text] {
            width: 100%;
        }

        .board-write .input-field small {
            width: 4%;
            line-height: 55px;
            float: left;
            display: inline-block;
            text-align: center;
        }

        .board-write .input-field.input-number input[type=text] {
            width: 35%;
            float: left;
        }

        .board-write .input-field.input-number .btn-m {
            width: 24%;
            float: right;
            min-width: auto;
        }

        .board-write .input-field.input-email input[type=email] {
            width: 34%;
            float: left;
        }

        .board-write .input-field.input-email select {
            width: 26%;
            float: right;
        }

        .board-write .input-field .input-group {
            overflow: hidden;
            width: 100%;
            float: none;
            padding: 0;
        }

            .board-write .input-field .input-group .group {
                width: 50%;
                float: left;
            }

                .board-write .input-field .input-group .group:last-of-type {
                    float: right;
                    text-align: right;
                }

                .board-write .input-field .input-group .group select {
                    width: 48%;
                    margin: 0 3%;
                }

        .board-write .input-field .txt {
            font-size: 1.8rem;
            margin-top: 20px;
            padding-left: 17px;
        }

    .board-write .title {
        margin-bottom: 15px;
        font-size: 1.8rem;
        font-weight: 500;
        display: block;
    }

    .board-write .privacy-wrap {
        background: #eee;
        padding: 60px;
        margin-top: 30px;
    }

        .board-write .privacy-wrap .privacy-txt {
            line-height: 1.5;
            padding: 20px;
            background: #fff;
            border: 1px solid #ccc;
            height: 195px;
            overflow-y: auto;
        }

        .board-write .privacy-wrap .check-set {
            margin-top: 20px;
        }

@media all and (max-width: 1400px) {
    .board-write .input-field .input-group .group {
        float: none !important;
        width: 100%;
        text-align: left !important;
    }

        .board-write .input-field .input-group .group:last-of-type {
            margin-top: 10px;
        }
}

@media all and (max-width: 1240px) {
    .board-write .section {
        padding: 30px 0;
    }
}

@media all and (max-width: 1000px) {
    .board-write {
        padding-top: 25px;
    }

        .board-write .input-field {
            float: none;
            width: 100%;
            border-bottom: 1px dashed #ccc;
            padding: 0;
            padding-bottom: 25px;
            margin-bottom: 25px;
        }

            .board-write .input-field small {
                line-height: 45px;
            }

        .board-write .section {
            border-bottom: 0;
            padding: 0;
        }
}
/* Control */
.prev-next-wrap {
    border-top: 1px solid #ddd;
    margin: 40px 0;
}

    .prev-next-wrap li {
        border-bottom: 1px solid #ddd;
        display: table;
        width: 100%;
    }

        .prev-next-wrap li strong {
            padding: 15px 0;
            text-align: center;
            background: #eee;
            display: table-cell;
            width: 150px;
        }

            .prev-next-wrap li strong:after {
                content: "";
                display: inline-block;
                width: 0;
                height: 0;
                border: 6px solid transparent;
                border-bottom: 6px solid #999;
                margin-left: 15px;
                position: relative;
                top: -2px;
            }

        .prev-next-wrap li:last-of-type strong:after {
            content: "";
            display: inline-block;
            width: 0;
            height: 0;
            border: 6px solid transparent;
            border-top: 6px solid #999;
            margin-left: 15px;
            position: relative;
            top: 4px;
        }

        .prev-next-wrap li a {
            color: #666;
            display: table-cell;
            width: calc(100% - 150px);
            padding: 15px 3%;
            line-height: 1.5;
        }

            .prev-next-wrap li a:hover {
                text-decoration: underline;
                color: #000;
            }

/* Paging */
.paging {
    text-align: center;
    padding: 70px 0px;
    text-align: center;
    font-size: 1.5rem;
    display: none;
}

    .paging > a {
        margin: 0 2px;
        width: 40px;
        height: 40px;
        line-height: 40px;
        color: #333;
        vertical-align: middle;
        color: #666;
        border: 1px solid #ddd;
    }

        .paging > a.on {
            border: 1px solid #f79433;
            background: #f79433;
            color: #fff;
        }

    .paging strong.on {
        font-weight: bold;
        color: #fff;
        background: #0d6dbe;
        width: 30px;
        height: 30px;
        line-height: 30px;
        vertical-align: middle;
    }

    .paging .first, .paging .last,
    .paging .prev, .paging .next {
        background-size: auto;
        background-repeat: no-repeat;
        background-position: 50% 50%;
    }

    .paging .first {
        background-image: url(../img/common/ico-pg-first.png);
    }

    .paging .last {
        background-image: url(../img/common/ico-pg-last.png);
    }

    .paging .prev {
        background-image: url(../img/common/ico-pg-prev.png);
        margin-right: 10px;
    }

    .paging .next {
        background-image: url(../img/common/ico-pg-next.png);
        margin-left: 10px;
    }

    .paging .page-num {
        display: inline-block;
        vertical-align: middle;
    }

        .paging .page-num span {
            vertical-align: middle;
        }

        .paging .page-num input[type=text] {
            height: 30px;
            width: 50px;
            margin-right: 2px;
            text-align: center;
        }

        .paging .page-num a {
            width: 50px;
            height: 30px;
            line-height: 30px;
            background: #0d6dbe;
            color: #fff;
            vertical-align: middle;
            margin-left: 5px;
        }

/* More-btn */
.list-more-btn {
    background: #eee;
    text-align: center;
    font-size: 2rem;
    margin-top: 40px;
}

    .list-more-btn a {
        display: block;
        padding: 20px 10px;
    }

        .list-more-btn a:after {
            content: "";
            display: block;
            width: 0px;
            height: 0px;
            margin: 10px auto 0 auto;
            border: 9px solid transparent;
            border-top: 10px solid #666;
        }

@media all and (max-width: 768px) {
    .list-more-btn {
        margin-top: 30px;
    }

        .list-more-btn a {
            padding: 15px;
            font-size: 1.8rem;
        }

            .list-more-btn a:after {
                border: 5px solid transparent;
                border-top: 6px solid #666;
            }
}
/* Filter */
.category-filter {
    text-align: center;
    margin-bottom: 30px;
}

    .category-filter ul li {
        display: inline-block;
        vertical-align: top;
    }

        .category-filter ul li a {
            color: #666;
            margin: 5px;
            padding: 0px 13px;
            height: 30px;
            line-height: 30px;
            font-size: 1.8rem;
        }

        .category-filter ul li.on a {
            color: #000;
            font-weight: 500;
            border-bottom: 1px solid #000;
        }

/* FAQ */
.faq-list {
    border-top: 1px dashed #ddd;
    line-height: 1.5;
    overflow-anchor: none;
}

    .faq-list li {
        border-bottom: 1px dashed #ddd;
        position: relative;
    }

        .faq-list li .faq-open-btn {
            font-weight: 500;
            padding: 20px 10px;
            display: inline-block;
            width: 100%;
            text-align: left;
            position: relative;
            line-height: 1.5;
        }

            .faq-list li .faq-open-btn span {
                display: inline-block;
                vertical-align: top;
            }

            .faq-list li .faq-open-btn .title {
                text-overflow: ellipsis;
                white-space: nowrap;
                overflow: hidden;
                width: calc(100% - 130px);
                font-size: 1.8rem;
            }

            .faq-list li .faq-open-btn:hover .title {
                text-decoration: underline;
            }

            .faq-list li .faq-open-btn:before {
                content: "";
                display: block;
                position: absolute;
                top: 34%;
                right: 25px;
                width: 8px;
                height: 8px;
                border-top: 2px solid #999;
                border-right: 2px solid #999;
                transform: rotate(135deg) translateY(-50%);
                transform-origin: center center;
            }

            .faq-list li .faq-open-btn.on:before {
                transform: rotate(-45deg) translateY(-50%);
                top: 50%;
                right: 18px;
                border-color: #0075ff;
            }

            .faq-list li .faq-open-btn .category {
                color: #fff;
                background: #ddd;
                border-radius: 100px;
                margin-right: 20px;
                padding: 0px 13px;
                height: 30px;
                line-height: 30px;
                font-size: 1.6rem;
            }

        .faq-list li .faq-content {
            display: none;
            padding: 20px;
            color: #666;
            border-top: 1px solid #ddd;
            background: #f8f9fa;
        }

@media all and (max-width: 768px) {
    .faq-list li .faq-open-btn {
        padding: 15px 5px;
    }

        .faq-list li .faq-open-btn .category {
            padding: 0 10px;
            height: 25px;
            line-height: 25px;
            margin-right: 5px;
        }

        .faq-list li .faq-open-btn:before,
        .faq-list li .faq-open-btn.on:before {
            right: 15px;
        }

        .faq-list li .faq-open-btn .title {
            width: calc(100% - 100px);
        }
}
/* Upload */
.upload_set {
    overflow: hidden;
}

.board-write .input-field.input-file input.upload_text {
    float: left;
    width: 74%;
    height: 55px !important;
    line-height: 55px;
    padding: 0 15px;
    border: 1px solid #ccc;
    margin: 0;
}

.board-write .input-field.input-file .upload_btn_wrap input.input_file {
    position: absolute;
    top: -100%;
    right: 0;
    width: 100%;
    height: 200%;
    cursor: pointer;
    opacity: 0;
}

.board-write .input-field.input-file .upload_btn_wrap {
    overflow: hidden;
    position: relative;
    float: left;
    width: 24%;
    height: 55px;
    margin-left: 2%;
}

    .board-write .input-field.input-file .upload_btn_wrap label {
        width: 100%;
        height: 55px;
        line-height: 55px;
        color: #fff;
        background: #496877;
        vertical-align: top;
        display: block;
        font-size: 1.7rem;
        text-align: center;
        font-weight: normal;
    }

/* Error */
.pg-error {
    text-align: center;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 0 15px;
}

    .pg-error p {
        font-size: 1.8rem;
        line-height: 1.7;
        margin-bottom: 50px;
        padding-top: 160px;
        background: url(../img/common/error-img2.png) no-repeat 50% 0;
    }

        .pg-error p strong {
            font-size: 2rem;
            margin-bottom: 10px;
        }

    .pg-error .btn-box a {
        margin: 0 5px;
    }

/* Etc */
.no-list {
    text-align: center;
    padding: 3vw 1vw;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.tit-ep {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

/*---------- Popup ----------*/
.popup-wrap {
    display: none;
    position: fixed;
    z-index: 9;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
}

    .popup-wrap .close-btn {
        position: absolute;
        top: -50px;
        right: 0px;
        cursor: pointer;
        background: url("../img/common/ico-close.png") no-repeat 50% 50%;
        width: 30px;
        height: 30px;
        background-size: cover;
        text-indent: -9999px;
        z-index: 2;
    }

    .popup-wrap .popup-inner {
        background-color: #fefefe;
        position: absolute;
        top: 0;
        left: 50%;
        text-align: left;
        width: 95%;
        max-width: 1000px;
        margin: 10vh auto;
        transform: translateX(-50%);
    }

    .popup-wrap .popup-top {
        background: #1081d7;
        position: relative;
        padding: 20px 30px;
    }

        .popup-wrap .popup-top .popup-tit {
            font-size: 2.5rem;
            color: #fff;
            font-weight: 500;
        }

            .popup-wrap .popup-top .popup-tit span {
                display: block;
                text-align: center;
                font-size: 2.2rem;
                color: #f26330;
            }

    .popup-wrap .focus-return {
        position: absolute;
        top: 0;
        left: -999999px;
        opacity: 0;
    }

    .popup-wrap .popup-con {
        padding: 30px;
        line-height: 1.4;
    }

        .popup-wrap .popup-con .btn-box {
            border-top: 1px solid #ddd;
            padding-top: 30px;
            text-align: right;
        }

        .popup-wrap .popup-con > p {
            margin-bottom: 10px;
        }

    .popup-wrap .video-box {
        position: relative;
        padding-top: 56.4%;
    }

        .popup-wrap .video-box iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

    /*popup-xs*/
    .popup-wrap.popup-xs .popup-inner {
        max-width: 500px;
        top: 45%;
        transform: translate(-50%, -50%);
    }

    /*popup-sm*/
    .popup-wrap.popup-sm .popup-inner {
        max-width: 800px;
        top: 45%;
        transform: translate(-50%, -50%);
    }

    /*popup-lg*/
    .popup-wrap.popup-lg .popup-inner {
        max-width: 1300px;
    }

@media all and (max-width: 768px) {
    .popup-wrap .popup-top {
        padding: 20px;
    }

        .popup-wrap .popup-top .popup-tit {
            font-size: 2rem;
        }

    .popup-wrap .close-btn {
        background-size: 25px;
    }

    .popup-wrap .popup-con {
        padding: 20px 15px;
    }
}
/*---------- Slider ----------*/
.slick-slide {
    position: relative;
    min-height: 1px;
}

    .slick-slide img {
        width: 100%;
    }

/*slick arrows*/
.slick-slider .slick-prev {
    left: 0%;
}

.slick-slider .slick-next {
    right: 0%;
}

.slick-slider .slick-prev, .slick-slider .slick-next {
    top: 50%;
    position: absolute;
    width: 100px;
    height: 100px;
    text-indent: -9999px;
    z-index: 2;
    transform: translateY(-50%);
    opacity: 0.3;
}

.slick-slider .slick-prev {
    background: url(../img/common/ico-prev-l.png) no-repeat 50% 50%;
    left: 5%;
    background-size: contain;
}

.slick-slider .slick-next {
    background: url(../img/common/ico-next-l.png) no-repeat 50% 50%;
    right: 5%;
    background-size: contain;
}

/*slick dots*/
.slick-dots {
    text-align: center;
    position: absolute;
    bottom: 32px;
    left: 0px;
    width: 100%;
}

    .slick-dots li {
        display: inline-block;
        margin: 0 4px;
    }

        .slick-dots li button {
            display: block;
            width: 30px;
            height: 7px;
            background: #ccc;
            border-radius: 0;
            border: 0;
            text-indent: -9999px;
        }

        .slick-dots li.slick-active button {
            background: #f79433;
        }

@media all and (max-width: 1400px) {
    .slick-slider .slick-prev, .slick-slider .slick-next {
        width: 60px;
        height: 60px;
        background-size: 50px;
    }
}

@media all and (max-width: 1240px) {
    .slick-control.type-lg .slick-next,
    .slick-control.type-lg .slick-prev {
        width: 50px;
        height: 50px;
    }

    .slick-slider .slick-next {
        right: 0;
    }

    .slick-slider .slick-prev {
        left: 0;
    }
}

@media all and (max-width: 768px) {
    .slick-slider .slick-prev, .slick-slider .slick-next {
        width: 45px;
        height: 45px;
        background-size: 30px;
    }

    .slick-dots li button {
        height: 4px;
    }
}
/* Slider nav */
.slider-nav {
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 2;
    display: none;
}

    .slider-nav button {
        font-size: 2rem;
    }

/*---------- Input ----------*/
input[type=text],
input[type=tel],
input[type=email],
input[type=password] {
    width: auto;
    height: 50px;
    line-height: 50px;
    line-height: normal;
    padding: 0 10px;
    border: 1px solid #ccc;
    vertical-align: middle;
    font-size: 1.65rem;
    box-sizing: border-box;
}

input:read-only {
    background-color: #eee;
}

/* Placeholder */
::placeholder {
    color: #666;
    opacity: 1;
}

/* Textarea */
textarea {
    padding: 20px;
    border: 1px solid #ccc;
    min-height: 200px;
    width: 100%;
    box-sizing: border-box;
    font-size: 1.65rem;
}

/* Select */
select {
    position: relative;
    appearance: none;
    cursor: pointer;
    width: auto;
    height: 50px;
    padding: 0 40px 0 15px;
    border: 1px solid #ddd;
    background: #fff url(../img/common/ico-select-s.png) no-repeat;
    background-position: calc(100% - 10px) 50%;
    font-size: 1.7rem;
    vertical-align: middle;
}

    select::-ms-expand {
        display: none;
    }

/* Checkbox */
.check-set input[type=checkbox] {
    display: none;
}

    .check-set input[type=checkbox] + label {
        margin-right: 20px;
        cursor: pointer;
        font-weight: normal;
        font-size: 1.7rem;
    }

    .check-set input[type=checkbox]:last-of-type + label {
        margin-right: 0;
    }

    .check-set input[type=checkbox] + label:before {
        content: "";
        display: inline-block;
        width: 20px;
        height: 20px;
        margin: -2px 5px 0 0;
        vertical-align: middle;
        background: url(../img/common/check-radio.png) no-repeat 0px 0;
        cursor: pointer;
    }

    .check-set input[type=checkbox]:checked + label {
        color: #000;
    }

        .check-set input[type=checkbox]:checked + label:before {
            background: url(../img/common/check-radio.png) -20px 0 no-repeat;
        }

/* Radiobox */
.radio-set input[type=radio] {
    display: none;
}

    .radio-set input[type=radio] + label {
        margin-right: 20px;
        cursor: pointer;
    }

    .radio-set input[type=radio]:last-of-type + label {
        margin-right: 0;
    }

    .radio-set input[type=radio] + label:before {
        content: "";
        display: inline-block;
        width: 20px;
        height: 20px;
        margin: -2px 5px 0 0;
        vertical-align: middle;
        background: url(../img/common/check-radio.png) no-repeat -40px 0;
        cursor: pointer;
    }

    .radio-set input[type=radio]:checked + label {
        color: #000;
    }

        .radio-set input[type=radio]:checked + label:before {
            background: url(../img/common/check-radio.png) -60px 0 no-repeat;
        }

/*---------- Button ----------*/
button {
    cursor: pointer;
    vertical-align: middle;
}

.btn-box {
    text-align: center;
    margin: 30px 0;
}

.btn {
    padding: 0 80px 0 30px;
    height: 55px;
    line-height: 55px;
    min-width: 150px;
    background: #ccc;
    color: #fff !important;
    margin: 0px;
    position: relative;
    font-size: 1.8rem;
    vertical-align: middle;
    text-align: left;
}

.btn-r {
    padding: 12px 30px;
    border: 1px solid #000;
    text-align: center;
    border-radius: 100px;
    font-size: 1.65rem;
    color: #000;
    transition: all 0.3s ease;
}

    .btn-r:hover {
        background: #000;
        color: #fff;
    }

.btn:after {
    content: "";
    display: block;
    width: 29px;
    height: 10px;
    background: url(../img/common/ico-btn-arr.png) no-repeat 0 0;
    position: absolute;
    top: 48%;
    right: 30px;
    transform: translateY(-50%);
}

.btn.bg-white:after {
    background: url(../img/common/ico-btn-arr-b.png) no-repeat 0 0;
}

.btn-m {
    padding: 0 30px;
    height: 55px;
    line-height: 55px;
    min-width: 150px;
    background: #ccc;
    color: #fff !important;
    margin: 0px;
    position: relative;
    font-size: 1.8rem;
    vertical-align: middle;
    text-align: center;
}

/*---------- Font Size ----------*/
.title1 {
    font-size: 4rem;
    color: #444;
    font-weight: 600;
    margin-bottom: 30px;
}

    .title1 strong {
        font-size: 5rem;
        color: #ff6600;
    }

.title2 {
    font-size: 3.3rem;
    color: #444;
    font-weight: 600;
    margin-bottom: 30px;
    line-height: 1.3;
}

    .title2 strong {
        font-size: 4rem;
        color: #f60;
    }

.title3 {
    font-size: 2.9rem;
    color: #444;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.3;
}

.title4 {
    font-size: 2.6rem;
    color: #444;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.3;
}

.title-bo {
    border-bottom: 1px solid #ddd;
    padding-bottom: 20px;
}

/*---------- Grid ----------*/
.grid {
    display: flex;
    justify-content: space-between;
    gap: 4%;
}

    .grid .col2 {
        width: 46%;
    }

    .grid .col3 {
        width: 30%;
    }

    .grid .col4 {
        width: 22%;
    }

    .grid .col6 {
        width: 65%;
    }

    .grid.al-cnt {
        align-items: center;
    }

/*---------- Main ----------*/
.main-content .inner {
    padding: 120px 15px;
    max-width: 1430px;
}

.main-content .btn-more {
    font-size: 1.6rem;
    width: 180px;
    height: 55px;
    border: 1px solid #999;
    line-height: 55px;
    text-align: center;
    color: #999;
    margin-top: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-weight: 600;
}

    .main-content .btn-more:hover {
        background: #ff9933;
        border-color: #ff9933;
        color: #fff;
    }

        .main-content .btn-more:hover:after {
            background: url(../img/main/ico-more-w.png) no-repeat 50% 50%;
        }

    .main-content .btn-more:after {
        content: "";
        display: inline-block;
        width: 24px;
        height: 13px;
        background: url(../img/main/ico-more.png) no-repeat 50% 50%;
        margin-left: 20px;
    }

/* Main visual */
.main-visual {
    height: 100vh;
}

.main-visual-slide {
    text-align: center;
}

    .main-visual-slide .slide {
        height: 100vh;
        display: flex;
        align-items: center;
    }

        .main-visual-slide .slide > img {
            transform: scale(1.2) translateX(-50%);
            opacity: 0;
            height: 100%;
            width: auto;
            max-width: inherit;
            position: absolute;
            top: 0;
            left: 50%;
        }

        .main-visual-slide .slide.slick-active > img {
            animation: mainImg 3s forwards;
        }

        .main-visual-slide .slide.slick-active .txt-box img {
            animation: fadeInLeft 1.5s forwards;
        }

        .main-visual-slide .slide.slick-active .txt-box h2 {
            animation: fadeInLeft 1.5s forwards;
        }

        .main-visual-slide .slide.slick-active .txt-box p {
            animation: fadeInLeft 1.5s 0.2s forwards;
        }

        .main-visual-slide .slide.slick-active .txt-box a {
            animation: fadeInLeft 1.5s 0.6s forwards;
        }

    .main-visual-slide .btn-more {
        opacity: 0;
    }

    .main-visual-slide .txt-box {
        position: absolute;
        top: 50%;
        left: 0;
        text-align: left;
        right: 0;
        transform: translateY(-50%);
    }

        .main-visual-slide .txt-box h2 {
            font-size: 5.9rem;
            color: #333;
            margin-bottom: 25px;
            opacity: 0;
            letter-spacing: -2px;
            line-height: 1.2;
        }

        .main-visual-slide .txt-box p {
            font-size: 2.3rem;
            color: #000;
            font-weight: 400;
            opacity: 0;
        }

        .main-visual-slide .txt-box img {
            width: auto;
            opacity: 0;
        }

    .main-visual-slide .slick-prev,
    .main-visual-slide .slick-next {
        border-bottom: 1px solid #333;
        background: none;
        color: rgba(0, 0, 0, 0);
        height: 30px;
        opacity: 1;
    }

    .main-visual-slide .slick-prev {
        left: 0;
        text-align: right;
    }

    .main-visual-slide .slick-next {
        right: 0;
        text-align: left;
    }

    .main-visual-slide .slick-prev:before {
        content: "PREV";
        display: block;
        font-size: 1.6rem;
        color: #333;
        text-indent: 0;
    }

    .main-visual-slide .slick-next:before {
        content: "NEXT";
        display: block;
        font-size: 1.6rem;
        color: #333;
        text-indent: 0;
    }

    .main-visual-slide .slick-dots {
        bottom: 20vh;
        right: 0;
        max-width: 1430px;
        padding: 0 15px;
        text-align: left;
        margin: 0 auto;
    }

.main-visual .scroll {
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    font-size: 11px;
}

    .main-visual .scroll img {
        padding-bottom: 5px;
    }

@keyframes mainImg {
    0% {
        transform: scale(1.2) translateX(-50%);
        opacity: 0;
    }

    100% {
        transform: scale(1) translateX(-50%);
        opacity: 1;
    }
}

.main-content .section .tit-box {
    margin-bottom: 60px;
}

.main-content .section h3 {
    font-size: 4rem;
    color: #000;
    font-weight: 600;
    line-height: 1.3;
}

.main-content .section .tit-box h3 span {
    color: #f79433;
}

.main-content .section .tit-box p {
    font-size: 2rem;
    color: #000;
    margin-top: 10px;
}

    .main-content .section .tit-box p span {
        color: #999;
    }

.m-work {
    text-align: center;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

    .m-work .work-list {
        display: flex;
    }

        .m-work .work-list li {
            width: 25%;
            text-align: center;
            padding: 0 2.5%;
            min-height: 360px;
            position: relative;
            padding-bottom: 60px;
        }

            .m-work .work-list li strong {
                font-size: 1.9rem;
                line-height: 1.3;
                color: #ff9933;
                margin: 20px 0 10px;
                display: block;
                text-align: center;
                font-weight: 600;
            }

            .m-work .work-list li p {
                font-size: 1.5rem;
                color: #666;
                font-weight: 400;
            }

            .m-work .work-list li a {
                border: 1px solid #ccc;
                width: 125px;
                height: 45px;
                text-align: center;
                line-height: 40px;
                font-size: 1.5rem;
                color: #999;
                transition: all 0.3s ease;
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;
                margin: 0 auto;
            }

                .m-work .work-list li a:hover {
                    background: #ff9933;
                    color: #fff;
                    border-color: #ff9933;
                }

.m-product .txt-box {
    max-width: 37%;
}

    .m-product .txt-box h3:after {
        content: "";
        display: block;
        width: 100px;
        height: 1px;
        background: #333;
        margin: 30px 0 40px;
    }

    .m-product .txt-box img {
        width: auto;
        margin-bottom: 20px;
    }

    .m-product .txt-box dl dt {
        font-size: 2rem;
        color: #666;
        margin-bottom: 20px;
        font-weight: 600;
    }

    .m-product .txt-box dl dd {
        color: #666;
    }

.m-product .img-box {
    position: absolute;
    top: 0;
    right: 0;
    width: 56%;
    height: 100%;
}

    .m-product .img-box img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.m-product .control-btn {
    display: flex;
    align-items: center;
    margin-top: 80px;
}

    .m-product .control-btn button {
        width: 55px;
        height: 55px;
        background: #fff;
        border: 1px solid #ccc;
        margin-right: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .m-product .control-btn button:after {
            content: "";
            display: block;
            width: 10px;
            height: 10px;
            border-top: 1px solid #666;
            border-right: 1px solid #666;
            transform: rotate(-135deg);
            position: relative;
            left: 3px;
        }

        .m-product .control-btn button:last-of-type:after {
            transform: rotate(45deg);
            left: -3px;
        }

        .m-product .control-btn button:hover {
            background: #ff9933;
            border-color: #ff9933;
        }

            .m-product .control-btn button:hover:after {
                border-color: #fff;
            }

.m-product-slide .slide {
    height: 90vh;
}

.m-service {
    text-align: center;
    border-top: 1px solid #ddd;
}

    .m-service .slide {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

        .m-service .slide .img-box {
            position: absolute;
            top: 50%;
            left: 0;
            width: 52%;
            transform: translateY(-50%);
        }

        .m-service .slide .inner {
            text-align: right;
            padding-bottom: 200px;
        }

        .m-service .slide .txt-box {
            width: 60%;
            max-width: 600px;
            text-align: left;
            display: inline-block;
        }

            .m-service .slide .txt-box dl dt {
                font-size: 1.8rem;
                color: #ff9933;
                font-weight: 700;
                margin-bottom: 20px;
                line-height: 1.3;
            }

            .m-service .slide .txt-box dl dd {
                color: #333;
            }

            .m-service .slide .txt-box .num {
                margin: 50px 0 20px;
                position: relative;
                display: inline-block;
            }

                .m-service .slide .txt-box .num:before {
                    content: "";
                    display: block;
                    width: 100%;
                    height: 38%;
                    background: #fbc999;
                    position: absolute;
                    bottom: 13px;
                    left: 0;
                }

                .m-service .slide .txt-box .num strong {
                    font-size: 7rem;
                    color: #333;
                    line-height: 1;
                    z-index: 2;
                    position: relative;
                }

                    .m-service .slide .txt-box .num strong span {
                        vertical-align: middle;
                        font-size: 3.5rem;
                    }

            .m-service .slide .txt-box p {
                font-size: 1.5rem;
            }

    .m-service .tit-box {
        padding: 120px 15px 30px 15px;
        margin-bottom: 0 !important;
    }

.m-bim {
    background: url(../img/main/m-bim.jpg) no-repeat 50% 50%;
    background-size: cover;
    height: 100vh;
}

    .m-bim .tit-box {
        text-align: center;
        color: #fff;
        text-align: center;
    }

.main-content .m-bim .tit-box h3 {
    color: #fff;
}

.main-content .m-bim .tit-box p {
    color: #fff;
    font-size: 1.7rem;
    margin: 50px 0 70px;
    line-height: 1.6;
}

.main-content .m-bim .tit-box .btn-more {
    margin: 0 auto;
    color: #fff;
    border-color: #fff;
}

.m-partner .inner {
    padding: 30px 15px !important;
}

    .m-partner .inner a {
        pointer-events: none;
    }

.m-partner ul {
    display: flex;
    align-items: center;
}

    .m-partner ul li {
        margin: 0 2%;
    }

.m-cs {
    position: relative;
}

    .m-cs button {
        background: #000;
        color: #fff;
        width: 190px;
        height: 600px;
        position: absolute;
        top: 0;
        right: 0;
    }

        .m-cs button span {
            font-size: 3.6rem;
            font-weight: 600;
            transform: rotate(90deg);
        }

            .m-cs button span:before {
                content: "";
                display: inline-block;
                width: 30px;
                height: 30px;
                background: url(../img/main/ic-cs.png) no-repeat 50% 50%;
                vertical-align: middle;
                margin-right: 15px;
            }

@media all and (max-width: 1600px) {
    .main-content .inner {
        padding: 120px 10%;
    }

    .main-visual-slide .slick-dots {
        padding: 0 10%;
    }
}

@media all and (max-width: 1400px) {
    .main-content .inner {
        padding: 100px 10%;
    }

    .main-visual-slide .slick-next, .main-visual-slide .slick-prev {
        width: 70px;
    }

    .main-content .section .tit-box p {
        font-size: 2.2rem;
    }

    .main-content .section h3 {
        font-size: 3.5rem;
    }

    .m-product-slide .slide {
        height: 65vh;
    }

    .m-product .txt-box img {
        width: 50px;
    }

    .m-product .control-btn {
        margin-top: 40px;
    }

    .m-product .inner {
        padding: 50px 10%;
    }

    .m-service .slide .txt-box .num strong {
        font-size: 4rem;
    }

        .m-service .slide .txt-box .num strong span {
            font-size: 3rem;
        }
}

@media all and (max-width: 1024px) {
    .main-content .inner {
        padding: 70px 20px;
    }

    .main-visual-slide .txt-box {
        width: 100%;
        padding: 0 150px;
    }

        .main-visual-slide .txt-box h2 {
            font-size: 4rem;
            line-height: 1.2;
            margin-bottom: 10px;
            margin-top: 10px;
        }

        .main-visual-slide .txt-box p {
            font-size: 2rem;
        }

    .main-content .btn-more {
        height: 50px;
        width: 160px;
        margin-top: 30px;
    }

    .main-visual-slide .slick-dots {
        padding: 0 150px;
    }

    .m-product-slide .slide {
        height: auto;
    }

    .m-product .img-box {
        position: relative;
        width: 100%;
    }

        .m-product .img-box img {
            position: relative;
        }

    .m-product .txt-box {
        max-width: 100%;
    }

        .m-product .txt-box h3:after {
            margin: 10px 0 20px;
            width: 50px;
        }

        .m-product .txt-box dl dt {
            margin-bottom: 10px;
        }

    .m-product .control-btn {
        margin-top: 30px;
    }

    .m-service .slide {
        display: block;
    }

    .m-service .tit-box {
        padding: 70px 20px 10px 20px;
    }

    .m-service .slide .img-box {
        position: relative;
        top: 0;
        width: 100%;
        transform: none;
    }

    .m-service .slide .txt-box {
        width: 100%;
        max-width: 100%;
    }

    .m-service .slide .inner {
        padding: 0px 50px 100px 50px;
    }

    .m-service .slide .txt-box dl dt {
        margin-bottom: 10px;
    }

    .m-service .slide .txt-box .num {
        margin: 30px 0 20px;
    }

        .m-service .slide .txt-box .num strong {
            font-size: 5rem;
        }

            .m-service .slide .txt-box .num strong span {
                font-size: 2.5rem;
            }

    .m-cs button {
        width: 100px;
        height: 400px;
    }

        .m-cs button span {
            font-size: 2.5rem;
        }

            .m-cs button span:before {
                width: 15px;
                height: 15px;
                margin-right: 10px;
            }

    .m-cs iframe {
        height: 400px;
    }

    .m-partner .inner {
        padding: 20px 15px !important;
        overflow-x: auto;
    }

        .m-partner .inner ul li {
            flex-shrink: 0;
        }
}

@media all and (max-width: 900px) {
    .main-visual-slide .slide > img {
        top: 60px;
        left: 50%;
        right: 0;
        margin: 0 auto;
        height: auto;
        width: 100%;
        max-width: 100%;
    }
}

@media all and (max-width: 768px) {
    .m-work .work-list {
        flex-wrap: wrap;
    }

        .m-work .work-list li {
            width: 50%;
            padding: 5% 3%;
            margin-bottom: 5%;
            padding-bottom: 60px;
        }

    .main-visual-slide .txt-box h2 {
        font-size: 3.5rem;
    }

    .main-visual-slide .txt-box p {
        font-size: 1.8rem;
    }

    .main-visual-slide .txt-box {
        text-align: center;
        padding: 0 70px;
        top: 47%;
    }

    .main-content .btn-more {
        margin: 30px auto 0 auto;
    }

    .main-visual-slide .txt-box img {
        display: inline-block;
        width: 45px;
    }

    .main-visual-slide .slick-dots {
        text-align: center;
        padding: 0 20px;
    }

    .main-visual-slide .slick-next, .main-visual-slide .slick-prev {
        width: 50px;
    }

    .m-partner img {
        height: 30px;
    }
}

@media all and (max-width: 480px) {
    .main-content .section h3 {
        font-size: 2.8rem;
    }

    .main-content .section .tit-box p {
        font-size: 2rem;
    }

    .main-content .inner {
        padding: 50px 20px;
    }

    .main-content .btn-more {
        height: 45px;
        width: 150px;
    }

        .main-content .btn-more:after {
            margin-left: 13px;
        }

    .main-visual-slide .txt-box {
        padding: 0 20px;
    }

    .main-visual-slide .slick-next, .main-visual-slide .slick-prev {
        display: none !important;
    }

    .main-visual-slide .txt-box p br {
        display: none;
    }

    .main-content .section .tit-box {
        margin-bottom: 30px;
    }

    .m-product .control-btn button {
        width: 40px;
        height: 40px;
    }

    .m-product .txt-box dl dt {
        font-size: 2rem;
    }

    .m-service .slide .txt-box .num:before {
        height: 28%;
    }

    .main-content .m-bim .tit-box p {
        margin: 20px 0 40px;
        font-size: 1.6rem;
    }

    .m-cs button {
        width: 50px;
    }

        .m-cs button span {
            font-size: 2rem;
            white-space: nowrap;
            position: relative;
            left: -10px;
        }

    .m-work .work-list li {
        min-height: 320px;
    }

        .m-work .work-list li strong {
            font-size: 1.7rem;
        }

    .m-partner .inner {
        padding: 20px 15px !important;
    }
}

@media all and (max-width: 400px) {
    .m-work .work-list li {
        min-height: 340px;
    }
}
/*---------- Sub ----------*/
.sub-content {
    padding: 100px 0;
}

/* Sub title */
.sub-visual {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    height: 440px;
    text-align: center;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    align-items: self-end;
    justify-content: center;
    display: flex;
    overflow: hidden;
}

    .sub-visual .inner {
        padding: 0 15px;
    }

    .sub-visual.sv-bg1 {
        background-image: url(../img/sub/sub-top1.jpg);
    }

    .sub-visual.sv-bg2 {
        background-image: url(../img/sub/sub-top2.jpg);
    }

    .sub-visual.sv-bg3 {
        background-image: url(../img/sub/sub-top3.jpg);
    }

    .sub-visual.sv-bg4 {
        background-image: url(../img/sub/sub-top4.jpg);
    }

    .sub-visual .txt {
        position: absolute;
        top: 60%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        text-align: left;
        z-index: 2;
    }

        .sub-visual .txt h2 {
            font-size: 4.8rem;
            color: #000;
            font-weight: 600;
            line-height: 1.3;
            animation: fadeInUp 1.5s forwards;
            opacity: 0;
            display: none;
        }

        .sub-visual .txt p {
            font-size: 5rem;
            color: #000;
            font-weight: 500;
            animation: fadeInUp 1.5s 0.5s forwards;
            opacity: 0;
            line-height: 1.3;
        }

    .sub-visual .img img {
        animation: subImg 3s forwards;
    }

@keyframes subImg {
    0% {
        transform: scale(1.2);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}
/* Sub tab */
.sub-tab {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-bottom: 100px;
}

    .sub-tab:after {
        content: "";
        display: block;
        clear: both;
    }

    .sub-tab ul {
        border-left: 1px solid #ccc;
        display: flex;
    }

    .sub-tab li {
        position: relative;
        border-right: 1px solid #ccc;
    }

        .sub-tab li a {
            display: block;
            font-size: 1.7rem;
            padding: 17px 30px;
            min-width: 100px;
            text-align: center;
            color: #999;
        }

            .sub-tab li a:after {
                content: "";
                display: none;
                width: 100%;
                height: 2px;
                background: #000;
                position: absolute;
                bottom: -1px;
                left: 0;
                display: none;
            }

        .sub-tab li.on a {
            color: #fff;
            background: #f79433;
        }

.tab {
    display: none;
}

    .tab.on {
        display: block;
    }

/* Sub location */
.sub-location {
    background: #fff;
    border-bottom: 1px solid #ddd;
}

    .sub-location.sticky {
        position: fixed;
        top: 70px;
        left: 0;
        width: 100%;
        z-index: 2;
    }

    .sub-location .inner {
        display: flex;
        align-items: center;
        height: 70px;
    }

    .sub-location .lc-home {
        width: 20px;
        height: 20px;
        background: #eee;
        margin-right: 30px;
    }

    .sub-location .lc-nav {
        position: relative;
        width: 250px;
        cursor: pointer;
    }

        .sub-location .lc-nav button {
            font-size: 1.8rem;
            color: #000;
            height: 50px;
            display: block;
            width: 100%;
            text-align: left;
            padding: 0 30px;
            position: relative;
            pointer-events: none;
        }

            .sub-location .lc-nav button:before {
                content: "";
                display: block;
                width: 1px;
                height: 20px;
                position: absolute;
                top: 50%;
                left: 0;
                transform: translateY(-50%);
                background: #ddd;
            }

            .sub-location .lc-nav button:after {
                content: "";
                display: block;
                width: 10px;
                height: 10px;
                background: #000;
                position: absolute;
                top: 50%;
                right: 30px;
                transform: translateY(-50%);
            }

        .sub-location .lc-nav.on ul {
            display: block;
        }

        .sub-location .lc-nav ul {
            position: absolute;
            top: 60px;
            left: 0;
            width: 100%;
            padding: 20px;
            border: 1px solid #ddd;
            border-top: 1px solid #fff;
            z-index: 2;
            background: #fff;
            display: none;
        }

            .sub-location .lc-nav ul li a {
                padding: 10px 0;
                display: block;
            }

@media all and (max-width: 1000px) {
    .sub-location.sticky {
        top: 60px;
    }
}

.sub-top .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

    .sub-top .inner .title1 {
        animation: fadeInUp 1s 0.2s forwards;
        opacity: 0;
    }

.sub-top .sub-nav {
    display: flex;
    align-items: center;
}

    .sub-top .sub-nav.sticky {
        background: #fff;
        position: fixed;
        top: 70px;
        left: 0;
        right: 0;
        margin: 0 auto;
        max-width: 1270px;
        width: 100%;
        z-index: 2;
        padding: 6px 20px 0 20px;
    }

        .sub-top .sub-nav.sticky li a {
            font-size: 1.6rem;
            padding: 15px 5px;
        }

        .sub-top .sub-nav.sticky:before {
            content: "";
            display: block;
            width: 100%;
            height: 60px;
            background: #fff;
            position: fixed;
            top: 70px;
            left: 0;
            border-bottom: 1px solid #f79433;
        }

    .sub-top .sub-nav li {
        padding-right: 20px;
        margin-right: 20px;
        position: relative;
    }

        .sub-top .sub-nav li:last-of-type:after {
            display: none;
        }

        .sub-top .sub-nav li:after {
            content: "";
            display: block;
            width: 3px;
            height: 3px;
            border-radius: 100px;
            background: #000;
            position: absolute;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
        }

        .sub-top .sub-nav li a {
            font-size: 1.8rem;
            color: #999;
            padding: 8px 5px;
            position: relative;
            cursor: pointer;
        }

            .sub-top .sub-nav li a:hover {
                color: #f79433;
            }

            .sub-top .sub-nav li a:after {
                content: "";
                display: none;
                width: 100%;
                height: 3px;
                background: #f79433;
                position: absolute;
                bottom: 0;
                left: 0;
            }

        .sub-top .sub-nav li.on a {
            color: #f79433;
        }

            .sub-top .sub-nav li.on a:after {
                display: block;
            }

.sub-top .lc-nav {
    position: absolute;
    top: -50px;
    right: 0;
}

    .sub-top .lc-nav a {
        font-size: 1.2rem;
        color: #999;
    }

        .sub-top .lc-nav a:hover {
            text-decoration: underline;
        }

        .sub-top .lc-nav a:last-of-type {
            color: #333;
        }

            .sub-top .lc-nav a:last-of-type:after {
                display: none;
            }

        .sub-top .lc-nav a:after {
            content: "";
            display: inline-block;
            width: 7px;
            height: 7px;
            border-top: 1px solid #ccc;
            border-right: 1px solid #ccc;
            transform: rotate(45deg);
            margin: 0 5px;
        }

.top-txt .grid {
    align-items: center;
}

/*product*/
.pg-gateware section {
    padding: 120px 0;
    position: relative;
}

.pg-gateware .box .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: right;
}

.pg-gateware .box .img-box img {
    width: 48%;
}

.pg-gateware .box .txt-box {
    display: inline-block;
    width: 48%;
    text-align: left;
}

    .pg-gateware .box .txt-box p {
        line-height: 1.7;
    }

    .pg-gateware .box .txt-box a {
        margin-top: 90px;
    }

.pg-gateware .box .info li {
    padding-left: 15px;
    position: relative;
    margin-bottom: 15px;
}

    .pg-gateware .box .info li:before {
        content: "-";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
    }

.pg-gateware .section1 {
    margin: 0;
}

    .pg-gateware .section1 .inner {
        text-align: left;
    }

.pg-gateware .box.right .img-box {
    text-align: right;
}

.pg-gateware .box.right .inner {
    text-align: left;
}

.pg-gateware .gate-how .grid {
    flex-wrap: wrap;
}

.pg-gateware .gate-how li {
    margin-bottom: 7%;
}

.pg-gateware .gate-how dt {
    margin: 30px 0 20px;
}

.pg-gateware .gate-how dd {
    position: relative;
    margin-bottom: 5px;
    padding-left: 15px;
}

    .pg-gateware .gate-how dd:before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 0;
        width: 4px;
        height: 4px;
        background: #7b9acc;
        border-radius: 100px;
        transform: translateY(-50%);
    }

.pg-gateware .gate-case .grid {
    flex-wrap: wrap;
}

.pg-gateware .gate-case li {
    margin-bottom: 10%;
}

.pg-gateware .gate-case small {
    display: inline-block;
    width: 70px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    color: #fff;
    font-weight: 600;
    font-size: 1.4rem;
    margin-top: 40px;
    background: #999;
    border-radius: 6px;
    margin-bottom: 20px;
}

.pg-gateware .gate-case table {
    border-top: 1px solid #333;
    margin-top: 20px;
}

    .pg-gateware .gate-case table tr th {
        width: 20%;
        border-bottom: 1px solid #ddd;
    }

    .pg-gateware .gate-case table tr td {
        padding: 20px;
        border-bottom: 1px solid #ddd;
    }

.cs-bottom {
    position: relative;
    border-top: 1px solid #ccc;
    margin-bottom: -100px;
    height: 350px;
}

    .cs-bottom .img-box {
        display: flex;
        align-items: center;
        height: 100%;
        overflow: hidden;
    }

        .cs-bottom .img-box img {
            width: 50%;
        }

    .cs-bottom .inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: right;
    }

    .cs-bottom .txt-box {
        width: 45%;
        text-align: left;
        display: inline-block;
    }

        .cs-bottom .txt-box span {
            font-size: 2rem;
            margin-bottom: 5px;
        }

        .cs-bottom .txt-box a {
            border: 1px solid #ccc;
            padding: 15px 30px;
            border-radius: 100px;
            margin-top: 30px;
            font-weight: 600;
            transition: all 0.3s ease;
        }

            .cs-bottom .txt-box a:hover {
                background: #f79433;
                color: #fff;
                border-color: #f79433;
            }

.gate-system ul {
    display: flex;
    gap: 4%;
}

    .gate-system ul li {
        width: 20%;
        background: #f9f9f9;
        border: 1px solid #eee;
        padding: 40px 15px;
        border-radius: 30px;
        text-align: center;
        position: relative;
    }

        .gate-system ul li:after {
            content: "";
            display: block;
            border: 8px solid transparent;
            border-left: 10px solid #000;
            position: absolute;
            top: 50%;
            right: -40px;
            transform: translateY(-50%);
        }

        .gate-system ul li:last-of-type:after {
            display: none;
        }

        .gate-system ul li span {
            background: #7b9acc;
            color: #fff;
            text-align: center;
            padding: 6px 25px;
            border-radius: 30px;
            font-weight: 600;
            margin-bottom: 20px;
        }

        .gate-system ul li p {
            color: #333;
            font-weight: 600;
            min-height: 30px;
        }

        .gate-system ul li img {
            margin: 20px 0 30px;
        }

        .gate-system ul li dl dt {
            font-size: 1.5rem;
            font-weight: 600;
            margin-bottom: 10px;
            min-height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .gate-system ul li dl dd {
            font-size: 1.5rem;
            text-align: left;
            display: inline-block;
        }

.gate-system-f ul {
    margin-top: 30px;
}

    .gate-system-f ul li {
        padding-left: 15px;
        margin-bottom: 7px;
        position: relative;
    }

        .gate-system-f ul li:before {
            content: "";
            display: block;
            width: 4px;
            height: 4px;
            background: #86a2d0;
            border-radius: 100px;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
        }

.gate-feature {
    padding: 50px 0 150px;
}

    .gate-feature .inner {
        max-width: 1100px;
    }

    .gate-feature .tit-box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-align: center;
    }

        .gate-feature .tit-box h3 {
            width: 50%;
        }

    .gate-feature ul li {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 30px;
    }

        .gate-feature ul li > div {
            border: 1px solid #eee;
            background: #f9f9f9;
            border-radius: 20px;
            width: 46%;
            padding: 20px;
            text-align: center;
        }

        .gate-feature ul li .after {
            background: #7b9acc;
            color: #fff;
        }

        .gate-feature ul li .before {
            position: relative;
        }

            .gate-feature ul li .before:after {
                content: "";
                display: block;
                border: 8px solid transparent;
                border-left: 10px solid #aaa;
                position: absolute;
                top: 50%;
                right: -12%;
                transform: translateY(-50%);
            }

.cctv1 {
    text-align: center;
}

    .cctv1 h3 strong {
        position: relative;
    }

        .cctv1 h3 strong:before {
            content: "";
            display: block;
            width: 100%;
            bottom: 5px;
            left: 0;
            height: 15px;
            background: #f79433;
            position: absolute;
            z-index: -1;
        }

    .cctv1 ul {
        display: flex;
        justify-content: center;
    }

        .cctv1 ul li {
            border: 1px solid #ddd;
            border-radius: 30px;
            display: flex;
            align-items: center;
            flex-direction: column;
            width: 32%;
            padding: 5% 2%;
            margin: 4%;
            margin-bottom: 0;
        }

            .cctv1 ul li dl dt {
                font-size: 2.5rem;
                margin: 30px 0 10px;
                color: #444;
                font-weight: 600;
            }

            .cctv1 ul li dl dd {
                font-size: 1.8rem;
            }

.cctv2 {
    background: #f9f9f9;
}

    .cctv2 ul {
        display: flex;
        justify-content: space-between;
    }

        .cctv2 ul li {
            width: 47%;
            padding: 2% 2.5%;
            border: 1px solid #ddd;
            position: relative;
        }

            .cctv2 ul li:nth-of-type(1):after {
                content: "";
                display: block;
                width: 50px;
                height: 30px;
                background: url(../img/product/ico-arr.png) no-repeat 50% 50%;
                position: absolute;
                top: 50%;
                right: -11%;
                transform: translateY(-50%);
            }

            .cctv2 ul li dl dt strong {
                font-size: 1.8rem;
                background: #888;
                color: #fff;
                text-align: center;
                padding: 8px 30px;
                border-radius: 30px;
            }

            .cctv2 ul li dl dt {
                margin-bottom: 20px;
            }

            .cctv2 ul li dl dd {
                margin-bottom: 5px;
            }

.cctv3 ul li {
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    padding: 50px 0;
}

    .cctv3 ul li dl {
        display: flex;
    }

        .cctv3 ul li dl dt {
            font-size: 2.3rem;
            color: #333;
            margin-right: 10%;
            font-weight: 600;
        }

.cctv4 dl dt {
    font-size: 2.4rem;
    color: #333;
    font-weight: 600;
    margin: 35px 0 15px;
}

.cctv4 dl dd {
    margin-bottom: 5px;
}

.cctv-monitor .grid {
    gap: 8%;
}

.cctv-monitor h3 small {
    font-size: 2.1rem;
}

.cctv-monitor dl dt {
    font-size: 2.4rem;
    color: #333;
    margin: 25px 0 15px;
    font-weight: 600;
}

.cctv-monitor dl dd {
    margin-bottom: 5px;
    padding-left: 10px;
    position: relative;
}

    .cctv-monitor dl dd:before {
        content: "";
        display: inline-block;
        width: 3px;
        height: 3px;
        background: #f79433;
        border-radius: 100px;
        position: absolute;
        top: 10px;
        left: 0;
    }

.cctv-system dl dt {
    font-size: 2.2rem;
    color: #333;
    font-weight: 600;
    border-top: 2px solid #333;
    border-bottom: 1px solid #333;
    padding: 15px 0;
    margin-top: 30px;
}

.cctv-system dl dd {
    font-size: 1.7rem;
    color: #555;
    padding: 18px 0;
}

.cctv-system table {
    border-top: 1px solid #ddd;
}

    .cctv-system table tr {
        border-bottom: 1px solid #ddd;
    }

        .cctv-system table tr td {
            padding: 12px;
        }

.cctv-way .grid {
    flex-wrap: wrap;
}

    .cctv-way .grid .col2 {
        width: 46%;
        margin-bottom: 7%;
    }

.cctv-way h3 {
    font-size: 2.3rem;
    color: #333;
    font-weight: 600;
    border-top: 2px solid #333;
    border-bottom: 1px solid #333;
    padding: 25px 0;
    margin-top: 30px;
    text-align: center;
    margin-bottom: 40px;
}

.cctv-way h4 {
    font-size: 2rem;
    font-weight: 600;
    margin: 50px 0 10px 0;
    color: #333;
}

.pg-terminal section {
    padding: 120px 0;
    position: relative;
}

    .pg-terminal section .box-tit {
        font-size: 2.8rem;
        background: #7b9acc;
        color: #fff;
        font-weight: 600;
        padding: 15px 25px;
    }

    .pg-terminal section .img-box {
        padding: 5% 10%;
        text-align: center;
        margin-bottom: 60px;
    }

    .pg-terminal section .grid ul {
        border-top: 1px solid #333;
    }

        .pg-terminal section .grid ul li {
            border-bottom: 1px solid #ccc;
            padding: 15px 0 15px 15px;
            position: relative;
        }

            .pg-terminal section .grid ul li:before {
                content: "·";
                display: block;
                position: absolute;
                top: 50%;
                left: 0;
                transform: translateY(-50%);
            }

    .pg-terminal section table {
        border-top: 1px solid #333;
    }

        .pg-terminal section table tr th,
        .pg-terminal section table tr td {
            padding: 15px;
            border-bottom: 1px solid #ccc;
        }

        .pg-terminal section table tr th {
            text-align: center;
            background: #f9f9f9;
        }

.pg-terminal .tb-txt {
    font-size: 1.5rem;
    text-align: right;
    margin-top: 10px;
    display: block;
}

.pg-terminal .detail-spec {
    text-align: center;
    margin-top: 100px;
}

    .pg-terminal .detail-spec p {
        border: 1px solid #ccc;
        border-top: 1px solid #333;
        padding: 20px;
        font-size: 1.8rem;
    }

    .pg-terminal .detail-spec ul {
        display: flex;
    }

        .pg-terminal .detail-spec ul li {
            width: 20%;
            height: 340px;
            border-right: 1px solid #ddd;
            border-bottom: 1px solid #333;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            padding-top: 30px;
        }

            .pg-terminal .detail-spec ul li:first-of-type {
                border-left: 1px solid #ddd;
            }

    .pg-terminal .detail-spec dl dt {
        font-size: 1.8rem;
        color: #444;
        font-weight: 600;
        margin: 20px 0 10px 0;
    }

    .pg-terminal .detail-spec dl dd {
        padding: 0 20px;
        font-size: 1.5rem;
        line-height: 1.2;
    }

.terminal-process:after {
    content: "";
    display: block;
    clear: both;
}

.terminal-process li {
    float: left;
    width: 27.3%;
    margin: 3%;
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    padding: 50px 10px;
    position: relative;
}

    .terminal-process li:after {
        content: "";
        display: block;
        border: 10px solid transparent;
        border-left: 15px solid #ccc;
        position: absolute;
        top: 50%;
        right: -16%;
        transform: translateY(-50%);
    }

.terminal-process:nth-of-type(1) li:last-of-type:after {
    top: inherit;
    bottom: -22%;
    right: 47%;
    border: 10px solid transparent;
    border-top: 15px solid #ccc;
}

.terminal-process:nth-of-type(2) li {
    float: right;
}

    .terminal-process:nth-of-type(2) li:after {
        content: "";
        border: 10px solid transparent;
        border-right: 15px solid #ccc;
        right: -13%;
    }

    .terminal-process:nth-of-type(2) li:first-of-type:after {
        display: none;
    }

.terminal-process li dt {
    color: #7b9acc;
    font-weight: 600;
}

.terminal-process li dd {
    margin-top: 20px;
    min-height: 51px;
}

.pg-bim section {
    padding-bottom: 90px;
    position: relative;
}

    .pg-bim section .img-box {
        border: 1px solid #ccc;
        border-radius: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px;
        background: #fff;
        overflow: hidden;
    }

        .pg-bim section .img-box img {
            width: 100%;
        }

.pg-bim p {
    font-size: 1.8rem;
}

.pg-bim .bim-compare ul {
    margin-top: 40px;
}

    .pg-bim .bim-compare ul li {
        width: 42%;
        background: #e4e4e4;
        border-radius: 60px;
        padding-bottom: 30px;
        position: relative;
    }

        .pg-bim .bim-compare ul li dl dt {
            padding: 20px 10px;
            background: #999;
            border-radius: 60px;
            border-bottom-left-radius: inherit;
            border-bottom-right-radius: inherit;
            color: #fff;
        }

        .pg-bim .bim-compare ul li:last-of-type {
            background: #a5c8ec;
        }

            .pg-bim .bim-compare ul li:last-of-type:before {
                content: "";
                display: block;
                width: 56px;
                height: 118px;
                background: url(../img/bim/ico-arr.png) no-repeat 50% 50%;
                position: absolute;
                top: 50%;
                left: -24%;
                transform: translateY(-50%);
            }

            .pg-bim .bim-compare ul li:last-of-type dl dt {
                background: #668eb7;
            }

        .pg-bim .bim-compare ul li dl dd {
            text-align: left;
            margin: 0 50px;
            padding-left: 20px;
            position: relative;
            font-size: 1.8rem;
            color: #333;
            margin-bottom: 20px;
        }

            .pg-bim .bim-compare ul li dl dd:before {
                content: "";
                display: inline-block;
                width: 5px;
                height: 5px;
                background: #000;
                position: absolute;
                top: 8px;
                left: 0;
            }

.pg-bim .bim-part {
    background: url(../img/bim/bim-bg1.jpg) no-repeat 50% 50%;
    padding: 40px 0 50px;
    background-size: cover;
}

    .pg-bim .bim-part .part-ex {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 30px;
    }

        .pg-bim .bim-part .part-ex span {
            width: 155px;
            height: 50px;
            background: #64ccff;
            border-radius: 100px;
            border: 4px solid #fff;
            text-align: center;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-weight: 600;
            font-size: 1.65rem;
            margin: 0 8px;
        }

            .pg-bim .bim-part .part-ex span:last-of-type {
                background: #f99631;
            }

.pg-bim .bg-lt-grey {
    padding-top: 90px;
    margin-bottom: 90px;
}

.pg-bim .list li {
    padding-left: 15px;
    position: relative;
    font-size: 1.9rem;
    margin-bottom: 5px;
}

    .pg-bim .list li:before {
        content: "-";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
    }

.pg-bim .bim-service .col2 .txt {
    display: inline-block;
    margin-left: 30px;
    width: calc(100% - 130px);
}

.pg-bim .bim-service .col2 img {
    width: 90px;
}

.pg-bim .bim-service dl {
    margin-bottom: 25px;
}

    .pg-bim .bim-service dl:last-of-type {
        margin-bottom: 0;
    }

    .pg-bim .bim-service dl dt {
        font-size: 1.9rem;
        font-weight: 600;
        color: #333;
        margin-bottom: 5px;
    }

    .pg-bim .bim-service dl dd {
        font-size: 1.8rem;
        position: relative;
        padding-left: 10px;
        margin-bottom: 5px;
    }

        .pg-bim .bim-service dl dd:before {
            content: "";
            position: absolute;
            top: 47%;
            left: 0;
            transform: translateY(-50%);
            width: 3px;
            height: 3px;
            background: #333;
            border-radius: 100px;
        }

.pg-bim .bim-service .bim-serv-list {
    margin-left: 10px;
}

    .pg-bim .bim-service .bim-serv-list li {
        margin-bottom: 5px;
    }

.pg-bim .bim-serv-list li {
    margin-bottom: 10px;
}

.pg-bim .txt-box {
    margin-top: 45px;
}

    .pg-bim .txt-box dt {
        font-size: 2.3rem;
        color: #333;
        font-weight: 600;
        padding-bottom: 10px;
        border-bottom: 1px solid #ddd;
        margin-bottom: 20px;
    }

.pg-bim .pjt-list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

    .pg-bim .pjt-list > dl {
        width: 50%;
        font-size: 1.8rem;
    }

@media (max-width: 1024px) {
    .pg-bim .pjt-list > dl {
        width: 100%;
        font-size: 2.2rem;
    }
}

.pg-bim .pjt-list dt {
    color: #333;
    padding-bottom: 10px;
}

    .pg-bim .pjt-list dt a:hover {
        cursor: pointer;
        text-decoration: underline !important;
    }

.bim-effect {
    text-align: center;
}

    .bim-effect ul {
        display: flex;
        flex-wrap: wrap;
    }

        .bim-effect ul li {
            width: 33.3%;
            text-align: center;
            margin-bottom: 5%;
        }

    .bim-effect dl dt {
        font-size: 1.8rem;
        margin: 20px auto 5px auto;
        color: #ff6600;
        font-weight: 600;
        line-height: 1.3;
        max-width: 300px;
    }

.bim-model .txt-box {
    max-width: 480px;
}

.bim-model .bg-lt-grey {
    padding: 30px 0;
}

.bim-model .grid .col2 {
    width: 40%;
}

.bim-model .grid .img {
    width: 55%;
}

.bim-model img {
    width: 100%;
}

.pg-bexel p {
    font-size: 1.8rem;
}

.pg-bexel section {
    padding: 120px 0;
}

.pg-bexel .bexel-type {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}

    .pg-bexel .bexel-type li {
        width: 25%;
        text-align: center;
    }

        .pg-bexel .bexel-type li strong {
            display: block;
            width: 80px;
            height: 80px;
            line-height: 80px;
            margin: 0 auto;
            background: #7b9acc;
            color: #fff;
            font-size: 1.8rem;
            font-weight: 600;
            border-radius: 100px;
            position: relative;
        }

            .pg-bexel .bexel-type li strong:before {
                content: "";
                display: block;
                width: 300%;
                border-bottom: 2px dashed #7b9acc;
                position: absolute;
                top: 50%;
                left: 100%;
                transform: translateY(-50%);
            }

        .pg-bexel .bexel-type li:last-of-type strong:before {
            display: none;
        }

        .pg-bexel .bexel-type li img {
            margin: 30px 0;
        }

        .pg-bexel .bexel-type li p {
            text-align: left;
            display: inline-block;
            font-size: 1.7rem;
            line-height: 1.7;
        }

.bexel-case dt {
    font-size: 2.1rem;
    color: #333;
    font-weight: 600;
    margin: 20px 0 5px;
}

.pg-cadewa p {
    font-size: 1.8rem;
}

.pg-cadewa .txt-box p strong {
    font-size: 2rem;
    margin-bottom: 20px;
    color: #f79433;
}

.pg-cadewa section {
    padding: 120px 0;
}

.cadewa-func .box-tit {
    background: #7b9acc;
    padding: 10px 30px;
    font-size: 2.1rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 40px;
    display: inline-block;
}

.cadewa-func .grid {
    flex-wrap: wrap;
}

    .cadewa-func .grid li {
        margin-bottom: 5%;
    }

.cadewa-func dl dt {
    color: #333;
    margin: 25px 0 10px;
    font-weight: 600;
}

.cadewa-func dl dd {
    margin-bottom: 10px;
    font-size: 1.65rem;
}

.cadewa-func .img-box {
    border: 1px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3% 2%;
}

.cadewa-nav {
    margin: 50px 0 70px;
    display: flex;
}

    .cadewa-nav a {
        font-size: 1.9rem;
        color: #333;
        width: 25%;
        border-bottom: 2px solid #ddd;
        padding: 18px;
        text-align: center;
    }

        .cadewa-nav a:hover {
            color: #7b9acc;
        }

        .cadewa-nav a.on {
            color: #7b9acc;
            border-color: #7b9acc;
            font-weight: 600;
        }

.cadewa-func .tab.on {
    animation: fadeInUp 1s forwards;
}

.pg-solution section {
    padding-bottom: 120px;
}

    .pg-solution section dl dt {
        font-size: 2.8rem;
        color: #333;
        font-weight: 600;
        margin: 30px 0 10px 0;
    }

    .pg-solution section dl dd {
        margin-bottom: 10px;
        font-size: 1.8rem;
    }

        .pg-solution section dl dd strong {
            font-size: 1.9rem;
        }

.app-slide {
    padding: 50px;
    background: #f9f9f9;
}

    .app-slide img {
        display: block;
        padding: 15px;
    }

.pg-about section {
    padding: 120px 0;
}

.pg-about p {
    font-size: 1.8rem;
}

.pg-about .box1 .img-box {
    width: 35%;
}

.pg-about .box1 .txt-box {
    width: 65%;
}

    .pg-about .box1 .txt-box small {
        margin-bottom: 10px;
        display: block;
    }

    .pg-about .box1 .txt-box .title3 {
        font-weight: 700;
    }

    .pg-about .box1 .txt-box table {
        border-top: 1px solid #333;
        margin-top: 35px;
    }

        .pg-about .box1 .txt-box table tr th {
            color: #333;
            font-weight: 600;
        }

        .pg-about .box1 .txt-box table tr th,
        .pg-about .box1 .txt-box table tr td {
            padding: 10px;
            border-bottom: 1px solid #ddd;
            text-align: left;
        }

.pg-about .biz-type li {
    text-align: center;
    padding: 2% 5%;
}

.pg-about .biz-type dl dt {
    font-size: 2.1rem;
    color: #333;
    font-weight: 600;
    margin: 20px 0;
}

.pg-about .biz-type dl dd {
    text-align: left;
    margin-bottom: 10px;
    padding-left: 13px;
    position: relative;
    font-size: 1.8rem;
}

    .pg-about .biz-type dl dd:before {
        content: "";
        width: 3px;
        height: 3px;
        background: #666;
        border-radius: 100px;
        position: absolute;
        top: 10px;
        left: 0;
    }

.pg-history section {
    padding: 120px 0;
}

    .pg-history section .title1 {
        font-weight: 700;
        font-size: 4.5rem;
        margin-bottom: 60px;
    }

    .pg-history section .img-box {
        width: 40%;
    }

    .pg-history section .txt-box {
        width: 55%;
    }

        .pg-history section .txt-box dl {
            padding-left: 120px;
            position: relative;
            margin-bottom: 40px;
        }

            .pg-history section .txt-box dl dt {
                font-size: 2.1rem;
                color: #333;
                font-weight: 700;
                position: absolute;
                top: 0;
                left: 0;
            }

            .pg-history section .txt-box dl dd {
                margin-bottom: 5px;
                font-size: 1.9rem;
            }

.pg-contact section {
    padding-bottom: 70px;
    overflow: hidden;
}

    .pg-contact section ul li {
        float: left;
        width: 50%;
        flex-wrap: wrap;
        position: relative;
        margin-bottom: 4%;
    }

        .pg-contact section ul li:first-of-type {
            width: 100%;
        }

    .pg-contact section dl {
        padding-left: 150px;
    }

        .pg-contact section dl dt {
            font-size: 2.4rem;
            color: #333;
            font-weight: 600;
            position: absolute;
            top: 4px;
            left: 0;
            display: flex;
            align-items: center;
        }

            .pg-contact section dl dt img {
                margin-right: 15px;
            }

        .pg-contact section dl dd {
            font-size: 1.8rem;
            line-height: 2;
        }

            .pg-contact section dl dd strong {
                width: 100px;
                color: #333;
            }

.pg-product-img section {
    padding: 120px 0;
}

.pg-product-img ul {
    display: flex;
    justify-content: space-between;
    gap: 4%;
    flex-wrap: wrap;
}

    .pg-product-img ul li {
        width: 30%;
        margin-bottom: 6%;
    }

        .pg-product-img ul li a {
            display: block;
        }

            .pg-product-img ul li a:hover img {
                border-color: #f79433;
            }

        .pg-product-img ul li img {
            border: 1px solid #ddd;
        }

        .pg-product-img ul li dl {
            text-align: center;
        }

            .pg-product-img ul li dl dt {
                font-size: 2.4rem;
                color: #333;
                font-weight: 600;
                margin: 20px 0 5px;
            }

.pg-product-img .txt-box strong {
    display: block;
    font-size: 4rem;
    font-weight: 700;
    color: #333;
}

.pg-product-img .txt-box p {
    font-size: 2rem;
    color: #333;
    padding-bottom: 30px;
    border-bottom: 1px solid #ddd;
    position: relative;
    font-weight: 600;
    margin-bottom: 30px;
}

    .pg-product-img .txt-box p:after {
        content: "";
        display: block;
        width: 200px;
        height: 3px;
        background: #f79433;
        position: absolute;
        bottom: 0px;
        left: 0;
    }

.pg-product-img .txt-box ul {
    display: block;
    margin-bottom: 0;
}

    .pg-product-img .txt-box ul li {
        width: 100%;
        margin-bottom: 12px;
        position: relative;
        padding-left: 15px;
    }

        .pg-product-img .txt-box ul li:before {
            content: "";
            display: block;
            width: 3px;
            height: 3px;
            background: #999;
            border-radius: 100px;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
        }

.pg-video section {
    padding-bottom: 120px;
}

.pg-video .grid {
    flex-wrap: wrap;
}

.pg-video ul li {
    width: 30%;
    margin-bottom: 5%;
}

    .pg-video ul li .video-box {
        padding-top: 56%;
        position: relative;
    }

        .pg-video ul li .video-box iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

    .pg-video ul li dl dt {
        font-size: 1.7rem;
        color: #333;
        margin: 20px 0 10px;
        text-align: center;
        font-weight: 600;
    }

    .pg-video ul li dl dd {
        font-size: 1.8rem;
        color: #333;
        text-align: center;
        font-weight: 600;
    }

.pg-catalog section {
    padding-bottom: 120px;
}

.pg-catalog .grid {
    flex-wrap: wrap;
}

.pg-catalog ul li {
    width: 30%;
    margin-bottom: 5%;
    border: 1px solid #ddd;
    padding: 25px;
    text-align: left;
}

    .pg-catalog ul li dl {
        margin-bottom: 50px;
    }

        .pg-catalog ul li dl dt {
            font-size: 2.3rem;
            color: #333;
            font-weight: 600;
        }

            .pg-catalog ul li dl dt small {
                font-size: 1.5rem;
                display: block;
            }

        .pg-catalog ul li dl dd {
            font-size: 1.7rem;
        }

    .pg-catalog ul li .btn-box {
        text-align: left;
        margin: 0;
    }

        .pg-catalog ul li .btn-box a {
            border: 1px solid #ddd;
            padding: 10px 20px;
            vertical-align: middle;
            font-size: 1.5rem;
            font-weight: 700;
            margin-right: 10px;
            margin-bottom: 5px;
        }

            .pg-catalog ul li .btn-box a:hover {
                border-color: #f79433;
            }

            .pg-catalog ul li .btn-box a img {
                margin-right: 7px;
                position: relative;
                top: 2px;
            }

.pg-inquiry section {
    padding-bottom: 120px;
}

.pg-inquiry table tr th {
    text-align: left;
    padding: 20px;
    font-weight: 600;
    color: #333;
    vertical-align: middle;
    white-space: nowrap;
}

.pg-inquiry table tr td {
    padding: 20px;
}

    .pg-inquiry table tr td input[type=text] {
        width: 100%;
    }

.pg-inquiry .privacy {
    border: 1px solid #ddd;
    padding: 20px;
    margin-top: 30px;
    position: relative;
    height: 250px;
    overflow-y: auto;
}

.pg-inquiry .check-set {
    text-align: right;
    margin-top: 20px;
}

.pg-inquiry .btn-submit {
    width: 250px;
    height: 70px;
    background: #f79433;
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 70px;
    text-align: center;
    color: #fff;
}

.pg-inquiry .ico-require {
    color: #f79433;
    margin-right: 5px;
}

.pg-eng .txt-box {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    padding: 0 20px;
}

    .pg-eng .txt-box h2 {
        font-size: 4rem;
        color: #f79433;
        margin: 30px 0 15px 0;
        font-weight: 600;
    }

    .pg-eng .txt-box p {
        font-size: 2.2rem;
    }

@media all and (max-width: 1600px) {
    .top-txt img {
        max-width: 300px;
    }
}

@media all and (max-width: 1400px) {
    .inner {
        padding: 0px 5%;
    }

    .sub-visual .inner {
        padding: 0 5%;
    }

    .sub-tab .inner {
        padding: 0;
    }
}

@media all and (max-width: 1240px) {
    .inner {
        padding: 0px 40px;
    }

    .sub-visual .inner {
        padding: 0 40px;
    }

    .sub-visual {
        height: 350px;
    }

        .sub-visual .img {
            height: 250px;
        }

            .sub-visual .img img {
                height: 100%;
            }

    .sub-content {
        padding: 70px 0;
    }

    .sub-tab {
        margin-bottom: 70px;
    }

    .sub-top .sub-nav li {
        margin-right: 15px;
        padding-right: 15px;
    }

        .sub-top .sub-nav li a {
            font-size: 1.7rem;
        }

    .sub-tab {
        margin-bottom: 30px;
    }

    .sub-top .inner {
        display: block;
        padding-top: 50px;
    }

    .sub-top .lc-nav {
        position: absolute;
        top: 0;
        right: 20px;
    }

    .sub-top .sub-nav.sticky:before {
        height: 58px;
    }

    .pg-gateware section {
        padding: 70px 0;
    }

    .gate-system ul {
        flex-wrap: wrap;
    }

        .gate-system ul li {
            width: 30%;
            margin: 2% 0;
        }

            .gate-system ul li:after {
                right: -12%;
            }

    .cctv2 ul li:nth-of-type(1):after {
        width: 30px;
        background-size: contain;
        right: -10%;
    }

    .pg-terminal section {
        padding: 50px 0;
    }

        .pg-terminal section:last-of-type {
            padding-bottom: 70px;
        }

        .pg-terminal section .img-box {
            margin-bottom: 30px;
        }

    .pg-terminal .detail-spec {
        margin-top: 30px;
    }

    .pg-terminal section .box-tit {
        font-size: 2.3rem;
    }

    .pg-bim section {
        padding-bottom: 70px;
    }

    .pg-bim .txt-box {
        margin-top: 30px;
    }

    .bim-compare.txt-box {
        margin-top: 0;
    }

    .pg-bim .bim-compare ul {
        display: flex;
    }

        .pg-bim .bim-compare ul li {
            width: 46%;
        }

            .pg-bim .bim-compare ul li:last-of-type:before {
                background-size: contain;
                width: 30px;
                left: -12%;
            }

            .pg-bim .bim-compare ul li dl dd {
                margin: 0 25px;
            }

    .pg-bim .bg-lt-grey {
        padding-top: 70px;
        margin-bottom: 70px;
    }

    .pg-bexel section, .pg-cadewa section {
        padding: 70px 0;
    }

    .pg-about section {
        padding: 70px 0;
    }

    .pg-history section {
        padding: 70px 0;
    }
}

@media all and (max-width: 1024px) {
    .title1 {
        margin-bottom: 20px;
    }

    .title2 {
        font-size: 2.5rem;
        margin-bottom: 20px;
    }

    .title3 {
        font-size: 2.2rem;
    }

    .title4 {
        font-size: 2rem;
    }

    .inner {
        padding: 0px 20px;
    }

    .grid {
        display: block;
    }

        .grid .col2,
        .grid .col3,
        .grid .col4 {
            width: 100%;
            margin-bottom: 50px;
        }

            .grid .col2 img,
            .grid .col3 img,
            .grid .col4 img {
                width: 100%;
            }

            .grid .col2:last-of-type,
            .grid .col3:last-of-type {
                margin-bottom: 0;
            }

        .grid > div {
            margin-bottom: 50px;
        }

            .grid > div img {
                width: 100%;
            }

            .grid > div:last-of-type {
                margin-bottom: 0;
            }

    .sub-tab {
        display: none;
    }

    .sub-top {
        margin-bottom: -30px;
        text-align: center;
    }

        .sub-top .inner {
            padding: 20px 10px;
        }

        .sub-top .lc-nav {
            display: none;
        }

        .sub-top .sub-nav li a:after {
            height: 2px;
            bottom: -1px;
        }

        .sub-top .sub-nav.sticky {
            top: 60px;
        }

            .sub-top .sub-nav.sticky:before {
                top: 60px;
            }

        .sub-top .inner .title1 {
            font-size: 2.7rem;
            text-align: left;
            position: relative;
            top: 20px;
        }

    .sub-visual {
        height: 250px;
        justify-content: flex-end;
        border-bottom: 1px solid #ddd;
    }

        .sub-visual .inner {
            padding: 0 20px;
        }

        .sub-visual .img {
            height: 190px;
        }

            .sub-visual .img img {
                max-width: inherit;
            }

        .sub-visual .txt {
            text-align: center;
            top: 65%;
        }

            .sub-visual .txt h2 {
                font-size: 4rem;
            }

            .sub-visual .txt p {
                font-size: 3.5rem;
                line-height: 1.4;
                margin-top: 10px;
            }

    .cs-bottom {
        height: 300px;
        margin-bottom: -50px;
    }

        .cs-bottom .img-box {
            margin-left: -30%;
        }

        .cs-bottom .txt-box {
            width: 60%;
        }

            .cs-bottom .txt-box a {
                margin-top: 0;
                padding: 10px 30px;
            }

    .top-txt img {
        max-width: 240px;
    }

    .top-txt p {
        margin-top: 20px;
    }

    .pg-gateware .box {
        padding-bottom: 0;
    }

        .pg-gateware .box:last-of-type {
            padding-bottom: 70px;
        }

        .pg-gateware .box .img-box img {
            width: 100%;
        }

        .pg-gateware .box .inner {
            position: relative;
            top: 0;
            left: 0;
            transform: none;
            text-align: center;
        }

        .pg-gateware .box .txt-box {
            width: 100%;
            display: block;
            margin-top: 30px;
        }

            .pg-gateware .box .txt-box a {
                margin-top: 30px;
            }

    .pg-gateware .gate-how .grid {
        display: flex;
    }

        .pg-gateware .gate-how .grid .col2 {
            width: 46%;
        }

    .pg-gateware .gate-case li img {
        width: 100%;
    }

    .pg-gateware .gate-case small {
        margin-top: 25px;
    }

    .pg-gateware .cctv1 ul li dl dt {
        font-size: 2rem;
    }

    .pg-gateware .cctv4 {
        padding-top: 0;
    }

    .cctv1 h3 strong:before {
        height: 8px;
    }

    .cctv2 ul {
        display: block;
    }

        .cctv2 ul li {
            width: 100%;
            padding: 20px;
        }

            .cctv2 ul li:first-of-type {
                margin-bottom: 50px;
            }

            .cctv2 ul li:nth-of-type(1):after {
                top: inherit;
                bottom: -40px;
                right: 0;
                left: 0;
                margin: 0 auto;
                transform: rotate(90deg);
            }

            .cctv2 ul li dl dt strong {
                padding: 6px 20px;
            }

            .cctv2 ul li dl dt {
                margin-bottom: 15px;
            }

    .cctv3 ul li {
        padding: 30px 0;
    }

        .cctv3 ul li dl dt {
            font-size: 2rem;
        }

    .cctv4 dl dt {
        font-size: 2rem;
        margin: 20px 0 10px;
    }

    .cctv-system dl dt {
        font-size: 2.1rem;
    }

    .cctv-system dl dd {
        font-size: 1.7rem;
    }

    .cctv-way .grid .col2 {
        width: 100%;
        margin-bottom: 50px;
    }

    .cctv-way h3 {
        font-size: 2.3rem;
        padding: 15px 0;
        margin-top: 0;
    }

    .cctv-way h4 {
        font-size: 1.7rem;
        margin: 30px 0 10px;
    }

    .pg-terminal .detail-spec ul {
        flex-wrap: wrap;
    }

        .pg-terminal .detail-spec ul li {
            width: 33.333%;
            border-bottom: 1px solid #ddd;
            height: 280px;
            padding: 30px 10px 0 10px;
        }

            .pg-terminal .detail-spec ul li:nth-of-type(4) {
                border-left: 1px solid #ddd;
            }

            .pg-terminal .detail-spec ul li img {
                width: 70px;
            }

    .pg-terminal .detail-spec dl dt {
        margin: 20px 0 5px;
    }

    .terminal-process li:after {
        right: -20%;
    }

    .terminal-process:nth-of-type(1) li:last-of-type:after {
        bottom: -17%;
    }

    .bim-effect ul li {
        padding: 3%;
        margin-bottom: 0;
    }

    .bim-effect dl dt {
        font-size: 2rem;
    }

    .pg-bim .bim-service .col2,
    .pg-bim .bim-service-case .col3 {
        margin-bottom: 0;
    }

        .pg-bim .bim-service .col2 .txt {
            display: block;
            margin: 20px 0 0 0;
        }

    .pg-bim .bim-service .grid {
        display: flex;
    }

    .pg-bim .bim-service-case .grid {
        display: flex;
    }

    .bim-model .grid .col2,
    .bim-model .grid .img {
        width: 100%;
    }

    .bim-model .bg-lt-grey {
        padding: 70px 0;
    }

    .pg-bexel section, .pg-cadewa section {
        padding: 50px 0;
    }

    .pg-bexel .bexel-type {
        flex-wrap: wrap;
    }

        .pg-bexel .bexel-type li {
            width: 50%;
            margin-bottom: 50px;
            padding: 0 2%;
        }

            .pg-bexel .bexel-type li:nth-of-type(3),
            .pg-bexel .bexel-type li:nth-of-type(4) {
                margin-bottom: 0;
            }

            .pg-bexel .bexel-type li strong:before {
                display: none;
            }

            .pg-bexel .bexel-type li img {
                margin: 0;
                display: block;
                margin: 20px auto;
            }

    .cadewa-nav {
        margin: 20px 0 30px;
    }

        .cadewa-nav a {
            width: 33.3%;
        }

    .cadewa-func .box-tit {
        font-size: 1.8rem;
        padding: 10px 20px;
        margin-bottom: 20px;
    }

    .pg-solution section dl dt {
        font-size: 2.3rem;
    }

    .pg-about section {
        padding: 50px 0;
    }

    .pg-about .box1 .img-box {
        width: 60%;
        margin: 0 auto 40px auto;
    }

    .pg-about .box1 .txt-box {
        width: 100%;
    }

    .pg-about .biz-type li {
        padding: 0 5%;
        margin-bottom: 40px;
    }

        .pg-about .biz-type li:last-of-type {
            margin-bottom: 0;
        }

    .pg-history section {
        padding: 50px 0 0 0;
    }

        .pg-history section:last-of-type {
            padding-bottom: 50px;
        }

        .pg-history section .title1 {
            font-size: 4rem;
            margin-bottom: 30px;
        }

        .pg-history section .img-box {
            text-align: center;
            width: 100%;
        }

        .pg-history section .txt-box {
            width: 100%;
        }

            .pg-history section .txt-box dl {
                margin-bottom: 20px;
                padding-left: 90px;
            }

    .pg-contact section {
        padding-bottom: 50px;
    }

        .pg-contact section dl {
            padding-left: 115px;
        }

            .pg-contact section dl dt {
                font-size: 2rem;
            }

                .pg-contact section dl dt img {
                    width: 25px;
                }

    .pg-product-img section {
        padding: 70px 0;
    }

    .pg-video .grid {
        display: flex;
    }

    .pg-video ul li {
        width: 48%;
    }

        .pg-video ul li dl dd {
            font-size: 1.8rem;
        }

    .pg-catalog .grid {
        display: flex;
    }

    .pg-catalog ul li {
        width: 48%;
    }

    .pg-inquiry .btn-submit {
        width: 150px;
        height: 50px;
        line-height: 50px;
    }

    .pg-inquiry table {
        display: block;
    }

        .pg-inquiry table tbody,
        .pg-inquiry table tr,
        .pg-inquiry table tr th,
        .pg-inquiry table tr td {
            display: block;
            padding: 0;
        }

            .pg-inquiry table tr td {
                margin: 5px 0 30px;
            }
}

@media all and (max-width: 768px) {
    .title1 {
        font-size: 3rem;
        line-height: 1.3;
    }

    .sub-content {
        padding: 50px 0;
    }

    .sub-top {
        margin-bottom: -10px;
    }

        .sub-top .sub-nav li {
            display: flex;
            align-items: center;
            height: 60px;
            padding-right: 0;
            margin-right: 30px;
        }

            .sub-top .sub-nav li a:after {
                bottom: 2px;
            }

            .sub-top .sub-nav li:after {
                right: -16px;
            }

            .sub-top .sub-nav li:last-of-type {
                margin-right: 5px;
                margin-right: 5px;
            }

        .sub-top .sub-nav {
            flex-wrap: wrap;
            border-bottom: 1px solid #eee;
            gap: 2%;
            padding-bottom: 20px;
        }

            .sub-top .sub-nav li {
                margin: 0;
                width: 31.3%;
                justify-content: center;
            }

                .sub-top .sub-nav li:after {
                    display: none;
                }

            .sub-top .sub-nav.sticky {
                padding: 10px;
            }

                .sub-top .sub-nav.sticky:before {
                    display: none;
                }

    .cs-bottom {
        padding: 20px 0 50px 0;
    }

        .cs-bottom .img-box {
            display: block;
            margin-bottom: 10px;
        }

            .cs-bottom .img-box img {
                width: 100%;
            }

    .cs-bottom {
        height: auto;
    }

        .cs-bottom .txt-box {
            width: 100%;
            display: block;
        }

        .cs-bottom .inner {
            position: relative;
            top: 0;
            left: 0;
            transform: none;
        }

    .pg-gateware section {
        padding: 50px 0;
    }

    .pg-gateware .box {
        padding: 50px 0 0 0;
    }

    .gate-system ul li {
        padding: 50px 30px 20px 30px;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0 0 30px 0;
        flex-wrap: wrap;
    }

        .gate-system ul li:last-of-type {
            margin-bottom: 0;
        }

        .gate-system ul li dl {
            width: 100%;
            text-align: left;
        }

            .gate-system ul li dl dt {
                display: block;
                min-height: auto;
                margin-bottom: 5px;
            }

        .gate-system ul li img {
            margin: 0;
        }

        .gate-system ul li span {
            position: absolute;
            top: 15px;
            left: 20px;
            padding: 5px 15px;
        }

        .gate-system ul li:after {
            top: inherit;
            bottom: -37px;
            right: 50%;
            border: 8px solid transparent;
            border-top: 10px solid #000;
        }

    .gate-feature {
        padding: 0 0 50px;
    }

        .gate-feature ul li > div {
            padding: 15px;
        }

        .gate-feature ul li .before:after {
            right: -13%;
        }

    .cctv1 ul li {
        width: 46%;
        margin: 4% 2% 0 2%;
    }

        .cctv1 ul li img {
            width: 70px;
        }

        .cctv1 ul li dl dt {
            margin-top: 20px;
        }

        .cctv1 ul li dl dd {
            font-size: 1.5rem;
        }

    .pg-terminal .detail-spec ul li {
        width: 50%;
        height: auto;
        padding: 20px 10px;
        justify-content: flex-start;
    }

        .pg-terminal .detail-spec ul li:nth-of-type(3) {
            border-right: 0;
            border-left: 1px solid #ddd;
        }

        .pg-terminal .detail-spec ul li:nth-of-type(4) {
            border-right: 1px solid #ddd;
        }

        .pg-terminal .detail-spec ul li:nth-of-type(5) {
            border-left: 1px solid #ddd;
        }

    .terminal-process li {
        float: none;
        width: 100%;
        margin: 0 0 30px 0;
        padding: 50px 20px 20px 20px;
    }

        .terminal-process li dl {
            display: flex;
            align-items: center;
            width: 100%;
        }

            .terminal-process li dl dt {
                position: absolute;
                top: 20px;
                left: 20px;
            }

            .terminal-process li dl dd {
                text-align: left;
                margin-top: 0;
                margin-right: 20px;
            }

        .terminal-process li:after {
            display: none;
        }

        .terminal-process li:before {
            content: "";
            right: 49%;
            bottom: -30px;
            border: 10px solid transparent;
            position: absolute;
            display: block;
            border-top: 10px solid #ccc;
        }

    .terminal-process:nth-of-type(2) li:last-of-type {
        margin-bottom: 0;
    }

        .terminal-process:nth-of-type(2) li:last-of-type:before {
            display: none;
        }

    .pg-bim .bim-compare ul {
        display: block;
    }

        .pg-bim .bim-compare ul li {
            width: 100%;
        }

            .pg-bim .bim-compare ul li:last-of-type {
                margin-top: 50px;
            }

                .pg-bim .bim-compare ul li:last-of-type:before {
                    background-size: contain;
                    width: 20px;
                    left: 0;
                    right: 0;
                    top: -80px;
                    transform: rotate(90deg);
                    margin: 0 auto;
                }

            .pg-bim .bim-compare ul li dl dd {
                margin: 0 25px;
                padding-left: 15px;
            }

                .pg-bim .bim-compare ul li dl dd:before {
                    width: 4px;
                    height: 4px;
                }

    .pg-bim .bim-part {
        padding: 30px 0 50px;
    }

    .bim-effect dl dt {
        font-size: 1.6rem;
    }

    .bim-effect ul li {
        width: 50%;
    }

    .pg-bim section {
        padding-bottom: 50px;
    }

        .pg-bim section .img-box {
            padding: 5px;
            border-radius: 10px;
        }

    .pg-bim .bim-service .grid {
        display: block;
        text-align: center;
    }

    .pg-bim .bim-service .col2 .txt {
        width: auto;
        display: inline-block;
        text-align: left;
    }

    .pg-bim .bim-service .col2 img {
        display: block;
        margin: 0 auto;
    }

    .pg-bim .bim-service-case .grid {
        display: block;
    }

    .pg-bim .bim-service .col2 {
        margin-bottom: 50px;
    }

    .pg-bim .bim-service-case .col3 {
        margin-bottom: 30px;
    }

        .pg-bim .bim-service .col2:last-of-type,
        .pg-bim .bim-service-case .col3:last-of-type {
            margin-bottom: 0px;
        }

    .pg-bim .bim-service-case .title3 {
        margin-bottom: 20px !important;
    }

    .pg-bim .txt-box dt {
        font-size: 2.1rem;
        margin-bottom: 10px;
        padding-bottom: 5px;
    }

    .pg-bim .pjt-list dt {
        font-size: 2.1rem;
        margin-bottom: 10px;
        padding-bottom: 5px;
    }

    .app-slide {
        padding: 20px 50px;
    }

    .pg-contact section ul li {
        float: none;
        width: 100%;
        margin-bottom: 20px;
    }

    .pg-contact section dl {
        padding-left: 100px;
    }

        .pg-contact section dl dd {
            font-size: 1.8rem;
            line-height: 1.5;
        }

        .pg-contact section dl dt img {
            width: 17px;
            margin-right: 7px;
        }

    .pg-contact iframe {
        height: 300px;
    }

    .pg-product-img ul li {
        width: 48%;
    }

        .pg-product-img ul li dl dt {
            font-size: 1.8rem;
            margin: 10px 0 2px;
        }

    .pg-product-img .txt-box strong {
        font-size: 4rem;
    }

    .pg-video ul li {
        width: 100%;
        margin-bottom: 40px;
    }

        .pg-video ul li:last-of-type {
            margin-bottom: 0;
        }

        .pg-video ul li dl dt {
            margin: 15px 0 0px;
        }

    .pg-history section .title1 {
        font-size: 3.5rem;
        margin-bottom: 20px;
    }

    .pg-history section .txt-box dl dd {
        font-size: 1.6rem;
    }
}

@media all and (max-width: 480px) {
    .pg-gateware .gate-how img {
        width: 80%;
        margin: 0 auto;
        display: block;
    }

    .pg-gateware .gate-how .grid {
        display: block;
    }

        .pg-gateware .gate-how .grid .col2 {
            width: 100%;
        }

    .pg-gateware .gate-how dt {
        margin: 20px 0 10px;
    }

    .gate-feature ul li .before:after {
        right: -17%;
    }

    .pg-catalog ul li {
        width: 100%;
        padding: 20px;
        margin-bottom: 20px;
    }

        .pg-catalog ul li:last-of-type {
            margin-bottom: 0;
        }

        .pg-catalog ul li .btn-box a {
            padding: 10px 14px;
        }

    .sub-top .sub-nav.sticky li a,
    .sub-top .sub-nav li a {
        font-size: 1.5rem;
        line-height: 1.3;
        padding: 7px 5px;
    }

    .sub-visual .txt p {
        font-size: 2.7rem;
        line-height: 1.3;
    }

    .pg-terminal .detail-spec ul li:nth-of-type(2) {
        border-left: 1px solid #ddd;
    }

    .pg-terminal .detail-spec ul li:nth-of-type(3) {
        border-right: 1px solid #ddd;
    }
}

@media all and (max-width: 400px) {
    .gate-feature ul li .before:after {
        right: -20%;
    }

    .pg-terminal .detail-spec ul {
        display: block;
    }

        .pg-terminal .detail-spec ul li {
            display: flex;
            width: 100%;
            flex-direction: row;
            padding: 20px;
        }

            .pg-terminal .detail-spec ul li dl {
                margin-left: 20px;
                text-align: left;
            }

                .pg-terminal .detail-spec ul li dl dt {
                    margin: 0 0 5px;
                }

    .pg-contact section dl {
        padding-left: 90px;
    }

        .pg-contact section dl dt {
            font-size: 1.8rem;
        }

        .pg-contact section dl dd {
            font-size: 1.7rem;
        }

            .pg-contact section dl dd strong {
                display: block;
            }

    .pg-eng .txt-box h2 {
        font-size: 3.2rem;
    }

    .pg-eng .txt-box p {
        font-size: 1.8rem;
    }
}

/* .bim-case-spec */
.pg-bim .bim-case-spec dl {
    display: flex;
    align-items: center;
    gap: 25px;
    border: 1px solid #ddd;
    border-radius: 30px;
    padding: 30px
}

    .pg-bim .bim-case-spec dl dt {
        font-size: 2.7rem;
        width: 100px;
        height: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100px;
        background: #f79433;
        color: #fff;
        font-weight: 600
    }

    .pg-bim .bim-case-spec dl dd {
        font-size: 2.5rem;
        line-height: 1.5
    }

        .pg-bim .bim-case-spec dl dd strong {
            color: #f60;
            font-weight: 700
        }

        .pg-bim .bim-case-spec dl dd span {
            font-size: 3rem;
            font-weight: 600;
            color: #000
        }

        .pg-bim .bim-case-spec dl dd small {
            font-size: 1.8rem
        }

.pg-bim .bim-case-spec dl {
    padding: 15px
}

    .pg-bim .bim-case-spec dl dt {
        width: 80px;
        height: 80px;
        font-size: 2.5rem
    }

    .pg-bim .bim-case-spec dl dd {
        width: calc(100% - 100px);
        font-size: 2rem
    }

        .pg-bim .bim-case-spec dl dd span {
            font-size: 2.5rem
        }

.pg-bim .bim-portfolio .col2 .txt {
    display: inline-block;
    margin-left: 30px;
    width: calc(100% - 130px);
}

.pg-bim .bim-portfolio .col2 img {
    width: 90px;
}

.pg-bim .bim-portfolio dl {
    margin-bottom: 25px;
}

    .pg-bim .bim-portfolio dl:last-of-type {
        margin-bottom: 0;
    }

    .pg-bim .bim-portfolio dl dt {
        font-size: 1.9rem;
        font-weight: 600;
        color: #333;
        margin-bottom: 5px;
    }

    .pg-bim .bim-portfolio dl dd {
        font-size: 1.8rem;
        position: relative;
        padding-left: 10px;
        margin-bottom: 5px;
    }

.pg-bim .bim-portfolio-spec dl {
    display: flex;
    align-items: center;
    gap: 25px;
    border: 1px solid #ddd;
    border-radius: 30px;
    padding: 30px
}

    .pg-bim .bim-portfolio-spec dl dt {
        font-size: 1.8rem;
        width: 100px;
        height: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100px;
        background: #f79433;
        color: #fff;
        font-weight: 600;
        text-align: center
    }

    .pg-bim .bim-portfolio-spec dl dd {
        font-size: 2.5rem;
        line-height: 1.5
    }

        .pg-bim .bim-portfolio-spec dl dd strong {
            color: #f60;
            font-weight: 700
        }

        .pg-bim .bim-portfolio-spec dl dd span {
            font-size: 3rem;
            font-weight: 600;
            color: #000
        }

        .pg-bim .bim-portfolio-spec dl dd small {
            font-size: 1.8rem
        }

.pg-bim .bim-portfolio-spec dl {
    padding: 15px
}

    .pg-bim .bim-portfolio-spec dl dd {
        width: calc(100% - 100px);
        font-size: 2rem
    }

        .pg-bim .bim-portfolio-spec dl dd span {
            font-size: 2.5rem
        }

/* map */
.globalMap {
    background-image: url("https://image.doallpmis.com/map/global_map2.png");
    background-size: cover;
    height: 600px;
    background-position: 50% 35%;
    border: 1px solid rgba(148, 207, 227, 0.5);
}

    .globalMap.sm {
        background-size: 200%;
    }

    .globalMap.lg {
        border-right: none;
        border-left: none;
    }

@media (max-width: 768px) {
    .globalMap {
        height: 300px;
    }
}
