@charset "UTF-8";
/* Reset ====================================================================*/
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body, div, h1, h2, h3, h4, h5, h6, form, input, button, textarea, th, td, figure { margin: 0; padding: 0;-moz-text-size-adjust: none; -ms-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none; }
img { max-width: 100% !important; height: auto !important; border: 0; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
h1 { font-size: 250%; } h2 { font-size: 200%; } h3 { font-size: 175%; } h4 { font-size: 150%; } h5 { font-size: 125%; }
table { border-collapse: collapse; border-spacing: 0; }
a { text-decoration: none; -webkit-transition: all .3s; -moz-transition: all .3s; -o-transition: all .3s; transition: all .3s; }
a:hover { text-decoration: none; }
input, textarea { outline: none; }

/* Default ====================================================================*/
html {
    overflow-x: hidden; 
}
body { 
    font-family: "Raleway", sans-serif;
    font-weight: 400;
    line-height: 1.6;
    color: #333; 
    overflow-x: hidden; 
}
ol, ul {
    margin-bottom: 0;
}
p, td, li, label {
/*    font-family: '微軟正黑體', sans-serif;*/
    font-size: 100%;
    line-height: 1.6;
    font-weight: 400;
}
h1, h2, h3, h4, h5, h6 {
    font-family: "Raleway", sans-serif;
    line-height: 1.6;
    font-weight: 400;
}
a, a:hover, a:active, a:visited, a:focus {
/*    font-family: 'Noto Sans TC', sans-serif;*/
    color: #333; 
}
::selection {
    background: rgba(34,138,203,0.2);
}
::-moz-selection {
    background: rgba(34,138,203,0.2);
}
.table_scroll { 
    overflow-x: auto; 
}
.datatable {
    margin-bottom: 20px;
    border-spacing: 0;
    width: 100%;
}
.datatable th, .datatable td {
    border: 1px solid #006599;
    text-align: center;
    padding: 5px;
    font-weight: 600;
    font-size: 12px;
}
.datatable th {
    background: #9DC4EF;
    color: #000;
}
.datatable tr:first-child th {
    text-align: center;
    vertical-align: middle;
}
.datatable td {
    vertical-align: middle;
    color: #000;
    min-width: 90px;
}
.datatable td img {
    min-width: 10px !important;
}
.wrap-1410 {
    max-width: 1450px;
    margin: 0 auto;
    text-align: left;
    position: relative;
    padding: 0 20px;
    clear: both;
}
.wrap-1350 {
    max-width: 1390px;
    margin: 0 auto;
    text-align: left;
    position: relative;
    padding: 0 20px;
    clear: both;
}
.font-light {
    font-weight: 300;
}
.font-regular {
    font-weight: 400;
}
.font-medium {
    font-weight: 500;
}
.font-semi_bold {
    font-weight: 600;
}
.font-bold {
    font-weight: 700;
}
.btn-deco {
    font-size: 16px;
    background: #007AD0;
    max-width: 250px;
    margin-top: 55px;
    border: 1px solid #007AD0;
}
.btn-deco a {
    font-size: 16px;
    font-weight: 300;
    color: #FFF;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 0;
    position: relative;
    transition: all .8s;
    -webkit-transition: all .8s;
    -moz-transition: all .8s;
    -o-transition: all .8s;
}
.btn-deco a::before {
    content: '';
    position: absolute;
    top: calc(50% - 7px);
    right: 50px;
    width: 8px;
    height: 14px;
    background: url(../images/index/index-more.png);
    transition: all .8s;
    -webkit-transition: all .8s;
    -moz-transition: all .8s;
    -o-transition: all .8s;
}
.btn-deco a:hover {
    color: #007AD0;
}
.btn-deco a:hover::before {
    background: url(../images/index/index-more-b.png);
}
.water-btn {
    position: relative;
    overflow: hidden;
    z-index: 9;
}
.water-btn::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -15px;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    background: #FFF;
    z-index: -1;
}
.water-btn-reverse::before {
    background: #0079d1;
}
@keyframes water-drop {
    0 {
        top: 0;
    }
    60% {
        height: 15px;
        border-radius: 50%;
        left: 50%;
        width: 15px;
        top: 60%;
    }
    80% {
        top: 80%;
        width: 100%;
        left: 0;
        border-radius: 0;
        opacity: 1;
    }
    100% {
        width: 100%;
        left: 0;
        border-radius: 0;
        bottom: 0;
        top: 100%;
        height: 30px;
        animation-delay: 120s;
        opacity: 0;
    }
}
.water-btn:hover::before {
    animation: water-drop 0.4s linear;
}
.water-btn::after {
    content: '';
    position: absolute;
    left: 0%;
    bottom: 0px;
    height: 0%;
    width: 100%;
    border-radius: 0%;
    background: #FFF;
    z-index: -1;
}
.water-btn-reverse::after {
    background: #0079d1;
}
.water-btn:hover::after {
    height: 100%;
    transition: all 0.3s linear;
    transition-delay: 0.4s;
}
.water-btn:hover {
    transition: all 0.3s linear;
    transition-delay: 0.4s;
}


/* header */
header {
    position: relative;
    border-bottom: 1px solid #0090F9;
}
header::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 27px;
    bottom: -28px;
    left: 0;
    background: url('../images/banner-line.png') repeat-x;
    z-index: 1;
}
.menu {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
}
.menu-button {
    width: 50px;
    height: 36px;
    cursor: pointer;
    position: absolute;
    z-index: 99991;
    top: 15px;
    right: 10px;
    display: none;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}
.menu-button span {
    width: 70%;
    height: 3px;
    display: block;
    background: #228ACC;
    border-radius: 5px;
    transition: all .2s;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -o-transition: all .2s;
}
.menu-button.open span {
    position: absolute;
}
.menu-button.open span:nth-child(1) {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
}
.menu-button.open span:nth-child(2) {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}
.menu-button.open span:nth-child(3) {
    opacity: 0;
}
.menu-main {
    display: flex;
    margin-left: 20px;
    margin-right: 5px;
    padding-left: 0;
}
.menu-main > li {
    display: flex;
    align-items: center;
    margin: 0px 8px;
    position: relative;
}
.menu-main > li:last-child {
    margin-right: 0;
}
.menu-main > li > a {
    display: flex;
    color: #333333;
    font-size: 18px;
    font-weight: 500;
    width: 100%;
    padding: 0 20px 28px 20px;
    letter-spacing: 0.5px;
}
.menu-main > li:last-child > a {
    padding-right: 0;
}
.menu .drop-down > a::after {
    content: '';
    position: absolute;
    background: url(../images/menu-arrow.png);
    top: 10px;
    right: 0;
    width: 6px;
    height: 3px;
}
.menu .drop-down > a:hover::after, .menu-main > li > a.current::after {
    background: url(../images/menu-arrow-b.png);
}
.menu-main > li:hover > a,.menu-main > li > a.current {
    color: #006AB7;
}
.menu .drop-down .menu-list { 
    opacity: 0; visibility: hidden; display: block; transition: all 0.25s ease 0s;
}


.menu .menu-list { 
    display: none; 
    position: absolute; 
}
.menu-main .menu-list {
    position: absolute;
    left: calc(50% - 100px);
    top: 50px;
    width: 200px;
    padding-left: 0;
    background: #006AB6;
    list-style-type: none;
    text-align: center;
    z-index: 999;
}
.menu-main .menu-list li { 
    position: relative;
}
.menu-main .menu-list li a {
    color: #FFF;
    font-weight: 500;
    font-size: 14px;
    width: 100%;
    text-align: center;
    padding: 14px 10px;
    text-decoration: none;
    display: inline-block;
    position: relative;
    outline: 0;
    border-bottom: 1px solid #4594CC;
    padding-left: 20px;
    letter-spacing: 0.5px;
}
.menu-main .menu-list li:last-child a {
    border-bottom: none;
}
.menu-main .menu-list li a:hover, .menu-main .menu-list li a.current { 
    background: #85ccff;
    color: #333;     
}
.menu-main .menu-pro > li {
    position: relative;
}
.header-menu-top {
    max-width: 1450px;
    height: 100%;
    margin: 0 auto;
    padding: 26px 20px 0 20px;
    display: flex;
    justify-content: space-between;
    position: relative;
}
.logo {
    display: inline-block;
    padding-bottom: 29px;
}
.menu-group {
    display: flex;
    align-items: center;
    position: absolute;
    top: 16px;
    right: 30px;
}
.menu-group > div {
    padding-left: 36px;
}
.menu-language {
    position: relative;
}
.menu-language-btn {
    cursor: pointer;
    width: 20px;
}
.menu-language-options {
    display: none;
    position: absolute;
    z-index: 10002;
    top: 32px;
    right: -30px;
    background: #FFF;
    text-align: center;
    width: 78px;
}
.menu-language-options a {
    color: #FFF;
    font-size: 12px;
    display: block;
    padding: 8px 6px;
    border-bottom: 1px solid #4594CC;
    background: #006AB6;
}
.menu-language-options a:last-child {
    border-bottom: none;
}
.menu-language-options a:hover, .menu-language-options a.current {
    background: #85ccff;
    color: #333;
}
.menu-search > div {
    position: relative;
    margin-left: 10px;
    padding-right: 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.menu-search input {
    width: 100%;
    height: 100%;
    display: flex;
    padding: 0 5px;
    background-color: #fff;
    border: 2px solid #006AB6;
    font-size: 15px;
}
.search {
    width: 0;
    height: 26px;
    overflow: hidden;
    position: absolute;
    top: -10px;
    right: 26px;
    background-color: #fff;
    z-index: 9955;
    -webkit-transition: all 0.25s ease 0s;
    -moz-transition: all 0.25s ease 0s;
    -o-transition: all 0.25s ease 0s;
    -ms-transition: all 0.25s ease 0s;
    transition: all 0.25s ease 0s;
}
.search-btn {
    position: absolute;
    top: -12px;
    right: 0px;
    display: block;
    z-index: 5;
    width: 20px;
}
.search-pic {
    position: absolute; 
    top: -12px; 
    right: 0px; 
    cursor: pointer;
    z-index: 10;
    width: 20px;
}
.search-open {
    width: 160px;
    -webkit-transition: all 0.25s ease 0s;
    -moz-transition: all 0.25s ease 0s;
    -o-transition: all 0.25s ease 0s;
    -ms-transition: all 0.25s ease 0s;
    transition: all 0.25s ease 0s;
}
.search-btn-open {
    z-index: 15;
}
.menu-inquiry {
    position: relative;
}
.menu-inquiry img {
    width: 20px;
}
.menu-inquiry a {
    color: #FFF;
}
.inquiry_no {
    position: absolute;
    right: -9px;
    top: -4px;
    color: #ffffff;
    background-color: #005CB9;
    border-radius: 100%;
    font-size: 12px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* breadcrumbs */
.breadcrumbs {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 15px 0;
}
.breadcrumbs ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    list-style-type: none;
    align-items: center;
    padding-left: 25px;
}
.breadcrumbs .in-home {
    position: relative;
}
.breadcrumbs .in-home::before {
    content: '';
    position: absolute;
    background: url('../images/in-home.png');
    top: calc(50% - 7.5px);
    left: -23px;
    width: 15px;
    height: 15px;
    transition: all .2s;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -o-transition: all .2s;
}
.breadcrumbs li, .breadcrumbs a {
    color: #b9b9b9;
/*    font-family: '微軟正黑體', sans-serif;*/
    font-size: 15px;
}
.breadcrumbs a:hover {
    color: #006AB7;
}
.breadcrumbs a::after {
    content: '/';
    margin: 0 3px;
    color: #b9b9b9;
}


/* banner */
.banner-mobile {
    display: none;
}


@media all and (min-width: 1025px) { 
    .menu {
        display: flex !important;
    }
    .menu .drop-down:hover .menu-list { opacity: 1; visibility: visible; display: block;}
}


@media all and (max-width: 1250px) {
    .menu-main > li > a {
        font-size: 15px;
        padding: 0 10px 28px 10px;
    }
}


@media all and (max-width: 1024px) { 
    header {
        background: #FFF;
        margin-top: 0;
        border-bottom: none;
    }
    header::before {
        display: none;
    }
    .header-menu-top {
        min-height: 70px;
        height: auto;
        padding: 18px 20px 0 20px;
    }
    .menu {
        width: 100%;
        display: none;
        position: fixed;
        top: 70px;
        left: 0;
        z-index: 9999;
        overflow: auto;
        height: 100vh;
        background: rgba(0, 0, 0, 0.7);
    }
    .menu-bg-top {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 99999;
        height: 70px;
        background: #FFF;
        border-bottom: 2px solid #0090F9;
    }
    .menu-bg {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
/*        background: rgba(0, 0, 0, 0.7);*/
        z-index: 888;
    }
    .logo {
        position: absolute;
        top: 7px;
        left: 0px;
        padding-bottom: 0;
    }
    .logo img {
        width: 60%;
        padding: 10px 0 0 20px;
    }
    .menu-button {
        display: flex;
    }
    .menu-main {
        padding-left: 0;
        display: flex;
        flex-direction: column;
        margin-left: 0; 
        margin-right: 0;
    }
    .menu-main > li {
        padding: 0 20px;
        width: 100%;
        background: #228ACC;
        margin: 0;
    }
    .menu .drop-down {
        position: relative;
        display: flex;
        flex-direction: column;
    }
    .menu .drop-down > a::after {
        display: none;
    }
    .menu-main .menu-list, .menu .drop-down .menu-list { 
        display: none;
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
        opacity: 1;
        visibility: visible;
        transition: all 0s ease 0s;
    }
    .menu-main .menu-list li {
        padding-bottom: 0;
    }
    .menu-main .menu-list li a {
        padding: 10px;
        font-size: 14px;
        font-weight: 400;
        display: block;
        width: 100%;
        background: #65c3ff;
        color: #1e1e1e;
        text-align: left;
    }
    .menu-main .menu-list li a:hover, .menu-main .menu-list li a.current {
        background: #c4e8ff;
    }
    .menu-main .plus {
        position: absolute;
        top: 0px;
        right: 20px;
        padding: 22px;
        z-index: 2;
    }
    .menu-main .plus::before, .menu-main .plus::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 5px;
        display: block;
        background: #FFF;
        width: 12px;
        height: 2px;
        -webkit-transition: all .2s;
        -moz-transition: all .2s;
        -o-transition: all .2s;
        transition: all .2s;
    }
    .menu-main .plus::after {
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    .menu-main .plus.open::after {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    .menu-group {
        padding: 10px;
        position: absolute;
        z-index: 10003;
        top: 0;
        right: 65px;
        margin-top: 0;
    }
    .menu-group > div {
        padding: 10px;
        color: #004EA2;
    }
    .menu-group img {
        transition: none;
    }
    .menu-language-options {
        background: #ffffff;
    }
    .menu-inquiry a {
        color: #004EA2;
    }
    .inquiry_no {
        right: -2px;
        top: 5px;
    }
    .search-open {
        display: block;
        color: #004EA2;
    }
    .menu-main > li > a {
        padding: 15px 10px;
        justify-content: flex-start;
        color: #FFF;
        font-weight: bold;
    }
    .menu-main > li:hover > a, .menu-main > li > a.current {
        color: #FFF;
    }
    .menu-language {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    .menu-language-options {
        top: 40px;
        right: -18px;
    }
    .banner-pc {
        display: none;
    }
    .banner-mobile {
        display: block;
    }
}


@media all and (max-width: 570px) { 
    .logo img {
        width: 50%;
        padding: 15px 0 0 20px;
    }
    .menu-group {
        right: 55px;
    }
    .menu-group > div {
        padding: 10px 8px;
    }
    .search-open {
        width: 130px;
    }
}