﻿body{
    overflow-x: hidden;
}
.p-solution .guidance,
.p-product .scene-list,
.p-article ._pagination,
.p-article ._header,
.p-article ._content,
.p-about-us .history-list,
.p-contact-us .contact-list,
.contact-form .contact-form,
.stats-list,
.solution-info,
.solution-list,
.product-list,
.feature-list,
.postcard,
.category,
.case-list,
.keyword-list,
.news-list,
.section-header,
.help-action-list,
.header-nav,
.header,
.footer-content,
.row {
    --row-gap: var(--gap, 0px);
    --column-gap: var(--gap, 0px);
    display: flex;
    flex-wrap: wrap;
    gap: var(--row-gap) var(--column-gap)
}

.p-solution .guidance ._column,
.p-product .scene-item,
.p-about-us .stats-item,
.p-about-us .history-item,
.p-contact-us .contact-col,
.contact-form-col,
.contact-form-bottom,
.solution-title,
.solution-content,
.solution-col,
.product-col,
.postcard-left,
.postcard-info,
.case-column,
.news-column,
.help-action,
.footer-columns,
.footer-info {
    --size: 12;
    --fraction: calc(var(--columns, 12) / var(--size));
    width: calc((100% - var(--column-gap, 0px)*(var(--fraction) - 1))/var(--fraction))
}

.banner-container,
.container {
    width: 80vw;
    max-width: 1536px;
    margin-left: auto;
    margin-right: auto
}

.p-article ._back ._underline,
.solution-block ._underline,
.category a,
.breadcrumb a,
a.case-block ._underline,
.nav-overlay :is(._underline),
.header-nav a,
.footer ._link,
.underline,
.group-hover\:underline {
    --size: 1px;
    --color: currentColor;
    text-decoration: none;
    background-image: linear-gradient(var(--color), var(--color));
    background-size: 0% var(--size);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    transition-property: color, background-size;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.p-article ._back:hover ._underline,
a.solution-block:hover ._underline,
.category a:hover,
.category a.active,
.breadcrumb a:not(.disabled):hover,
a.case-block:hover ._underline,
.nav-overlay :is(._top, ._link):is(:hover, .active) ._underline,
.header-nav a:hover,
.header-nav a.active,
.footer ._link:hover,
.underline:hover,
.group:hover .group-hover\:underline {
    background-size: 100% var(--size);
    background-position-x: 0%
}

a.solution-block .solution-image,
.case-image,
.news-image,
.group-hover\:zoom {
    transition-property: transform;
    transition-duration: var(--duration-3);
    transition-timing-function: var(--default-timing-function);
    transform: scale(1.005)
}

a.solution-block:hover .solution-image,
a.case-block:hover .case-image,
.news-block:hover .news-image,
.group:hover .group-hover\:zoom {
    transform: scale(1.075)
}

@font-face {
    font-family: "Kumbh Sans";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(../font/kumbhsans.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

*,
::before,
::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid currentColor
}

html {
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    touch-action: manipulation;
    font-family: "Kumbh Sans", sans-serif;
    font-weight: 500;
    line-height: 1.5;
    color: #101010;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none
}

html:lang(zh) {
    line-height: 1.75
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
    height: auto
}

input,
button,
textarea,
select {
    font: inherit;
    color: inherit;
    outline: 0;
    border-radius: 0;
    background-color: rgba(0, 0, 0, 0)
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word
}

a {
    text-decoration: none;
    color: inherit
}

ul,
ol {
    list-style: none
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: inherit;
    font-size: inherit
}

sup,
sub {
    font-size: .5em
}

em {
    font-style: normal
}

button {
    cursor: pointer
}

:root {
    --duration-1: 0.15s;
    --duration-2: 0.25s;
    --duration-3: 0.5s;
    --duration-4: 0.75s;
    --duration-5: 1s;
    --default-duration: var(--duration-2);
    --default-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
}

.row-cols-1>.col {
    width: calc(100% - var(--column-gap)*0/1)
}

.row-cols-2>.col {
    width: calc(50% - var(--column-gap)*1/2)
}

.row-cols-3>.col {
    width: calc(33.3333333333% - var(--column-gap)*2/3)
}

.row-cols-4>.col {
    width: calc(25% - var(--column-gap)*3/4)
}

.row-cols-5>.col {
    width: calc(20% - var(--column-gap)*4/5)
}

.row-cols-6>.col {
    width: calc(16.6666666667% - var(--column-gap)*5/6)
}

.row-cols-7>.col {
    width: calc(14.2857142857% - var(--column-gap)*6/7)
}

.row-cols-8>.col {
    width: calc(12.5% - var(--column-gap)*7/8)
}

.row-cols-9>.col {
    width: calc(11.1111111111% - var(--column-gap)*8/9)
}

.row-cols-10>.col {
    width: calc(10% - var(--column-gap)*9/10)
}

.row-cols-11>.col {
    width: calc(9.0909090909% - var(--column-gap)*10/11)
}

.row-cols-12>.col {
    width: calc(8.3333333333% - var(--column-gap)*11/12)
}

.col-1 {
    width: calc(8.3333333333% - var(--column-gap)*11/12)
}

.col-2 {
    width: calc(16.6666666667% - var(--column-gap)*5/6)
}

.col-3 {
    width: calc(25% - var(--column-gap)*3/4)
}

.col-4 {
    width: calc(33.3333333333% - var(--column-gap)*2/3)
}

.col-5 {
    width: calc(41.6666666667% - var(--column-gap)*1.4/2.4)
}

.col-6 {
    width: calc(50% - var(--column-gap)*1/2)
}

.col-7 {
    width: calc(58.3333333333% - var(--column-gap)*.7142857143/1.7142857143)
}

.col-8 {
    width: calc(66.6666666667% - var(--column-gap)*.5/1.5)
}

.col-9 {
    width: calc(75% - var(--column-gap)*.3333333333/1.3333333333)
}

.col-10 {
    width: calc(83.3333333333% - var(--column-gap)*.2/1.2)
}

.col-11 {
    width: calc(91.6666666667% - var(--column-gap)*.0909090909/1.0909090909)
}

.col-12 {
    width: calc(100% - var(--column-gap)*0/1)
}

@media(max-width: 1279px) {
    .xl\:row-cols-1>.col {
        width: calc(100% - var(--column-gap)*0/1)
    }

    .xl\:row-cols-2>.col {
        width: calc(50% - var(--column-gap)*1/2)
    }

    .xl\:row-cols-3>.col {
        width: calc(33.3333333333% - var(--column-gap)*2/3)
    }

    .xl\:row-cols-4>.col {
        width: calc(25% - var(--column-gap)*3/4)
    }

    .xl\:row-cols-5>.col {
        width: calc(20% - var(--column-gap)*4/5)
    }

    .xl\:row-cols-6>.col {
        width: calc(16.6666666667% - var(--column-gap)*5/6)
    }

    .xl\:row-cols-7>.col {
        width: calc(14.2857142857% - var(--column-gap)*6/7)
    }

    .xl\:row-cols-8>.col {
        width: calc(12.5% - var(--column-gap)*7/8)
    }

    .xl\:row-cols-9>.col {
        width: calc(11.1111111111% - var(--column-gap)*8/9)
    }

    .xl\:row-cols-10>.col {
        width: calc(10% - var(--column-gap)*9/10)
    }

    .xl\:row-cols-11>.col {
        width: calc(9.0909090909% - var(--column-gap)*10/11)
    }

    .xl\:row-cols-12>.col {
        width: calc(8.3333333333% - var(--column-gap)*11/12)
    }

    .xl\:col-1 {
        width: calc(8.3333333333% - var(--column-gap)*11/12)
    }

    .xl\:col-2 {
        width: calc(16.6666666667% - var(--column-gap)*5/6)
    }

    .xl\:col-3 {
        width: calc(25% - var(--column-gap)*3/4)
    }

    .xl\:col-4 {
        width: calc(33.3333333333% - var(--column-gap)*2/3)
    }

    .xl\:col-5 {
        width: calc(41.6666666667% - var(--column-gap)*1.4/2.4)
    }

    .xl\:col-6 {
        width: calc(50% - var(--column-gap)*1/2)
    }

    .xl\:col-7 {
        width: calc(58.3333333333% - var(--column-gap)*.7142857143/1.7142857143)
    }

    .xl\:col-8 {
        width: calc(66.6666666667% - var(--column-gap)*.5/1.5)
    }

    .xl\:col-9 {
        width: calc(75% - var(--column-gap)*.3333333333/1.3333333333)
    }

    .xl\:col-10 {
        width: calc(83.3333333333% - var(--column-gap)*.2/1.2)
    }

    .xl\:col-11 {
        width: calc(91.6666666667% - var(--column-gap)*.0909090909/1.0909090909)
    }

    .xl\:col-12 {
        width: calc(100% - var(--column-gap)*0/1)
    }
}

@media(max-width: 1023px) {
    .lg\:row-cols-1>.col {
        width: calc(100% - var(--column-gap)*0/1)
    }

    .lg\:row-cols-2>.col {
        width: calc(50% - var(--column-gap)*1/2)
    }

    .lg\:row-cols-3>.col {
        width: calc(33.3333333333% - var(--column-gap)*2/3)
    }

    .lg\:row-cols-4>.col {
        width: calc(25% - var(--column-gap)*3/4)
    }

    .lg\:row-cols-5>.col {
        width: calc(20% - var(--column-gap)*4/5)
    }

    .lg\:row-cols-6>.col {
        width: calc(16.6666666667% - var(--column-gap)*5/6)
    }

    .lg\:row-cols-7>.col {
        width: calc(14.2857142857% - var(--column-gap)*6/7)
    }

    .lg\:row-cols-8>.col {
        width: calc(12.5% - var(--column-gap)*7/8)
    }

    .lg\:row-cols-9>.col {
        width: calc(11.1111111111% - var(--column-gap)*8/9)
    }

    .lg\:row-cols-10>.col {
        width: calc(10% - var(--column-gap)*9/10)
    }

    .lg\:row-cols-11>.col {
        width: calc(9.0909090909% - var(--column-gap)*10/11)
    }

    .lg\:row-cols-12>.col {
        width: calc(8.3333333333% - var(--column-gap)*11/12)
    }

    .lg\:col-1 {
        width: calc(8.3333333333% - var(--column-gap)*11/12)
    }

    .lg\:col-2 {
        width: calc(16.6666666667% - var(--column-gap)*5/6)
    }

    .lg\:col-3 {
        width: calc(25% - var(--column-gap)*3/4)
    }

    .lg\:col-4 {
        width: calc(33.3333333333% - var(--column-gap)*2/3)
    }

    .lg\:col-5 {
        width: calc(41.6666666667% - var(--column-gap)*1.4/2.4)
    }

    .lg\:col-6 {
        width: calc(50% - var(--column-gap)*1/2)
    }

    .lg\:col-7 {
        width: calc(58.3333333333% - var(--column-gap)*.7142857143/1.7142857143)
    }

    .lg\:col-8 {
        width: calc(66.6666666667% - var(--column-gap)*.5/1.5)
    }

    .lg\:col-9 {
        width: calc(75% - var(--column-gap)*.3333333333/1.3333333333)
    }

    .lg\:col-10 {
        width: calc(83.3333333333% - var(--column-gap)*.2/1.2)
    }

    .lg\:col-11 {
        width: calc(91.6666666667% - var(--column-gap)*.0909090909/1.0909090909)
    }

    .lg\:col-12 {
        width: calc(100% - var(--column-gap)*0/1)
    }
}

@media(max-width: 767px) {
    .md\:row-cols-1>.col {
        width: calc(100% - var(--column-gap)*0/1)
    }

    .md\:row-cols-2>.col {
        width: calc(50% - var(--column-gap)*1/2)
    }

    .md\:row-cols-3>.col {
        width: calc(33.3333333333% - var(--column-gap)*2/3)
    }

    .md\:row-cols-4>.col {
        width: calc(25% - var(--column-gap)*3/4)
    }

    .md\:row-cols-5>.col {
        width: calc(20% - var(--column-gap)*4/5)
    }

    .md\:row-cols-6>.col {
        width: calc(16.6666666667% - var(--column-gap)*5/6)
    }

    .md\:row-cols-7>.col {
        width: calc(14.2857142857% - var(--column-gap)*6/7)
    }

    .md\:row-cols-8>.col {
        width: calc(12.5% - var(--column-gap)*7/8)
    }

    .md\:row-cols-9>.col {
        width: calc(11.1111111111% - var(--column-gap)*8/9)
    }

    .md\:row-cols-10>.col {
        width: calc(10% - var(--column-gap)*9/10)
    }

    .md\:row-cols-11>.col {
        width: calc(9.0909090909% - var(--column-gap)*10/11)
    }

    .md\:row-cols-12>.col {
        width: calc(8.3333333333% - var(--column-gap)*11/12)
    }

    .md\:col-1 {
        width: calc(8.3333333333% - var(--column-gap)*11/12)
    }

    .md\:col-2 {
        width: calc(16.6666666667% - var(--column-gap)*5/6)
    }

    .md\:col-3 {
        width: calc(25% - var(--column-gap)*3/4)
    }

    .md\:col-4 {
        width: calc(33.3333333333% - var(--column-gap)*2/3)
    }

    .md\:col-5 {
        width: calc(41.6666666667% - var(--column-gap)*1.4/2.4)
    }

    .md\:col-6 {
        width: calc(50% - var(--column-gap)*1/2)
    }

    .md\:col-7 {
        width: calc(58.3333333333% - var(--column-gap)*.7142857143/1.7142857143)
    }

    .md\:col-8 {
        width: calc(66.6666666667% - var(--column-gap)*.5/1.5)
    }

    .md\:col-9 {
        width: calc(75% - var(--column-gap)*.3333333333/1.3333333333)
    }

    .md\:col-10 {
        width: calc(83.3333333333% - var(--column-gap)*.2/1.2)
    }

    .md\:col-11 {
        width: calc(91.6666666667% - var(--column-gap)*.0909090909/1.0909090909)
    }

    .md\:col-12 {
        width: calc(100% - var(--column-gap)*0/1)
    }
}

@media(max-width: 1023px) {
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
        width: 100%
    }
}

.popup {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, .25);
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 999
}

.popup-container {
    max-height: 100%;
    overflow: auto;
    padding: 4rem
}

.popup-content {
    max-width: 80rem;
    margin: 0 auto;
    background-color: #fff;
    position: relative
}

.popup-close {
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
    top: 2rem;
    right: 2rem
}

@media(max-width: 767px) {
    .popup-container {
        padding: 2rem 1rem
    }

    .popup-close {
        top: 1rem;
        right: 1rem
    }
}

.popup-enter-active,
.popup-leave-active {
    transition-property: background-color;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.popup-enter-from,
.popup-leave-to {
    background-color: rgba(0, 0, 0, 0)
}

.popup-enter-active .popup-content,
.popup-leave-active .popup-content {
    transition-property: transform, opacity;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.popup-enter-from .popup-content,
.popup-leave-to .popup-content {
    opacity: 0;
    transform: scale(0.9)
}

@keyframes spinner-loading {
    to {
        transform: rotate(360deg)
    }
}

.spinner {
    --spinner-size: 3rem;
    --spinner-border-width: 2;
    inset: 0;
    background-color: hsla(0, 0%, 100%, .5);
    padding: 2rem;
    z-index: 8;
    position: fixed;
    color: var(--brand-color, #000)
}

.spinner::after {
    content: "";
    width: var(--spinner-size);
    height: var(--spinner-size);
    position: absolute;
    left: 50%;
    margin-left: calc(-0.5*var(--spinner-size));
    top: 50%;
    margin-top: calc(-0.5*var(--spinner-size));
    animation: spinner-loading .75s linear 0s infinite normal none running;
    border-style: solid;
    border-width: var(--spinner-border-width);
    border-color: currentColor currentColor rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    border-radius: 9999
}

.toast {
    background-color: var(--color-primary);
    color: #fff;
    border-radius: 4px;
    padding: .5rem 1rem;
    position: fixed;
    inset: auto 0 1.5rem;
    width: fit-content;
    max-width: 95%;
    text-align: center;
    margin: auto
}

.toast-enter-active,
.toast-leave-active {
    transition-property: opacity, transform;
    transition-duration: var(--duration-2);
    transition-timing-function: var(--ease-in-out-cubic)
}

.toast-enter-from,
.toast-leave-to {
    opacity: 0
}

.toast-enter-from {
    transform: translateY(10px)
}

.is-loaded [data-reveal] {
    opacity: 0;
    transform: translateY(20px)
}

.is-loaded [data-reveal].has-revealed {
    opacity: 1;
    transform: none;
    transition-property: opacity, transform;
    transition-duration: var(--duration-4);
    transition-timing-function: cubic-bezier(0.4, 0, 0, 1)
}

turbo-frame {
    display: block;
    padding-bottom: 8rem
}

@media(max-width: 766px) {
    turbo-frame {
        padding-bottom: 4rem
    }
}

@keyframes shuffle {
    50% {
        transform: translateX(100%)
    }

    50.01% {
        transform: translateX(-100%)
    }
}

.js-trigger {
    transform: translateY(16px);
    opacity: 0
}

.js-trigger.is-entered {
    transition-property: transform, opacity;
    transition-duration: var(--duration-3);
    transition-timing-function: var(--ease-out-cubic);
    opacity: 1;
    transform: none
}

.fade-enter-active,
.fade-leave-active {
    transition-property: opacity;
    transition-duration: var(--duration-3);
    transition-timing-function: var(--default-timing-function)
}

.fade-enter-from,
.fade-leave-to {
    opacity: 0
}

.collapse-enter-active,
.collapse-leave-active {
    transition-property: height, opacity;
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(0.25, 0, 0, 1)
}

.collapse-enter-from,
.collapse-leave-to {
    opacity: 0
}

.is-touch img {
    pointer-events: none
}

.font-thin {
    font-weight: 100
}

.font-extralight {
    font-weight: 200
}

.font-light {
    font-weight: 300
}

.font-normal {
    font-weight: 400
}

.font-medium {
    font-weight: 500
}

.font-semibold {
    font-weight: 600
}

.font-bold {
    font-weight: 700
}

.font-extrabold {
    font-weight: 800
}

.font-black {
    font-weight: 900
}

.uppercase {
    text-transform: uppercase
}

.overflow-hidden {
    overflow: hidden
}

.case-title,
.h1,
.heading-1 {
    font-size: 1.5rem;
    font-weight: 700
}

.dialog-contact ._title,
.section-title,
.footer-title,
.h2,
.heading-2 {
    font-size: 2.25rem;
    font-weight: 700
}

.h3,
.heading-3 {
    font-size: 3rem;
    font-weight: 700
}

.richtext :is(img, video) {
    margin: 2rem 0;
    height: auto !important;
    display: inline
}

.richtext ul {
    padding-left: 1em;
    list-style: disc
}

.richtext ol {
    padding-left: 1em;
    list-style: decimal
}

.footer {
    background-color: #ff8d26;
    color: hsla(0, 0%, 100%, .5);
    padding-top: 7rem
}

.footer-title,
.footer-columns ._title,
.footer a:hover,
.footer button:hover {
    color: #fff
}

.footer ._link {
    transition-property: background-size
}

.footer-title {
    text-transform: uppercase
}

.footer-contact {
    margin-top: 2rem
}

.footer-contact>:first-child {
    font-size: 1.25em;
    font-weight: 700;
	color:#fff;
}

.footer-info {
    --size: 3;
	color:#fff;
}

.footer-columns {
    --size: 9;
    column-count: 3;
    column-gap: 4rem;
    padding-left: 8rem
}

.footer-columns ._column {
    break-inside: avoid;
    margin-bottom: 4rem
}

.footer-columns ._title {
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 1.5rem
}

.footer-columns ._item {
    margin-top: .75rem;
	color:#fff;
}

.footer-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
    border-top: 1px solid hsla(0, 0%, 100%, .25);
    padding-top: 1.5rem;
    padding-bottom: 3rem;
    margin-top: 2rem;
	color:#fff;
}

.footer-bottom a {
    color: #fff
}

.footer-copy {
    flex: 1 1 0%
}

.footer-puller ._chevron {
    display: inline-block;
    transform: rotate(180deg);
    vertical-align: bottom
}

.footer-puller ._chevron svg {
    width: 1rem;
    height: 1rem
}

.social-link-wrapper {
    position: relative
}

.social-link-wrapper img {
    position: absolute;
    bottom: 150%;
    left: 50%;
    width: 8rem;
    margin-left: -4rem;
    max-width: none;
    transform: scale(0.5);
    opacity: 0;
    visibility: hidden;
    transition-property: transform, opacity, visibility;
    transition-duration: .35s;
    transition-delay: .1s;
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform-origin: 50% 100%
}

.social-link-wrapper:hover img {
    opacity: 1;
    transform: none;
    visibility: visible;
    transition-delay: 0s
}

.social-link-weixin svg {
    width: 1.5rem;
    height: 1.5rem
}

@media(max-width: 1279px) {
    .footer {
        padding-top: 6rem;
        font-size: .875rem
    }

    .footer ._columns {
        padding-left: 0;
        margin-top: 4rem
    }

    .footer-info {
        --size: 4
    }

    .footer-columns {
        --size: 8;
        padding-left: 4rem
    }
}

@media(max-width: 1023px) {

    .footer-info,
    .footer-columns {
        --size: 12
    }

    .footer-columns {
        padding-left: 0;
        margin-top: 4rem
    }
}

@media(max-width: 767px) {
    .footer {
        padding-top: 4rem
    }

    .footer-columns {
        column-gap: 1rem;
        column-count: 2;
        margin-top: 2rem
    }

    .footer-columns ._column {
        margin-bottom: 2rem
    }

    .footer-columns ._title {
        margin-bottom: 1rem
    }

    .footer-columns ._item {
        margin-top: .5rem;
        font-size: .75rem
    }

    .footer-bottom {
        margin-top: 4rem
    }

    .footer-copy {
        flex-basis: 100%
    }

    .social-link-wrapper img {
        margin-left: 0;
        left: 0;
        transform-origin: 0% 100%
    }
}

.header {
    position: sticky;
    z-index: 9;
    inset: 0 0 auto;
    align-items: center;
    background-color: #fff;
    transition-property: box-shadow, opacity;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.header a {
    font-weight: 700;
    text-transform: uppercase
}

.header .breadcrumb-lang {
    margin: 0 1.5rem
}

.scrollbar-start .header:not(.active, :hover) {
    opacity: .5
}

.header:hover,
.header.active,
.scrollbar-start .header {
    box-shadow: 0 2px 12px 0px rgba(0, 0, 0, .05)
}

.header.active,
.header:hover {
    opacity: 1
}

:lang(en) .header-logo {
    margin: 0 auto .5rem 2rem;
    color: #ff9400
}

:lang(en) .header-logo svg {
    height: 2.5rem
}

:lang(zh) .header-logo {
    margin: 0 auto 0 4rem
}

:lang(zh) .header-logo img {
    height: 5.5rem
}

.header-burger,
.header-search {
    position: relative;
    width: 5rem;
    height: 5rem
}

.header-burger svg,
.header-search svg {
    position: absolute;
    inset: 0;
    margin: auto
}

.header-burger ._close,
.header-search ._close {
    display: none
}

.header-burger.active ._close,
.header-search.active ._close {
    display: initial
}

.header-burger.active ._search,
.header-search.active ._search {
    display: none
}

.header-search {
    background-color: #ff9400;
    color: #fff
}

.header-nav {
    justify-content: center;
    gap: 3rem;
    position: absolute;
    z-index: -1;
    inset: 0
}

.header-nav a {
    --size: 3px;
    display: block;
    padding: 2rem 0;
    line-height: 1;
    transition-property: background-size
}

.header-nav a:hover,
.header-nav a.active {
    color: #ff9400
}

html {
    padding-right: var(--scrollbar-width)
}

@media(min-width: 1280px) {
    .header-burger {
        display: none
    }
}

@media(max-width: 1535px) {
    .header-nav {
        gap: 2rem;
		margin-left:140px;
    }

    .header-nav a {
        font-size: 1.2rem;
		margin:5px;
    }
}

@media(max-width: 1279px) {

    .header .breadcrumb-lang,
    .header-nav {
        display: none
    }
}

@media(max-width: 767px) {
    :lang(en) .header-logo {
        margin: 0 auto .25rem 1rem
    }

    :lang(en) .header-logo svg {
        width: 8rem
    }

    :lang(zh) .header-logo {
        margin-left: 1rem
    }

    :lang(zh) .header-logo img {
        height: 2rem
    }

    .header-burger,
    .header-search {
        width: 3.5rem;
        height: 3.5rem
    }

    .header-burger svg,
    .header-search svg {
        width: 1.25rem;
        height: 1.25rem
    }
}

.nav-overlay,
.product-overlay,
.search-overlay,
.solution-overlay,
.menu-overlay {
    position: fixed;
    inset: 0 0 auto;
    z-index: 8;
    max-height: 100%;
    background-color: #fff;
    box-shadow: 0 2px 12px 0px rgba(0, 0, 0, .05);
    display: none;
}

.menu-overlay {
    bottom: 0;
    height: 100%;
}

:is(.nav-overlay, .product-overlay, .solution-overlay, .search-overlay, .menu-overlay) .container {
    margin-top: 9rem
}

.nav-overlay .container {
    margin-bottom: 4rem;
    gap: 2rem;
    display: flex;
    align-items: flex-start
}

.nav-overlay ._columns {
    width: 100%;
    max-width: 64rem;
    margin-left: auto;
    margin-right: auto;
    column-count: 3;
    column-gap: 4rem
}

.nav-overlay ._nav {
    break-inside: avoid;
    margin-bottom: 3rem
}

.nav-overlay ._top {
    display: block;
    font-weight: 700
}

.nav-overlay ._top+._item {
    margin-top: 1rem
}

.nav-overlay ._icon {
    height: 3.75rem;
    margin-bottom: .5rem
}

.nav-overlay ._aside {
    position: relative;
    width: 16rem
}

.nav-overlay ._image {
    width: 100%
}

.nav-overlay ._image:not(:first-child) {
    display: none
}

.nav-overlay .fade-enter-active,
.nav-overlay .fade-leave-active {
    position: absolute
}

.nav-overlay :is(._underline) {
    transition-property: background-size
}

.nav-overlay :is(._top, ._link):is(:hover, .active) ._underline {
    color: #ff9400
}

.nav-overlay ._top .overflow-hidden {
    margin-bottom: 1rem
}

.nav-overlay ._tag {
    border-radius: 9999px;
    background-color: rgba(220, 0, 11, .1);
    color: #dc000b;
    font-size: .75rem;
    padding: .125rem .5rem
}

.search-overlay .container {
    --max-width: 64rem;
    margin-bottom: 4rem
}

.search-overlay ._subtitle {
    margin-top: 2rem;
    color: #b1b1b1;
    text-align: center
}

.menu-overlay .accordion-item {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.menu-overlay .accordion-title {
    text-transform: uppercase
}

.menu-overlay ._children {
    color: rgba(0, 0, 0, .5);
    font-size: .75rem
}

.menu-overlay ._children a:hover {
    text-decoration: underline
}

.menu-overlay ._item {
    padding-top: .5rem
}

.menu-overlay .breadcrumb-lang {
    margin-top: 2rem;
    text-align: center
}

@media(max-width: 1279px) {

    .search-overlay .container,
    .menu-overlay .container {
        margin-top: 9rem;
        margin-bottom: 4rem
    }
}

@media(max-width: 767px) {

    .search-overlay .container,
    .menu-overlay .container {
        margin-top: 6rem;
        margin-bottom: 3rem
    }
}

.searchbox {
    position: relative;
    border-radius: 9999px;
    border: 1px solid #606060;
    padding: .375rem;
    display: flex;
    margin: auto
}

.searchbox-input {
    flex-grow: 1;
    padding: 0rem 2rem
}

.searchbox-btn {
    position: relative;
    width: 4rem;
    height: 4rem;
    color: #fff;
    background-color: #ff9400;
    border-radius: 9999px
}

.searchbox-btn svg {
    position: absolute;
    inset: 0;
    margin: auto
}

@media(max-width: 767px) {
    .search-overlay ._subtitle {
        font-size: .75rem
    }

    .searchbox {
        padding: .25rem
    }

    .searchbox-input {
        padding: 0 1rem
    }

    .searchbox-btn {
        width: 2.5rem;
        height: 2.5rem
    }

    .searchbox-btn svg {
        width: 1rem;
        height: 1rem
    }
}

.help-overlay {
    position: fixed;
    right: 3rem;
    bottom: 4rem;
    margin-right: var(--scrollbar-width);
    z-index: 11
}

.help-image {
    height: 8rem
}

.help-container {
    position: absolute;
    right: 0;
    bottom: 0;
    padding-right: 6rem;
    transition-property: opacity, visibility, transform;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function);
    opacity: 0;
    visibility: hidden;
    transform: translateX(8px);
    pointer-events: none;
    z-index: -1
}

:lang(zh) .help-overlay:hover .help-container,
.help-overlay.active .help-container {
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: initial
}

.help-menu {
    position: relative;
    width: 24rem;
    padding: 3rem;
    background-color: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 8px 24px 12px rgba(0, 0, 0, .05)
}

.help-menu ._close {
    position: absolute;
    top: 8px;
    right: 8px;
    border-radius: 9999px;
    width: 32px;
    height: 32px;
    display: flex
}

.help-menu ._close svg {
    margin: auto;
    width: 16px;
    height: 16px
}

.help-menu ._close:hover {
    background-color: rgba(0, 0, 0, .05)
}

.help-header {
    text-align: center
}

.help-content {
    position: relative;
    margin-top: 2rem
}

.help-action-list {
    --gap: 1rem
}

.help-action {
    --size: 4;
    text-align: center
}

.help-action ._icon {
    position: relative;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 9999px;
    background-color: #f0f0f0;
    margin: auto
}

.help-action svg {
    position: absolute;
    inset: 0;
    margin: auto
}

.help-action:hover ._icon {
    color: #fff;
    background-color: #ff9400
}

.help-action ._title {
    margin-top: .5rem;
    color: #606060;
    font-size: .75rem
}

.help-action:hover ._title {
    color: #ff9400
}

.help-contact {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden
}

.help-contact ._icon {
    margin-right: .5rem
}

.help-contact ._action {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 9999px;
    background-color: #ff9400;
    color: #fff;
    height: 3.5rem
}

.help-action-list,
.help-contact {
    transition-property: opacity, visibility;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.help-contact-hover .help-contact {
    opacity: 1;
    visibility: visible
}

.help-contact-hover .help-action-list {
    opacity: 0;
    visibility: hidden
}

@media(max-width: 1279px) {
    .help-menu {
        padding: 1.5rem;
        width: 20rem
    }

    .help-content {
        margin-top: 1rem
    }

    .help-action ._icon {
        width: 2.5rem;
        height: 2.5rem
    }

    .help-action svg {
        width: 1rem;
        height: 1rem
    }
}

@media(max-width: 767px) {
    .help-overlay {
        right: 1.5rem;
        bottom: 1.5rem
    }

    .help-image {
        height: 6rem
    }

    .help-container {
        padding-right: 3rem
    }

    .help-menu {
        width: 17.5rem;
        padding: 1.25rem;
        border-radius: 1rem
    }

    .help-menu::after {
        border-width: .5rem;
        bottom: 3rem
    }

    .help-header {
        font-size: .875rem
    }
}

.section {
    margin-top: 8rem;
    margin-bottom: 8rem
}

.section .heading-2 {
    text-align: center
}

.section .container {
    display: flex;
    flex-direction: column;
    row-gap: 3rem
}

.section .btn {
    margin: 0 auto
}

.section .header2 {
    margin-top: 0;
    margin-bottom: 0
}

.section-header {
    --gap: 1rem;
    align-items: center
}

.section-content {
    margin-top: 3rem
}

.section-title {
    flex-grow: 1;
    text-align: center
}

@media(max-width: 767px) {
    .section {
        margin-top: 4rem;
        margin-bottom: 4rem
    }

    .section .container {
        row-gap: 2rem
    }

    .section-title {
        font-size: 1.5rem
    }
}

.news-list {
    --row-gap: 4rem;
    --column-gap: 0.75rem
}

.news-column {
    --size: 3
}

.news-block {
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%
}

.news-image {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover
}

.news-block .loader-wrapper img {
    transition-property: opacity, transform
}

.news-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1
}

.news-content .keyword-item:nth-child(n+5) {
    display: none
}

.news-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-top: 1rem;
    transition-property: color;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.news-block:hover .news-title {
    color: #ff9400
}

.news-subtitle {
    color: #606060;
    margin-top: 0rem;
    flex-grow: 1
}

}

@media(max-width: 1279px) {
    .news-column {
        --size: 4
    }

    .news-block {
        font-size: .875rem
    }

    .news-title {
        margin-top: 1rem
    }
}

@media(max-width: 1023px) {
    .news-column {
        --size: 6
    }
}

@media(max-width: 767px) {
    .news-list {
        --row-gap: 3rem
    }

    .news-column {
        --size: 12
    }

    .news ._title {
        margin-top: 1rem
    }

    .news .row {
        margin-top: 2rem
    }

    .news-block .keyword-list {
        margin-top: 2rem
    }
}

.btn {
    position: relative;
    z-index: 1;
    overflow: hidden;
    font-weight: 700;
    padding: .875rem 2.5rem;
    border-radius: 9999px;
    background-color: #101010;
    color: #fff;
    text-transform: uppercase;
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    transition-property: color;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.btn:disabled {
    cursor: not-allowed
}

.btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: #ff9400;
    transition-property: transform;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function);
    transform-origin: 100% 50%;
    transform: scaleX(0)
}

.btn:not(:disabled):hover::before {
    transform: none;
    transform-origin: 0% 50%
}

.btn-loading::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cstyle%3E@keyframes rotate%7B0%25%7Btransform:rotate(0deg)%7Dto%7Btransform:rotate(360deg)%7D%7D@keyframes fillunfill%7B0%25%7Bstroke-dashoffset:32.3%7D50%25%7Bstroke-dashoffset:0%7Dto%7Bstroke-dashoffset:-31.9%7D%7D@keyframes rot%7B0%25%7Btransform:rotate(0deg)%7Dto%7Btransform:rotate(-360deg)%7D%7D@keyframes colors%7B0%25,to%7Bstroke:%23ff9400%7D%7D%3C/style%3E%3Cg style='animation-duration:1568.63ms;animation-iteration-count:infinite;animation-name:rotate;animation-timing-function:linear;transform-origin:50%25 50%25;width:16px;height:16px'%3E%3Cpath fill='none' d='M8 1.125A6.875 6.875 0 1 1 1.125 8' stroke-width='1.5' stroke-linecap='round' style='animation-duration:1333ms,5332ms,5332ms;animation-fill-mode:forwards;animation-iteration-count:infinite,infinite,infinite;animation-name:fillunfill,rot,colors;animation-play-state:running,running,running;animation-timing-function:cubic-bezier(.4,0,.2,1),steps(4),linear;transform-origin:50%25 50%25' stroke-dasharray='32.4' stroke-dashoffset='32.4'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1.5rem 1.5rem;
    background-color: hsla(0, 0%, 100%, .75)
}

.btn-arrow {
    overflow: hidden;
    transform: rotate(-45deg)
}

.btn:not(:disabled):hover .btn-arrow svg {
    animation: shuffle var(--duration-3) cubic-bezier(0.4, 0, 0.2, 1)
}

.btn-white {
    background-color: #fff;
    color: #101010
}

.btn-white:not(:disabled):hover {
    color: #fff
}

@media(max-width: 767px) {
    .btn {
        font-size: .875rem;
        padding: .75rem 1.5rem
    }

    .btn-icon svg {
        width: 1.25rem;
        height: 1.25rem
    }
}

.keyword-list {
    --gap: 0.5rem;
    align-items: flex-start
}

.keyword-item {
    border: 1px solid currentColor;
    border-radius: 9999px;
    font-size: .75rem;
    padding: .25rem 1rem
}

@media(max-width: 1279px) {
    .keyword-item {
        padding: .25rem .75rem
    }
}

.case-list {
    --column-gap: 0.5rem;
    --row-gap: 3rem
}

.case-column {
    --size: 4
}

.case-block {
    display: flex;
    flex-direction: column
}

a.case-block ._underline {
    transition-property: background-size
}

.case-image {
    width: 100%;
    aspect-ratio: 500/350;
    object-fit: cover
}

.case-block .loader-wrapper img {
    transition-property: opacity, transform
}

.case-title,
.case-bottom {
    transition-property: color;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

a.case-block:hover :is(.case-title, .case-bottom) {
    color: #ff9400
}

.case-title {
    margin-top: 2.25rem
}

.case-desc {
    margin-top: 1rem;
    font-size: 1rem
}

.case-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 2.25rem;
    font-weight: 700;
    text-transform: uppercase
}

.case-arrow {
    overflow: hidden;
    transform: rotate(-45deg);
    margin-left: .75rem
}

a.case-block:hover .case-arrow svg {
    animation: shuffle var(--duration-3) var(--default-timing-function)
}

@media(max-width: 1279px) {
    .case-title {
        font-size: 1.125rem;
        margin-top: 1.5rem
    }

    .case-desc {
        font-size: .75rem;
        margin-top: .5rem
    }

    .case-bottom {
        font-size: .875rem
    }
}

@media(max-width: 767px) {
    .case-column {
        --size: 12
    }

    .case-title {
        font-size: 1.25rem
    }

    .case-desc {
        font-size: .875rem
    }
}

.header2 {
    max-width: 48rem;
    margin: 6rem auto;
    text-align: center
}

.header2 .container {
    width: auto
}

.header2 .breadcrumb {
    margin-bottom: 1rem
}

.header2 ._heading,
.header2 .heading-3 {
    text-transform: uppercase
}

.header2 .filter-select {
    max-width: 30rem;
    margin: 1.5rem auto
}

.header2 .btn {
    margin-top: 3rem
}

.header2-wide {
    max-width: 57.5rem
}

.header2-heading {
    font-size: 2.6rem;
    font-weight: 700;
    text-transform: uppercase
}

.header2-content {
    margin-top: 1rem
}

.header2-content :is(h1, h2, h3, h4, h5, h6) {
    font-size: 1.25em;
    font-weight: 700
}

@media(max-width: 767px) {
    .header2 {
        margin-top: 4rem;
        margin-bottom: 4rem
    }

    .header2 .btn {
        margin-top: 1.5rem
    }

    .header2-heading {
        font-size: 2rem
    }

    :lang(zh) .header2-heading {
        font-size: 1.5rem
    }

    .header2-content {
        font-size: .875rem
    }
}

.breadcrumb {
    font-size: .875rem
}

.breadcrumb a {
    transition-property: background-size
}

.breadcrumb a:not(.disabled):hover {
    color: #ff9400
}

.breadcrumb-item {
    display: inline
}

.breadcrumb-item:not(:last-child)::after {
    content: var(--separator, "|");
    margin: 0 4px
}

.breadcrumb-slash {
    --separator: "/"
}

.breadcrumb-lang {
    color: #cecece
}

:lang(en) .breadcrumb-lang ._en,
:lang(zh) .breadcrumb-lang ._zh {
    color: #101010;
    cursor: default
}

:lang(en) .breadcrumb-lang ._en:hover,
:lang(zh) .breadcrumb-lang ._zh:hover {
    color: #101010;
    background: none
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 3rem;
    margin-bottom: 3rem;
}
.pagination ul li{
    list-style: none;
    display: inline-block;
    margin: 0 0.5rem;
    padding: 0.5rem 1rem;
    border: 1px solid #ccc;
    border-radius: 5px;
    cursor: pointer;

}
.pagination ul li.active{
    background-color: #101010;
    color: #fff;
}
.pagination ._content {
    border-left: 1px solid currentColor;
    border-right: 1px solid currentColor;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .5rem 2rem;
    align-items: center
}

.pagination ._prev,
.pagination ._next,
.pagination ._link {
    min-width: 2.25rem;
    height: 2.25rem;
    line-height: 1.25rem;
    padding: .5rem;
    border-radius: 9999px;
    text-align: center
}

.pagination ._prev:is(a):not(.active):hover,
.pagination ._next:is(a):not(.active):hover,
.pagination ._link:is(a):not(.active):hover {
    text-decoration: underline;
    background-color: #f0f0f0
}

.pagination ._prev.active,
.pagination ._next.active,
.pagination ._link.active {
    background-color: #101010;
    color: #fff
}

.pagination ._prev,
.pagination ._next {
    position: relative
}

.pagination ._prev svg,
.pagination ._next svg {
    position: absolute;
    width: 1rem;
    height: 1rem;
    inset: 0;
    margin: auto
}

.pagination ._prev {
    margin-right: 1rem
}

.pagination ._prev svg {
    transform: rotate(90deg)
}

.pagination ._next {
    margin-left: 1rem
}

.pagination ._next svg {
    transform: rotate(-90deg)
}

.pagination .disabled {
    cursor: not-allowed
}

@media(max-width: 767px) {
    .pagination {
        margin-top: 4rem
    }

    .pagination ._prev,
    .pagination ._next,
    .pagination ._link {
        min-width: 2rem;
        height: 2rem;
        font-size: .875rem;
        line-height: 1rem
    }

    .pagination ._content {
        padding: 0rem .75rem;
        gap: .25rem
    }

    .pagination ._prev {
        margin-right: .5rem
    }

    .pagination ._next {
        margin-left: .5rem
    }
}

.category {
    --row-gap: 0.5rem;
    --column-gap: 2rem;
    justify-content: center
}

.category a {
    --size: 3px;
    font-weight: 700;
    color: rgba(0, 0, 0, .25);
    padding: .75rem .5rem;
    transition-property: background-size
}

.category a:hover,
.category a.active {
    color: #000
}

@media(max-width: 1279px) {
    .category {
        gap: .5rem 1rem
    }
}

@media(max-width: 767px) {
    .category {
        font-size: .875rem
    }

    .category a {
        --size: 2px;
        padding: .25rem 0rem
    }
}

.banner {
    overflow: hidden;
    position: relative
}

.banner-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.banner-overlay {
    position: relative;
    background-color: rgba(0, 0, 0, .4);
    color: #fff
}

.banner-at-bottom .banner-overlay {
    background-color: rgba(0, 0, 0, 0)
}

.banner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 32rem;
    padding-top: 2rem;
    padding-bottom: 2rem
}

.banner-at-bottom .banner-container {
    min-height: 24rem
}

.banner-heading {
    font-size: 3rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: auto
}

.banner-at-bottom .banner-heading {
    margin-top: 0;
    font-size: 2.25rem
}

.banner-content {
    margin-top: 1rem;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: auto
}

.banner-at-bottom .banner-content {
    margin-top: .5rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 500
}

.banner .breadcrumb {
    color: hsla(0, 0%, 100%, .5);
    margin-top: 2rem
}

.banner .breadcrumb a:hover {
    color: #fff
}

.banner-at-bottom .btn {
    margin-top: 3rem
}

.banner-touch .banner-heading {
    margin-top: 0
}

.banner-touch .banner-overlay {
    background-color: initial
}

.banner-touch .banner-container {
    min-height: 24rem;
    max-width: 40rem;
    margin-left: 0;
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    text-align: initial;
    padding: 2rem 8rem 2rem 4rem;
    align-items: flex-start
}

.banner-touch .banner-heading {
    font-size: 1.5rem;
    text-transform: initial
}

.section .banner-touch .btn {
    margin: 1rem 0 0
}

.banner-hero .banner-heading {
    margin-top: 0;
    font-size: 4rem;
    max-width: 53.75rem
}

.banner-hero .banner-container {
    height: 100vh
}

.banner-hero .btn {
    margin-top: 2rem
}

@media(max-width: 1279px) {
    .banner-heading {
        font-size: 2rem
    }

    .banner-at-bottom .banner-heading {
        font-size: 2rem
    }

    .banner-content {
        font-size: 1rem
    }

    .banner-container {
        min-height: 24rem
    }

    .banner-hero .banner-heading {
        font-size: 3rem
    }
}

@media(max-width: 767px) {
    .banner-at-bottom .banner-heading {
        font-size: 1.5rem
    }

    .banner-touch .banner-heading {
        font-size: 1.25rem
    }

    .banner-touch .banner-container {
        padding: 2rem;
        min-height: 16rem
    }

    .banner-hero .banner-heading {
        font-size: 1.5rem
    }
}

.accordion-item {
    border-top-width: 1px;
    border-bottom-width: 1px;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}

.accordion-item+.accordion-item {
    border-top-width: 0
}

.accordion-title {
    font-weight: 700;
    font-size: 1.5rem;
    transition-property: color;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.accordion-item.active .accordion-title {
    color: #ff9400
}

.accordion-header {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding-right: 4rem;
    align-items: center
}

button.accordion-header {
    width: 100%;
    text-align: left
}

.accordion-action {
    position: absolute;
    width: 3rem;
    height: 3rem;
    top: 50%;
    right: 0;
    margin-top: -1.5rem;
    border-radius: 9999px;
    background-color: #f5f5f5;
    transition-property: background-color, color;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.accordion-action svg {
    position: absolute;
    width: 1.25rem;
    height: 1.25rem;
    inset: 0;
    margin: auto
}

button.accordion-header:hover .accordion-action,
.accordion-item.active .accordion-action {
    background-color: #ff9400;
    color: #fff
}

.accordion-item.active .accordion-action {
    transform: rotate(-180deg)
}

.accordion-content {
    display: none
}

.accordion-content .richtext {
    padding-top: 2rem;
    max-width: 57.5rem
}

@media(max-width: 767px) {
    .accordion-item {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem
    }

    .accordion-header {
        padding-right: 2.5rem
    }

    .accordion-title {
        font-size: 1rem
    }

    .accordion-action {
        width: 2rem;
        height: 2rem;
        margin-top: -1rem
    }

    .accordion-action svg {
        width: 1rem;
        height: 1rem
    }

    .accordion-content .richtext {
        padding-top: 1rem;
        font-size: .875rem
    }
}

.postcard {
    align-items: center
}

.postcard:not(.postcard-reverse):nth-child(2n),
.postcard-reverse:nth-child(2n+1) {
    flex-direction: row-reverse
}

.postcard+.postcard {
    margin-top: 4rem
}

.postcard-image {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover
}

.postcard-left,
.postcard-info {
    --size: 6
}

.postcard-info {
    padding-left: 6rem;
    padding-right: 6rem
}

.postcard:not(.postcard-reverse):nth-child(2n) .postcard-info,
.postcard-reverse:nth-child(2n+1) .postcard-info {
    padding-left: 0;
    padding-right: 10rem
}

.postcard-title {
    font-size: 2.25rem;
    font-weight: 700
}

.postcard-content {
    margin-top: 2rem
}

.postcard-content ul,
.postcard-content ol {
    font-weight: 700;
    font-size: 1.25rem
}

.postcard .btn {
    margin-top: 3rem
}

@media(max-width: 1279px) {
    .postcard-info {
        padding-left: 4rem;
        padding-right: 0
    }

    .postcard:not(.postcard-reverse):nth-child(2n) .postcard-info,
    .postcard-reverse:nth-child(2n+1) .postcard-info {
        padding-right: 4rem
    }

    .postcard-title {
        font-size: 1.5rem
    }

    .postcard-content {
        font-size: .875rem
    }

    .postcard-content :is(ul, ol) {
        font-size: 1rem
    }
}

@media(max-width: 767px) {
    .postcard+.postcard {
        margin-top: 3rem
    }

    .postcard-left,
    .postcard-info {
        --size: 12
    }

    .postcard:not(.postcard-reverse):nth-child(2n) .postcard-info,
    .postcard-reverse:nth-child(2n+1) .postcard-info,
    .postcard-info {
        padding: 0;
        margin-top: 2rem
    }

    .postcard-content {
        margin-top: 1rem
    }

    .postcard .btn {
        margin-top: 2rem
    }
}

.feature-list {
    --column-gap: 4rem;
    --row-gap: 2rem;
    justify-content: center
}

.feature-item {
    --size: 2;
    --fraction: calc(var(--columns, 12) / var(--size));
    --width: calc(100% / var(--fraction) - var(--column-gap) * (var(--fraction) - 1) / var(--fraction));
    max-width: var(--width);
    text-align: center
}

.feature-icon {
    height: 3.75rem;
    margin: auto
}

.feature-title,
.feature-desc {
    margin-top: 1rem
}

@media(max-width: 1279px) {
    .feature-item {
        --size: 4;
        width: var(--width)
    }
}

@media(max-width: 767px) {
    .feature-list {
        --column-gap: 1rem
    }

    .feature-icon {
        height: 2.5rem
    }

    .feature-title {
        font-size: .75rem;
        margin-top: .5rem
    }
}

.f-carousel {
    --f-button-width: 3rem;
    --f-button-height: var(--f-button-width);
    --f-button-prev-pos: -8%;
    --f-button-next-pos: var(--f-button-prev-pos);
    --f-button-color: inherit;
    --f-button-bg: #f5f5f5;
    --f-button-hover-color: #fff;
    --f-button-hover-bg: #ff9400;
    --f-button-svg-width: 1rem;
    --f-button-svg-height: var(--f-button-svg-height);
    --f-button-border-radius: 9999px
}

.f-carousel.has-dots {
    margin-bottom: 3rem
}

.f-carousel__viewport {
    width: auto;
    margin-left: calc(var(--column-gap)*-0.5);
    margin-right: calc(var(--column-gap)*-0.5)
}

.f-carousel__slide {
    width: 100%;
    padding-left: calc(var(--column-gap)*.5);
    padding-right: calc(var(--column-gap)*.5)
}

.f-carousel__dots {
    --f-carousel-dots-width: 1.25rem;
    --f-carousel-dots-height: 1.25rem;
    bottom: -3rem
}

.f-carousel__dots li.is-current {
    color: #ff9400
}

.f-button:focus-visible {
    color: var(--f-button-hover-color);
    background-color: var(--f-button-hover-bg);
    outline: none;
    box-shadow: none
}

.f-carousel-hero {
    --f-transition-duration: var(--duration-5);
    --f-transition-easing: var(--default-timing-function)
}

.f-carousel-hero.has-dots .f-carousel__dots {
    position: absolute;
    bottom: 4rem
}

.f-carousel-hero .f-carousel__dots li {
    color: #fff
}

@media(max-width: 767px) {
    .f-carousel {
        --f-button-width: 2.5rem;
        --f-button-prev-pos: -0.75rem;
        --f-button-svg-width: 1rem
    }
}

.product-list {
    --column-gap: 0.5rem;
    --row-gap: 3rem
}

.product-col {
    --size: 3
}

.product-block {
    display: flex;
    flex-direction: column
}

.product-info {
    margin-top: 1.5rem
}

.product-image-frame {
    position: relative;
    overflow: hidden
}

.product-image-side,
.product-image-front {
    display: block;
    aspect-ratio: 1/1;
}

.product-image-front {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition-property: opacity;
    transition-duration: var(--duration-3);
    transition-timing-function: var(--default-timing-function)
}

.product-block .loader-wrapper.loaded .product-image-front {
    opacity: 0
}

.product-block:hover .loader-wrapper.loaded .product-image-front {
    opacity: 1
}

.product-title {
    font-weight: 700;
    font-size: 1.5rem
}

.product-desc {
    margin-top: .5rem;
    font-size: 1rem;
    color: #606060
}

@media(max-width: 1279px) {
    .product-list {
        --row-gap: 2rem
    }

    .product-info {
        margin-top: 1rem
    }

    .product-title {
        font-size: 1rem
    }

    .product-desc {
        font-size: .75rem;
        margin-top: 0
    }
}

@media(max-width: 767px) {
    .product-col {
        --size: 6
    }
}

.solution-list {
    --column-gap: 0.75rem;
    --row-gap: 6rem
}

.solution-col {
    --size: 6
}

.solution-title,
.solution-content {
    --size: 12
}

.solution-title,
.solution-more {
    transition-property: color;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

a.solution-block:hover :is(.solution-title, .solution-more) {
    color: #ff9400
}

.solution-title {
    font-size: 1.5rem;
    font-weight: 700
}

.solution-col:nth-child(3n) .solution-title {
    max-width: 32rem
}

.solution-block ._underline {
    transition-property: background-size
}

.solution-content {
    margin-left: auto
}

.solution-col:nth-child(3n) :is(.solution-title, .solution-content) {
    --size: 6
}

.solution-col:nth-child(3n) .breadcrumb {
    display: none
}

.solution-more {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 2rem;
    font-weight: 700;
    text-transform: uppercase
}

a.solution-block:hover .solution-more svg {
    animation: shuffle var(--duration-3) var(--default-timing-function)
}

@media(max-width: 1279px) {
    .solution-title {
        font-size: 1.25rem
    }

    .solution-desc {
        font-size: .875rem
    }
}

@media(max-width: 767px) {
    .solution-list {
        --row-gap: 3rem
    }

    .solution-col {
        --size: 12
    }

    .solution-col:nth-child(3n) .solution-image {
        aspect-ratio: 720/450
    }

    .solution-col:nth-child(3n) .solution-info {
        margin-top: 2rem
    }

    .solution-col:nth-child(3n) :is(.solution-title, .solution-content) {
        --size: 12
    }
}

.video {
    position: relative
}

.video-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.video-overlay {
    position: relative;
    background-color: rgba(0, 0, 0, .5);
    color: #fff
}

.video-overlay .container {
    --max-width: 42.5rem;
    height: 54rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: 1.5rem
}

.video-heading {
    font-size: 2.25rem;
    font-weight: 700
}

.video-play {
    position: relative;
    width: 3rem;
    height: 3rem;
    background-color: #ff9400;
    color: #fff;
    border-radius: 9999px
}

.video-play svg {
    position: absolute;
    inset: 0;
    margin: auto
}

@media(max-width: 1279px) {
    .video-overlay .container {
        --max-width: 32rem;
        height: 30rem
    }

    .video-heading {
        font-size: 1.5rem
    }
}

@media(max-width: 767px) {
    .video-overlay .container {
        height: 20rem
    }
}

.fancybox__container {
    --fancybox-bg: rgba(0, 0, 0, 0.75)
}

.fancybox__toolbar {
    --f-button-bg: var(--fancybox-bg);
    --f-button-width: 3rem;
    --f-button-height: var(--f-button-width)
}

.stats-number,
.history-title {
    font-size: 3rem;
    font-weight: 700;
    color: #ff9400
}

@media(max-width: 1279px) {

    .stats-number,
    .history-title {
        font-size: 1.75rem
    }

    .stats-title,
    .history-content {
        font-size: .875rem
    }
}

.contact-form .contact-form {
    --gap: 1rem;
    max-width: 64rem;
    margin: auto
}

.contact-form-col {
    --size: 6
}

.contact-form-bottom {
    --size: 12
}
.postcard-list{
    margin-top: 30px;
}
.contact-form-bottom .btn {
    display: flex;
    width: 12rem;
    margin: 2rem auto 0;
    justify-content: center;
    margin-bottom: 20px;
}

@media(max-width: 767px) {

    .contact-form-col,
    .contact-form-col {
        --size: 12
    }

    .contact-form-bottom .btn {
        width: 10rem
    }
}

.input-control,
.select-control {
    position: relative
}

.input-control.required::before,
.select-control.required::before {
    content: "*";
    position: absolute;
    color: #ff2020;
    left: -0.75rem;
    top: 1.125rem
}

.input,
.textarea,
.select-action {
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border-width: 1px
}

.input,
.select-action {
    border-radius: 9999px;
    height: 3.75rem
}

.input,
.textarea {
    display: block
}

.input::placeholder,
.textarea::placeholder {
    color: inherit
}

.textarea {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    border-radius: 32px;
    height: 242px;
    resize: none
}

.select-wrapper {
    position: relative
}

.select-control ._chevron {
    position: absolute;
    width: 1rem;
    height: 1rem;
    right: 1.5rem;
    top: 50%;
    margin-top: -0.5rem;
    pointer-events: none
}

.select-control.active ._chevron {
    transform: rotate(180deg)
}

.select-clear {
    position: absolute;
    width: 2rem;
    height: 2rem;
    border-radius: 4px;
    top: 50%;
    right: 3.5rem;
    margin-top: -1rem
}

.select-clear svg {
    position: absolute;
    width: 1.25rem;
    height: 1.25rem;
    inset: 0;
    margin: auto
}

.select-clear:hover {
    background-color: #f5f5f5
}

.select-action {
    display: flex;
    align-items: center;
    text-align: left
}

.select-action ._label {
    flex: 1 1 0;
    margin-right: 2rem
}

.filter-select .select-action {
    padding: 0 1.25rem;
    font-weight: 700;
    height: 3rem
}

@media(max-width: 767px) {

    .input-control.required::before,
    .select-control.required::before {
        top: .75rem
    }

    .input,
    .select-action {
        height: 3rem
    }

    .input,
    .textarea,
    .select-action {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .textarea {
        border-radius: 1.5rem;
        height: 142px
    }

    .select-control ._chevron {
        right: 1rem
    }
}

.dropdown {
    position: absolute;
    width: 100%;
    max-height: 16rem;
    overflow: auto;
    border-radius: 8px;
    background-color: #fff;
    z-index: 10;
    box-shadow: 0 2px 12px 2px rgba(0, 0, 0, .05);
    padding: 4px;
    margin-top: 8px
}

.dropdown-action {
    display: flex;
    align-items: center;
    width: 100%;
    padding: .625rem .875rem;
    border-radius: 4px;
    text-align: left
}

.dropdown-action:hover,
.dropdown-action.active {
    background-color: #f5f5f5
}

.dropdown-action.active {
    color: #ff9400
}

.dropdown-action ._label {
    flex: 1 1 0
}

.dropdown-action svg {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto
}

@media(max-width: 767px) {
    .dropdown-action {
        font-size: .875rem;
        padding: .5rem .625rem
    }
}

.error {
    font-size: .875rem;
    color: #ff2020;
    margin-top: .5rem
}

.dialog {
    position: fixed;
    inset: 0;
    z-index: 10;
    flex-direction: column;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0);
    backdrop-filter: blur(40px);
    display: none
}

.dialog-container {
    padding: 2rem;
    max-height: 100%;
    overflow: auto
}

.dialog-content {
    position: relative;
    background-color: #fff
}

.dialog-close {
    position: absolute;
    width: 2.5rem;
    height: 2.5rem;
    top: 1rem;
    right: 1rem;
    border-radius: .5rem
}

.dialog-close svg {
    position: absolute;
    inset: 0;
    margin: auto;
    stroke-width: 1
}

.dialog-close:hover {
    background-color: #f5f5f5
}

.dialog-enter-from,
.dialog-leave-to {
    opacity: 0
}

.dialog-enter-from .dialog-content,
.dialog-leave-to .dialog-content {
    transform: scale(0.98)
}

.dialog-enter-active,
.dialog-leave-active,
.dialog-enter-active .dialog-content,
.dialog-leave-active .dialog-content {
    transition-property: all;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.dialog-leave-active .dialog-container {
    overflow: hidden
}

@media(max-width: 767px) {
    .dialog-container {
        padding: 1rem
    }

    .dialog-close {
        top: .5rem;
        right: .5rem
    }

    .dialog-close svg {
        width: 1.25rem;
        height: 1.25rem
    }
}

.dialog-contact {
    max-width: 92.5rem;
    margin: auto;
    padding: 4rem;
    box-shadow: 0 8px 24px 12px rgba(0, 0, 0, .05)
}

.dialog-contact ._title {
    font-weight: 700;
    text-align: center;
    margin-bottom: 2rem;
    text-transform: uppercase
}

@media(max-width: 1279px) {
    .dialog-contact {
        padding: 4rem 2rem
    }
}

@media(max-width: 767px) {
    .dialog-contact {
        padding: 3rem 1rem
    }

    .dialog-contact ._title {
        font-size: 1.75rem
    }
}

@keyframes fade-in {
    to {
        opacity: 1
    }
}

.loader-wrapper,
.loader-wrapper img {
    transition-duration: var(--duration-3);
    transition-timing-function: var(--default-timing-function)
}

.loader-wrapper {
    transition-property: background-color
}

.loader-wrapper:not(.loaded) {
    background-color: #f5f5f5;
    background-repeat: no-repeat;
    background-size: 1.5rem 1.5rem;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cstyle%3E@keyframes rotate%7B0%25%7Btransform:rotate(0deg)%7Dto%7Btransform:rotate(360deg)%7D%7D@keyframes fillunfill%7B0%25%7Bstroke-dashoffset:32.3%7D50%25%7Bstroke-dashoffset:0%7Dto%7Bstroke-dashoffset:-31.9%7D%7D@keyframes rot%7B0%25%7Btransform:rotate(0deg)%7Dto%7Btransform:rotate(-360deg)%7D%7D@keyframes colors%7B0%25,to%7Bstroke:%23ff9400%7D%7D%3C/style%3E%3Cg style='animation-duration:1568.63ms;animation-iteration-count:infinite;animation-name:rotate;animation-timing-function:linear;transform-origin:50%25 50%25;width:16px;height:16px'%3E%3Cpath fill='none' d='M8 1.125A6.875 6.875 0 1 1 1.125 8' stroke-width='1' stroke-linecap='round' style='animation-duration:1333ms,5332ms,5332ms;animation-fill-mode:forwards;animation-iteration-count:infinite,infinite,infinite;animation-name:fillunfill,rot,colors;animation-play-state:running,running,running;animation-timing-function:cubic-bezier(.4,0,.2,1),steps(4),linear;transform-origin:50%25 50%25' stroke-dasharray='32.4' stroke-dashoffset='32.4'/%3E%3C/g%3E%3C/svg%3E")
}

.loader-wrapper img {
    transition-property: opacity;
    opacity: 0
}

.loader-wrapper.loaded img {
    opacity: 1
}

@keyframes slide-in {
    to {
        opacity: 1;
        transform: none
    }
}

.scroll-slide {
    opacity: 0;
    transform: translateY(24px)
}

.scroll-slide.enter {
    animation: slide-in var(--duration-3) calc(var(--animation-delay)*100ms) var(--default-timing-function) forwards
}

.marquee {
    display: flex;
    overflow: hidden
}

.marquee-list {
    display: flex;
    flex-wrap: nowrap;
    min-width: 100%;
    flex-shrink: 0;
    animation: marquee-scroll var(--marquee-duration, 20s) linear infinite
}

.marquee-list>* {
    margin-left: .75rem
}

.marquee:hover .marquee-list {
    animation-play-state: paused
}

.marquee-item {
    flex-shrink: 0
}

@keyframes marquee-scroll {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(calc(var(--marquee-width, 100%) * -1))
    }
}

.p-news-list .header2 {
    position: relative;
    z-index: 1
}

.p-news-list .category {
    margin-top: 1rem
}

.p-news-list .latest-news {
    margin-top: 6rem
}

.p-news-list .news-category {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 3rem;
    gap: 0.5rem
}

.p-news-list .news-category ._title {
    font-size: 2.25rem;
    font-weight: 700;
    flex-grow: 1
}

.p-news-list .banner-at-bottom {
    margin-top: 12rem
}

@media(max-width: 1023px) {
    .p-news-list .banner-at-bottom {
        margin-top: 8rem
    }
}

@media(max-width: 767px) {
    .p-news-list .news-category {
        margin-bottom: 2rem
    }

    .p-news-list .news-category ._title {
        font-size: 1.75rem
    }

    .p-news-list .latest-news {
        margin-top: 2rem
    }

    .p-news-list .banner-at-bottom {
        margin-top: 4rem
    }
}

.p-service .postcard-list {
    margin-top: 10rem
}

.p-service .banner-at-bottom {
    margin-top: 12rem
}

.p-service .header2-touch {
    margin-top: 12rem;
    margin-bottom: 4rem
}

@media(max-width: 1279px) {

    .p-service .postcard-list,
    .p-service .header2-touch,
    .p-service .banner-at-bottom {
        margin-top: 8rem
    }
}

@media(max-width: 767px) {
    .p-service .postcard-list {
        margin-top: 4rem
    }

    .p-service .header2-touch {
        margin-top: 6rem;
        margin-bottom: 2rem
    }

    .p-service .banner-at-bottom {
        margin-top: 6rem
    }
}

.p-contact-us .header2-heading {
    font-size: 2.25rem;
    text-transform: initial;
    max-width: 52.5rem;
    margin: 0 auto
}

.p-contact-us .contact-list {
    --row-gap: 1.5rem;
    --column-gap: 0.75rem;
    margin-top: 3rem
}

.p-contact-us .contact-col {
    --size: 3
}

.p-contact-us .contact-image {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-contact-us .contact-title {
    font-size: 1.5rem;
    font-weight: 700;
    flex-grow: 1
}

.p-contact-us .contact-info {
    border-width: 1px;
    border-color: #d8d8d8;
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column
}

.p-contact-us .contact-content {
    margin-top: 1rem
}

.p-contact-us .contact-content a {
    text-decoration: underline
}

.p-contact-us .contact-bottom {
    margin-top: 1rem
}

.p-contact-us .contact-bottom a {
    color: #b1b1b1;
    text-decoration: underline
}

.p-contact-us .contact-content a:hover,
.p-contact-us .contact-bottom a:hover {
    color: #ff9400
}

.p-contact-us .banner-at-bottom {
    margin-top: 12rem
}

@media(max-width: 1279px) {
    .p-contact-us .contact-col {
        --size: 6
    }
}

@media(max-width: 767px) {
    .p-contact-us .contact-list {
        margin-top: 0
    }

    .p-contact-us .contact-col {
        --size: 12
    }

    .p-contact-us .header2-heading {
        font-size: 1.75rem
    }

    .p-contact-us .banner-at-bottom {
        margin-top: 6rem
    }
}

.p-join-us .accordion {
    margin-top: 1rem
}

.p-join-us .accordion ._title {
    width: 36rem
}

.p-join-us .accordion ._content {
    width: 36rem
}

.p-join-us .accordion ._number {
    flex-grow: 1;
    text-align: center
}

.p-join-us .accordion ._requirement {
    padding-top: 3rem;
    margin-left: 36.5rem;
    width: 36rem
}

.p-join-us .accordion ._requirement :is(h1, h2, h3, h4, h5, h6) {
    font-size: 1.25em;
    font-weight: 700;
    margin-bottom: 1em
}

.p-join-us .accordion ._requirement :is(h1, h2, h3, h4, h5, h6):not(:first-child) {
    margin-top: 2em
}

.p-join-us .accordion ._requirement ol,
.p-join-us .accordion ._requirement ul {
    padding-left: 1em
}

.p-join-us .accordion ._requirement ol {
    list-style-type: decimal
}

.p-join-us .accordion ._requirement ul {
    list-style-type: disc
}

.p-join-us .accordion ._requirement a {
    text-decoration: underline
}

.p-join-us .accordion ._requirement a:hover {
    color: #ff9400
}

.p-join-us .accordion-header {
    flex-wrap: nowrap
}

@media(max-width: 1279px) {

    .p-join-us .accordion ._title,
    .p-join-us .accordion ._content,
    .p-join-us .accordion ._number,
    .p-join-us .accordion ._requirement {
        width: auto
    }

    .p-join-us .accordion ._requirement {
        margin-left: 0
    }

    .p-join-us .accordion ._number {
        text-align: initial
    }

    .p-join-us .accordion-header {
        flex-direction: column;
        align-items: stretch
    }
}

@media(max-width: 767px) {
    .p-join-us .heading-2 {
        font-size: 1.75rem
    }

    .p-join-us .accordion {
        margin-top: 0
    }

    .p-join-us .accordion ._content,
    .p-join-us .accordion ._number,
    .p-join-us .accordion ._requirement {
        font-size: .875rem
    }

    .p-join-us .accordion ._number {
        margin: 0
    }

    .p-join-us .accordion ._title {
        font-size: 1.125rem
    }

    .p-join-us .accordion ._requirement {
        padding-top: 2rem
    }
}

.p-about-us .section-title {
    text-align: initial
}

.p-about-us .our-story .row1,
.p-about-us .our-story .row2 {
    --gap: 4rem
}

.p-about-us .our-story .row2 {
    margin-top: 6rem
}

.p-about-us .our-story ._content1 {
    font-size: 1.5rem;
    font-weight: 700
}

.p-about-us .our-story ._content2 {
    font-size: 1rem;
    font-weight: 500
}

.p-about-us .our-honor .f-button {
    margin-top: -1rem
}

.p-about-us .cert ._image {
    width: 100%;
    aspect-ratio: 480/640;
    object-fit: cover
}

.p-about-us .cert ._title {
    margin-top: 1rem;
    font-weight: 500
}

.p-about-us .f-carousel {
    --column-gap: 0.75rem
}

.p-about-us .f-carousel__slide {
    --size: 4
}

.p-about-us .card {
    position: relative;
    aspect-ratio: 480/640
}

.p-about-us .card-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-about-us .card-container {
    position: relative;
    padding: 3rem
}

.p-about-us .card-title {
    font-size: 1.5rem;
    font-weight: 700
}

.p-about-us .card-content {
    margin-top: .5rem
}

.p-about-us .stats-list,
.p-about-us .history-list {
    justify-content: flex-end;
    border-top-width: 1px;
    border-bottom-width: 1px;
    border-color: #bfbfbf
}

.p-about-us .stats-list {
    margin-top: 3rem
}

.p-about-us .stats-item,
.p-about-us .history-item {
    border-color: inherit;
    border-bottom-width: 1px;
    padding: 3rem 3rem 3rem 0;
    margin-bottom: -1px
}

.p-about-us .stats-item {
    --size: 4
}

.p-about-us .history-item {
    --size: 6
}

.p-about-us .history-content {
    margin-top: 1.5rem;
    max-width: 32rem
}

.p-about-us .our-history {
    margin-top: 6rem
}

.p-about-us .our-history ._header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem
}

.p-about-us .our-history .section-title {
    flex-grow: 1
}

.p-about-us .our-history .btn {
    margin: 0
}

.p-about-us .gallery {
    overflow: hidden;
    margin-top: 10.5rem;
    margin-bottom: 10.5rem
}

.p-about-us .marquee {
    margin-top: 4rem
}

.p-about-us .marquee ._image {
    flex-shrink: 0;
    width: 700px;
    aspect-ratio: 700/500;
    object-fit: cover
}

.p-about-us .env {
    margin-top: 10rem;
    margin-bottom: 10rem
}

.p-about-us .case-list {
    margin-top: 3rem
}

.p-about-us .case-image {
    aspect-ratio: 480/300
}

@media(max-width: 1279px) {
    .p-about-us :is(.our-story, .our-values, .our-history, .gallery, .env) {
        margin-top: 6rem;
        margin-bottom: 6rem
    }

    .p-about-us .our-story .row {
        --gap: 2rem
    }

    .p-about-us .our-story .row2 {
        margin-top: var(--gap)
    }

    .p-about-us .marquee ._image {
        width: 20rem
    }

    .p-about-us .card-container {
        padding: 2rem
    }

    .p-about-us .card-title {
        font-size: 1.25rem
    }

    .p-about-us .card-content {
        font-size: .875rem
    }

    .p-about-us .section-title {
        font-size: 2rem
    }
}

@media(max-width: 767px) {
    .p-about-us .our-story ._content1 {
        font-size: 1.25rem
    }

    .p-about-us .f-carousel__slide {
        --size: 10
    }

    .p-about-us .marquee {
        margin-top: 2rem
    }

    .p-about-us .marquee ._image {
        width: 16rem
    }

    .p-about-us .stats-list {
        margin-top: 0
    }

    .p-about-us .stats-item,
    .p-about-us .history-item {
        padding: 2rem 1rem 2rem 0
    }

    .p-about-us .stats-item {
        --size: 6
    }

    .p-about-us .history-item {
        --size: 12
    }

    .p-about-us .banner-at-bottom {
        margin-top: 6rem
    }
}

.p-case-list .header2 {
    position: relative;
    z-index: 1
}

.p-case-list .banner-at-bottom {
    margin-top: 8rem
}

@media(max-width: 767px) {
    .p-case-list .banner-at-bottom {
        margin-top: 6rem
    }
}

.p-article ._header,
.p-article ._content {
    --column-gap: 4rem;
    --row-gap: 2rem
}

.p-article ._header {
    margin-top: 8rem;
    flex-wrap: wrap-reverse
}

.p-article ._content {
    margin-top: 4rem;
    margin-bottom: 8rem
}

.p-article ._heading {
    font-size: 3rem;
    font-weight: 700;
    margin-top: 1.5rem
}

.p-article .keyword-list {
    margin-top: 1rem
}

.p-article ._left {
    width: 0;
    flex-grow: 1
}

.p-article ._right {
    width: 20rem
}

.p-article ._date-number {
    font-size: 3rem;
    font-weight: 700
}

.p-article ._article :is(h1, h2, h3, h4) {
    font-weight: 700;
    font-size: 1.25rem;
    margin-bottom: 1.5rem
}

.p-article ._article :is(h1, h2, h3, h4):not(:first-child) {
    margin-top: 3rem
}

.p-article ._article .wp-video {
    width: auto !important
}

.p-article ._article :is(img, video) {
    display: block;
    height: auto !important;
    margin: 3rem auto
}

.p-article ._article :is(ul, ol) {
    padding-left: 1em
}

.p-article ._article ul {
    list-style: disc
}

.p-article ._article ol {
    list-style: decimal
}

.p-article ._article blockquote {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ff9400;
    border-left: 4px solid currentColor;
    padding-left: 2rem
}

.p-article ._article blockquote :last-child {
    margin-top: 1.5em;
    font-size: 1rem;
    font-weight: 500;
    position: relative;
    padding-left: 2rem
}

.p-article ._article blockquote :last-child::before {
    content: "";
    position: absolute;
    height: 1px;
    width: 24px;
    background-color: currentColor;
    left: 0;
    top: .75rem
}

.p-article ._pagination {
    margin-top: 4rem;
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    padding: 1rem 0;
    position: relative;
    font-size: 1rem;
    align-items: center
}

.p-article ._pagination .breadcrumb {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8rem;
    margin-left: -4rem;
    margin-top: -0.75rem;
    font-size: inherit;
    text-align: center
}

.p-article ._pagination a.disabled {
    color: #d8d8d8;
    cursor: not-allowed
}

.p-article ._back {
    display: flex;
    align-items: center;
    margin-left: auto
}

.p-article ._back ._arrow {
    margin-left: .25rem
}

.p-article ._back ._underline {
    transition-property: background-size
}

.p-article ._back:hover ._underline {
    color: #ff9400
}

.p-article ._arrow svg {
    transform: rotate(-90deg);
    height: 1.25rem;
    width: 1.25rem
}

.p-article ._share {
    margin-left: .75rem
}

.p-article ._share svg {
    stroke-width: 0;
    fill: currentColor
}

.p-article ._share:hover {
    color: #ff9400
}

.p-article .aside {
    position: sticky;
    top: 8rem;
    transition-property: top;
    transition-timing-function: var(--default-timing-function);
    transition-duration: var(--default-duration)
}

.p-article .aside-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1rem
}

.p-article .aside-item {
    display: flex;
    align-items: center;
    margin-top: .25rem;
    padding: 1.25rem;
    background-color: #f8f8f8;
    border-radius: .5rem;
    transition-property: color, background-color;
    transition-duration: var(--default-duration);
    transition-timing-function: var(--default-timing-function)
}

.p-article .aside-item ._image {
    width: 4rem;
    margin-right: 1.25rem
}

.p-article .aside-item ._title {
    font-size: .75rem
}

.p-article .aside-item:hover {
    background-color: #ff9400;
    color: #fff
}

@media(max-width: 1279px) {
    .p-article ._header {
        margin-top: 4rem
    }

    .p-article ._heading {
        font-size: 2rem
    }

    .p-article ._content {
        margin-top: 4rem;
        margin-bottom: 8rem
    }
}

@media(max-width: 1023px) {
    .p-article ._left {
        width: 100%;
        flex-basis: auto
    }

    .p-article ._right {
        width: 100%
    }

    .p-article ._content ._right {
        display: none
    }

    .p-article ._article img {
        margin: 1.5rem auto
    }
}

@media(max-width: 767px) {
    .p-article ._header {
        margin-top: 2rem
    }

    .p-article ._heading {
        font-size: 1.5rem
    }

    .p-article ._content {
        margin-top: 2rem;
        margin-bottom: 6rem
    }

    .p-article ._article blockquote {
        font-size: 1.125rem;
        padding-left: 1rem
    }

    .p-article ._article blockquote :last-child {
        font-size: .75rem
    }

    .p-article ._pagination {
        font-size: .875rem
    }

    .p-article ._share {
        margin-left: .25rem
    }

    .p-article ._share svg {
        width: 1.25rem;
        height: 1.25rem
    }
}

.p-search {
    background-color: #f8f8f8
}

.p-search .result {
    background-color: #fff;
    padding: 3rem
}

.p-search .result a:hover {
    text-decoration: underline
}

.p-search .result+.result {
    margin-top: 2rem
}

.p-search .result-info {
    max-width: 64rem
}

.p-search .result-title {
    font-size: 1.25rem;
    color: #ff9400;
    font-weight: 700
}

.p-search .result-desc {
    margin-top: 1rem
}

.p-search .result-source {
    border-top: 1px solid #d8d8d8;
    padding-top: 1rem;
    margin-top: 2rem
}

.p-search .result-source ._title {
    font-weight: 700
}

.p-search .result-source ._subtitle {
    font-size: .75rem;
    color: #606060
}

.p-search .banner-at-bottom {
    margin-top: 12rem
}

@media(max-width: 1279px) {
    .p-search .banner-at-bottom {
        margin-top: 8rem
    }
}

@media(max-width: 767px) {
    .p-search .result {
        padding: 1.5rem
    }

    .p-search .result-desc {
        font-size: .875rem
    }

    .p-search .banner-at-bottom {
        margin-top: 6rem
    }
}

.p-product-list .f-carousel-product {
    --column-gap: 0.75rem
}

.p-product-list .f-carousel-product .f-carousel__slide {
    --size: 2
}

.p-product-list .f-carousel-product ._image {
    width: 9rem;
    aspect-ratio: 1;
    object-fit: cover;
    margin: auto
}

.p-product-list .f-carousel-product ._title {
    text-align: center;
    margin: 1rem 0;
    color: #606060
}

.p-product-list .section-title {
    text-align: center;
    max-width: 48rem;
    margin: auto
}

.p-product-list .f-carousel-gallery {
    --column-gap: 0.75rem;
    display: none
}

.p-product-list .f-carousel-gallery .f-carousel__slide {
    --size: 3
}

.p-product-list .f-carousel-gallery ._image {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover
}

.p-product-list .breadcrumb-gallery {
    font-size: 1.25rem;
    font-weight: 700;
    margin-left: auto;
    margin-right: auto;
    color: rgba(0, 0, 0, .4)
}

.p-product-list .breadcrumb-gallery a:hover,
.p-product-list .breadcrumb-gallery a.active {
    color: #000;
    text-decoration: none
}

@media(max-width: 1279px) {
    .p-product-list .section-title {
        max-width: 32rem
    }

    .p-product-list .f-carousel-product ._title {
        font-size: .75rem
    }
}

@media(max-width: 767px) {
    .p-product-list .f-carousel-product {
        --column-gap: 0.5rem
    }

    .p-product-list .f-carousel-product .f-carousel__slide {
        --size: 4
    }

    .p-product-list .f-carousel-product ._title {
        margin: .5rem 0
    }

    .p-product-list .f-carousel-gallery {
        --column-gap: 0.5rem
    }

    .p-product-list .f-carousel-gallery .f-carousel__slide {
        --size: 6
    }

    .p-product-list .breadcrumb-gallery {
        font-size: .875rem
    }
}

.p-product .feature-item {
    --size: 3;
    max-width: initial;
    width: var(--width);
    text-align: initial
}

.p-product .feature-icon {
    height: 2.5rem;
    margin: 0
}

.p-product .feature-title {
    font-size: 1.5rem;
    font-weight: 700
}

.p-product .scene-list {
    --row-gap: 6rem;
    --column-gap: 2rem
}

.p-product .scene-item {
    --size: 3;
    display: flex;
    align-items: flex-start
}

.p-product .scene-icon {
    width: 2.5rem;
    margin-top: -0.25rem;
    margin-right: .5rem
}

.p-product .scene-title {
    font-size: 1.5rem;
    font-weight: 700
}

@media(max-width: 1279px) {
    .p-product .feature-desc {
        font-size: .875rem
    }

    .p-product .feature-title {
        font-size: 1.125rem
    }

    .p-product .feature-desc {
        margin-top: 0
    }

    .p-product .scene-list {
        --row-gap: 2rem
    }

    .p-product .scene-icon {
        width: 1.5rem;
        margin-top: 0
    }

    .p-product .scene-title {
        font-size: 1rem
    }
}

@media(max-width: 1023px) {
    .p-product .scene-item {
        --size: 6
    }
}

@media(max-width: 767px) {
    .p-product .feature-item {
        --size: 6
    }

    .p-product .feature-title {
        margin-top: 1rem
    }

    .p-product .scene-list {
        --column-gap: 1rem
    }

    .p-product .scene-title {
        font-size: .875rem
    }
}

.p-home .header {
    position: fixed;
    margin-right: var(--scrollbar-width)
}

.p-home .section-title {
    text-transform: uppercase
}

.p-home .stats-list {
    --gap: 0rem;
    justify-content: space-between
}

.p-home .stats-item {
    --columns: 10;
    --size: 2;
    --fraction: calc(var(--columns) / var(--size));
    --width: calc(100% / var(--fraction) - var(--column-gap) * (var(--fraction) - 1) / var(--fraction));
    max-width: var(--width);
    text-align: center
}

.p-home .section-why .container {
    row-gap: 4rem
}

.p-home .marquee {
    margin-top: 10.5rem;
    margin-bottom: 5rem
}

.p-home .marquee ._image {
    height: 5.625rem;
    width: auto;
}

.p-home .marquee-list {
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
    padding-right: 4rem
}

.p-home .f-carousel__slide :is(.banner-heading, .banner-bottom) {
    opacity: 0;
    transform: translateY(32px)
}

.p-home .f-carousel__slide.is-selected :is(.banner-heading, .banner-bottom) {
    transition-property: opacity, transform;
    transition-duration: .5s;
    transition-timing-function: var(--default-timing-function);
    opacity: 1;
    transform: none
}

.p-home .f-carousel__slide.is-selected .banner-heading {
    transition-delay: .25s
}

.p-home .f-carousel__slide.is-selected .banner-bottom {
    transition-delay: .5s
}

@media(min-width: 1024px)and (max-width: 1279px) {
    .p-home .news-column:nth-child(n+4) {
        display: none
    }
}

@media(min-width: 768px) {
    .p-home .section-title {
        font-size: 3rem
    }
}

@media(max-width: 1279px) {
    .p-home .marquee-list {
        gap: 2rem;
        padding-right: 2rem
    }
}

@media(max-width: 767px) {
    .p-home .stats-list {
        --column-gap: 1rem;
        justify-content: center
    }

    .p-home .stats-item {
        --columns: 3;
        --size: 1;
        max-width: initial;
        width: var(--width)
    }

    .p-home .stats-number {
        font-size: 1.5rem
    }

    .p-home .stats-title {
        font-size: .75rem
    }

    .p-home .marquee {
        margin-top: 4rem
    }

    .p-home .marquee ._image {
        height: 3.75rem
    }
}

.p-solution .header2 {
    max-width: 64rem
}

.p-solution .header2-heading {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto
}

.p-solution .header2-content {
    margin-top: 3rem
}

.p-solution .keyword-list {
    justify-content: center;
    margin-top: .5rem
}

.p-solution ._banner {
    width: 100%;
    max-height: 60rem;
    object-fit: cover
}

.p-solution .guidance {
    --gap: 2rem;
    margin-top: 3rem
}

.p-solution .guidance ._column {
    --columns: 10;
    --size: 2
}

.p-solution .guidance ._title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem
}

.p-solution .guidance ._item {
    display: flex;
    align-items: flex-start;
    font-size: .875rem;
    margin-top: .5rem
}

.p-solution .guidance ._number {
    border-radius: 99px;
    font-size: .75rem;
    min-width: 1.5rem;
    background-color: #101010;
    color: #fff;
    text-align: center;
    padding: 0 .25rem;
    margin-right: .5rem
}

.p-solution .guidance ._text {
    flex: 1 1 0%
}

.p-solution .f-carousel-gallery {
    --column-gap: 0.75rem;
    --size: 4
}

.p-solution .f-carousel-gallery .f-button {
    margin-top: -2rem
}

@media(max-width: 1279px) {
    .p-solution .guidance ._title {
        font-size: 1rem;
        margin-bottom: .5rem
    }

    .p-solution .guidance ._item {
        font-size: .75rem
    }

    .p-solution .guidance ._number {
        font-size: .625rem;
        min-width: 1.25rem
    }
}

@media(max-width: 1023px) {
    .p-solution .guidance ._column {
        --size: 5
    }

    .p-solution .f-carousel-gallery .f-carousel__slide {
        --size: 6
    }
}

@media(max-width: 767px) {
    .p-solution .header2-content {
        margin-top: 2rem
    }

    .p-solution .guidance {
        --column-gap: 1rem
    }

    .p-solution .f-carousel-gallery {
        --column-gap: 1rem
    }

    .p-solution .f-carousel-gallery .f-carousel__slide {
        --size: 12
    }

    .p-solution .f-carousel-gallery .f-button {
        margin-top: -1.5rem
    }
}