@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;900&display=swap');

@font-face {
    font-family: "notosans";
    font-display: block;
    src: url('../../fonts/NotoSansSC-Regular.otf');
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC&display=swap');
html {
    scroll-behavior: smooth;
}

body {
    /*font-family: 'Inter';*/
    font-family: Microsoft YaHei, 黑体, sans-serif, notosans;
    letter-spacing: 0.5px;
}

p, li {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
}

a {
    color: #111;
}

a:hover {
    color: #111;
    text-decoration: none;
}

a:focus {
    outline: none;
    box-shadow: none !important;
}

input:focus {
    box-shadow: none !important;
}

h1 {
    font-size: 80px;
    font-weight: 900;
    line-height: 1.4em;
}

h2,
h3,
h4 {
    /* font-family: 'Inter', sans-serif; */
    line-height: 1.4em;
    /* text-transform: uppercase; */
}

h2 {
    font-size: 80px;
    font-weight: 900;
}

h3 {
    font-size: 50px;
    font-weight: 900;
}

h4 {
    font-size: 32px;
    font-weight: 600;
}

.navbar {
    padding: 8px 0 7px 0;
    background-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.nav-item img {
    width: auto;
    vertical-align: middle;
}

@media (min-width: 1200px) {
    .navbar {
        padding: 10px;
    }
}

@media (max-width: 1200px) {
    a.nav-link.dropdown-toggle {
        margin-top: 20px;
    }
}

.navbar-brand img {
    width: 74px;
}

.hidden {
    visibility: hidden;
}

.navbar-toggler {
    position: fixed;
    top: 0;
    right: 0;
    background: #00ABCC;
    border-radius: 0;
    width: 64px;
    height: 64px;
    z-index: 1000;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

.close-icon {
    background-image: url("../../img/close-icon.png");
    background-repeat: no-repeat;
    background-size: 20px;
    width: 20px;
    height: 20px;
    position: fixed;
    top: 22px;
    right: 22px;
}

.navbar-toggler.collapsed .close-icon {
    display: none;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon {
    display: inline;
}

.no-scroll {
    height: 100%;
    overflow: hidden;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

@media (max-width: 991px) {
    .navbar-brand {
        position: relative;
        left: 20px;
        top: 0;
    }

    .navbar-collapse {
        background: #00ABCC;
        position: absolute;
        top: 0;
        width: 100%;
        height: 100vh;
        overflow-y: scroll;
    }

    .navbar-collapse .btn {
        background-color: #fff;
        color: #00abcc;
        padding: 10px 40px;
        margin-top: 15px;
        margin-bottom: 50px;
    }

    .navbar-nav {
        padding: 90px 30px 50px;
    }

    .navbar-collapse .ml-auto {
        padding-top: 0;
    }

    .navbar.scrolled {
        /*background: #00ABCC !important;*/
    }

    .d-m-block {
        display: block !important;
    }

    .d-m-none {
        display: none !important;
    }
}

.navbar {
    background-color: rgba(0, 0, 0, 0.5) !important;
    transition: background-color 200ms linear;
}

.nav-link {
    color: #fff;
    /* text-transform: uppercase; */
    margin: 0 2px;
    font-size: 18px;
    text-decoration: none;
}

.nav-link:hover {
    color: #ddd;
}

section {
    padding: 35px 0;
    background: #fff;
}

.hero-unit, .banner {
    padding: 0;
    position: relative;
}

.hero-unit {
    overflow: hidden;
    position: relative;
    transition: 2s all;
    opacity: 0;
}

.hero-unit::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background: url("../../img/filter.png");
}

.hero-text {
    color: #fff;
    position: absolute;
    top: 35%;
    left: 8%;
    z-index: 100;
}

.scroll {
    position: absolute;
    bottom: 0;
    right: 7%;
    height: 129px;
}

.banner h1 {
    font-size: 32px;
    color: #fff;
    position: absolute;
    top: 45%;
    left: 7%;
}

.banner-plain h1 {
    top: 30%;
}

@media (min-width: 1200px) {
    .banner h1 {
        font-size: 46px;
    }
}

.hero-unit h1 {
    /* font-family: 'Yu Gothic', sans-serif; */
    line-height: 1.2em;
    letter-spacing: -2px;
}

.hero-unit p {
    font-size: 20px;
}

@media (max-width: 767px) {
    /* .hero-text br {
      display: none;
    } */
    .hero-text {
        top: 43%;
        left: 0;
        padding: 0 15px;
    }

    .hero-unit h1 {
        font-size: 37px;
    }

    .hero-unit p {
        font-size: 16px;
    }
}

.slider-x {
    margin: -1px;
}

.slider-y {
    margin: -1px;
}

.main {
    background: url("../../img/bg-diagonal.png") -520px top, url("../../img/bg-diagonal.png") -328px bottom, linear-gradient(#00abcc, #030e11);
    background-size: 1263px, 1263px, contain;
    background-repeat: no-repeat;
    color: #fff;
    padding: 50px 0;
    position: relative;
    overflow: hidden;
}

.main .row {
    margin-bottom: 50px;
}

.main .row:last-child {
    margin-bottom: 50px;
}

.main .row > [class*='col-'] {
    padding: 0;
}

.subheading {
    background: linear-gradient(to left, #00ABCC, #000);
    padding: 14px 30px;
    color: #fff;
}

.text-lead {
    padding: 32px 60px;
    background-color: #EDF2F4;
    width: 100%;
}

@media (min-width: 1200px) {
    .main {
        /*background: url("../../img/bg-diagonal.png") -100px top, url("../../img/bg-diagonal.png") -1135px 1400px, linear-gradient(#00abcc, #030e11);*/
        background: linear-gradient(#00abcc, #030e11);
        background-repeat: no-repeat;
        /*background-size: 1710px, 1710px, contain;*/
        background-size: contain;
        color: #fff;
        padding: 120px 0;
        position: relative;
        overflow: hidden;
    }

    .diagonal {
        width: 47vw;
        height: 100%;
        background: #000;
        transform: skewX(-38deg);
        position: absolute;
        top: 0;
        /*left: 275px;*/
        left: 22%;
    }

    .main .row {
        margin-bottom: 120px;
    }

    .main .row:last-child {
        margin-bottom: 0;
    }
}

.main h2 {
    margin-bottom: 25px;
    font-size: 16px;
}

.content {
    padding: 20px;
    margin-bottom: 30px;
}

.content h2 span {
    margin-right: 15px;
}

.content p {
    color: #eee;
    margin-bottom: 25px;
}

p.sub-heading {
    font-size: 28px;
    color: #fff;
    line-height: 1.5em;
}

@media (min-width: 1200px) {
    .content {
        width: 490px;
        padding: 0;
    }

    p.sub-heading {
        font-size: 40px;
    }

    .content-left {
        margin-right: 60px;
    }

    .content-right {
        margin-left: 60px;
    }
}

.business {
    padding: 80px 0 0;
}

.business h2 {
    font-size: 50px;
}

.business h3 {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #fff;
}

.text-overlay {
    padding: 50px 60px;
    max-height: 600px;
}

.text-overlay p {
    color: #eee;
}

.line-overlay:before {
    content: ' ';
    display: block;
    border: 2px solid #fff;
    width: 22px;
    margin: 15px auto;
}

.bg1 {
    background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url("../../img/img3.png") no-repeat;
    background-size: cover;
}

@media (max-width: 767px) {
    .bg1 {
        background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url("../../img/img3-sp.png") no-repeat;
        background-size: cover;
    }
}

.bg2 {
    background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url("../../img/img2.png") no-repeat;
    background-size: cover;
}

.bg3 {
    background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url("../../img/img1.png") no-repeat;
    background-size: cover;
}

@media (max-width: 767px) {
    .business h2 {
        font-size: 40px;
    }

    .business h3 {
        font-size: 24px;
    }

    .text-overlay {
        padding: 50px 40px;
    }
}

.news {
    padding: 80px 20px;
}

.table-news {
    white-space: initial !important;
}

.table-news tr {
    border-bottom: 1px solid #ccc;
}

.table-news tr:last-child {
    border-bottom: none;
}

.table-news td {
    border: 0;
    padding: 20px 0;
    font-size: 16px;
    color: #555;
}

.table-news td:first-child {
    width: 25%;
    min-width: 200px;
    vertical-align: middle;
    color: #999;
    display: inline-block;
}

.table-news a {
    color: #00ABCC;
}

.table-news a:hover {
    opacity: 0.7;
}

@media (min-width: 1200px) {
    .table-news td:first-child {
        width: 20%;
    }
}

@media (max-width: 767px) {
    .table-news td {
        display: inline-block;
        padding: 30px 0 15px 0;
        font-size: 14px;
    }

    .table-news td:first-child {
        padding-bottom: 0;
        margin-bottom: -20px;
    }

    .news h3 {
        font-size: 40px;
    }
}

.recruit {
    background: url("../../img/576_459.jpg");
    background-repeat: no-repeat;
    background-size: 100%, cover;
    color: #fff;
}

.recruit h2 {
    font-size: 40px;
    margin-bottom: 25px;
}

.recruit p {
    font-size: 16px;
    margin-bottom: 30px;
}

@media (min-width: 768px) {
    .recruit {
        background: url("../../img/768_459.jpg");
        background-size: 100%, cover;
        padding: 120px 0;
    }
}

@media (min-width: 992px) {
    .recruit {
        background: url("../../img/992_528.jpg");
    }

    .recruit h2 {
        font-size: 72px;
        margin-bottom: 30px;
    }

    .recruit p {
        font-size: 22px;
    }
}

@media (min-width: 1200px) {
    .recruit {
        background: url("../../img/1200_528.jpg");
        background-size: 100%, cover;
    }

    .recruit .content {
        position: relative;
        left: 60px;
    }
}

@media (min-width: 1400px) {
    .recruit {
        background: url("../../img/1400_528.jpg");
    }
}

.blog {
    background: #d1d1d1;
    padding: 30px;
}

.blog .container {
    background: url("../../img/bg-blog-sp.png");
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
    padding: 40px 20px;
}

@media (min-width: 768px) {
    .blog .container {
        background: url("../../img/bg-blog.png");
        background-size: cover;
        background-repeat: no-repeat;
        color: #fff;
        padding: 45px 0;
    }
}

@media (max-width: 768px) {
    .service-banner .btn {
        font-size: 10px;
        top: 100%;
        padding: 5px 10px;
    }
}

.blog h4 {
    margin-bottom: 20px;
}

@media (min-width: 1200px) {
    .blog {
        padding: 50px 0;
    }

    .blog .container {
        padding: 80px 0;
    }
}

@media (max-width: 767px) {
    .blog h4 {
        font-size: 24px;
    }
}

.contact {
    background: #111 url("../../img/bg-contact.png");
    background-size: cover;
    background-repeat: no-repeat;
    padding: 100px 0;
    color: #fff;
}

.contact h2 {
    font-size: 40px;
    margin-bottom: 30px;
}

@media (min-width: 1200px) {
    .contact {
        padding: 120px 0;
    }

    .contact h2 {
        font-size: 64px;
        margin-top: 60px;
    }
}

.contact p {
    color: #fff;
    /* text-transform: uppercase; */
    line-height: 2.4em;
    font-size: 14px;
}

.contact .text-bold {
    font-size: 30px;
    font-weight: 900;
}

.contact .text-small {
    /* font-family: 'Yu Gothic', sans-serif; */
    color: #fff;
}

.icon {
    width: 25px;
    vertical-align: baseline;
    margin-right: 10px;
}

.icon-sm {
    width: 20px;
    vertical-align: middle;
    margin-right: 10px;
}

.btn {
    transition: opacity .25s ease-in-out;
    -moz-transition: opacity .25s ease-in-out;
    -webkit-transition: opacity .25s ease-in-out;
}

.btn-white {
    background-color: #fff;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 400;
    color: #00abcc;
    padding: 15px 40px;
    outline: none;
    /* text-transform: uppercase; */
}

.btn-white:active, .btn-white:focus {
    background-color: #fff;
    color: #00abcc;
}

.btn-white:hover {
    opacity: 0.8;
    color: #00abcc;
}

.btn-blue {
    background-color: #00abcc;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    padding: 15px 40px;
    outline: none;
    /* text-transform: uppercase; */
}

.btn-blue:active, .btn-blue:focus {
    background-color: #00abcc;
    color: #fff;
}

.btn-blue:hover {
    opacity: 0.8;
    color: #fff;
}

header .btn-blue {
    padding: 10px 25px;
    text-decoration: none;
}

footer {
    background: #2b2c2c;
    color: #fff;
}

footer a,
.contact a {
    text-decoration: none;
}

.footer-top {
    padding: 30px 15px 40px 15px;
    border-bottom: 1px solid #444;
}

.footer-bottom {
    padding: 20px 15px;
}

footer .container {
    margin: 0 auto;
}

@media (min-width: 1200px) {
    .footer-top {
        padding: 60px 0 80px 0;
    }

    .footer-bottom {
        padding: 20px 0;
    }
}

.footer-logo {
    width: 172px;
}

footer h2 {
    font-size: 24px;
}

footer h3 {
    font-size: 16px;
}

footer p {
    color: #fff;
    font-size: 14px;
}

footer address {
    font-size: 16px;
    line-height: 2em;
    color: #fff;
}

footer address a {
    color: #fff;
}

footer address a:hover {
    color: #fff;
}

footer ul.quicklinks {
    margin: 0;
    padding: 0;
    list-style: none;
}

footer ul.quicklinks li a {
    font-size: 14px;
    line-height: 2.2em;
    color: #bbb;
}

footer ul.quicklinks li a:hover {
    color: #999;
}

.copyright {
    /* font-family: 'Yu Gothic', sans-serif; */
    font-size: 12px;
    color: #bbb;
}

ul.hori-links {
    padding: 0;
    margin: 0;
}

ul.hori-links li {
    display: inline;
}

ul.hori-links li a {
    font-size: 12px;
    color: #bbb;
}

ul.hori-links li:first-child a {
    margin-right: 25px;
}

ul.hori-links li a:hover {
    color: #999;
}

.text-small {
    font-size: 12px;
    color: #ddd;
}

/* Back to top button */

#to-top-button {
    width: 40px;
    position: fixed;
    bottom: 30px;
    right: 30px;
    transition: opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
}

#to-top-button:hover {
    cursor: pointer;
}

#to-top-button.show {
    opacity: 1;
    visibility: visible;
}

/* Remove gutter */

.no-gutter > [class*='col-'] {
    padding: 0;
}

.small-gap-left {
    margin-right: -10px;
}

.small-gap-right {

}

/* Inner Pages - General */

.page-section {
    padding: 70px 0;
}

.page-section h2 {
    font-size: 32px;
    margin-bottom: 40px;
    text-align: center;
}

.page-section h2:after {
    content: ' ';
    display: block;
    border-bottom: 4px solid;
    border-image-slice: 1;
    border-image-source: linear-gradient(to left, #00ABCC, #000);
    width: 36px;
    margin: 20px auto;
}

.page-section h3 {
    font-size: 20px;
}

.page-section h3 span {
    font-size: 32px;
    color: #00ABCC;
    margin-right: 10px;
}

@media (max-width: 767px) {
    .page-section {
        padding: 35px 0;
    }

    .page-section h2 {
        font-size: 24px;
    }

    .page-section h3 {
        font-size: 18px;
    }

    .page-section h3 span {
        font-size: 25px;
    }
}

.section-bg {
    background: #EDF2F4;
}

.breadcrumb-bar {
    border-bottom: 1px solid #ddd;
}

ol.breadcrumb {
    padding: 25px 0;
    margin: 0;
    background: none;
}

@media (max-width: 767px) {
    ol.breadcrumb {
        padding: 18px 0;
    }
}

ol.breadcrumb li {
    font-size: 13px;
    /* text-transform: uppercase; */
    color: #00ABCC;
}

ol.breadcrumb li a {
    color: #00ABCC;
}

ol.breadcrumb li:first-child a::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="m2 13l9.293-9.293a1 1 0 0 1 1.414 0L22 13h-2v8a1 1 0 0 1-1 1h-5v-7h-4v7H5a1 1 0 0 1-1-1v-8H2Z"/></svg>');
    margin-right: 10px;
    position: relative;
    top: 1px;
}

.btn-link-blue {
    color: #00ABCC;
    /* text-transform: uppercase; */
    padding: 0;
}

.btn-link-blue:hover {
    color: #00ABCC;
    opacity: 0.8;
}

@media (max-width: 767px) {
    .btn-link-blue {
        font-size: 14px;
    }

}

/*.btn-link-blue::after {
  content: " ->";
}*/

/* Mission Page */

.greeting-wrap {
    background: url("../../img/bg.png");
    background-repeat: no-repeat;
    background-size: cover;
}

.greeting {
    color: #fff;
    padding: 60px 30px;
}

.color-box {
    background: url("../../img/bgg-sp.png") 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    padding: 80px 30px;
}

.color-box img {
    width: 75px;
}

.color-box h3 {
    font-size: 28px;
    padding-bottom: 40px;
}

.color-box p {
    line-height: 2em;
}

@media (min-width: 992px) {
    .greeting {
        color: #fff;
        padding: 30px 60px 30px 60px;
    }

    .color-box {
        background: url("../../img/bgg.png");
        background-size: contain;
        background-repeat: no-repeat;
        padding: 60px 0;
        margin-bottom: 40px;
    }

    .color-box h3 {
        font-size: 40px;
        padding-bottom: 30px;
    }

    .color-box p {
        font-size: 24px;
        line-height: 1.6em;
    }

}

/* Quality Page */

.border-box {
    border: 2px solid #C8D0D3;
    padding: 30px 55px 10px 55px;
    margin-bottom: 50px;
}

@media (max-width: 767px) {
    .border-box {
        padding: 30px 30px 10px 30px;
    }
}

.box {
    padding: 35px 55px 20px 55px;
    margin-bottom: 20px;
    background: #EDF2F4;
}

.section-bg .box {
    background: #fff;
}

.box h3 {
    margin-right: 70px;
}

@media (max-width: 767px) {
    .box {
        padding: 30px 30px 20px 30px;
        margin-bottom: 30px;
    }

    .box h3 {
        margin-right: 0;
        margin-bottom: 20px;
    }
}

.bigger-text {
    font-size: 20px;
    font-weight: bold;
}

@media (max-width: 767px) {
    .bigger-text {
        font-size: 18px;
    }
}

.smaller-text {
    font-size: 14px;
}

.img-text {
    width: 115px;
}

.blue-text {
    color: #00ABCC;
}

.border-box-top {
    background: #EDF2F4;
    padding: 15px 10px 5px 10px;
}

.inpage-nav {
    padding: 25px 0;
}

.inpage-nav .btn {
    margin: 10px 5px;
    padding: 12px 25px;
}

@media (max-width: 767px) {
    .inpage-nav .btn {
        width: 100%;
        margin: 8px 0;
    }
}

/* About Page */
.table-custom {
    margin: 0 auto;
    display: table;
    white-space: initial;
    width: 100%;
}

.table-custom td:nth-child(2) {
    width: 20%;
}

.table-custom td:nth-child(2) {
    width: 80%;
}

.table-custom > tbody > tr:nth-child(odd) > td,
.table-custom > tbody > tr:nth-child(odd) > th {
    background-color: #EDF2F4;
}

.striped-darker > tbody {
    background-color: #fff;
}

.striped-darker > tbody > tr:nth-child(odd) > td,
.striped-darker > tbody > tr:nth-child(odd) > th {
    background-color: #DCE5E9;
}

.table-custom th, .table-custom td {
    padding: 25px 35px;
    border: 0;
}

.table-custom th {
    width: 18%;
    vertical-align: middle;
}

@media (max-width: 767px) {
    .table-custom th {
        display: block;
        width: 100%;
        padding: 20px 25px 10px 25px;
    }

    .table-custom td {
        display: block;
        padding: 0 25px 20px 25px;
    }
}

.card {
    border-radius: 0 !important;
    border: 0;
    background: none;
    margin-bottom: 25px;
}

.card-header {
    background: #00ABCC;
    cursor: pointer;
    border-bottom: none;
    padding: 18px 40px;
}

.card-header .title {
    font-size: 24px;
    /* text-transform: uppercase; */
    color: #fff;
}

.card-header .accicon {
    float: right;
    font-size: 25px;
    width: 1.2em;
    color: #fff;
}

@media (max-width: 767px) {
    .card-header {
        padding: 12px 20px;
    }

    .card-header .title {
        font-size: 16px;
        line-height: 2.1em;
    }

    .table-custom > tbody > tr:nth-child(odd) > td,
    .table-custom > tbody > tr:nth-child(odd) > th {
        width: 100%;
    }
}

.card-body {
    border-top: 0;
    padding: 40px 80px 40px 40px;
}

.card-body h3 {
    margin-bottom: 25px;
}

.card-header:not(.collapsed) .rotate-icon {
    transform: rotate(180deg);
}

.google-map-link {
    color: #00ABCC;
    text-decoration: underline;
    margin-left: 25px;
}

.google-map-link:hover {
    color: #00ABCC;
    text-decoration: underline;
    opacity: 0.8;
}

.number-list li {
    padding: 5px 0;
}

.tag {
    background-color: #00ABCC;
    color: #fff;
    padding: 5px 12px;
    position: relative;
    top: -15px;
}

.map-wrapper {
    position: relative;
}

.map {
    width: 85%;
}

.arrow {
    position: absolute;
}

.label {
    background: #004C5B;
    color: #fff;
    padding: 9px 28px 5px 28px;
    font-size: 10px;
    line-height: 1.9em;
    text-align: center;
    position: absolute;
}

.label:hover {
    color: #fff;
}

.label span {
    font-size: 19px;
    display: block;
}

@media (max-width: 767px) {
    .label {
        padding: 3px 7px 1px 7px;
        font-size: 3px;
    }

    .label span {
        font-size: 6px;
    }

}

.label-jp {
    top: 40%;
    left: 58%;
}

.arrow-jp {
    top: 43%;
    left: 53.5%;
    width: 60px;
}

.label-uk {
    top: 25%;
    left: 0.6%;
}

.arrow-uk {
    top: 29.5%;
    left: 18.3%;
    width: 29px;
}

.label-tw {
    top: 51%;
    left: 55%;
}

.arrow-tw {
    top: 50%;
    left: 49%;
    width: 77px;
}

.label-usa1 {
    top: 25.5%;
    left: 71%;
}

.arrow-usa1 {
    top: 34%;
    left: 76%;
    width: 10px;
}

.label-usa2 {
    top: 40%;
    right: 0;
}

.arrow-usa2 {
    top: 38%;
    right: 10%;
    width: 28px;
}

.label-usa3 {
    top: 57%;
    right: 10%;
}

.arrow-usa3 {
    top: 48%;
    right: 14%;
    width: 10px;
}

.label-il {
    top: 49%;
    left: 10%;
}

.arrow-il {
    top: 47%;
    left: 21.5%;
    width: 91px;
}

.label-ph {
    top: 64%;
    left: 60%;
}

.arrow-ph {
    top: 54%;
    left: 49%;
    width: 139px;
}

.label-kr {
    top: 13%;
    left: 50%;
}

.arrow-kr {
    top: 21%;
    left: 50%;
    width: 56px;
}

.label-ru {
    top: 6%;
    left: 23%;
}

.arrow-ru {
    top: 14%;
    left: 28.5%;
    width: 10px;
}

.label-cn1 {
    top: 24%;
    left: 35%;
}

.arrow-cn1 {
    top: 32%;
    left: 44%;
    width: 50px;
}

.label-cn2 {
    top: 44.5%;
    left: 30%;
}

.arrow-cn2 {
    top: 45%;
    left: 39%;
    width: 100px;
}

.label-cn3 {
    top: 33.9%;
    left: 32%;
}

.arrow-cn3 {
    top: 42.3%;
    left: 43.5%;
    width: 31px;
}

.label-vet {
    top: 62%;
    left: 36%;
}

.arrow-vet {
    top: 55%;
    left: 38.5%;
    width: 91px;
}

.label-ind {
    top: 62%;
    left: 8%;
}

.arrow-ind {
    top: 55.4%;
    left: 29.6%;
    width: 110px;
}

@media (max-width: 767px) {
    .label-jp {
        top: 33%;
        left: 58%;
    }

    .arrow-jp {
        top: 36%;
        left: 53.5%;
        width: 18px;
    }

    .label-uk {
        top: 20%;
        left: 0;
    }

    .arrow-uk {
        top: 25%;
        left: 18.5%;
        width: 9px;
    }

    .label-tw {
        top: 43%;
        left: 55%;
    }

    .arrow-tw {
        top: 42%;
        left: 49%;
        width: 23px;
    }

    .label-usa1 {
        top: 22%;
        left: 71%;
    }

    .arrow-usa1 {
        top: 29%;
        left: 76%;
        width: 3px;
    }

    .label-usa2 {
        top: 34%;
        right: 0;
    }

    .arrow-usa2 {
        top: 32%;
        right: 10%;
        width: 9px;
    }

    .label-usa3 {
        top: 48%;
        right: 10%;
    }

    .arrow-usa3 {
        top: 41%;
        right: 14%;
        width: 3px;
    }

    .label-il {
        top: 45%;
        left: 12%;
    }

    .arrow-il {
        top: 40%;
        left: 22%;
        width: 27px;
    }

    .label-ph {
        top: 53%;
        left: 60%;
    }

    .arrow-ph {
        top: 45%;
        left: 49%;
        width: 43px;
    }

    .label-kr {
        top: 11%;
        left: 50%;
    }

    .arrow-kr {
        top: 18%;
        left: 50%;
        width: 17px;
    }

    .label-ru {
        top: 5%;
        left: 23%;
    }

    .arrow-ru {
        top: 12%;
        left: 28.5%;
        width: 3px;
    }

    .label-cn1 {
        top: 21%;
        left: 35%;
    }

    .arrow-cn1 {
        top: 28%;
        left: 44%;
        width: 15px;
    }

    .label-cn2 {
        top: 32%;
        left: 31%;
    }

    .arrow-cn2 {
        top: 38%;
        left: 39%;
        width: 28px;
    }

    .label-cn3 {
        top: 30%;
        left: 32%;
    }

    .arrow-cn3 {
        top: 36.5%;
        left: 44.5%;
        width: 8px;
    }

    .label-vet {
        top: 52%;
        left: 25%;
    }

    .arrow-vet {
        top: 46.7%;
        left: 39.6%;
        width: 24px;
    }

    .label-ind {
        top: 52%;
        left: 9%;
    }

    .arrow-ind {
        top: 43.5%;
        left: 29%;
        width: 33px;
    }

}

/* Products Page */

.product-nav .nav-link {
    margin: 0 10px;
    margin-top: 20px;
}

ul.top-menu {
    position: absolute;
    top: 10px;
    left: 440px;
}

ul.top-menu li {
    display: inline;
}

ul.top-menu li a {
    font-size: 13px;
    color: #fff;
    border-right: 1px solid #eee;
    padding: 0 10px;
    text-decoration: none;
}

ul.top-menu li:last-child a {
    border: 0;
}

ul.top-menu li a:hover {
    color: #ddd;
}

.banner-products {
    padding: 0;
    background: url("../../img/banner-products.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 165px 0;
}

.banner-products h1 {
    font-size: 46px;
    color: #fff;
}

@media (max-width: 767px) {
    .banner-products {
        background: url("../../img/banner-products-sp.png");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }

    .banner-products h1 {
        font-size: 32px;
    }
}

.search-box {
    background: #2B2C2C;
    padding: 40px 0 50px 0;
    color: #fff
}

.search-box p {
    font-size: 24px;
}

@media (max-width: 767px) {
    .search-box p {
        font-size: 20px;
    }
}

.search-box input {
    height: 55px;
    border-radius: 0;
    border: 0;
}

.search-box .btn {
    background: #00ABCC;
    color: #fff;
    border-radius: 0;
    padding: 0 40px;
}

.search-box img {
    position: relative;
    top: 7px;
    width: 16px;
}

@media (max-width: 767px) {
    .search-box .btn {
        padding: 0 20px;
    }
}

.card2 {
    border-radius: 0 !important;
    border: 0;
    background: #fff;
    margin-bottom: 25px;
}

.card2 p {
    margin-bottom: 0;
}

.card-header2 {
    cursor: pointer;
    position: relative;
    padding: 35px 35px 25px 35px;
}

.card-header2 h3 span {
    margin-right: 20px;
}

.card-header2 .accicon {
    font-size: 25px;
    background: #00ABCC;
    color: #fff;
    position: absolute;
    top: 30px;
    right: 30px;
    width: 38px;
    height: 38px;
    line-height: 35px;
    border-radius: 50px;
    text-align: center;
}

@media (max-width: 767px) {
    .card-header2 .accicon {
        font-size: 25px;
        width: 28px;
        height: 28px;
        line-height: 25px;
    }
}

.card-header2 .accicon:after {
    content: "+";
}

.card-header2:not(.collapsed) .accicon:after {
    content: "-";
}

.card-body2 {
    margin-left: 80px;
    padding-bottom: 35px;
    width: 690px;
}

@media (max-width: 767px) {
    .card-header2 {
        padding: 35px 30px 25px 30px;
    }

    .card-body2 {
        margin-left: 0;
        width: 100%;
        padding: 0 30px 30px 30px;
    }

    .card2 p {
        width: 70%;
    }
}

.content-bg {
    background: #fff;
    padding: 100px 160px;
}

@media (max-width: 767px) {
    .content-bg {
        padding: 100px 30px;
    }
}

.product-info {
    margin-bottom: 50px;
}

.product-info img {
    border: 1px solid #c8c5c5;
}

.product-info a:hover {
    opacity: 0.5;
    cursor: pointer;
}

.title-underline {
    border-bottom: 1px solid #707070;
    margin-bottom: 30px;
}

h4.heading-deco {
    font-size: 20px;
    border-left: 10px solid #000;
    padding-left: 10px;
    margin-bottom: 15px;
    line-height: 1.2em;
    display: inline-block;
}

@media (max-width: 767px) {
    h4.heading-deco {
        font-size: 18px;
    }
}

ul.list {
    padding: 0;
    margin: 0;
}

ul.list li {
    list-style: none;
    margin-bottom: 5px;
}

ul.list li a {
    color: #00ABCC;
}

.img-wrap {
    position: relative;
    width: 100%;
}

.img-wrap img {
    width: 100%;
    height: auto;
}

.img-wrap a {
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-36%, -50%);
    -ms-transform: translate(-50%, -50%);
}

@media (max-width: 767px) {
    .img-wrap a {
        left: 15%;
        transform: translate(-10%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    .img-wrap .btn-blue {
        background-color: transparent;
        font-size: 14px;
        font-weight: 400;
        color: #fff;
        padding: 0;
        outline: none;
        /* text-transform: uppercase; */
    }
}

/* Case Page */

.btn-grey {
    background: #EDF2F4;
    width: 100%;
    padding: 12px 0;
    border-radius: 0;
    margin-right: 12px;
    margin-bottom: 12px;
}

.case-category .active {
    background: #00ABCC;
    color: #fff;
}

.item-img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border: 1px solid #c8c5c5;
}

.case-item img {
    width: 100%;
}

.case-item:hover {
    opacity: 0.5;
    cursor: pointer;
}

.case-item a:hover,
.item a:hover {
    opacity: 0.5;
    cursor: pointer;
}

.navbar-custom-dark {
    background: #111;
}

/* 404 Page */

.not-found-img {
    width: 478px;
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    .not-found-img {
        width: 70%;
    }
}

.not-found-msg {
    margin-bottom: 40px;
}

.not-found-msg span {
    font-size: 24px;
    line-height: 2.1em;
}

/* Privacy Page */
/* Sitemap Page */

.title-bg {
    background: #EDF2F4;
    padding: 15px 25px;
    margin-bottom: 35px;
}

.site-links {
    border-left: 7px solid #000;
    padding-left: 10px;
    margin-bottom: 15px;
    line-height: 1.1em;
    display: inline-block;
    font-size: 20px;
}

.site-links:hover {
    opacity: 0.6;
}

.site-links + ul {
    padding: 0;
    margin: 0;
    margin-bottom: 30px;
    list-style: none;
}

.site-links + ul li {
    margin-bottom: 5px;
}

.site-links + ul li a:hover {
    opacity: 0.6;
}

@media (max-width: 767px) {
    .site-links + ul {
        margin-left: 20px;
    }
}

/* News Page */

.side-box {
    background: #EDF2F4;
    padding: 30px;
}

.side-box h3 {
    font-size: 20px;
    color: #00ABCC;
}

.side-box h4 {
    font-size: 16px;
}

.side-box ul.list li a {
    color: #aaa;
    display: block;
    padding: 3px 0;
}

.side-box ul.list li.active a, .side-box ul.list li:hover a {
    color: #000;
}

@media (max-width: 767px) {
    .side-box {
        margin: -35px -15px 30px -15px;
        padding: 20px 15px;
        overflow: hidden;
    }

    .side-box h3 {
        text-align: center;
    }

    .side-box ul.list li a {
        display: inline;
        padding-right: 20px;
        float: left;
    }
}

/* Search Result Page */

p.search-result {
    font-weight: bold;
}

p.search-result span {
    font-size: 24px;
    color: #00ABCC;
    margin-right: 7px;
}

.search-result-contents a {
    color: #00ABCC;
}

.search-result-contents a:hover {
    opacity: 0.7;
}

.alternate-row div {
    padding: 40px 90px;
}

@media (max-width: 767px) {
    .alternate-row div {
        padding: 30px;
    }
}

.alternate-row div h4 {
    font-size: 18px;
}

.alternate-row > div:nth-of-type(odd) {
    background: #EDF2F4;
}

ul.custom-pagination li a {
    background: #DCE5E9;
    margin: 0 8px;
    padding: 0;
    border: 0;
    border-radius: 0 !important;
    width: 30px;
    height: 30px;
    line-height: 1.8em;
    text-align: center;
    color: #00ABCC;
}

ul.custom-pagination li a:hover {
    color: #00ABCC;
}

ul.custom-pagination li.active a {
    background: none !important;
    color: #000 !important;
    margin: 0;
}

ul.custom-pagination li img {
    width: 15px;
}

/* Contact Page */

.contact-wrapper {
    background: #fff;
    padding: 50px 100px;
}

.contact-wrapper .icon {
    width: 34px;
}

.contact-wrapper .text-bold {
    font-size: 40px;
}

.contact-wrapper .text-small {
    font-size: 14px;
    color: #000;
}

@media (max-width: 767px) {
    .contact-wrapper {
        padding: 50px 25px;
        margin: 0 20px;
    }

    .contact-wrapper .icon {
        width: 30px;
    }

    .contact-wrapper .text-bold {
        font-size: 33px;
    }
}

.mandatory {
    border: 1px solid #00ABCC;
    padding: 2px 5px;
    margin-right: 8px;
    font-size: 14px;
    color: #00ABCC;
}

.form-group {
    margin-bottom: 30px;
}

.form-group label {
    margin-bottom: 15px;
}

.form-control {
    border-radius: 3px;
    font-size: 14px;
    height: 45px;
    padding-left: 20px;
}

.form-control::placeholder {
    color: #aaa;
}

.info-box {
    background: #EDF2F4;
    padding: 30px;
}

.info-box h3 {
    font-size: 16px;
    margin-bottom: 15px;
}

.info-box p {
    font-size: 14px;
}

.link-blue {
    color: #00ABCC;
    text-decoration: underline;
}

.link-blue:hover {
    color: #00ABCC;
    text-decoration: underline;
    opacity: 0.7;
}

.thanks-msg p.lead {
    color: #00ABCC;
    font-size: 32px;
    font-weight: 600;
}

@media (max-width: 767px) {
    .thanks-msg p.lead {
        font-size: 24px;
        text-align: center;
    }

    .thanks-msg p {
        text-align: left;
    }
}

.bg-color {
    background: #EDF2F4;
}

/* FAQ Page */

.faq-subtitle {
    font-size: 20px;
    border-left: 8px solid #00ABCC;
    padding-left: 10px;
    margin-bottom: 20px;
    line-height: 1.2em;
    color: #00ABCC;
}

@media (max-width: 767px) {
    .faq-subtitle {
        font-size: 16px !important;
    }
}

/* Catalog Page */

.box-wrapper {
    margin-bottom: 30px;
}

.box-header {
    background: linear-gradient(to left, #00ABCC, #000);
    color: #fff;
    padding: 12px;
}

.box-header h3 {
    /* text-transform: capitalize; */
    font-weight: normal;
    margin: 0;
}

.box-content {
    background: #fff;
    padding: 40px;
}

@media (max-width: 767px) {
    .box-header h3 {
        font-size: 18px;
    }

    .box-content {
        padding: 30px 60px;
    }

    .box-content img {
        margin-bottom: 30px;
    }
}

.btn-outline {
    background-color: none;
    border: 1px solid #00abcc;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 400;
    color: #00abcc;
    padding: 10px 30px;
    outline: none;
    /* text-transform: capitalize; */
    width: 100%;
}

.btn-outline:hover {
    color: #00abcc;
}

.pdf {
    background: rgba(0, 0, 0, 0.7);
    padding: 2px 12px;
    border-radius: 50px;
    color: #fff;
    font-size: 12px;
    position: absolute;
    left: 22px;
    top: 7px;
    border: 1px solid #fff;
}

.service-assenble-column:nth-of-type(1) {
    background: url(../img/service_microassemble_img02.png) top left / cover;
    padding: 150px 70px;
    color: #fff;
    text-align: center;
}

.service-assenble-column:nth-of-type(2) {
    background: url(../img/service_microassemble_img01.png) top left / cover;
    padding: 150px 70px;
    color: #fff;
    text-align: center;
}

@media (max-width: 767px) {
    .service-assenble-column:nth-of-type(1), .service-assenble-column:nth-of-type(2) {
        padding: 100px 20px;
    }
}

.table-service th {
    background: #C8D0D3;
    text-align: center;
    border-right: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.table-service td:first-of-type {
    background: #D4DDE0;
}

.table-service td {
    background: #fff;
    text-align: center;
    border-right: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.service-banner {
    position: relative;
}

.service-banner .btn {
    position: absolute;
    right: 60px;
    top: 50%;
    background: #ff7F50;
    transform: translateY(-50%);
}

.service-tab {
    background: #EDF2F4;
    padding: 60px 40px;
}

@media (max-width: 767px) {
    .service-tab {
        padding: 40px 20px;
    }
}

.service-tab input {
    width: 120px;
    padding: 6px;
    border: #C8D0D3;
    margin-right: 8px;
}

.service-tab select {
    width: 300px;
    padding: 6px;
    border: #C8D0D3;
}

@media (max-width: 767px) {
    .service-tab select, .service-tab input {
        width: 80%;
    }
}

.service-tab-subhead {
    font-size: 20px;
    font-weight: bold;
    border-left: 8px #000 solid;
    text-indent: 10px;
    margin-bottom: 20px;
}

.require {
    border: #00ABCC 1px solid;
    background: #fff;
    color: #00ABCC;
    font-weight: 400;
    font-size: 14px;
    padding: 4px 6px;
    margin-left: 10px;
}

.tabs {
    display: flex;
    margin: 0;
    padding: 0;
    justify-content: space-between;
}

.tabs-list {
    border-radius: 4px 4px 0 0;
    background-color: #C8D0D3;
    list-style: none;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    width: 24.8%;
    padding: 10px 0 10px;
    height: 84px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.tabs-list.current {
    background-color: #EDF2F4;
    font-size: 20px;
    padding-top: 20px;
    margin-top: -10px;
    height: 96px;
}

.scroll-x {
    display: block;
    overflow-x: auto;
    width: 100%;
}

table {
    white-space: nowrap;
    height: auto !important;
}

table table {
    display: table;
}

table img {
    width: auto;
}

@media (max-width: 991px) {
    table {
        display: block;
    }

    .service-banner .btn {
        font-size: 10px;
        right: 20px;
    }
}

@media (max-width: 767px) {
    .item-img img,
    img {
        width: 100%;
        height: auto;
    }

    .hero-unit img {
        width: auto;
    }
}

@media (max-width: 479px) {
    .service-banner .btn {
        right: 10px;
    }
}

.slick-vertical .slick-slide {
    border: none !important;
}

#case-items span a {
    color: #00ABCC !important;
}

.unknown-encounter:hover {
    opacity: 0.7;
}