body, button, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, input, select, textarea {
    font-family: "Helvetica Neue", Helvetica, Arial, "微軟正黑體", "微软雅黑", "メイリオ", "맑은 고딕", sans-serif;
    font-weight: 400;
}

body {
    line-height: 1.6;
}

@media screen and (max-width:768px) {
    /* body {
        font-size: 0.875rem;
    } */
    .h1 {
        font-size: 2rem;
    }
    .h2 {
        font-size: 1.75rem;
    }
    .h3 {
        font-size: 1.5rem;
    }
    .h4 {
        font-size: 1.25rem;
    }
    .h5 {
        font-size: 1rem;
    }
    .h6 {
        font-size: 0.875rem;
    }
}

.text-pink {
    color: #ff6699;
}

.text-darkgold {
    color: #938051;
}

.text-deepblue {
    color: #0044a3 !important;
}

.text-yellow {
    color: #fff692 !important;
}

.font-size-18p {
    font-size: 1.125rem;
}

@media only screen and (max-width: 768px) {
    .font-size-md-16p {
        font-size: 1rem;
    }
}

@media only screen and (max-width: 575px) {
    .font-size-18p {
        font-size: 1rem;
    }
}

.line-height-14 {
    line-height: 1.4;
}

.line-height-18 {
    line-height: 1.8;
}

.drop-shadow-pink {
    -webkit-filter: drop-shadow(0 2px 5px rgba(255, 132, 171, 0.7));
    filter: drop-shadow(0 2px 5px rgba(255, 132, 171, 0.7));
}

.border-radius-20p {
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

/*---------------------------- Concept ----------------------------*/

.section-w01, .section-w02, .section-w03, .section-w04, .section-w05, .section-w06, .section-w07, .section-w08, .section-w09, .section-w10 {
    position: relative;
}

.section-w01 {
    background: url(../images/content01-bg.png) center no-repeat;
    background-size: contain;
    background-color: #ffffff;
}

.section-w01>img[src*="content01-pic02.png"] {
    position: absolute;
    top: 0;
    right: 0;
}

@media only screen and (max-width: 991px) {
    .section-w01>img[src*="content01-pic02.png"] {
        width: 25%;
    }
}

/*---------------------------- Design ----------------------------*/

.section-w02 {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#fff2f6+30,ffb3cb+90 */
    background: #fff2f6;
    /* Old browsers */
    background: -moz-linear-gradient(-45deg, #fff2f6 30%, #ffb3cb 90%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, #fff2f6 30%, #ffb3cb 90%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, #fff2f6 30%, #ffb3cb 90%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff2f6', endColorstr='#ffb3cb', GradientType=1);
    /* IE6-9 fallback on horizontal gradient */
}

.section-w02>img[src*="content02-pic03.png"] {
    /*-- 緞帶小火車 --*/
    position: absolute;
    bottom: 0;
    left: 0;
    width: 78.64%;
    transform: translate(0, 50%);
    z-index: 999;
}

@media only screen and (max-width: 767px) {
    .section-w02>img[src*="content02-pic03.png"] {
        /*-- 緞帶小火車 --*/
        left: -40%;
        width: 130%;
    }
}

.section-w02 .section02-pic-area {
    position: relative;
    z-index: 10;
}

.section-w02 .section02-pic-area img[src*="content02-pic04.png"] {
    position: absolute;
    bottom: 10px;
    left: -100px;
    z-index: 9;
}

.section-w02 .section02-pic-area img[src*="content02-pic01.jpg"] {
    position: relative;
    z-index: 10;
}

.section-w02 .section02-pic-area img[src*="content02-pic02.png"] {
    position: relative;
    z-index: 11;
    margin: -50px 0 0 -300px;
}

@media only screen and (max-width: 1199px) {
    .section-w02 .section02-pic-area img[src*="content02-pic04.png"] {
        width: 100%;
    }
    .section-w02 .section02-pic-area img[src*="content02-pic02.png"] {
        margin: 0 0 0 -300px;
    }
}

@media only screen and (max-width: 991px) {
    .section-w02 .section02-pic-area img[src*="content02-pic04.png"] {
        width: 100%;
        bottom: 10px;
        left: 0;
    }
    .section-w02 .section02-pic-area img[src*="content02-pic02.png"] {
        width: 100%;
        margin: -10px 0 0 0;
    }
}

/*---------------------------- Interior ----------------------------*/

.section-w03 {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+25,fbe5ec+45,fbe5ec+55,ffffff+75 */
    background: #ffffff;
    /* Old browsers */
    background: -moz-linear-gradient(top, #ffffff 25%, #fbe5ec 45%, #fbe5ec 55%, #ffffff 75%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 25%, #fbe5ec 45%, #fbe5ec 55%, #ffffff 75%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 25%, #fbe5ec 45%, #fbe5ec 55%, #ffffff 75%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0);
    /* IE6-9 */
}

.section-w03 img.border-radius-20p {
    border: 3px solid #fff2f6;
    width: 100%;
}

/*---------------------------- Train Guide ----------------------------*/

.section-w04 {
    background: url(../images/content04-bg.gif) repeat;
}

.train-guide-area {
    position: relative;
    /* background-color: #fffcd9; 原本黃色背景 */
    background-color: #faf5ff;
}

.train-guide-area>img[src*="content04-pic03.png"] {
    /*-- 小熊 --*/
    position: absolute;
    top: 40%;
    right: -30px;
}

.train-guide-area>img[src*="content04-pic04.png"] {
    /*-- Kitty --*/
    position: absolute;
    bottom: -80px;
    left: -120px;
}

@media only screen and (max-width:768px) {
    .train-guide-area>img[src*="content04-pic03.png"] {
        /*-- 小熊 --*/
        right: 0;
        width: 80px;
    }
    .train-guide-area>img[src*="content04-pic04.png"] {
        /*-- Kitty --*/
        bottom: -10px;
        left: -10px;
        width: 100px;
    }
}

.train-guide-area>section>ul>li .border-range {
    width: 100%;
    height: 15px;
    /* border: 2px dotted #938051;原本黃外框色 */
    border: 2px dotted #0044a3;
    border-top: none;
    margin-bottom: 5px;
}

.train-guide-area>section:nth-of-type(1) img[src*="content04-pic01.png"] {
    width: 95%;
    margin-bottom: 5px;
}

.train-guide-area>section:nth-of-type(1)>ul>li:nth-of-type(1) {
    width: 26%;
    padding-left: 2.81%;
}

.train-guide-area>section:nth-of-type(1)>ul>li:nth-of-type(2) {
    width: 25%;
    padding-left: 1.32%;
}

.train-guide-area>section:nth-of-type(1)>ul>li:nth-of-type(3) {
    width: 24.5%;
    padding-left: 0.7%;
}

.train-guide-area>section:nth-of-type(2) img[src*="content04-pic02.png"] {
    width: 98%;
    margin-bottom: 5px;
}

.train-guide-area>section:nth-of-type(2)>ul>li {
    width: 97%;
    padding-right: 2%;
}

/*---------------------------- Souvenir ----------------------------*/

.section-w05 {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#fff2f6+30,ffb3cb+90 */
    background: #fff2f6;
    /* Old browsers */
    background: -moz-linear-gradient(-45deg, #fff2f6 30%, #ffb3cb 90%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, #fff2f6 30%, #ffb3cb 90%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, #fff2f6 30%, #ffb3cb 90%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff2f6', endColorstr='#ffb3cb', GradientType=1);
    /* IE6-9 fallback on horizontal gradient */
}

.section-w05 img[src*="content05-pic03.png"] {
    position: absolute;
    top: 30px;
    left: 75%;
}

.section-w05 img[src*="content05-pic01.png"] {
    margin: -15px 0 0 0;
}

.section-w05 img[src*="content05-pic02.png"] {
    position: absolute;
    width: 71%;
    bottom: -32%;
    right: 0;
}

@media only screen and (max-width: 991px) {
    .section-w05 img[src*="content05-pic03.png"] {
        top: 10px;
        left: 80%;
        width: 140px;
    }
}

@media only screen and (max-width: 575px) {
    .section-w05 img[src*="content05-pic03.png"] {
        top: 210px;
        left: 60%;
        width: 120px;
    }
    .section-w05 img[src*="content05-pic02.png"] {
        width: 100%;
        bottom: -21%;
        right: 0;
    }
}

.ranking_sanrio {
    padding-top: 60px;
}

/*---------------------------- Service ----------------------------*/

.section-w06 {
    background: url(../images/content06-bg.png) center no-repeat;
    background-size: contain;
    background-color: #ffffff;
}

.section-w06 img[src*="content06-pic04.png"] {
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translate(0, 10%);
}

/*---------------------------- Time & Station ----------------------------*/

.section-w07 {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,fff799+100 */
    background: #ffffff;
    /* Old browsers */
    background: -moz-linear-gradient(top, #ffffff 0%, #fff799 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 0%, #fff799 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 0%, #fff799 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fff799', GradientType=0);
    /* IE6-9 */
}

.section-w07>.position-absolute {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: url(../images/content07-bg.png) repeat;
    z-index: 9;
}

.section-w07>.container {
    position: relative;
    z-index: 10;
}

.section-w07 .table th, .section-w07 .table td {
    text-align: center;
    white-space: nowrap;
}

@media only screen and (max-width: 575px) {
    .section-w07 .table th, .section-w07 .table td {
        padding: .5rem;
    }
}

.section-w07 .table {
    background-color: #ffffff;
}

.section-w07 .table .thead-light th, .section-w07 .table-bordered td, .table-bordered th {
    border: 1px solid #4e89c5;
    border-color: #4e89c5;
}

.section-w07 .border-rw2 {
    border-right-width: 2px !important;
}

.section-w07 .table .thead-light th {
    background-color: #a2c3e7;
}

.section-w07 .table tbody tr:first-of-type th {
    background-color: #4e89c5;
}

.section-w07 .text-timeblue {
    color: #003c8c !important;
}

/*---------------------------- DIY Experience ----------------------------*/

.section-w08 {
    background-color: #c0d481;
}

/* .section-w08 .card-columns>.card {
    border: none;
} */

.section-w08 .card {
    border: none;
}

.section-w08 h5.card-title, h4.card-title {
    display: block;
    padding: 5px;
    color: #ffffff;
    text-align: center;
    background-color: #77b35e;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
}

/* .section-w08 .card-columns .card-body {
    padding: 15px 0;
} */

.section-w08 .card-body {
    padding: 15px 0;
}

.section-w08 h5.card-title:before, h4.card-title:before {
    content: url(../images/content08_icon01.png);
    margin-right: 10px;
}

.section-w08 img[src*="content08_pic09.png"] {
    /*-當期活動下方的Kitty插圖-*/
    position: absolute;
    bottom: -100px;
    left: -50px;
    width: 33%;
    max-width: 350px;
}

/*---------------------------- Food & Drink ----------------------------*/

.section-w09 {
    background-color: #ecddf9;
}

.section-w09 h4 {
    display: block;
    padding: 7px 5px 5px;
    width: 80%;
    vertical-align: middle;
    margin: -10px auto 0;
    color: #ffffff;
    text-align: center;
    background-color: #0044a3;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    position: relative;
    z-index: 2;
}

@media only screen and (max-width:1199px) {
    .section-w09 h4 {
        font-size: 1.375rem;
    }
}

.section-w09 h4:before {
    content: url(../images/content09-icon01.png);
    vertical-align: middle;
    margin-right: 10px;
}

.section-w09 img[src*="content09-line.png"] {
    width: 90%;
    max-width: 1061px;
}

/*---------------------------- Dining Times ----------------------------*/

.section-w10 {
    background-color: #ecddf9;
}

.section-w10 .map-dining {
    position: relative;
    text-align: center;
}

.section-w10 .map-dining img[src*="content10-pic02.png"] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 25%;
}

.section-w10 .map-dining-note {
    position: relative;
    border: 1px dotted #ba8aed;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

.section-w10 .map-dining-note>div {
    width: 30%;
    float: right;
}

.section-w10 .map-dining-note>div>img {
    width: 100%;
}

.section-w10 .map-dining-note>div:nth-of-type(1) {
    position: absolute;
    float: none;
    top: 0;
    left: 0;
    transform: translate(-10%, -20%);
}

@media only screen and (max-width: 575px) {
    .section-w10 .map-dining-note>div {
        width: 45%;
        float: right;
    }
    .section-w10 .map-dining-note>div>img {
        width: 100%;
    }
    .section-w10 .map-dining-note>div:nth-of-type(1) {
        width: 32%;
        transform: translate(-12%, -85%);
    }
}

.map-dining-table {
    background: url(../images/content10-bg.gif) repeat;
}

.map-dining-table .table {
    background-color: #ffffff;
}

.map-dining-table .table th, .table td {
    text-align: center;
    padding: 10px;
    white-space: nowrap;
}

@media only screen and (max-width: 575px) {
    .map-dining-table .table th, .table td {
        padding: .5rem;
    }
}

.map-dining-table .table .thead-dark th, .map-dining-table .table-bordered td, .map-dining-table .table-bordered th {
    border: 1px solid #f7ffa4;
    border-color: #917fe1;
}

.map-dining-table .border-rw2 {
    border-right-width: 2px !important;
}

.map-dining-table .table .thead-dark th {
    background-color: #917fe1;
}

.map-dining-table .table tbody tr:first-of-type th {
    background-color: #f7ffa4;
}

.map-dining-table .text-timeblue {
    color: #003c8c !important;
}

@media only screen and (max-width: 575px) {
    img[src*="title_b"] {
        transform-origin: 0;
        transform: scale(0.8, 0.8);
    }
}

@media only screen and (max-width: 575px) {
    section>.container {
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

/*---------------------------- evian礦泉水 20200416新增 ----------------------------*/

.evian_area>div:nth-of-type(1) {
    position: relative;
    height: 0;
    padding-bottom: 25%;
}

.evian_area>div:nth-of-type(1)>img {
    position: absolute;
    height: 100%;
    width: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

.evian_area>div:nth-of-type(1)::after {
    content: "";
    display: block;
    position: absolute;
    width: 70%;
    height: 70%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background-color: #8eccff;
}

.evian_area>div:nth-of-type(2) {
    position: relative;
}

.evian_area>div:nth-of-type(2)>p {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    padding: 0 10px;
}

@media only screen and (max-width: 767px) {
    .evian_area>div:nth-of-type(1) {
        padding-bottom: 100%;
    }
    .evian_area>div:nth-of-type(1)>img {
        height: 85%;
        width: auto;
    }
    .evian_area>div:nth-of-type(2)>p {
        position: relative;
        top: 0;
        left: 0;
        transform: translate(0, 0);
        padding: 0;
    }
}

/*---------------------------- 2020Xmas ----------------------------*/

.xmas-area {
    color: #ffffff;
    padding: 3.5rem 4rem;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#e5410b+0,d1300a+100 */
    background: #e5410b;
    /* Old browsers */
    background: -moz-radial-gradient(center, ellipse cover, #e5410b 0%, #d1300a 100%);
    /* FF3.6-15 */
    background: -webkit-radial-gradient(center, ellipse cover, #e5410b 0%, #d1300a 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: radial-gradient(ellipse at center, #e5410b 0%, #d1300a 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5410b', endColorstr='#d1300a', GradientType=1);
    /* IE6-9 fallback on horizontal gradient */
}

@media only screen and (min-width:1200px) {
    .xmas-area {
        font-size: 1.125rem;
    }
}

.xmas-area>h1 {
    text-align: center;
}

.xmas-top {
    background: url(../images/2020xmas/topbg-xmas.png) no-repeat right bottom/contain;
    padding: 2rem 0 3rem;
    margin-bottom: 3rem;
}

.xmas-top h2 {
    color: #e7bd85;
    font-size: 2.25rem;
    font-weight: 600;
}

.xmas-sm-pic {
    display: none;
}

ul.xmas-txt {
    margin-inline-start: 0;
    padding-inline-start: 0;
}

.xmas-txt li {
    list-style: none;
    margin-bottom: 3px;
    text-indent: -89px;
    margin-left: 89px;
}

.xmas-txt li>b {
    font-weight: 400;
    padding: 3px 5px;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#00765a+0,005850+100 */
    background: #00765a;
    /* Old browsers */
    background: -moz-linear-gradient(left, #00765a 0%, #005850 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #00765a 0%, #005850 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #00765a 0%, #005850 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00765a', endColorstr='#005850', GradientType=1);
    /* IE6-9 */
}

.xmas-theme>div:nth-of-type(1) {
    padding-left: 0;
    text-align: left;
}

@media only screen and (max-width:1199px) {
    .xmas-top {
        margin-bottom: 4rem;
    }
    .xmas-theme-area>div {
        padding: 0;
    }
    .xmas-theme>div:nth-of-type(1)>img {
        zoom: 0.9;
    }
    .xmas-theme>div:nth-of-type(2)>p>img {
        zoom: 0.9;
    }
    .xmas-txt li {
        text-indent: -78px;
        margin-left: 78px;
    }
}

@media only screen and (max-width:991px) {
    .xmas-area {
        padding: 1.5rem;
    }
    .xmas-top {
        padding: 1rem 0 2rem;
    }
    .xmas-top h2 {
        font-size: 2rem;
    }
    .xmas-top>div:nth-of-type(1) {
        background: rgba(209, 48, 10, 0.7);
        padding-top: 0.8rem;
    }
    .xmas-theme>div:nth-of-type(2) {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
    }
    .xmas-theme>div:nth-of-type(1)>img {
        zoom: 0.6;
    }
    .xmas-theme>div:nth-of-type(2)>p>img {
        zoom: 0.6;
    }
}

@media only screen and (max-width:575px) {
    .xmas-theme-area {
        font-size: 0.9375rem;
    }
    .xmas-txt li {
        text-indent: -76px;
        margin-left: 76px;
    }
    .xmas-area {
        padding: 1.2rem;
    }
    .xmas-area>h1>img {
        zoom: 0.8;
    }
    .xmas-sm-pic {
        display: block;
        padding-left: 0;
        padding-right: 0;
    }
    .xmas-sm-pic>img {
        width: 100%;
        height: auto;
    }
    .xmas-top {
        background: none;
        margin-bottom: 1rem;
    }
    .xmas-top h2 {
        font-size: 1.75rem;
    }
    .xmas-top>div:nth-of-type(1) {
        background: none;
        padding-top: 0;
    }
    ul.xmas-txt {
        margin-bottom: 0;
    }
    .xmas-theme>div:nth-of-type(2) {
        padding-right: 0;
    }
}