@charset 'utf-8';
@import url('https://fonts.googleapis.com/css?family=Noto+Sans');
/*@import url('https://fonts.googleapis.com/css?family=Ubuntu');*/
@import url('https://fonts.googleapis.com/css?family=Merriweather+Sans:300i,400i');
/*@import url('https://fonts.googleapis.com/css?family=Alegreya+Sans+SC:400,700');*/


/* ----------RESET---------- */
* {
    margin: 0;
    padding: 0;
    color: inherit;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font: inherit;
}

body {
    position: relative;
    font-size: 16px;
    font-weight: 400;
    font-family:  'Noto Sans','微軟正黑體',sans-serif;
    color: #232323;
}

ul,
li {
    list-style: none;
    font-size: inherit;
}

img {
    border: none;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

input,
textarea,
keygen,
select,
a,
a:active,
a:hover,
a:focus {
    outline: none;
}
::selection {
	background: #B88CEA;
	color: #fff;
}
::-moz-selection {
	background: #ADADAD;
	color: #fff;
}
input::-moz-focus-inner,
button::-moz-focus-inner,
select::-moz-focus-inner {
    border: 0;
    outline: 0;
}

select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
}

input[type="search"],
input[type="search"]:hover,
input[type="search"]:focus,
input[type="search"]:active {
    -webkit-appearance: none;
}

select::-ms-expand {
    display: none;
}

button,
input[type="submit"],
input[type="reset"] {
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    font: inherit;
}

option {
    font-family: 'Roboto', sans-serif;
    background-color: transparent;
}

table {
    border-collapse: collapse;
}
/*ie11 above fixed*/




/* ----------BLOCK---------- */
.w500,
.w850,
.w900,
.w1000,
.w1200,
.w1300,
.w1600 {
    width: 95%;
    margin: 0 auto;
}
.w500{
    max-width: 500px;
}

.w850{
    max-width: 850px;
}
.w900{
    max-width: 900px
}
.w1000 {
    max-width: 1000px;
}

.w1200 {
    max-width: 1200px;
}
.w1300{
    max-width: 1300px
}

.w1600 {
    max-width: 1600px;
}

.col90,
.col80,
.col75,
.col70,
.col66,
.col60,
.col50,
.col40,
.col33,
.col30,
.col25,
.col20,
.col15,
.col05 {
    display: inline-block;
    vertical-align: top;
    margin-left: -5px;
}

.col90 {
    width: 90%;
}

.col80 {
    width: 80%;
}

.col75 {
    width: 75%;
}

.col70 {
    width: 70%;
}

.col66 {
    width: 66.6666%;
}

.col60 {
    width: 60%;
}

.col50 {
    width: 50%;
}

.col50:nth-child(odd) {
    margin-left: 0px;
}

.col40 {
    width: 40%;
}

.col30 {
    width: 30%;
}

.col33 {
    width: 33.3333%;
}

.col25 {
    width: 25%;
}

.col20 {
    width: 20%;
}

.col15 {
    width: 15%;
}

.col05 {
    width: 05%;
}

.sec_main {
    padding: 80px 0 50px;
}

.sec_main> .col60 {
    min-width: 770px;
}


/* ----------TEXT---------- */

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
b,
small {
    font: inherit;
    color: inherit;
}

h1 {
    font-size: 50px;
    letter-spacing: 25px;
    line-height: 1em;
    color: white;
    font-weight: 200;
}

h2 {
    font-family: 'Merriweather Sans', sans-serif;
    font-size: 44px;
    letter-spacing: 1px;
    line-height: 1.2em;
    color: white;
    font-weight: 100
}

h3 {
    font-size: 30px;
    letter-spacing: 5px;
    font-weight: 600
}

h3.eng {
    font-family: 'Merriweather Sans', sans-serif;
    letter-spacing: 1px;
    font-weight: 600;
    margin-top: 10px
}

h4 {
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 18px;
}

h5 {

    font-size: 20px;
    font-weight: 400;
    line-height: normal;
    margin-top: 10px;
}

a {
    display: inline-block;
    text-decoration: none;
    letter-spacing: 1px;
}

p {
    font-size: 18px;
    line-height: normal;
    letter-spacing: 1px;
    line-height: 1.5em
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 12px;
    line-height: normal;
    letter-spacing: 1px;
}

.txt-white {color: #ffffff; }
.txt-green {color: #78c1c3; }
.txt-red {color: #e64c3c; }
.txt-grey {color: #5d5d5d; }
.txt-link {text-decoration: underline; }
.align-left {text-align: left; }
.align-right {text-align: right; }
.align-center {text-align: center; }

/* ----------FORM--------- */

input[type=text],
input[type=email],
input[type=password],
select {
    width: 100%;
    margin: 5px 0 6px;
    border: 2px solid #cccccc;
    padding: 2px 8px;
    letter-spacing: 1px;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus {
    border-color: #003979;
}

select {
    border-radius: 5px;
}

input[type=text].col50,
input[type=email].col50,
input[type=password].col50,
select.col50,
label.select.col50 {
    width: 50%;
    margin-left: -5px;
}

input[type=text].col25,
input[type=email].col25,
input[type=password].col25,
select.col25,
label.select.col25 {
    width: 25%;
    margin-left: -5px;
}

::-webkit-input-placeholder {
    /* WebKit, Blink, Edge */
    color: #cccccc;
}

:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: #cccccc;
    opacity: 1;
}

::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: #cccccc;
    opacity: 1;
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #cccccc;
}

::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #cccccc;
}


/* ----------PAGINATION---------- */

.pagination {
    text-align: center;
    margin-top: 30px;
}

.pagination li {
    display: inline-block;
    vertical-align: middle;
    margin: 0px 3px
}

.pagination li a {
    background-color: #E5E5E5;
    color: #370144;
    padding: 5px 10px;
    -webkit-transition: all .25s ease;
    -moz-transition: all .25s ease;
    -ms-transition: all .25s ease;
    -o-transition: all .25s ease;
    transition: all .25s ease;
    font-size: 18px;
    font-weight: 600
}

.pagination li a:hover {
    opacity: .8;
}

.pagination li.active a {
    background-color: #370144;
    color: white
}
.pagination li:first-child a,.pagination li:last-child a{
    background: none;
    font-size: 26px;
    padding-top: 2px;
}

/* ----------NAV---------- */

nav {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0.65+0,0+100 */
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000', GradientType=0);
    /* IE6-9 */
    z-index: 99;
    position: fixed;
    width: 100%;
    transition: all .3s ease
}
nav.active{
    background: #320159
}
nav.active #nav_menu li:hover a,
nav.active #nav_menu li:hover span {
    color: #B98FEA
}
nav.active #nav_menu .list li a{
    color: white
}
nav .nav_logo {
    display: inline-block;
    position: absolute;
    padding-top: 16px;
    width: 80px;
    left: 30px
}

nav #nav_menu {
    display: block;
    vertical-align: middle;
    position: relative;
    padding-top: 35px;
    z-index: 1;
    height: 100px;
    width: 650px;
    margin: auto;
}

nav #nav_menu li {
    display: inline-block;
    vertical-align: top;
    text-align-last: left;
    padding-right: 4%;
}

nav #nav_menu li a,
nav #nav_menu li span {
    display: block;
    padding: 5px 2%;
    font-size: 18px;
    text-transform: uppercase;
    position: relative;
    white-space: nowrap;
    color: white;
    cursor: pointer;
    font-weight: 100;
    transition: all .3s ease
}

nav #nav_menu> li a:after,
nav #nav_menu> li span:after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 5px;
    font-size: 18px;
    font-weight: 600;
    bottom: -5px;
    left: 0;
    color: #FFFFFF;
    background: white;
    white-space: nowrap;
    overflow: hidden;
    backface-visibility: hidden;
    text-decoration: inherit;
    vertical-align: inherit;
    -webkit-transition: width .35s cubic-bezier(.215, .61, .355, 1) 0s;
    transition: width .35s cubic-bezier(.215, .61, .355, 1) 0s;
}



nav #nav_menu li:hover> a:after,
nav #nav_menu li:hover> span:after {
    width: 100%;
    -webkit-transition: width .65s cubic-bezier(.215, .61, .355, 1) 0s;
    transition: width .65s cubic-bezier(.215, .61, .355, 1) 0s;
}

nav #nav_menu .list {
    position: absolute;
    margin-top: 0px;
    display: none;
    transition: all .3s ease
}

nav #nav_menu li:hover .list {
    display: block
}

nav #nav_menu .list li {
    display: block;
    background: rgba(0, 0, 0, 0.8);
    transition: all .3s ease
}

nav #nav_menu .list li:hover {
    background: black
}

nav #nav_menu:hover .list a,
nav #nav_menu:hover .list span {
    color: white;
    padding: 10px;
    font-size: 14px
}

nav #nav_menu .list li a:after,
nav #nav_menu .list li span:after {
    display: none
}

nav .lang {
    position: absolute;
    right: 30px;
    vertical-align: middle;
    top: 40px;
    color: white;
}

nav .lang a {
    padding: 0px 15px;
    position: relative;
    transition: all .3s ease
}

nav .lang a:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 1px;
    background: white;
    height: 15px;
    position: absolute;
    left: -1px;
    top: 3px
}

nav .lang a:hover {
    opacity: 0.5
}

nav #nav_menu .lang {
    display: none
}

/* ----------FOOTER---------- */

footer {
    padding: 30px 0px;
    background: #303030;
    color: white;
    font-size: 16px;
    letter-spacing: 2px;
    font-weight: 100;
    text-align: center
}
footer span{
    display: inline-block
}

/* ----------banner---------- */

.banner {
    width: 100%;
    height: 500px;
    top: 0;
    position: relative;
    background-size: cover;
    background-position: center center
}

.banner .word {
    position: absolute;
    top: 35%;
    display: inline-block;
    right: 35%;
    margin: auto;
    width: 350px;
}

.banner h2 {
    position: relative;
    text-align: right;
    font-size: 50px;
    font-family: 'Merriweather Sans', '微軟正黑體', sans-serif;
    font-weight: 600;
    letter-spacing: 15px;
    color: #370144;
    background: -webkit-linear-gradient(#3F00AA, #BA00EE);
    /* Old browsers */
    background: -moz-linear-gradient(#3F00AA, #BA00EE);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(#3F00AA, #BA00EE);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.banner .zh{display: none;}
@media all and (-ms-high-contrast:none) {
    .banner h2  {
        background: none;
        color: #370144
    }
}

@supports (-ms-accelerator:true) {
    .banner h2  {
        background: none;
        color: #370144
    }
}

.banner h2.eng {
    font-size: 38px;
    padding-right: 15px;
    letter-spacing: 3px
}

.banner .word:before {
    content: "";
    width: calc(100% + 30px);
    border-left: solid 3px #370144;
    border-right: double 10px #370144;
    display: block;
    height: 120px;
    top: 0;
    left: 0;
    position: absolute;
    transform: skewX(-25deg)
}

/*Others*/

.title {
    position: relative;
    width: 240px;
    margin: auto;
    margin-bottom: 50px;
    text-align: center
}
.title hr {
    width: 240px;
    background: #303030;
    display: block;
    position: relative;
    margin: auto;
    margin-top: 10px
}

.title:before {
    content: "";
    position: absolute;
    width: 77px;
    height: 27px;
    background: url(../img/deco.png) no-repeat;
    background-size: contain;
    left: -70px;
    top: 8px
}

.title:after {
    content: "";
    position: absolute;
    width: 77px;
    height: 27px;
    background: url(../img/deco.png) no-repeat;
    background-size: contain;
    top: 8px;
    right: -70px;
    transform: scaleX(-1)
}

.text {
    width: 910px;
    margin: auto;
    text-align: left;
    letter-spacing: 3px;
}

.btn{
    width: 180px;
    height: 65px;
    background: url(../img/product/border-03.jpg) no-repeat;
    background-size: 180px 65px;
    background-position: center center;
    cursor: pointer;
    transition: all .3s ease;
    padding-top: 12px
}
.btn p{
    color: #3F007C;
    font-size: 24px;
    vertical-align: middle;
    display: inline-block
}
.btn img{
    vertical-align: middle
}
.btn:hover{
    background-size: 160px 55px;
}
/* ----------RWD---------- */

@media only screen and (max-width: 1500px) {
    nav .nav_logo img {
        width: 150px;
    }
}


@media only screen and (max-width:1280px) {
    footer .logo {
        width: 25%;
    }
    footer .footer_nav {
        width: 75%;
    }
}

@media only screen and (max-width: 1200px) {
    nav #nav_menu {
        padding-left: 2%
    }
    nav #nav_menu li {
        padding-right: 2%
    }
    nav #nav_menu li a {
        padding: 5px 0%
    }
}

@media only screen and (max-width:1023px) {
    nav {
        height: 80px
    }
    nav .nav_logo{
        padding-top: 8px
    }
    nav #nav_menu {
        padding: 0;
        width: 0;
        height: 0;
        overflow: hidden;
        -webkit-transition: none;
        -moz-transition: none;
        -ms-transition: none;
        -o-transition: none;
        transition: none;
    }
    nav #nav_menu.active {
        display: block;
        width: 300px;
        height: 100%;
        position: fixed;
        overflow-x: hidden;
        overflow-y: auto;
        top: 0;
        right: 0;
        padding: 12% 30px 20px;
        background-color: #D6B6FF;
        z-index: 100;
        -webkit-transition: all .25s ease;
        -moz-transition: all .25s ease;
        -ms-transition: all .25s ease;
        -o-transition: all .25s ease;
        transition: all .25s ease;
    }
    nav #nav_menu li {
        display: block;
        width: 100%;
        text-align-last: left;
        margin-top: 0;
    }
    nav #nav_menu li a,
    nav #nav_menu li span {
        font-size: 18px;
        padding: 5px 0
    }
    /*hambergur*/
    nav #hambergur {
        display: block;
        vertical-align: middle;
        width: 50px;
        position: relative;
        z-index: 101;
        cursor: pointer;
        margin-left: auto;
        margin-top: 27px
    }
    nav #hambergur span {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        width: 22px;
        height: 2px;
        background-color: white;
        -webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -ms-transform: translateZ(0);
        -o-transform: translateZ(0);
        transform: translateZ(0);
    }
    #hambergur span:before,
    #hambergur span:after {
        content: "";
        position: absolute;
        right: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 2px;
        background-color: white;
        -webkit-transition: -webkit-transform .3s cubic-bezier(.4, 0, 0, 1);
        ;
        transition: transform .3s cubic-bezier(.4, 0, 0, 1), -webkit-transform .3s cubic-bezier(.4, 0, 0, 1);
        -webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -ms-transform: translateZ(0);
        -o-transform: translateZ(0);
        transform: translateZ(0);
    }
    #hambergur span:before {
        top: -7px;
    }
    #hambergur span:after {
        bottom: -7px;
    }
    #hambergur.active span {
        background: none
    }
    #hambergur.active span:before {
        top: 0;
        -webkit-transform: rotate(-45deg) translateY(0);
        -moz-transform: rotate(-45deg) translateY(0);
        -ms-transform: rotate(-45deg) translateY(0);
        -o-transform: rotate(-45deg) translateY(0);
        transform: rotate(-45deg) translateY(0);
    }
    #hambergur.active span:after {
        bottom: 0;
        -webkit-transform: rotate(45deg) translateY(0);
        -moz-transform: rotate(45deg) translateY(0);
        -ms-transform: rotate(45deg) translateY(0);
        -o-transform: rotate(45deg) translateY(0);
        transform: rotate(45deg) translateY(0);
    }
    nav #nav_menu .list {
        position: relative;
        display: block;
    }
    nav #nav_menu .list li,
    nav #nav_menu .list li:hover,
    nav #nav_menu li:hover a,
    nav #nav_menu li:hover span {
        background: none;
        color: white
    }
    nav #nav_menu li:hover> a:after,
    nav #nav_menu li:hover> span:after {
        width: 0;
        color: white
    }
    nav #nav_menu:hover .list a,
    nav #nav_menu:hover .list span {
        color: #444444;
        padding: 5px 0;
        font-size: 18px
    }
    nav #nav_menu .list a,
    nav #nav_menu .list span {
        color: #444444
    }
    nav .lang {
        display: none
    }
    nav #nav_menu .lang {
        display: block;
        position: relative;
        right: 0;
        top: 25px
    }
    nav #nav_menu .lang a:first-child{
        margin-left:0
    }
    footer> div {
        text-align-last: center;
        padding: 30px 0 30px;
    }
    footer .logo {
        width: 120px;
        padding-left: 10px;
    }
    footer .footer_nav {
        width: 150px;
        margin-left: 13px
    }
    footer .footer_nav> li {
        display: block;
        width: 100%;
        margin-left: 0;
        text-align-last: left;
    }
    footer .fsub_nav {
        display: none;
    }
    .banner {
        height: 300px
    }
    .banner .word {
        top: 40%;
    }
    .banner h2 {
        font-size: 32px
    }
}
@media screen and (max-width:480px){
     .banner .word{
        right: 10%
    }
    .banner .word:before,.banner .word:after{
        display: none
    }
    .title:before,.title:after{
        display: none
    }
}