@charset "utf-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    font-size: 100%;
    font: inherit;
    padding: 0;
    border: 0;
    margin: 0;
    vertical-align: baseline
}

body {
    line-height: 1
}

ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}

.clear {
    clear: both
}

.sticky {
}

.bypostauthor {
}

.wp-caption {
}

.wp-caption-text {
}

.gallery-caption {
}

.alignright {
}

.alignleft {
}

.aligncenter {
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important
}

body {
    text-decoration: none;
    margin: 0;
    width: 100%;
    font-size: 15px;
    font-family: 'Open Sans', Helvetica, Arial, STHeitiTC-light, STHeiti, "Microsoft JhengHei", 微軟正黑體, sans-serif !important;
    color: #666666;
    background: url("../image/content-bg.jpg");
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

a, a:link, a:visited {
    color: inherit;
    text-decoration: none !important;
    transition: color .3s linear;
}

a:hover, a:focus, a:active, .current_page_item a {
    color: #F2D787 !important;
    transition: color .3s linear;
}

.wrapper {
    max-width: 1170px;
    margin: auto;
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
}

.content-wrapper {
    max-width: 800px;
    margin: auto;
}

.content-wrapper > img {
    margin: auto;
    margin-bottom: 20px;
    display: block;
    max-width: 100%;
    height: auto;
}

.header-bg {
    background: transparent;
    height: 540px;
    width: 100%;
    background-position: center center;
    background-size: cover;
    display: flex;
    justify-content: center;
}

.banner {
    z-index: 0;
}

.page .banner *, .single .banner * {
    height: 275px !important;
}

.page .header-bg, .single .header-bg {
    height: 275px;
}

.home.page .banner *, .home.page .header-bg {
    height: 540px !important;
}

.blend {
    mix-blend-mode: multiply;
}

.menu-menu-container ul, .footer-menu ul {
    display: flex;
    justify-content: center;
}

.menu-menu-container {
    font-weight: bold;
}

.menu-menu-container ul {
    margin-bottom: 0;
}

.menu-menu-container li a {
    padding: 10px 20px;
    display: block;
}

.logo {
    /*align-self: center;*/
    position: absolute;
    left: 0;
    top: -25px;
    z-index: 1;
}

.page .logo img, .single .logo img {
    width: 164px;
    /*height:160px;*/
}

.home.page .logo img {
    width: 164px;
}

.menu-bg {
    background: #C9252C;
    color: #fff;
    height: 40px;
}

.box-title {
    font-weight: bold;
}

.footer-title {
    font-size: 1.2em;
    font-weight: bold;
}

.content {
    padding-top: 30px;
    padding-bottom: 30px;
}

.red-bg {
    color: #fff;
    background: #C9252C;
}

.home.page .content {
    padding-bottom: 20px;
}

.page .content, .single .content {
    padding-top: 50px;
    padding-bottom: 50px;
}

.red-box1 {
    background-color: rgba(201, 37, 44, .8);
    color: #fff;
}

.red-box2 {
    background-image: url("../image/index-box2-bg.jpg");
    background-size: cover;
    background-position: center center;
    color: #fff;
}

.red-box3 {
    background-image: url("../image/index-box3-bg.jpg");
    background-size: cover;
    background-position: center center;
    color: #fff;
}

.red-box4 {
    background-color: rgba(206, 58, 65, .9);
    color: #fff;
}

.red-box1, .red-box2, .red-box3, .red-box4 {
    height: 350px;
    padding: 40px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    z-index: 100;
}

.red-box2 table, .red-box3 table {
    width: 100%;
}

.box-table {
    display: flex;
}

.box-table div {
    width: 50%;
}

.box1-bg:before {
    background: url("../image/index-box1-bg.jpg");
    background-size: cover;
    background-position: center center;
}

.box4-bg:before {
    background: url("../image/index-box4-bg.jpg");
    background-size: cover;
    background-position: center center;
}

.box1-bg:before, .box2-bg:before, .box3-bg:before, .box4-bg:before {
    z-index: 0;
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 20px;
    top: 0;
    content: "";
}

.home.page .content > .wrapper > .row > div {
    padding-left: 10px;
    padding-right: 10px;
}

footer {
    background: #333333;
    color: #CCCCCC;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .3);
}

.copyright {
    line-height: 55px;
    font-size: .8em;
    float: left;
}

.footer-menu {
    float: right;
}

.footer-menu ul {
    margin-bottom: 0;
}

.footer-menu li a {
    padding: 17px 20px;
    display: block;
}

footer .row > div {
    padding-left: 20px;
    padding-right: 20px;
}

footer > .wrapper {
    padding-top: 30px;
    padding-bottom: 30px;
}

footer > .wrapper > .row > div {
    margin-bottom: 20px;
}

.footer-title {
    margin-top: 0;
    position: relative;
    margin-bottom: 20px;
}

.footer-title:before {
    top: -4px;
    bottom: 0px;
    left: -8px;
    width: 0px;
    border-left: 3px dotted #C9252C;
    height: 100%;
    margin: auto;
    content: "";
    position: absolute;
}

footer .contact-info {
    margin-bottom: 10px;
}

.contact-info {
    margin-left: 30px;
    position: relative;
}

.contact-info i {
    position: absolute;
    left: -30px;
    top: 4px;
    font-size: 1.25em;
    line-height: .7em;
    margin-right: 10px;
}

.footer-news li {
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.footer-news li a {
    display: block;
    padding-top: 7px;
    padding-bottom: 7px;
}

.footer-news li:first-child a {
    padding-top: 0;
}

.footer-social a {
    font-size: 1.5em;
    display: inline-block;
    margin-right: 15px;
}

.mobile-logo {
    display: none;
}

.content h3.title {
    text-align: center;
    font-size: 3.2em;
    margin-bottom: 30px;
    margin-top: 0;
}

.content h4.title {
    text-align: center;
    font-size: 2em;
    margin-bottom: 30px;
    margin-top: 0;
}

.content h3.title span {
    margin-top: 20px;
    font-size: 0.3125em;
    display: block;
}

.content h4.title span {
    margin-top: 20px;
    font-size: 0.5em;
    display: block;
}

.icon-list > div {
    margin-bottom: 20px;
}

.icon-box {
    text-align: center;
    padding-left: 15px;
    padding-right: 15px;
}

.icon-box img {
    display: block;
    margin: auto;
    margin-bottom: 20px;
}

.wpcf7-textarea {
    border: 1px solid #DEDEDE;
    line-height: 1.5em;
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
}

.wpcf7-text {
    border: 1px solid #DEDEDE;
    height: 42px;
    line-height: 42px;
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
}

.wpcf7-file {
    height: 42px;
    line-height: 42px;
}

.wpcf7-submit {
    background: #C9252C;
    color: #fff;
    border: 1px solid #C9252C;
    padding: 10px 40px;
    margin-top: 10px;
}

label {
    font-weight: 100;
    color: #333 !important;
}

.grid-container {
    display: grid;
    grid-template: repeat(4, 1fr) / repeat(4, 1fr);
    grid-gap: 0px;
    grid-template-areas:
            'sidebar1 sidebar2 content content'
            'sidebar1 sidebar2 content content'
            'sidebar3 sidebar4 content content'
            'sidebar3 sidebar4 content content';
}
.grid-containers {
    display: grid;
    grid-template: repeat(4, 1fr) / repeat(4, 1fr);
    grid-gap: 0px;
    grid-template-areas:
            'sidebar1 sidebar2 content content'
            'sidebar1 sidebar3 content content'
            'sidebar4 sidebar4 content content'
            'sidebar4 sidebar4 content content';
}


.item-1 {
    grid-area: sidebar1;
    background: url(../image/service-a1.jpg);
    background-size: cover;
    background-position: center center;
}

.item-2 {
    grid-area: sidebar2;
    background: url(../image/service-a2.jpg);
    background-size: cover;
    background-position: center center;
}

.item-3 {
    grid-area: sidebar3;
    background: url(../image/service-a3.jpg);
    background-size: cover;
    background-position: center center;
}

.item-4 {
    grid-area: sidebar4;
    background: url(../image/service-a4.jpg);
    background-size: cover;
    background-position: center center;
}

.item-5 {
    grid-area: content;
    color: #fff;
    background: #C9252C;
}

.gold .item-5 {
    background: #C9252C;
}

.service-desc.price-list {
    display: table;
}

.service-desc {
    font-size: 1em;
    line-height: 2em;
    padding: 50px 40px;
}

.service-desc strong {
    font-size: 1.33em;
}

.price-list li {
    display: table-cell;
}

.price-list ul {
    margin-bottom: 0;
    display: table-row;
}

.store-grid-container {
    display: grid;
    padding-top: 50px;
    grid-template: repeat(2, 1fr) / repeat(6, 1fr);
    grid-gap: 0px;
    grid-template-areas: 'slide slide slide slide info info' 'slide slide slide slide map map';
}

.store-grid-container:nth-child(even) {
    display: grid;
    padding-top: 50px;
    grid-template: repeat(2, 1fr) / repeat(6, 1fr);
    grid-gap: 0px;
    grid-template-areas: 'info info slide slide slide slide' 'map map slide slide slide slide';
}

.slider-container {
    grid-area: slide;
}

.store-desc {
    grid-area: info;
    padding: 40px 40px;
    color: #fff;
    background: #C9252C;
}

.store-desc h3 {
    margin-top: 0;
}

.map {
    grid-area: map;
}

[id*="carousel"] .slides > li {
    background: #C9252C;
}

[id*="carousel"] .slides > li img {
    opacity: .6;
    transition: all .3s linear;
}

[id*="carousel"] .slides > li.flex-active-slide img {
    border: 5px solid rgba(201, 37, 44, .7);
    box-sizing: border-box;
    opacity: 1;
}

.store-tap {
    font-size: 1.2em;
    display: table;
    margin: auto;
}

.store-tap li {
    display: table-cell;
}

.store-tap a {
    display: block;
    padding: 0 20px;
    border-right: 1px solid #C9252C;
}

.store-tap li:last-child a {
    border-right: 0;
}

img.aligncenter {
    display: block;
    margin: auto;
}

.box1-bg a, .red-box2 a, .red-box3 a, .box4-bg a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    content: "";
    cursor: pointer;
    display: block;
    z-index: 10;
}

.aligncenter {
    text-align: center;
}

.min-500 {
    min-height: 500px;
}

.promo-wrapper {
    position: relative;
}

.promo-img {
    position: absolute;
    bottom: -30px;
    right: 0;
    z-index: 1000;
}