[home-page] {
    position: relative;
}

[home-page] > .slide {
    position: relative;
}

[home-page] > .slide > .item {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    box-sizing: border-box;
    display: block;
    position: absolute;
    opacity: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: opacity 0.4s;
    overflow: hidden;
}

[home-page] > .slide > .item > .section {
    height: 100%;
}

[home-page] > .slide > .item.on {
    opacity: 1;
    z-index: 100;
}

[device="pc"] [home-page] > .slide > label {
    position: absolute;
    display: block;
    width: 3.6em;
    text-align: center;
    font-family: moon;
    top: 50%;
    margin-top: -1.5em;
    color: #999;
    z-index: 200;
    background-color: #fff;
}

[device="mobile"] [home-page] > .slide > label {
    display: none;
}

[device="mobile"] [home-page] > .slide > .indicator {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 1000;
}

[device="mobile"] [home-page] > .slide > .indicator > label {
    width: 1em;
    height: 1em;
    border-radius: 1em;
    display: inline-block;
    background-color: rgba(0, 0, 0, 0.2);
    margin: 1em 0.5em;
}

[device="mobile"] [home-page] > .slide > .indicator > label.on {
    background-color: var(--primary);
}

[home-page] > .slide > label.left {
    left: 1em;
}

[home-page] > .slide > label.right {
    right: 1em;
}

[home-page] > .slide > .item > .section > div {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    max-width: 100%;
    max-height: 100%;
    transform: translate(-50%, -50%);
}

[device="pc"] [home-page] > .slide > .item > .section > div {
    padding: 0 6em;
}

[device="mobile"] [home-page] > .slide > .item > .section > div {
    padding: 0 1em;
}

[home-page] > .slide > .item > .section > div > * {
    animation-fill-mode: both;
}

[device="pc"] [home-page] > .slide > .item > .section > div > p {
    font-size: 2em;
}

[device="mobile"] [home-page] > .slide > .item > .section > div > p {
    font-size: 1.5em;
}

[home-page] > .slide > .item > .section > div > div {
    line-height: 2em;
    font-weight: bold;
    margin: 1em 0;
    animation-delay: 0.8s;
}

[device="pc"] [home-page] > .slide > .item > .section > div > div {
    font-size: 3.2em;
    width: 80%;
}

[device="mobile"] [home-page] > .slide > .item > .section > div > div {
    font-size: 2em;
}

[home-page] > .slide > .item > .section > div > label {
    display: inline-block;
    position: relative;
    padding-left: 1em;
    padding-right: 2em;
    animation-delay: 1.2s;
}

[home-page] > .slide > .item > .section > div > label:before {
    content: "";
    width: 0.3em;
    height: 0.3em;
    background-color: #fff;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -0.15em;
}

[home-page] > .slide > .item > .section > div > a {
    display: inline-block;
    color: var(--primary);
    padding: 0 2em;
    margin-top: 3em;
    animation-delay: 1.6s;
}

[home-page] > .products > ul {
    display: block;
}

[home-page] > .products > ul > li {
    float: left;
    box-sizing: border-box;
    padding: 1em;
}

[device="pc"] [home-page] > .products > ul > li {
    width: 25%;
}

[device="mobile"] [home-page] > .products > ul > li {
    width: 100%;
    margin-bottom: 1em;
}

[home-page] > .products > ul > li > div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    border-radius: 0.5em;
    padding-bottom: 100%;
    position: relative;
}

[home-page] > .products > ul > li > div > div {
    position: absolute;
    left: 2em;
    right: 2em;
    top: 100%;
    transition: all 0.4s ease-in-out;
    margin-top: -1.9em;
    border-radius: 0.4em;
}

[home-page] > .products > ul > li > div > div > p {
    box-shadow: 1em 1em 6em 0 rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    height: 3.8em;
    background-color: #fff;
    border-radius: 0.3em;
    padding-left: 3.8em;
    background-size: auto 2em;
    background-position: 1em 0.8em;
    background-repeat: no-repeat;
}

[home-page] > .products > ul > li > div > div > span {
    opacity: 0;
    margin: 0 1em;
    display: block;
    border-top: 1px solid #3251AF;
    padding: 1em 0;
}

[home-page] > .products > ul > li > div > div > a {
    opacity: 0;
    display: block;
    height: 3em;
    line-height: 3em;
    background-color: var(--primary);
    text-align: center;
    background-image: url(../image/home001_products_ico05@2x.png);
    background-repeat: no-repeat;
    background-position: 75% center;
    background-size: auto 30%;
    border-radius: 0 0 0.3em 0.3em;
    color: #fff;
}

[home-page] > .products > ul > li > div:hover > div {
    top: 61.8%;
    background-color: #002E51;
    color: #fff;
}

[home-page] > .products > ul > li > div:hover > div > p {
    background-color: transparent;
}

[home-page] > .products > ul > li > div:hover > div > span, [home-page] > .products > ul > li > div:hover > div > a {
    opacity: 1;
}

[home-page] > .aboutUs {
    background-color: #F7FAFF;
    margin-top: 6em;
    padding-bottom: 2em;
}

[device="pc"] [home-page] > .aboutUs {
    padding-top: 6em;
}

[home-page] > .aboutUs > div {
    overflow: hidden;
}

[home-page] > .aboutUs > div > * {
    display: block;
    float: left;
}

[home-page] > .aboutUs > div > b {
    background-image: url(../image/home001_aboutus_img01@2x.jpg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    box-sizing: border-box;
    min-height: 26em;
}


[device="pc"] [home-page] > .aboutUs > div > * {
    width: 50%;
}

[device="mobile"] [home-page] > .aboutUs > div {
    padding: 0 1em;
}

[device="mobile"] [home-page] > .aboutUs > div > * {
    width: 100%;
}

[home-page] > .aboutUs > div > div > p {
    text-align: left;
    margin-bottom: 0;
}

[home-page] > .aboutUs > div > div > div {
    width: 100%;
    box-sizing: border-box;
    padding-bottom: 2em;
    margin-bottom: 2em;
    border-bottom: 1px solid #E6E6E6;
    word-break: break-all;
    white-space: pre-line;
}

[home-page] > .aboutUs > div > div > span {
    display: block;
    width: 100%;
    color: #0E4C99;
    font-size: 1.5em;
    font-weight: bold;
    box-sizing: border-box;
    background-image: url(../image/home001_aboutus_img02@2x.jpg);
    background-repeat: no-repeat;
    background-size: auto 60%;
    min-height: 10em;
}

[device="pc"] [home-page] > .aboutUs > div > div > span {
    padding-right: 40%;
    background-position: 100% 0;
}

[device="mobile"] [home-page] > .aboutUs > div > div > span {
    background-position: center bottom;
}

[home-page] > .services {
    position: relative;
    padding: 1em 0 3em;
}

[home-page] > .services > span {
    display: block;
    text-align: right;
    margin-top: -2.4em;
    padding-right: 2em;
}

[home-page] > .services > span > * {
    display: inline-block;
    height: 2em;
    font-family: moon;
    text-align: center;
}

[home-page] > .services > span > label {
    width: 2em;
    color: #333;
    cursor: pointer;
}

[home-page] > .services > span > label:hover {
    color: var(--primary);
}

[home-page] > .services > span > b {
    color: var(--primary);
}

[home-page] > .gallery {
    overflow: hidden;
}

[home-page] > .gallery > ul {
    display: block;
    position: relative;
    padding-bottom: 3em;
    white-space: nowrap;
    word-break: keep-all;
    transition: all 0.4s ease-in-out;
}

[home-page] > .gallery > ul > li {
    box-sizing: border-box;
    padding: 0 1.5em;
    position: relative;
    transition: all 0.3s ease-in-out;
    display: inline-block;
}

[device="pc"] [home-page] > .gallery > ul > li {
    width: 33.33%;
}

[device="mobile"] [home-page] > .services > ul > li {
    width: 100%;
}

[device="mobile"] [home-page] > .cases > ul > li {
    width: 50%;
}

[home-page] > .gallery > ul > li > div {
    box-shadow: 0.5em 0.5em 1em 0 rgba(0, 0, 0, 0.1);
    position: relative;
    background-color: #fff;
    text-align: center;
    border-radius: 0.4em;
    overflow: hidden;
}

[home-page] > .gallery > ul > li > div > * {
    display: block;
}

[home-page] > .gallery > ul > li > div > span {
    display: block;
    width: 100%;
    overflow: hidden;
}

[home-page] > .gallery > ul > li > div > span > img {
    width: 100%;
    border-radius: 0.4em 0.4em 0 0;
    transition: all 0.4s ease-in-out;
}

[home-page] > .gallery > ul > li > div:hover > span > img {
    transform: scale(1.2);
    transform-origin: center center;
}

[home-page] > .gallery > ul > li > div > b {
    display: inline-block;
    width: 5em;
    height: 5em;
    margin-top: -2.5em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    z-index: 100;
}

[home-page] > .gallery > ul > li > div > p {
    font-size: 1.5em;
    color: #000;
    font-weight: bold;
    line-height: 3em;
}

[home-page] > .gallery > ul > li > div > div {
    line-height: 1.5em;
    padding: 0 1em;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-word;
}

[home-page] > .gallery > ul > li > div > a {
    color: #014A82;
    line-height: 3.6em;
    height: 3.6em;
    border-radius: 0 0 0.4em 0.4em;
}

[home-page] > .gallery > ul > li > div > a > label {
    font-family: moon;
    padding-left: 1em;
    transform: scale(0.8);
    display: inline-block;
}

[home-page] > .services > em {
    position: absolute;
    display: block;
    top: 1em;
    left: 0;
    padding: 1em;
    animation-duration: 20s;
    animation-play-state: running;
    animation-fill-mode: both;
    animation-direction: alternate;
    animation-iteration-count: infinite;
    animation-name: shakeY;
    animation-timing-function: ease-in-out;
}

[home-page] > .services > em > b {
    display: block;
    overflow: hidden;
}

[home-page] > .services > em > b > i {
    display: block;
    width: 3px;
    height: 3px;
    background-color: #3251AF;
    border-radius: 5px;
    float: left;
    margin: 1px 0.6em 0.5em 0;
    font-style: normal;
}

[home-page] > .competency {
    background-color: #002E51;
    padding: 2em 0 5em 0;
    color: #fff;
}

[home-page] > .competency > p {
    text-align: center;
    font-size: 2.4em;
    line-height: 3em;
    font-weight: bold;
}

[home-page] > .competency > ul {
    display: block;
    overflow: hidden;
}

[home-page] > .competency > ul > li {
    display: block;
    float: left;
    height: 100%;
    box-sizing: border-box;
    padding: 1em;
    text-align: center;
    overflow: hidden;
}

[device="pc"] [home-page] > .competency > ul > li {
    width: 25%;
}

[device="mobile"] [home-page] > .competency > ul > li {
    width: 50%;
}

[home-page] > .competency > ul > li > b {
    width: 8em;
    height: 8em;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 60% auto;
    display: inline-block;
    margin: 3em;
    border-radius: 2em;
    background-color: #003C69;
}

[home-page] > .competency > ul > li > p {
    display: block;
    width: 100%;
    height: 7em;
    overflow: hidden;
}

[home-page] > .customers {
    padding-bottom: 3em;
    position: relative;
}


[home-page] > .customers > em {
    position: absolute;
    display: block;
    top: 0;
    left: 70%;
    width: 5em;
    height: 5em;
}

[home-page] > .customers > em > * {
    animation-duration: 20s;
    animation-play-state: running;
    animation-fill-mode: both;
    animation-direction: alternate;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    border-radius: 3em;
    position: absolute;
    display: block;
}

[home-page] > .customers > em > b {
    width: 1em;
    height: 1em;
    left: 0;
    top: 0;
    border: 2px solid var(--primary);
    animation-name: shakeY;
    animation-delay: 10s;
}

[home-page] > .customers > em > i {
    width: 2.5em;
    height: 2.5em;
    left: 3em;
    top: 3em;
    border: 2px solid var(--primary);
    animation-name: shakeX;
}

[home-page] > .customers > ul {
    display: block;
    overflow: hidden;
}

[home-page] > .customers > ul > li {
    display: block;
    float: left;
    box-sizing: border-box;
}

[device="pc"] [home-page] > .customers > ul > li {
    width: 20%;
}

[device="mobile"] [home-page] > .customers > ul > li {
    width: 33.33%;
}

[home-page] > .customers > ul > li > a {
    display: block;
    padding-bottom: 50%;
    background-repeat: no-repeat;
    background-size: auto 80%;
    background-position: center center;
}

[home-page] > .cases {
    background-color: #f5f5f5;
    overflow: hidden;
    width: 100%;
}

[device="pc"] [home-page] > .cases {
    padding: 6em 0;
}

[device="pc"] [home-page] > .cases > ul {
    transform: translateX(-12%);
}

[device="mobile"] [home-page] > .cases > ul {
    transform: translateX(-25%);
}

[home-page] > .cases > ul > li {
    width: 25%;
}

[home-page] > .cases > ul > li > div {
    overflow: hidden;
    box-sizing: border-box;
    background-size: 0;
    padding-bottom: 100%;
    position: relative;
    box-shadow: none;
}

[home-page] > .cases > ul > li > div:before {
    background-image: inherit;
    background-position: center;
    background-size: cover;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
}

[home-page] > .cases > ul > li:hover > div:before {
    transform: scale(1.2);
}

[home-page] > .cases > ul > li > div > * {
    position: absolute;
    display: block;
    transition: all 0.4s ease-in-out;
}

[home-page] > .cases > ul > li > div > p {
    left: 0;
    bottom: 0;
    right: 0;
    line-height: 4em;
    color: #fff;
    background-color: #002E51;
    font-size: 0.9em;
    opacity: 0;
}

[home-page] > .cases > ul > li:hover > div > p, [home-page] > .cases > ul > li:hover > div > a {
    opacity: 1;
}

[home-page] > .cases > ul > li > div > a {
    right: 0;
    top: 0;
    width: 3em;
    height: 3em;
    background: var(--primary) url(../image/home001_cases_ico01@2x.png) no-repeat center center;
    background-size: auto 60%;
    border-radius: 0 0.3em 0 0.3em;
    opacity: 0;
}
