body {
    background: #EBF5FF
}

.banner {
    width: 100%;
    height: 25vw;
    position: relative
}

.banner .h2 {
    width: 100%;
    font-family: var(--main-font);
    text-align: center;
    color: #FFF;
    font-weight: 400;
    line-height: 110%;
    text-transform: uppercase;
    position: absolute;
    z-index: 3;
    top: 12.91667vw
}

.banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.sec1 {
    padding: 6.25vw 8.33333vw 0
}

.sec1 .wrap {
    display: flex;
    justify-content: space-between
}

.sec1 .wrap .l_box {
    width: 37.5vw
}

.sec1 .wrap .l_box .h5 {
    color: #003460;
    font-family: var(--main-font);
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 1.45833vw
}

.sec1 .wrap .l_box form {
    display: flex;
    flex-wrap: wrap;
    gap: .78125vw 1.25vw
}

.sec1 .wrap .l_box form input {
    width: 18.07292vw;
    height: 2.91667vw;
    border-radius: .625vw;
    border: .05208vw solid #003460;
    padding: 0 .83333vw;
    color: #003460;
    font-size: .83333vw;
    font-weight: 300;
    text-transform: uppercase;
    background: unset;
    transition: 0.6s
}

.sec1 .wrap .l_box form input::placeholder {
    color: rgba(0, 52, 96, 0.5)
}

.sec1 .wrap .l_box form input.error {
    border: .05208vw solid red
}

.sec1 .wrap .l_box form button {
    width: 100%;
    height: 2.91667vw;
    border-radius: .625vw;
    background: #003460;
    border: .10417vw solid #003460;
    cursor: pointer;
    transition: 0.6s;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.sec1 .wrap .l_box form button .icon {
    position: absolute;
    width: 1.875vw;
    opacity: 0
}

.sec1 .wrap .l_box form button .icon img {
    display: block;
    width: 100%
}

.sec1 .wrap .l_box form button p {
    color: #FFF;
    font-size: .83333vw;
    font-weight: 700;
    text-transform: uppercase;
    transition: 0.6s
}

.sec1 .wrap .l_box form button:hover {
    background: #FFFFFF
}

.sec1 .wrap .l_box form button:hover p {
    color: #003460
}

.sec1 .wrap .l_box form button.success {
    background: #003460;
    pointer-events: none
}

.sec1 .wrap .l_box form button.success p {
    opacity: 0
}

.sec1 .wrap .l_box form button.success .icon {
    opacity: 1
}

.sec1 .wrap .l_box form textarea {
    width: 100%;
    height: 7.65625vw;
    border-radius: .625vw;
    border: .05208vw solid #003460;
    padding: .26042vw .83333vw;
    color: #003460;
    font-size: .83333vw;
    font-weight: 300;
    line-height: 2.8;
    text-transform: uppercase;
    background: unset;
    resize: none
}

.sec1 .wrap .l_box form textarea::placeholder {
    color: rgba(0, 52, 96, 0.5)
}

.sec1 .wrap .r_box {
    width: 41.66667vw
}

.sec1 .wrap .r_box .h5 {
    color: #003460;
    font-family: var(--main-font);
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 1.45833vw
}

.sec1 .wrap .r_box .box {
    width: 100%;
    height: 23.02083vw;
    border-radius: 1.04167vw;
    border: .05208vw solid #003460;
    padding: 1.45833vw 2.08333vw 2.23958vw
}

.sec1 .wrap .r_box .box .h6 {
    color: #003460;
    font-weight: 400;
    line-height: 150%;
    text-transform: uppercase;
    padding: 0 0 .625vw;
    border-bottom: .05208vw solid rgba(0, 52, 96, 0.6)
}

.sec1 .wrap .r_box .box .null_box {
    width: 100%;
    height: 16.66667vw;
    display: flex;
    align-items: center;
    justify-content: center
}

.sec1 .wrap .r_box .box .null_box p {
    color: #003460;
    font-family: var(--main-font);
    font-weight: 400;
    line-height: 150%;
    text-transform: uppercase
}

.sec1 .wrap .r_box .box .pro_box {
    margin: .625vw 0 0;
    display: none
}

.sec1 .wrap .r_box .box .pro_box .tr {
    display: flex;
    align-items: center;
    gap: 6.92708vw;
    margin-bottom: .625vw
}

.sec1 .wrap .r_box .box .pro_box .tr .th {
    color: #003460;
    font-weight: 400;
    line-height: 150%;
    text-transform: capitalize;
    width: 13.125vw
}

.sec1 .wrap .r_box .box .pro_box .tr .th:nth-child(1) {
    width: 13.48958vw
}

.sec1 .wrap .r_box .box .pro_box .list {
    max-height: 14.01042vw;
    overflow-y: auto;
    width: 100%;
    padding: 0 1.45833vw 0 0
}

.sec1 .wrap .r_box .box .pro_box .list::-webkit-scrollbar {
    width: .15625vw
}

.sec1 .wrap .r_box .box .pro_box .list::-webkit-scrollbar-track {
    background: rgba(0, 52, 96, 0.2)
}

.sec1 .wrap .r_box .box .pro_box .list::-webkit-scrollbar-thumb {
    background: #003460;
    border-radius: .15625vw
}

.sec1 .wrap .r_box .box .pro_box .list .item {
    width: 100%;
    display: flex;
    justify-content: space-between;
    border-radius: .625vw;
    border: .05208vw solid #003460;
    transition: 0.6s
}

.sec1 .wrap .r_box .box .pro_box .list .item:not(:last-child) {
    margin-bottom: .78125vw
}

.sec1 .wrap .r_box .box .pro_box .list .item .item_l {
    display: flex;
    height: 2.91667vw;
    gap: 6.92708vw;
    border-radius: .625vw;
    transition: 0.6s
}

.sec1 .wrap .r_box .box .pro_box .list .item .item_l .pro_info {
    display: flex;
    align-items: center;
    width: 13.48958vw;
    padding: 0 0 0 .36458vw;
    gap: .625vw
}

.sec1 .wrap .r_box .box .pro_box .list .item .item_l .pro_info .img {
    width: 2.08333vw;
    height: 2.08333vw;
    border-radius: .41667vw;
    overflow: hidden
}

.sec1 .wrap .r_box .box .pro_box .list .item .item_l .pro_info .img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.sec1 .wrap .r_box .box .pro_box .list .item .item_l .pro_info p {
    width: 10.10417vw;
    color: #003460;
    font-weight: 300;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.sec1 .wrap .r_box .box .pro_box .list .item .item_l .code {
    height: 2.91667vw;
    color: #003460;
    font-weight: 400;
    text-transform: capitalize;
    display: flex;
    align-items: center;
    width: 11.97917vw
}

.sec1 .wrap .r_box .box .pro_box .list .item .close {
    width: 2.34375vw;
    height: 2.91667vw;
    border-radius: .625vw;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.6s
}

.sec1 .wrap .r_box .box .pro_box .list .item .close img {
    display: block;
    width: .67708vw
}

.sec1 .wrap .r_box .box .pro_box .list .item:hover {
    border: .05208vw solid rgba(0, 52, 96, 0)
}

.sec1 .wrap .r_box .box .pro_box .list .item:hover .item_l {
    border: .05208vw solid #003460
}

.sec1 .wrap .r_box .box .pro_box .list .item:hover .close {
    border: .05208vw solid #003460
}

.sec2 {
    padding: 6.25vw 8.33333vw 0
}

.sec2 .box {
    display: flex;
    justify-content: space-between
}

.sec2 .box .l_box {
    width: 26.71875vw
}

.sec2 .box .l_box .title {
    font-family: var(--main-font);
    color: #003460;
    font-weight: 400;
    line-height: 130%;
    text-transform: uppercase;
    margin-bottom: 2.23958vw
}

.sec2 .box .l_box .list .item {
    display: flex;
    align-items: center;
    gap: 1.19792vw
}

.sec2 .box .l_box .list .item:not(:last-child) {
    margin-bottom: 1.875vw
}

.sec2 .box .l_box .list .item .icon {
    width: 2.86458vw
}

.sec2 .box .l_box .list .item .icon img {
    display: block;
    width: 100%
}

.sec2 .box .l_box .list .item p,
.sec2 .box .l_box .list .item a {
    display: block;
    color: #003460;
    font-weight: 400;
    line-height: 150%
}

.sec2 .box .r_box {
    width: 46.51042vw;
    border-radius: 1.25vw;
    overflow: hidden
}

.sec2 .box .r_box img {
    display: block;
    width: 100%;
    transition: 2s
}

.sec2 .box .r_box:hover img {
    transform: scale(1.1)
}

.sec2 .flex {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.08333vw;
    margin: 6.25vw 0 0
}

.sec2 .flex .item {
    border-radius: 1.04167vw;
    border: .10417vw solid #003460;
    padding: 2.08333vw 2.08333vw 2.08333vw 4.53125vw
}

.sec2 .flex .item .tr {
    display: flex;
    align-items: center;
    gap: 1.30208vw
}

.sec2 .flex .item .tr:not(:last-child) {
    margin-bottom: .78125vw
}

.sec2 .flex .item .tr .icon {
    width: 2.60417vw;
    height: 2.29167vw;
    display: flex;
    align-items: center;
    justify-content: center
}

.sec2 .flex .item .tr .icon img {
    display: block;
    max-height: 100%;
    max-width: 100%
}

.sec2 .flex .item .tr p,
.sec2 .flex .item .tr a {
    display: block;
    color: #003460;
    font-weight: 400;
    line-height: 150%
}

.sec3 {
    padding: 6.25vw 12.5vw 7.65625vw
}

.sec3 .wrap .title {
    font-family: var(--main-font);
    color: #003460;
    font-weight: 400;
    line-height: 130%;
    text-transform: uppercase;
    margin-bottom: 4.16667vw
}

.sec3 .wrap .sec3_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2.91667vw
}

.sec3 .wrap .sec3_top .search {
    width: 21.30208vw;
    height: 2.86458vw;
    border-radius: 2.08333vw;
    border: .10417vw solid #003460;
    background: rgba(1, 52, 96, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.35417vw 0 0
}

.sec3 .wrap .sec3_top .search input {
    width: 18.69792vw;
    height: 100%;
    background: unset;
    border: none;
    padding: 0 1.5625vw;
    color: #003460;
    font-size: 1.04167vw;
    font-weight: 400
}

.sec3 .wrap .sec3_top .search input::placeholder {
    color: #B7B7B7
}

.sec3 .wrap .sec3_top .search button {
    background: unset;
    border: none;
    width: 1.25vw;
    cursor: pointer
}

.sec3 .wrap .sec3_top .search button img {
    display: block;
    width: 100%
}

.sec3 .wrap .sec3_top .links {
    display: flex;
    gap: 2.08333vw
}

.sec3 .wrap .sec3_top .links .item {
    font-family: var(--main-font);
    cursor: pointer;
    color: #003460;
    font-weight: 400;
    padding: .67708vw 1.09375vw;
    border-radius: 1.04167vw;
    border: .10417vw solid #003460;
    background: rgba(1, 52, 96, 0);
    text-align: center;
    transition: 0.6s
}

.sec3 .wrap .sec3_top .links .item:nth-child(1) {
    width: 5.3125vw;
    border-radius: 2.08333vw
}

.sec3 .wrap .sec3_top .links .item:hover,
.sec3 .wrap .sec3_top .links .item.on {
    background: #003460;
    color: #FFFFFF
}

.sec3 .wrap .list {
    width: 100%;
    padding: 0 1.25vw 0 0;
    max-height: 58.48958vw;
    overflow-y: auto
}

.sec3 .wrap .list::-webkit-scrollbar {
    width: .15625vw
}

.sec3 .wrap .list::-webkit-scrollbar-track {
    background: rgba(0, 52, 96, 0.2)
}

.sec3 .wrap .list::-webkit-scrollbar-thumb {
    background: #003460;
    border-radius: .15625vw
}

.sec3 .wrap .list .item {
    width: 100%;
    padding: 2.1875vw 0;
    border-top: .05208vw solid #241E1E
}

.sec3 .wrap .list .item:last-child {
    border-bottom: .05208vw solid #241E1E
}

.sec3 .wrap .list .item .block {
    display: flex;
    cursor: pointer;
    justify-content: space-between
}

.sec3 .wrap .list .item .block p {
    color: #003460;
    font-family: var(--main-font);
    font-weight: 400;
    line-height: 150%;
    width: 69.79167vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.sec3 .wrap .list .item .block .icon {
    width: 2.23958vw;
    height: 2.23958vw;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #003460;
    margin: .26042vw 0 0;
    transition: 0.6s
}

.sec3 .wrap .list .item .block .icon svg {
    display: block;
    width: .57292vw
}

.sec3 .wrap .list .item .block .icon svg path {
    transition: 0.6s
}

.sec3 .wrap .list .item .hide {
    padding: 1.25vw 18.75vw 0 0;
    color: #003460;
    font-weight: 400;
    line-height: 150%;
    display: none
}

.sec3 .wrap .list .item:hover .block .icon {
    background: #FFFFFF;
    transform: rotate(45deg)
}

.sec3 .wrap .list .item:hover .block .icon svg path {
    fill: #003460
}

.sec3 .wrap .list .item.item_active .block p {
    white-space: unset;
    overflow: unset;
    text-overflow: unset
}

.sec3 .wrap .list .item.item_active .block .icon {
    background: #003460;
    transform: rotate(-45deg)
}

.sec3 .wrap .list .item.item_active .block .icon svg path {
    fill: #FFFFFF
}

@media screen and (max-width: 768px) {
    .banner {
        margin-top: 60px;
        height: 200px
    }

    .banner .h2 {
        top: 40%
    }

    .sec1 {
        padding: 40px 5vw
    }

    .sec1 .wrap {
        display: block
    }

    .sec1 .wrap .r_box {
        width: 100%;
        margin: 40px 0 0
    }

    .sec1 .wrap .r_box .h5 {
        font-size: 20px;
        margin-bottom: 20px
    }

    .sec1 .wrap .r_box .box {
        border-radius: 10px;
        height: 400px;
        padding: 20px
    }

    .sec1 .wrap .r_box .box .h6 {
        font-size: 18px;
        padding: 0 0 8px;
        margin-bottom: 10px
    }

    .sec1 .wrap .r_box .box .null_box {
        height: 300px
    }

    .sec1 .wrap .r_box .box .pro_box .tr {
        gap: 0;
        margin-bottom: 10px
    }

    .sec1 .wrap .r_box .box .pro_box .tr .th {
        font-size: 14px;
        width: 25vw
    }

    .sec1 .wrap .r_box .box .pro_box .tr .th:nth-child(1) {
        width: 40vw
    }

    .sec1 .wrap .r_box .box .pro_box .list {
        padding: 0 10px 0 0;
        max-height: 276px
    }

    .sec1 .wrap .r_box .box .pro_box .list .item {
        border-radius: 8px
    }

    .sec1 .wrap .r_box .box .pro_box .list .item:not(:last-child) {
        margin-bottom: 8px
    }

    .sec1 .wrap .r_box .box .pro_box .list .item .item_l {
        height: 40px;
        gap: 0;
        border-radius: 8px
    }

    .sec1 .wrap .r_box .box .pro_box .list .item .item_l .pro_info {
        width: 40vw;
        padding: 0 0 0 4px
    }

    .sec1 .wrap .r_box .box .pro_box .list .item .item_l .pro_info .img {
        width: 32px;
        height: 32px
    }

    .sec1 .wrap .r_box .box .pro_box .list .item .item_l .pro_info p {
        width: 27vw
    }

    .sec1 .wrap .r_box .box .pro_box .list .item .item_l .code {
        width: 25vw;
        height: 40px
    }

    .sec1 .wrap .r_box .box .pro_box .list .item .close {
        height: 40px;
        width: 40px;
        border-radius: 8px
    }

    .sec1 .wrap .r_box .box .pro_box .list .item .close img {
        width: 18px
    }

    .sec1 .wrap .r_box .box .pro_box .list::-webkit-scrollbar {
        width: 2px
    }

    .sec1 .wrap .l_box {
        width: 100%
    }

    .sec1 .wrap .l_box .h5 {
        font-size: 20px;
        margin-bottom: 20px
    }

    .sec1 .wrap .l_box form {
        gap: 15px
    }

    .sec1 .wrap .l_box form input {
        font-size: 14px;
        width: 100%;
        height: 40px;
        border-radius: 4px;
        padding: 0 15px
    }

    .sec1 .wrap .l_box form textarea {
        height: 150px;
        padding: 5px 15px;
        font-size: 14px;
        border-radius: 4px
    }

    .sec1 .wrap .l_box form button {
        height: 40px;
        border-radius: 20px
    }

    .sec1 .wrap .l_box form button p {
        font-size: 14px
    }

    .sec1 .wrap .l_box form button .icon {
        width: 32px
    }

    .sec2 {
        padding: 30px 5vw 0
    }

    .sec2 .box {
        display: block
    }

    .sec2 .box .l_box {
        width: 100%
    }

    .sec2 .box .l_box .title {
        font-size: 20px;
        margin-bottom: 20px
    }

    .sec2 .box .l_box .list .item {
        gap: 10px
    }

    .sec2 .box .l_box .list .item .icon {
        width: 40px
    }

    .sec2 .box .l_box .list .item p,
    .sec2 .box .l_box .list .item a {
        font-size: 15px
    }

    .sec2 .box .r_box {
        width: 100%;
        border-radius: 10px;
        margin: 25px 0 0
    }

    .sec2 .flex {
        margin: 30px 0 0;
        grid-template-columns: repeat(1, 1fr);
        gap: 15px
    }

    .sec2 .flex .item {
        border-radius: 10px;
        padding: 20px
    }

    .sec2 .flex .item .tr {
        gap: 10px
    }

    .sec2 .flex .item .tr:not(:last-child) {
        margin-bottom: 8px
    }

    .sec2 .flex .item .tr .icon {
        width: 24px;
        height: 24px
    }

    .sec3 {
        padding: 60px 5vw
    }

    .sec3 .wrap .title {
        font-size: 20px;
        margin-bottom: 20px
    }

    .sec3 .wrap .sec3_top {
        display: block;
        margin-bottom: 20px
    }

    .sec3 .wrap .sec3_top .links {
        gap: 8px;
        flex-wrap: wrap;
        justify-content: center
    }

    .sec3 .wrap .sec3_top .links .item {
        font-size: 12px;
        padding: 8px 10px;
        border-radius: 10px;
        min-width: 80px
    }

    .sec3 .wrap .sec3_top .links .item:nth-child(1) {
        width: fit-content;
        border-radius: 20px
    }

    .sec3 .wrap .sec3_top .search {
        margin: 15px 0 0;
        width: 100%;
        height: 40px;
        border-radius: 20px;
        justify-content: space-between;
        padding: 0 15px
    }

    .sec3 .wrap .sec3_top .search input {
        width: 70vw;
        height: 40px;
        padding: 0;
        font-size: 14px
    }

    .sec3 .wrap .sec3_top .search button {
        width: 16px;
        height: 16px
    }

    .sec3 .wrap .list {
        max-height: 400px;
        padding: 0;
            overflow-x: hidden;
    }

    .sec3 .wrap .list .item {
        padding: 15px 0
    }

    .sec3 .wrap .list .item .block p {
        font-size: 15px
    }

    .sec3 .wrap .list .item .block .icon {
        width: 24px;
        height: 24px
    }

    .sec3 .wrap .list .item .block .icon svg {
        width: 6px
    }

    .sec3 .wrap .list .item .hide {
        font-size: 14px;
        padding: 20px 0
    }
}