#app,#main {
    padding-top: 100px
}
@media (max-width:1156px) {
    #app,#main {
        padding-top: 52px
    }
}

@media all {
    header p {
        margin: 0;
    }

    header ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    header a {
        color: #3b3b3b;
        text-decoration: none;
        transition: .2s;
        cursor: pointer;
    }

    header a:hover {
        color: #0077fc;
    }

    header a img {
        border: none;
    }

    header img {
        height: auto;
        max-width: 100%;
        border: 0;
        vertical-align: middle;
        -ms-interpolation-mode: bicubic;
    }

    @media (min-width:768px) {
        .sp {
            display: none !important;
        }
    }

    a.arw::after {
        content: '';
        display: inline-block;
        position: relative;
        top: -2px;
        width: 8px;
        height: 8px;
        margin-left: 8px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        vertical-align: middle;
        transform: rotate(45deg);
        transition: .4s;
    }

    a.arw:hover::after {
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
    }

    a.btn {
        display: inline-block;
        min-width: 196px;
        padding: 10px 16px;
        background-color: #3b3b3b;
        background-image: linear-gradient(90deg, #0077fc, #0077fc 50%, #3b3b3b 50%, #3b3b3b);
        background-size: 210%;
        background-position: 100% 0;
        border-radius: 50px;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-align: center;
        line-height: 1.3;
    }

    a.btn:hover {
        background-position: 0 0;
    }

    @media (max-width:767px) {
        a.btn {
            min-width: 0;
            padding: 8px 16px;
            font-size: 12px;
        }
    }

    header {
        position: fixed !important;
        z-index: 100;
        top: 0;
        left: 0;
        width: 100%;
        background: #fff;
        color: #3b3b3b;
        line-height: 1.75;
        font-size: 1.4rem;
    }

    header .navGroup .ico {
        display: inline-block;
        margin-right: 5px;
        width: 10px;
    }

    header .inner {
        position: absolute;
        z-index: 101;
        top: 0;
        left: 0;
        width: 100%;
        padding: 50px 80px 24px;
        background: #fff;
        box-shadow: 0 6px 12px rgba(0, 87, 184, .05);
        transition: .2s;
        box-sizing: border-box;
    }

    header .title {
        position: relative;
    }

    header .title .shoulder {
        position: absolute;
        top: -40px;
        font-size: 10px;
        font-weight: 700;
        transition: .2s;
    }

    header .title img {
        width: 170px;
        vertical-align: bottom;
    }

    header .sub {
        display: flex;
        position: absolute;
        bottom: auto;
        top: 10px;
        right: 400px;
    }

    header .sub li {
        margin-left: 16px;
    }

    header .sub a {
        font-size: 13px;
    }

    header .sub .ico {
        display: inline-block;
        margin-right: 5px;
        width: 15px;
    }

    header .searchBtn {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 13px;
        right: 402px;
        width: 88px;
        height: 24px;
        background: center left 8px/12px no-repeat #3b3b3b;
        border: none;
        border-radius: 80px;
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
        transition: .2s;
    }

    header .phone {
        position: absolute;
        top: 0;
        right: 80px;
        padding: 0 12px;
        background: var(--primary-defColor);
        border-radius: 0 0 8px 8px;
        color: #fff;
        font-size: 20px;
        font-weight: 900;
        line-height: 40px;
        transition: .2s;
    }
    header .phone:hover {
        filter: brightness(1.1);
    }


    header .phone .num {
        color: #fff;
        font-family: Yantramanav, sans-serif;
    }

    header .phone .min {
        font-size: 11px;
    }

    header .phone .box {
        opacity: 0;
        visibility: hidden;
        position: absolute;
        top: 0;
        left: 50%;
        padding: 24px;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 6px 12px rgba(0, 87, 184, .2);
        color: #424242;
        text-align: center;
        transform: translateX(-50%);
        transition: .2s;
    }

    header .phone:hover .box {
        opacity: 1;
        visibility: visible;
        top: 16px;
    }

    header .phone .box .item {
        padding: 0 4px;
    }

    header .phone .box .h {
        color: #3b3b3b;
        font-size: 14px;
    }

    header .phone .box .tel a {
        display: block;
        padding: 0 8px;
        font-size: 20px;
        font-weight: 900;
        line-height: 40px;
        white-space: nowrap;
    }

    header .phone .box .date {
        font-size: 11px;
        font-weight: 400;
    }

    header .phone .box .item:nth-child(2) .h {
        color: #ffa000;
    }

    header .phone .box .item:nth-child(2) .tel a {
        background-color: #ffa000;
        background-image: linear-gradient(90deg, #ffbf00, #ffbf00 50%, #ffa000 50%, #ffa000);
    }

    .downloadBtn {
        display: flex;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 160px;
        right: -56px;
        width: 56px;
        height: 222px;
        background-color: #0058b8;
        border-radius: 16px 0 0 16px;
        color: #fff !important;
        font-size: 14px;
        font-weight: 500;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        letter-spacing: 0;
        transition: .4s;
    }

    .downloadBtn img {
        margin-bottom: 8px;
        width: 14px;
    }

    @media (max-width:1599px) {
        header {
            position: absolute;
        }

        header .inner {
            padding: 50px 32px 24px;
        }

        header .phone {
            right: 32px;
        }

        header .phone .box {
            left: auto;
            right: 18px;
            transform: none;
        }

        header .sub {
            bottom: auto;
            top: 10px;
            right: 350px;
            transition: .2s;
        }

        header .searchBtn {
            right: 354px;
        }
    }

    @media (min-width:1024px) and (max-width:1080px) {
        header .sub {
            right: 434px;
        }

        header .sub li {
            margin-left: 8px;
        }

        header .sub a {
            font-size: 12px;
        }

        header .searchBtn {
            right: 330px;
        }
    }

    @media (max-width:1156px) {
        header {
            position: fixed;
        }

        header .inner {
            padding: 19px 24px !important;
        }

        header .title .shoulder {
            position: absolute;
            top: 50% !important;
            left: 120px;
            transform: translateY(-50%);
        }

        header .title img {
            width: 85px;
            vertical-align: middle;
        }

        header .btnNav {
            position: absolute;
            top: 50%;
            right: 10px;
            width: 56px;
            height: 56px;
            transform: translateY(-50%);
        }

        header .btnNav span {
            position: absolute;
            top: 50%;
            right: 14px;
            width: 28px;
            height: 3px;
            margin-top: -1px;
            border-radius: 2px;
            background: #3b3b3b;
        }

        header .btnNav span:first-child {
            transform: translateY(-8px);
        }

        header .btnNav span:last-child {
            transform: translateY(8px);
        }

        header .phone .box {
            display: none;
        }

        header .downloadBtn {
            top: 88px;
        }
    }

    @media (max-width:767px) {
        header .inner {
            padding: 19px 16px !important;
        }

        header .title .shoulder {
            left: 96px;
        }

        header .btnNav {
            right: 2px;
        }

        header .downloadBtn {
            width: 36px;
            height: 170px;
            border-radius: 10px 0 0 10px;
            font-size: 12px;
            letter-spacing: .05em;
        }

        header .downloadBtn img {
            display: none;
        }
    }

    @media (max-width:340px) {
        header .title .shoulder {
            display: none;
        }
    }

    nav {
        position: absolute;
        bottom: 0;
        left: 296px;
    }

    nav ul {
        display: flex;
    }

    nav li {
        margin-right: 24px;
    }

    nav a {
        display: block;
        position: relative;
        padding-bottom: 24px;
        font-size: 15px;
        font-weight: 700;
        line-height: 1;
    }

    nav a.arw::after {
        border-color: #3b3b3b !important;
        transform: rotate(135deg);
    }

    @media (min-width:1024px) and (max-width:1080px) {
        nav a {
            font-size: 14px;
        }
    }

    @media (max-width:1156px) {
        .navGroup {
            opacity: 0;
            visibility: hidden;
            position: fixed;
            top: -40px;
            left: 0;
            width: 100%;
            height: 100%;
            padding: 30px 24px;
            background: #fff;
            transition: .2s;
        }

        nav {
            position: static;
        }

        nav ul {
            display: block;
            max-width: 370px;
            margin: 0 auto 11px;
        }

        nav li {
            margin: 0;
            text-align: center;
        }

        nav a {
            display: inline-block;
            padding: 14px 0;
        }

        nav a.arw::after {
            display: none;
        }

        nav .btnNavChildMenu {
            display: inline-block;
            position: relative;
            width: 24px;
            height: 24px;
            margin-left: 16px;
            border-radius: 50%;
            background: #0057b8;
            vertical-align: middle;
        }

        nav .btnNavChildMenu::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 8px;
            height: 2px;
            background: #fff;
            transform: translate(-50%, -50%);
        }

        nav .btnNavChildMenu::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 2px;
            height: 8px;
            background: #fff;
            transform: translate(-50%, -50%);
        }

        header .sub {
            flex-wrap: wrap;
            position: static;
            max-width: 279px;
            margin: 0 auto 14px;
        }

        header .sub li {
            width: 50%;
            margin: 0;
        }

        header .sub a {
            display: block;
            padding: 3px 0;
        }

        header .searchBtn {
            position: static;
            width: 120px;
            height: 32px;
            margin: 0 auto 24px;
            font-size: 15px;
        }

        header .searchBtn::before {
            width: 16px;
            height: 16px;
            margin-right: 15px;
            background-size: 16px;
        }

        header .phone {
            position: static;
            background: 0 0 !important;
            text-align: center;
        }

        header .phone .num {
            display: inline-block;
            padding: 10px 24px;
            border-radius: 24px;
            background: #3b3b3b;
            line-height: 48px;
            letter-spacing: .02em;
        }

        header .phone .min {
            display: block;
            color: #FFF;
            line-height: 1.2;
        }

        header .navGroup .btnClose {
            position: absolute;
            top: 4px;
            right: 10px;
            width: 56px;
            height: 56px;
        }

        header .navGroup .btnClose::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 28px;
            height: 3px;
            margin-top: -1px;
            border-radius: 2px;
            background: #3b3b3b;
            transform: translate(-50%, -50%) rotate(45deg);
        }

        header .navGroup .btnClose::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 28px;
            height: 3px;
            margin-top: -1px;
            border-radius: 2px;
            background: #3b3b3b;
            transform: translate(-50%, -50%) rotate(-45deg);
        }
    }

    @media (max-width:767px) {
        header .navGroup .btnClose {
            right: 2px;
        }
    }

    header .navChildMenu {
        opacity: 0;
        visibility: hidden;
        display: flex;
        align-items: center;
        position: fixed;
        z-index: 100;
        top: 100px;
        left: 50%;
        width: 100%;
        max-width: 1304px;
        border-radius: 0 0 16px 16px;
        padding: 40px 0;
        background: #3b3b3b;
        color: #fff;
        line-height: 1.5;
        transform: translate(-50%, -40px);
        transition: .2s;
    }
    /* test */
    header .navChildMenu {
        left: 650px;
        max-width: 800px;
    }

    header .navChildMenu a {
        color: #fff;
        font-size: 16px;
    }

    header .navChildMenu a:hover {
        opacity: .7;
    }

    header .navChildMenu li a::before {
        content: '';
        display: inline-block;
        position: relative;
        top: -2px;
        width: 8px;
        height: 8px;
        margin-right: 8px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        vertical-align: middle;
        transform: rotate(45deg);
        transition: .4s;
    }

    header .navChildMenu .gridGroup {
        max-width: 1160px;
        width: 100%;
        padding: 0 40px;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        grid-gap: 36px;
        letter-spacing: 0;
    }

    header .navChildMenu .gridGroup .item {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 46%;
    }

    header .navChildMenu .gridGroup .item .box a {
        width: 100%;
        height: 100%;
        border-radius: 16px;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px;
        background: #23a6a6;
        box-sizing: border-box;
    }

    header .navChildMenu .gridGroup .item .box .h {
        font-size: 16px;
        font-weight: 700;
        color: #fff;
        white-space: nowrap;
    }

    header .navChildMenu .gridGroup .item .box .h .min {
        font-size: 11px;
        display: block;
    }

    header .navChildMenu .gridGroup .item .box .h br {
        display: none;
    }

    header .navChildMenu .gridGroup .item .box .img {
        flex-shrink: 0;
    }

    header .navChildMenu .gridGroup .item ul {
        display: flex;
        gap: 16px;
        margin-top: 16px;
        padding-bottom: 16px;
        border-bottom: 1px solid #fff;
    }

    header .navChildMenu .gridGroup .item ul li {
        font-size: 14px;
    }

    header .navBlog {
        left: 848px;
        width: auto;
        max-width: inherit;
        padding: 40px 32px 60px;
        transform: translate(-50%, -40px);
    }

    header .navBlog .h {
        display: flex;
        align-items: center;
        margin-bottom: 30px;
        padding-left: 40px;
        font-size: 28px;
        font-weight: 700;
    }

    header .navBlog .h::before {
        content: "";
        display: inline-block;
        width: 72px;
        height: 72px;
        margin-right: 20px;
        background: left center/cover no-repeat;
    }

    header .navBlog .col2 {
        display: flex;
    }

    header .navBlog .col {
        padding: 0 40px;
    }

    header .navBlog .col:first-of-type {
        border-right: 1px solid #4081ca;
    }

    header .navBlog .subH {
        margin-bottom: 22px;
        font-size: 18px;
        font-weight: 700;
        white-space: nowrap;
    }

    header .navBlog li {
        white-space: nowrap;
    }

    header .navBlog li:not(:last-child) {
        margin-bottom: 8px;
    }

    @media (max-width:1439px) {
        nav {
            left: 256px;
        }

        header .navBlog {
            left: 800px;
        }
    }

    @media (max-width:1156px) {
        header .navBlog {
            width: 100%;
            padding: 60px 40px 40px;
        }

        header .navBlog .row {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        header .navBlog .h {
            padding-left: 0;
        }

        header .navBlog .col2 {
            display: block;
        }

        header .navBlog .col {
            margin-bottom: 32px;
            padding: 0;
        }

        header .navBlog .col:first-of-type {
            border-right: none;
        }

        header .navBlog .subH, header .navBlog li {
            white-space: normal;
        }

        header .navContact {
            display: none;
        }
    }

    @media (max-width:767px) {
        header .navBlog .h {
            padding-left: 0;
            font-size: 18px;
        }

        header .navBlog .h::before {
            width: 36px;
            height: 36px;
            margin-right: 16px;
        }

        header .navBlog .subH {
            margin-bottom: 16px;
            font-size: 15px;
        }
    }

    header .navContact {
        left: 800px;
        width: 730px;
        padding: 40px 72px 16px;
        transform: translate(-50%, -40px);
    }

    header .navContact .group {
        display: flex;
        flex-wrap: wrap;
    }

    header .navContact .group li {
        margin-bottom: 24px;
        white-space: nowrap;
        display: flex;
        align-items: center;
    }

    header .navContact .group li:nth-child(odd) {
        width: 260px;
        margin-right: 40px;
    }
    /* test */
    header .navContact .group li:nth-child(odd) {
        width: 100%;
    }

    header .navContact .group .ico {
        display: inline-block;
        width: 48px;
        margin-right: 13px;
        flex: 0 0 48px;
    }

    @media (max-width:1439px) {
        header .navContact.js-navService2 {
            left: 500px;
        }

        header .navContact.js-navService {
            left: 760px;
        }

        header .navContact {
            left: 936px;
        }

    }

    @media (max-width:1224px) {
        header .navBlog, header .navContact {
            right: 0;
            left: auto;
            transform: translate(0, -40px) !important;
        }

        header .navContact.js-navService {
            left: 300px;
            top: 140px;
        }

        header .navContact {
            left: 436px;
            top: 140px;
        }
    }

    .searchNav {
        opacity: 0;
        visibility: hidden;
        position: fixed;
        top: -40px;
        left: 0;
        width: 100%;
        padding: 88px 40px 96px;
        background-color: rgba(0, 87, 184, .9);
        color: #fff;
        z-index: 102;
        transition: .2s;
    }

    .searchNav_inner {
        max-width: 632px;
        margin: 0 auto;
    }

    .searchNav .h {
        margin: 40px 0 30px;
        font-size: 28px;
        font-weight: 700;
        text-align: center;
    }

    .searchNav .searchForm {
        margin-bottom: 40px;
    }

    .searchNav .subH {
        margin-bottom: 6px;
        padding-top: 24px;
        border-top: 1px solid #4081ca;
        font-size: 18px;
        text-align: center;
    }

    .searchNav .list {
        display: flex;
        flex-wrap: wrap;
        margin-right: -16px;
    }

    .searchNav .list li {
        margin: 16px 16px 0 0;
    }

    .searchNav .list a {
        display: inline-block;
        padding: 0 16px;
        border: 1px solid #fff;
        border-radius: 80px;
        color: #fff;
        font-size: 14px;
    }

    .searchNav .list a:hover {
        background-color: #0077fc;
        border-color: #0077fc;
    }

    .searchNav .list a::after {
        content: '';
        display: inline-block;
        position: relative;
        top: -2px;
        width: 8px;
        height: 8px;
        margin-left: 6px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        vertical-align: middle;
        transform: rotate(45deg);
    }

    .searchNav .closeBtn {
        position: absolute;
        top: 28px;
        right: 28px;
        width: 56px;
        height: 56px;
        cursor: pointer;
    }

    .searchNav .closeBtn::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 28px;
        height: 3px;
        margin-top: -1px;
        border-radius: 2px;
        background: #fff;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .searchNav .closeBtn::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 28px;
        height: 3px;
        margin-top: -1px;
        border-radius: 2px;
        background: #fff;
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    @media (max-width:1023px) {
        .searchNav {
            height: 100%;
            padding: 60px 40px;
            background-color: #3b3b3b;
        }

        .searchNav .h {
            margin-top: 0;
            font-size: 18px;
        }

        .searchNav .subH {
            margin: 40px 0 12px;
            font-size: 15px;
        }

        .searchNav .list {
            display: block;
            text-align: center;
        }

        .searchNav .list li {
            margin-top: 8px;
        }

        .searchNav .closeBtn {
            top: 4px;
            right: 2px;
        }
    }

    .searchForm {
        position: relative;
    }

    .searchForm input {
        width: 100%;
        height: 40px;
        padding: 0 64px 0 16px;
        border: none;
        outline: 0;
        border-radius: 80px;
        font-size: 15px;
    }

    .searchForm button {
        position: absolute;
        top: 0;
        right: 14px;
        width: 40px;
        height: 40px;
        padding: 0;
        background: 0 0;
        border: none;
        outline: 0;
        cursor: pointer;
    }

    button, input[type=search] {
        -webkit-appearance: none;
    }
}

header .navChildMenu.on {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0)
}

@media (min-width:1904px) {
    header .navChildMenu {
        /* left: 650px; */
        transform: translate(-50%, 0);
    }
    header .navContact {
        left: 800px;
        transform: translate(-50%, 0);
    }
}

@media (max-width:1080px) {
    header .navChildMenu .gridGroup .item .box .h br {
        display: block;
    }
}

@media (max-width:1156px) {

    header .navChildMenu,
    header .navContact.js-navService {
        align-items: center;
        z-index: 102;
        top: -40px;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 0;
        transform: none;
        overflow: auto;
        display: block;
        padding-top: 60px;
    }

    header .navChildMenu .btnClose {
        position: absolute;
        top: 4px;
        right: 10px;
        width: 56px;
        height: 56px;
    }

    header .navChildMenu .btnClose::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 28px;
        height: 3px;
        margin-top: -1px;
        border-radius: 2px;
        background: #fff;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    header .navChildMenu .btnClose::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 28px;
        height: 3px;
        margin-top: -1px;
        border-radius: 2px;
        background: #fff;
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    header .navChildMenu .gridGroup {
        display: block;
        padding-top: 0;
    }

    header .navChildMenu .gridGroup .item {
        display: block;
        max-width: 295px;
        margin: 0 auto 20px;
    }

    header .navChildMenu .gridGroup .item .box a {
        padding: 8px 16px;
    }

    header .navChildMenu .gridGroup .item:nth-of-type(1) .box a {
        flex-direction: row;
        padding: 8px 16px;
    }

    header .navChildMenu .gridGroup .item:nth-of-type(1) .box .img {
        width: 45px;
    }

    header .navChildMenu .gridGroup .item .box .h {
        font-size: 14px;
    }

    header .navChildMenu .gridGroup .item:nth-of-type(1) .box .h {
        font-size: 16px;
    }

    header .navChildMenu .gridGroup .item:nth-of-type(1) .box .h .min {
        font-size: 11px;
    }

    header .navChildMenu .gridGroup .item .box .h br {
        display: none;
    }

    header .navChildMenu .gridGroup .item ul {
        margin-top: 10px;
        padding-bottom: 10px;
    }
}

@media (max-width:767px) {
    header .navChildMenu .btnClose {
        right: 2px;
    }
}

@media (max-width: 1156px) {
    header .navChildMenu.on {
        transform: none !important;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        max-width: 100%;
    }

    .navGroup.on {
        opacity: 1;
        visibility: visible;
        top: 0;
    }

    header .navChildMenu .gridGroup .item {
        width: 100%;
        max-width: 100%;
    }

    nav .btnNavChildMenu {
        display: inline-block;
        position: relative;
        width: 24px;
        height: 24px;
        margin-left: 16px;
        border-radius: 50%;
        background: #3b3b3b;
        vertical-align: middle;
    }

    nav .btnNavChildMenu::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 8px;
        height: 2px;
        background: #fff;
        transform: translate(-50%, -50%)
    }

    nav .btnNavChildMenu::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 2px;
        height: 8px;
        background: #fff;
        transform: translate(-50%, -50%)
    }

    header .navContact .group {
        flex-direction: column;
    }

    header .navChildMenu a {
        font-size: 16px;
    }
}