
html, body {
    max-width: 100%;
    overflow-x: hidden;
}
@media screen and (min-width:960px), print {
    .u-hidePc {
        display: none
    }
}

@media screen and (max-width:959px) {
    .u-hideSp {
        display: none
    }
}

/* =========================================================
 00-jsmodules
========================================================= */
.jsm-windowstore__checker {
    height: 0;
    width: 1px;
}

@media screen and (max-width:959px) {
    .jsm-windowstore__checker {
        width: 2px
    }
}

.jsm-carrousel {
    position: relative;
}

.jsm-carrousel .jsm-prev, .jsm-carrousel .jsm-next {
    position: absolute;
    top: 0;
    width: 50%;
    height: 66vh;
    max-height: 700px
}

.jsm-carrousel .jsm-prev {
    left: 0
}

.jsm-carrousel .jsm-next {
    right: 0
}

.jsm-carrousel__area {
    position: relative;
    height: 66vh;
    max-height: 700px;
}

@media screen and (min-width:960px) and (max-width:1279px) {
    .jsm-carrousel__area {
        max-height: 480px
    }
}

.jsm-carrousel__area canvas {
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none
}

.jsm-carrousel__item {
    position: absolute;
    padding-left: 50px
}

.jsm-carrousel__itemText {
    position: absolute;
    left: 32px;
    color: #666;
    font-family: "Helvetica Neue LT W01_55 Roman" , "hsn-zhcn-sans-demilight" , "hsn-zhtw-sans-demilight" , "FOT-筑紫ゴシック Pr5 R{pm}" , sans-serif;
    font-size: 11px;
    top: -11px;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: left bottom;
    -moz-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    -o-transform-origin: left bottom;
    transform-origin: left bottom
}

html.lang-ja .jsm-carrousel__itemText, html.lang-zhcn .jsm-carrousel__itemText,
html.lang-zhtw .jsm-carrousel__itemText {
    letter-spacing: 1px
}

.jsm-carrousel__itemPic {
    position: relative;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

.jsm-carrousel__item.js-visible .jsm-carrousel__itemPic {
    -webkit-box-shadow: 0 1px 4px 0 rgba(4, 0, 0, 0.1) inset;
    -moz-box-shadow: 0 1px 4px 0 rgba(4, 0, 0, 0.1) inset;
    box-shadow: 0 1px 4px 0 rgba(4, 0, 0, 0.1) inset
}

.jsm-movie__trigger {
    cursor: pointer;
    position: relative;
    margin: 0 auto;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    overflow: hidden;
}

.jsm-movie__trigger:before {
    content: '';
    display: block;
    padding-bottom: 56.25%;
}

@media screen and (min-width:960px), print {
    .jsm-movie__trigger {
        width: 240px
    }
}

@media screen and (max-width:959px) {
    .jsm-movie__trigger {
        width: 182px
    }
}

.jsm-movie__trigger:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.2) url("../img/play.svg") no-repeat center;
    -moz-background-size: 46px auto;
    background-size: 46px auto
}

.jsm-movie__trigger:after {
    -webkit-transition: background-color 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: background-color 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: background-color 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: background-color 200ms cubic-bezier(0.165, 0.84, 0.44, 1)
}

html.device-desktop .jsm-movie__trigger:hover:after {
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
    background-color: rgba(0, 0, 0, 0.6)
}

.jsm-movie__triggerInner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.jsm-movie__triggerInner--image {
    background: no-repeat center;
    -moz-background-size: cover;
    background-size: cover
}

.jsm-movie__triggerInner--video video {
    width: 100%;
    height: auto
}

.jsm-movie__modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    visibility: hidden;
    overflow-y: auto
}

.jsm-movie__modal.js-visible {
    pointer-events: auto;
    visibility: visible
}

.jsm-movie__modalBg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    -moz-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    -o-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    background-color: #000
}

.jsm-movie__modal.js-show .jsm-movie__modalBg {
    opacity: 1;
    -webkit-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    -moz-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    -o-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    transition: opacity 200ms cubic-bezier(.445, .05, .55, .95)
}

.jsm-movie__modalInner {
    opacity: 0;
    -webkit-transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    -moz-transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    -o-transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
}

.jsm-movie__modal.js-show .jsm-movie__modalInner {
    opacity: 1;
    -webkit-transition: opacity 400ms cubic-bezier(.455, .03, .515, .955);
    -moz-transition: opacity 400ms cubic-bezier(.455, .03, .515, .955);
    -o-transition: opacity 400ms cubic-bezier(.455, .03, .515, .955);
    transition: opacity 400ms cubic-bezier(.455, .03, .515, .955)
}

.jsm-movie__modalContent iframe {
    width: 100% !important;
    height: 100% !important
}

.jsm-movie__modalClose {
    cursor: pointer;
    background: #000 url("../img/close-white.svg") no-repeat center;
    -moz-background-size: 36% auto;
    background-size: 36% auto
}

.jsm-movie__modalClose:before {
    content: '';
    display: block;
    padding-bottom: 100%;
}

@media screen and (min-width:960px), print {
    .jsm-movie__modalInner {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 164.1025641025641vh;
        height: 92.3076923076923vh;
    }

    .jsm-movie__modalContent {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%
    }

    .jsm-movie__modalClose {
        position: absolute;
        top: 0;
        right: 0;
        width: 8.4375%;
        max-width: 108px;
        margin-top: -2.34375%
    }
}

@media screen and (max-width:959px) {
    .jsm-movie__modalContent {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 100vw;
        height: 56.25vw
    }

    .jsm-movie__modalClose {
        position: absolute;
        top: 0;
        right: 0;
        width: 21.333333333333336%;
        max-width: 80px
    }
}

.jsm-nav {
    line-height: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.jsm-nav__item {
    cursor: pointer;
    display: inline-block;
    position: relative;
}

.jsm-nav__item * {
    pointer-events: none
}

.jsm-nav__item span {
    display: block;
    position: absolute;
    background-color: #b28138;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    opacity: .2;
    -webkit-transition: -webkit-transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: -moz-transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: -o-transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1)
}

.theme-dark .jsm-nav__item span {
}

.jsm-nav__item i {
    content: '';
    display: block;
    position: absolute;
    height: 1px;
    background-color: #b28138;
    -webkit-transform: scale(0, 1);
    -moz-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    -o-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    -moz-transform-origin: right top;
    -ms-transform-origin: right top;
    -o-transform-origin: right top;
    transform-origin: right top;
    -webkit-transition: -webkit-transform 600ms cubic-bezier(.25, .46, .45, .94);
    -moz-transition: -moz-transform 600ms cubic-bezier(.25, .46, .45, .94);
    -o-transition: -o-transform 600ms cubic-bezier(.25, .46, .45, .94);
    transition: transform 600ms cubic-bezier(.25, .46, .45, .94)
}

.theme-dark .jsm-nav__item i {
}

@media screen and (max-width:959px) {
    .jsm-nav__item {
        width: 21px;
        height: 21px
    }

    .jsm-nav__item span {
        bottom: 7px;
        left: 7px;
        width: 7px;
        height: 7px;
        -webkit-transform: scale(.42857142857142855);
        -moz-transform: scale(.42857142857142855);
        -ms-transform: scale(.42857142857142855);
        -o-transform: scale(.42857142857142855);
        transform: scale(.42857142857142855)
    }

    .jsm-nav__item i {
        bottom: 10px;
        left: 14px;
        width: 14px
    }
}

.jsm-nav__item:last-child i {
    display: none
}

html.device-desktop .jsm-nav__item:hover span {
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
    -webkit-transform: scale(1) !important;
    -moz-transform: scale(1) !important;
    -ms-transform: scale(1) !important;
    -o-transform: scale(1) !important;
    transform: scale(1) !important;
    opacity: 1 !important
}

html.device-desktop .jsm-nav__item:hover i {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-transform-origin: left top !important;
    -moz-transform-origin: left top !important;
    -ms-transform-origin: left top !important;
    -o-transform-origin: left top !important;
    transform-origin: left top !important
}

.jsm-nav__item.js-active span {
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
    -webkit-transform: scale(1) !important;
    -moz-transform: scale(1) !important;
    -ms-transform: scale(1) !important;
    -o-transform: scale(1) !important;
    transform: scale(1) !important;
    opacity: 1 !important
}

.jsm-nav__item.js-active i {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-transform-origin: left top !important;
    -moz-transform-origin: left top !important;
    -ms-transform-origin: left top !important;
    -o-transform-origin: left top !important;
    transform-origin: left top !important
}

.jsm-next {
    /*cursor: url("../img/cursor-next.svg") 43 56, pointer;
    cursor: -webkit-image-set(url("../img/cursor-next.png") 1x, url("../img/cursor-next@2x.png") 2x) 43 56, pointer;*/
    display: block;
    overflow: hidden;
    text-indent: -9999px;
}

html.browser-ie .jsm-next {
    /*cursor: url("/assets/img/cursor-next.cur"), pointer*/
}

html.device-touch .jsm-next {
    display: none
}

.jsm-notice__bar {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
}

@media screen and (min-width:960px), print {
    .jsm-notice__bar {
        -webkit-transform: none !important;
        -moz-transform: none !important;
        -ms-transform: none !important;
        -o-transform: none !important;
        transform: none !important
    }
}

@media screen and (max-width:959px) {
    .jsm-notice__bar {
        position: absolute
    }
}

.jsm-notice__bar.js-close .jsm-notice__barList, .jsm-notice__bar.js-close .jsm-notice__barClose {
    opacity: 0;
    -webkit-transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    -moz-transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    -o-transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    transition: opacity 100ms cubic-bezier(.25, .46, .45, .94)
}

.jsm-notice__barInner {
    position: relative;
    border-bottom: 4px solid #5eb598;
    background-color: #f0f5f3
}

.jsm-notice__barList {
    position: relative
}

.jsm-notice__barItem {
    cursor: pointer;
    color: #1f4c40;
}

.jsm-notice__barItem:not(:first-child) {
    border-top: 1px solid #dae3df
}

.jsm-notice__barItem:before {
    content: '';
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: #5eb598 url("../img/exclamation.svg") no-repeat center;
    -moz-background-size: contain;
    background-size: contain;
    vertical-align: top
}

.jsm-notice__barItem > span:first-child {
    letter-spacing: .5px
}

.jsm-notice__barItem > span:last-child {
    letter-spacing: 1px;
}

html.lang-ja .jsm-notice__barItem > span:last-child, html.lang-zhcn .jsm-notice__barItem > span:last-child,
html.lang-zhtw .jsm-notice__barItem > span:last-child {
    letter-spacing: 1.5px
}

.jsm-notice__barItem > span {
    -webkit-transition: opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1)
}

html.device-desktop .jsm-notice__barItem:hover > span {
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
    opacity: .4
}

@media screen and (min-width:960px), print {
    .jsm-notice__barItem {
        padding: 16px 66px;
        font-size: 15px;
        line-height: 18px;
        text-align: center
    }

    .jsm-notice__barItem:before {
        display: inline-block;
        position: relative;
        width: 18px;
        height: 18px;
        margin-right: 14px
    }

    .jsm-notice__barItem > span:first-child {
        padding-right: 1em
    }
}

@media screen and (max-width:959px) {
    .jsm-notice__barItem {
        display: table;
        position: relative;
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 14px 60px 14px 44px;
        font-size: 13px;
        line-height: 16px
    }

    .jsm-notice__barItem:before {
        position: absolute;
        top: 14px;
        left: 16px;
        width: 16px;
        height: 16px
    }

    .jsm-notice__barItem > span {
        display: table-cell;
        vertical-align: top;
    }

    .jsm-notice__barItem > span:first-child {
        width: 78px;
        white-space: nowrap
    }
}

.jsm-notice__barItem.has-noDetail {
    pointer-events: none
}

.jsm-notice__barClose {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    background-color: #f0f5f3;
    text-indent: -9999px;
}

@media screen and (min-width:960px), print {
    .jsm-notice__barClose {
        width: 50px
    }
}

@media screen and (max-width:959px) {
    .jsm-notice__barClose {
        width: 44px
    }
}

.jsm-notice__barClose:after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    background: url("../img/close-notice.svg") no-repeat center;
    -moz-background-size: 12px auto;
    background-size: 12px auto
}

@media screen and (min-width:960px), print {
    .jsm-notice__barClose:after {
        height: 50px
    }
}

@media screen and (max-width:959px) {
    .jsm-notice__barClose:after {
        height: 44px
    }
}

.jsm-notice__barClose:after {
    -webkit-transition: opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition: opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 500ms cubic-bezier(0.165, 0.84, 0.44, 1)
}

html.device-desktop .jsm-notice__barClose:hover:after {
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
    opacity: .25
}

.jsm-notice__modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    visibility: hidden;
}

.jsm-notice__modal.js-visible {
    pointer-events: auto;
    visibility: visible
}

.jsm-notice__modalBg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    -moz-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    -o-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    background-color: rgba(0, 0, 0, 0.2)
}

.jsm-notice__modal.js-show .jsm-notice__modalBg {
    opacity: 1;
    -webkit-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    -moz-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    -o-transition: opacity 200ms cubic-bezier(.445, .05, .55, .95);
    transition: opacity 200ms cubic-bezier(.445, .05, .55, .95)
}

.jsm-notice__modalInner {
    opacity: 0;
    -webkit-transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    -moz-transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    -o-transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    transition: opacity 100ms cubic-bezier(.25, .46, .45, .94);
    position: absolute;
}

.jsm-notice__modal.js-show .jsm-notice__modalInner {
    opacity: 1;
    -webkit-transition: opacity 400ms cubic-bezier(.455, .03, .515, .955);
    -moz-transition: opacity 400ms cubic-bezier(.455, .03, .515, .955);
    -o-transition: opacity 400ms cubic-bezier(.455, .03, .515, .955);
    transition: opacity 400ms cubic-bezier(.455, .03, .515, .955)
}

@media screen and (min-width:960px), print {
    .jsm-notice__modalInner {
        top: 50px;
        right: 0;
        left: 0;
        width: 600px;
        margin-right: auto;
        margin-left: auto
    }
}

@media screen and (max-width:959px) {
    .jsm-notice__modalInner {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch
    }
}

.jsm-notice__modalContent {
    position: relative;
}

@media screen and (min-width:960px), print {
    .jsm-notice__modalContent {
        padding: 82px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
    }
}

@media screen and (max-width:959px) {
    .jsm-notice__modalContent {
        padding: 82px 50px
    }
}

.jsm-notice__modalItem {
    display: none;
}

.jsm-notice__modalItem.js-visible {
    display: block
}

.jsm-notice__modalClose {
    cursor: pointer;
    position: absolute;
    top: 0;
    width: 64px;
    height: 64px;
    overflow: hidden;
    -moz-background-size: 28.5px auto;
    background-size: 28.5px auto;
    text-indent: -9999px;
}

@media screen and (min-width:960px), print {
    .jsm-notice__modalClose {
        right: -82px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px
    }
}

@media screen and (max-width:959px) {
    .jsm-notice__modalClose {
        right: 0
    }
}

.jsm-outlinehero {
    position: relative;
}

@media screen and (min-width:960px), print {
    .jsm-outlinehero {
        overflow: hidden;
        height: 100vh
    }
}

.jsm-outlinehero__back {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

@media screen and (min-width:960px), print {
    .jsm-outlinehero__back {
        position: absolute
    }
}

@media screen and (max-width:959px) {
    .jsm-outlinehero__back {
        position: fixed
    }

    .jsm-outlinehero.js-covered .jsm-outlinehero__back {
        visibility: hidden
    }
}

html.site-bali .jsm-outlinehero__back .jsm-img[data-setbg="1"] {
    background-position: center top
}

.jsm-outlinehero__backInner {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

@media screen and (min-width:960px), print {
    html.browser-modern .jsm-outlinehero__backInner {
        -webkit-transform: translate3d(0, 0, 0) scale(1.08);
        -moz-transform: translate3d(0, 0, 0) scale(1.08);
        transform: translate3d(0, 0, 0) scale(1.08);
    }

    html.browser-modern .jsm-outlinehero__backInner.js-zoom {
        -webkit-transform: translate3d(0, 0, 0) scale(1);
        -moz-transform: translate3d(0, 0, 0) scale(1);
        transform: translate3d(0, 0, 0) scale(1);
        -webkit-transition: -webkit-transform 12000ms cubic-bezier(.165, .84, .44, 1);
        -moz-transition: -moz-transform 12000ms cubic-bezier(.165, .84, .44, 1);
        -o-transition: -o-transform 12000ms cubic-bezier(.165, .84, .44, 1);
        transition: transform 12000ms cubic-bezier(.165, .84, .44, 1)
    }
}

@media screen and (max-width:959px) {
    .jsm-outlinehero__backInner {
        width: -webkit-calc(100% + 100px);
        width: -moz-calc(100% + 100px);
        width: calc(100% + 100px);
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.jsm-outlinehero__front {
    text-align: center;
}

@media screen and (min-width:960px), print {
    .jsm-outlinehero__front {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        color: #fff;
        text-shadow: 0 0 80px rgba(4, 0, 0, 0.6);
        -webkit-transform: translate3d(0, 0, 0) !important;
        -moz-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important
    }

    html.site-guguan .jsm-outlinehero__front {
        text-shadow: 0 0 30px #040000
    }
}

@media screen and (max-width:959px) {
    .jsm-outlinehero__front {
        position: relative;
        min-height: 100%;
        background-color: #d3e8e1;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media screen and (max-width:959px) {
    .jsm-outlinehero__frontInner {
        width: 100%;
        padding: 114px 18px 114px 75px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        opacity: 0;
        -webkit-transition: opacity 1200ms cubic-bezier(.445, .05, .55, .95);
        -moz-transition: opacity 1200ms cubic-bezier(.445, .05, .55, .95);
        -o-transition: opacity 1200ms cubic-bezier(.445, .05, .55, .95);
        transition: opacity 1200ms cubic-bezier(.445, .05, .55, .95)
    }

    .js-scrollDown .jsm-outlinehero__frontInner {
        opacity: 1
    }
}

.jsm-outlinehero__frontLogo {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

@media screen and (max-width:959px) {
    .jsm-outlinehero__frontLogo {
        display: none
    }
}

.jsm-outlinehero__frontLogo > svg {
    display: block;
    width: 52px;
    height: 52px;
    background: no-repeat center;
    -moz-background-size: contain;
    background-size: contain;
    margin: 10px auto 0;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    fill: #fff
}

.jsm-outlinehero__frontLogo > svg:first-child {
    margin-top: 0
}

.jsm-outlinehero__frontLogo > div {
    margin-top: 16px;
    color: #fff;
}

html.lang-ja .jsm-outlinehero__frontLogo > div {
    font-family: "hsn-zhcn-serif-semibold" , "hsn-zhtw-serif-semibold" , "FOT-筑紫明朝 Pr6N D{pm}" , serif;
    font-size: 18px;
    letter-spacing: 1px
}

.jsm-outlinehero__frontLogo > div > div {
    letter-spacing: 1.2px;
}

.jsm-outlinehero__frontLogo > div > div:first-child {
    font-size: 21px
}

.jsm-outlinehero__frontLogo > div > div:last-child {
    padding-top: 10px;
    font-size: 15px
}

html.lang-zhcn .jsm-outlinehero__frontLogo > div > div, html.lang-zhtw .jsm-outlinehero__frontLogo > div > div {
    font-family: "hsn-zhcn-serif-semibold" , "hsn-zhtw-serif-semibold" , "FOT-筑紫明朝 Pr6N D{pm}" , serif
}

.jsm-outlinehero__frontLogo.js-visible {
    opacity: 1;
    -webkit-transition: opacity 700ms linear;
    -moz-transition: opacity 700ms linear;
    -o-transition: opacity 700ms linear;
    transition: opacity 700ms linear
}

@media screen and (min-width:960px), print {
    .jsm-outlinehero__frontTitle {
        position: absolute;
        right: 0;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "Bauer Bodoni Pro_1 W01 Roman" , serif;
        letter-spacing: 3px
    }

    .jsm-outlinehero__frontTitle span {
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .jsm-outlinehero__frontTitle span.js-visible {
        opacity: 1;
        -webkit-transition: opacity 1200ms cubic-bezier(.445, .05, .55, .95);
        -moz-transition: opacity 1200ms cubic-bezier(.445, .05, .55, .95);
        -o-transition: opacity 1200ms cubic-bezier(.445, .05, .55, .95);
        transition: opacity 1200ms cubic-bezier(.445, .05, .55, .95)
    }

    html.lang-ja .jsm-outlinehero__frontTitle, html.lang-zhcn .jsm-outlinehero__frontTitle,
    html.lang-zhtw .jsm-outlinehero__frontTitle {
        font-family: "hsn-zhcn-serif-regular" , "hsn-zhtw-serif-regular" , "FOT-筑紫明朝 Pr6N LB{pm}" , serif;
        letter-spacing: 2px
    }
}

@media screen and (max-width:959px) {
    .jsm-outlinehero__frontTitle {
        padding-bottom: 32.5px;
        font-family: "Bauer Bodoni Pro_1 W01 Roman" , serif;
        letter-spacing: 2.2px;
        font-size: 32px;
        line-height: 50px
    }

    html.lang-ja .jsm-outlinehero__frontTitle, html.lang-zhcn .jsm-outlinehero__frontTitle,
    html.lang-zhtw .jsm-outlinehero__frontTitle {
        font-family: "hsn-zhcn-serif-light" , "hsn-zhtw-serif-light" , "FOT-筑紫明朝 Pr6N L{pm}" , serif;
        letter-spacing: 3px
    }
}

@media screen and (min-width:960px), print {
    .jsm-outlinehero__frontDesc {
        position: absolute;
        right: 0;
        left: 0;
        font-family: "Bauer Bodoni Pro_1 W01 Roman" , serif;
        font-size: 20px;
        line-height: 32px;
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    .jsm-outlinehero__frontDesc:first-child {
        margin-top: -6px
    }

    .jsm-outlinehero__frontDesc:last-child {
        margin-bottom: -6px
    }

    .jsm-outlinehero__frontDesc a:after {
        bottom: 2px
    }

    html.lang-ja .jsm-outlinehero__frontDesc, html.lang-zhcn .jsm-outlinehero__frontDesc,
    html.lang-zhtw .jsm-outlinehero__frontDesc {
        font-family: "hsn-zhcn-serif-regular" , "hsn-zhtw-serif-regular" , "FOT-筑紫明朝 Pr6N LB{pm}" , serif;
        font-size: 18px;
        line-height: 32px;
        letter-spacing: 1.8px
    }

    html.lang-ja .jsm-outlinehero__frontDesc:first-child, html.lang-zhcn .jsm-outlinehero__frontDesc:first-child,
    html.lang-zhtw .jsm-outlinehero__frontDesc:first-child {
        margin-top: -7px
    }

    html.lang-ja .jsm-outlinehero__frontDesc:last-child, html.lang-zhcn .jsm-outlinehero__frontDesc:last-child,
    html.lang-zhtw .jsm-outlinehero__frontDesc:last-child {
        margin-bottom: -7px
    }

    html.lang-ja .jsm-outlinehero__frontDesc a:after, html.lang-zhcn .jsm-outlinehero__frontDesc a:after,
    html.lang-zhtw .jsm-outlinehero__frontDesc a:after {
        bottom: 3px
    }

    .jsm-outlinehero__frontDesc.js-visible {
        opacity: 1;
        -webkit-transition: opacity 1500ms cubic-bezier(.445, .05, .55, .95);
        -moz-transition: opacity 1500ms cubic-bezier(.445, .05, .55, .95);
        -o-transition: opacity 1500ms cubic-bezier(.445, .05, .55, .95);
        transition: opacity 1500ms cubic-bezier(.445, .05, .55, .95)
    }
}

@media screen and (max-width:959px) {
    .jsm-outlinehero__frontDesc {
        font-size: 15px;
        line-height: 32px;
        text-align: justify;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto;
        -moz-text-align-last: center;
        text-align-last: center;
        font-family: "Bauer Bodoni Pro_1 W01 Roman" , serif;
        letter-spacing: .9px
    }

    .jsm-outlinehero__frontDesc:first-child {
        margin-top: -8.5px
    }

    .jsm-outlinehero__frontDesc:last-child {
        margin-bottom: -8.5px
    }

    .jsm-outlinehero__frontDesc a:after {
        bottom: 4.5px
    }

    html.lang-en .jsm-outlinehero__frontDesc, html.lang-id .jsm-outlinehero__frontDesc {
        word-spacing: -.92px
    }

    html.lang-ja .jsm-outlinehero__frontDesc, html.lang-zhcn .jsm-outlinehero__frontDesc,
    html.lang-zhtw .jsm-outlinehero__frontDesc {
        font-family: "hsn-zhcn-serif-light" , "hsn-zhtw-serif-light" , "FOT-筑紫明朝 Pr6N L{pm}" , serif;
        letter-spacing: 1.8px
    }

    .jsm-outlinehero__frontDesc br {
        display: none
    }
}

.jsm-outlinehero__arw {
    position: absolute;
    top: -webkit-calc(80vh - 14px - 20px);
    top: -moz-calc(80vh - 14px - 20px);
    top: calc(80vh - 14px - 20px);
    left: 50%;
    width: 14px;
    height: 14px;
    margin-left: -27px;
    border: 20px solid transparent;
    background: url("../img/arrow.svg") no-repeat center;
    -moz-background-size: contain;
    background-size: contain;
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px);
    opacity: 0;
}

@media screen and (min-width:960px), print {
    .jsm-outlinehero__arw {
        display: none
    }
}

.jsm-outlinehero__arw.js-visible {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    -webkit-transition: all 1800ms cubic-bezier(.165, .84, .44, 1);
    -moz-transition: all 1800ms cubic-bezier(.165, .84, .44, 1);
    -o-transition: all 1800ms cubic-bezier(.165, .84, .44, 1);
    transition: all 1800ms cubic-bezier(.165, .84, .44, 1)
}

@media screen and (max-width:959px) {
    .js-scrollDown .jsm-outlinehero__arw {
        opacity: 0;
        visibility: hidden;
        -webkit-transition: all 200ms cubic-bezier(.25, .46, .45, .94);
        -moz-transition: all 200ms cubic-bezier(.25, .46, .45, .94);
        -o-transition: all 200ms cubic-bezier(.25, .46, .45, .94);
        transition: all 200ms cubic-bezier(.25, .46, .45, .94)
    }
}

.jsm-outlinehero__clip--before, .jsm-outlinehero__clip--after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

body:not(.tpl-outline) .jsm-outlinehero__clip--before, body:not(.tpl-outline) .jsm-outlinehero__clip--after {
    clip: auto !important
}


.jsm-page {
    position: relative;
}

.jsm-page:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.theme-dark .jsm-page:after {
    background-color: #000
}

.jsm-page.js-visible:after {
    opacity: 0;
    -webkit-transition: opacity 1500ms cubic-bezier(.445, .05, .55, .95);
    -moz-transition: opacity 1500ms cubic-bezier(.445, .05, .55, .95);
    -o-transition: opacity 1500ms cubic-bezier(.445, .05, .55, .95);
    transition: opacity 1500ms cubic-bezier(.445, .05, .55, .95)
}

.jsm-page.js-hidden:after {
    opacity: 1;
    -webkit-transition: opacity 300ms cubic-bezier(.25, .46, .45, .94);
    -moz-transition: opacity 300ms cubic-bezier(.25, .46, .45, .94);
    -o-transition: opacity 300ms cubic-bezier(.25, .46, .45, .94);
    transition: opacity 300ms cubic-bezier(.25, .46, .45, .94)
}

.jsm-pageabout__content {
    display: none;
}

.jsm-pageabout__content.js-visible {
    display: block
}

@media screen and (min-width:960px), print {
    .jsm-pageoutline__content {
        visibility: hidden
    }
}

@media screen and (max-width:959px) {
    .jsm-pageoutline__content {
        display: none
    }
}

@media screen and (min-width:960px), print {
    .jsm-pageoutline__content.js-visible {
        visibility: visible
    }
}

@media screen and (max-width:959px) {
    .jsm-pageoutline__content.js-visible {
        display: block
    }
}

.jsm-prev {
    /*cursor: url("../img/cursor-prev.svg") 43 56, pointer;
    cursor: -webkit-image-set(url("../img/cursor-prev.png") 1x, url("../img/cursor-prev@2x.png") 2x) 43 56, pointer;*/
    display: block;
    overflow: hidden;
    text-indent: -9999px;
}

html.browser-ie .jsm-prev {
    /*cursor: url("/assets/img/cursor-prev.cur"), pointer*/
}

html.device-touch .jsm-prev {
    display: none
}

.jsm-roller {
    position: relative;
}

.jsm-roller.js-disabled .jsm-nav, .jsm-roller.js-disabled .jsm-prev,
.jsm-roller.js-disabled .jsm-next {
    display: none
}

.jsm-roller__area {
    position: relative;
    overflow: hidden;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.jsm-roller__item {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    margin-right: 1px
}


.jsm-switcher {
    position: relative;
}

.jsm-switcher.js-disabled .jsm-prev, .jsm-switcher.js-disabled .jsm-next {
    display: none
}

.jsm-switcher__area {
    position: relative;
    overflow: hidden;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.jsm-switcher[data-shape="circle"] .jsm-switcher__area {
    overflow: visible;
    background: none;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-clip-path: circle(35% at center);
    clip-path: circle(35% at center)
}

html.browser-ie .jsm-switcher[data-shape="circle"] .jsm-switcher__area,
html.browser-edge .jsm-switcher[data-shape="circle"] .jsm-switcher__area {
    overflow: hidden
}

.jsm-switcher.js-enterFirst[data-shape="circle"] .jsm-switcher__area {
    -webkit-clip-path: circle(50% at center);
    clip-path: circle(50% at center);
    -webkit-transition: all 2400ms cubic-bezier(.165, .84, .44, 1);
    -moz-transition: all 2400ms cubic-bezier(.165, .84, .44, 1);
    -o-transition: all 2400ms cubic-bezier(.165, .84, .44, 1);
    transition: all 2400ms cubic-bezier(.165, .84, .44, 1)
}

html.device-touch .jsm-switcher__area * {
    pointer-events: none
}

.jsm-switcher__holder {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
}

@media screen and (min-width:960px), print {
    .jsm-switcher[data-shape="circle"] .jsm-switcher__holder {
        will-change: transform;
        bottom: -50px
    }
}

@media screen and (max-width:959px) {
    .jsm-switcher__holder {
        will-change: transform;
        bottom: -30px
    }
}

.jsm-switcher__item {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
}

.jsm-switcher__item.js-ready {
    visibility: visible;
    will-change: opacity
}

.jsm-switcher__item.js-show {
    opacity: 1;
    -webkit-transition: opacity 2000ms cubic-bezier(.77, 0, .175, 1);
    -moz-transition: opacity 2000ms cubic-bezier(.77, 0, .175, 1);
    -o-transition: opacity 2000ms cubic-bezier(.77, 0, .175, 1);
    transition: opacity 2000ms cubic-bezier(.77, 0, .175, 1);
}

@media screen and (max-width:959px) {
    .jsm-switcher__item.js-show {
        -webkit-transition: opacity 1400ms cubic-bezier(.77, 0, .175, 1);
        -moz-transition: opacity 1400ms cubic-bezier(.77, 0, .175, 1);
        -o-transition: opacity 1400ms cubic-bezier(.77, 0, .175, 1);
        transition: opacity 1400ms cubic-bezier(.77, 0, .175, 1)
    }
}

.jsm-switcher__item.js-hide {
    opacity: 0;
    -webkit-transition: opacity 1000ms cubic-bezier(.77, 0, .175, 1);
    -moz-transition: opacity 1000ms cubic-bezier(.77, 0, .175, 1);
    -o-transition: opacity 1000ms cubic-bezier(.77, 0, .175, 1);
    transition: opacity 1000ms cubic-bezier(.77, 0, .175, 1);
    -webkit-transition-delay: 1000ms;
    -moz-transition-delay: 1000ms;
    -o-transition-delay: 1000ms;
    transition-delay: 1000ms;
}

@media screen and (max-width:959px) {
    .jsm-switcher__item.js-hide {
        -webkit-transition: opacity 700ms cubic-bezier(.77, 0, .175, 1);
        -moz-transition: opacity 700ms cubic-bezier(.77, 0, .175, 1);
        -o-transition: opacity 700ms cubic-bezier(.77, 0, .175, 1);
        transition: opacity 700ms cubic-bezier(.77, 0, .175, 1);
        -webkit-transition-delay: 700ms;
        -moz-transition-delay: 700ms;
        -o-transition-delay: 700ms;
        transition-delay: 700ms
    }
}

.jsm-switcher__item.js-direct {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important
}

.jsm-switcher__item.js-dragStarted .jsm-img {
    -webkit-transform: translate3d(0, 0, 0) !important;
    -moz-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important
}

.jsm-switcher__item.js-dragging {
    visibility: visible;
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-transition-delay: 0s !important;
    -moz-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    transition-delay: 0s !important;
    opacity: 1 !important
}

.jsm-switcher__item .jsm-img {
    width: 100%;
    height: 100%
}


@media screen and (max-width:959px) {
    .jsm-switcher__item .jsm-img {
        width: auto;
        right: -30px;
        background-repeat: no-repeat;
    }

    .jsm-switcher__item.js-ready .jsm-img {
        will-change: transform
    }

    .jsm-switcher__item.js-pan .jsm-img {
        -webkit-transform: translate3d(-30px, 0, 0);
        -moz-transform: translate3d(-30px, 0, 0);
        transform: translate3d(-30px, 0, 0);
        -webkit-transition: -webkit-transform 4700ms linear;
        -moz-transition: -moz-transform 4700ms linear;
        -o-transition: -o-transform 4700ms linear;
        transition: transform 4700ms linear
    }

    .jsm-switcher.js-disabled .jsm-switcher__item {
        right: 0;
    }

    .jsm-switcher.js-disabled .jsm-switcher__item.js-pan .jsm-img {
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none;
        -webkit-transition: none;
        -moz-transition: none;
        -o-transition: none;
        transition: none
    }
}

.jsm-tester {
    position: fixed;
    right: 0;
    top: 0;
    background: #eee;
    z-index: 999999;
    padding: 20px;
    font-size: 12px;
    opacity: 0;
}

.jsm-tester dd:not(:last-child) {
    padding-bottom: 10px
}

.jsm-tester:hover {
    opacity: 1
}

.jsm-tile {
    position: relative;
}

.jsm-tile .jsm-prev {
    position: absolute;
    top: 10px;
    left: 0;
    width: 50%;
    height: 600px
}

.jsm-tile .jsm-next {
    position: absolute;
    top: 10px;
    right: 0;
    width: 50%;
    height: 600px
}

.jsm-tile__area {
    position: relative;
    width: 620px;
    height: 620px;
    margin: -10px auto
}

.jsm-tile__page {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.jsm-tile__grid {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.jsm-tile__gridCell {
    position: relative;
    float: left;
    width: 50%;
    height: 50%
}

.jsm-tile__gridLine {
    position: absolute;
    left: 10px;
    right: 10px;
    top: 10px;
    bottom: 10px;
    width: auto;
    height: auto;
    margin: auto;
    display: block;
}

.jsm-tile__gridLine:before, .jsm-tile__gridLine:after {
    content: '';
    position: absolute;
    display: block;
    -webkit-transition: -webkit-transform 600ms cubic-bezier(.455, .03, .515, .955);
    -moz-transition: -moz-transform 600ms cubic-bezier(.455, .03, .515, .955);
    -o-transition: -o-transform 600ms cubic-bezier(.455, .03, .515, .955);
    transition: transform 600ms cubic-bezier(.455, .03, .515, .955);
    -webkit-transition-delay: 500ms;
    -moz-transition-delay: 500ms;
    -o-transition-delay: 500ms;
    transition-delay: 500ms
}

.jsm-tile__gridLine:before {
    left: 0;
    top: 50%;
    width: 100%;
    height: 20px;
    margin-top: -10px;
    -webkit-transform: scale(1.07, 0);
    -moz-transform: scale(1.07, 0);
    -ms-transform: scale(1.07, 0);
    -o-transform: scale(1.07, 0);
    transform: scale(1.07, 0)
}

.jsm-tile__gridLine:after {
    left: 50%;
    top: 0;
    width: 20px;
    height: 100%;
    margin-left: -10px;
    -webkit-transform: scale(0, 1.07);
    -moz-transform: scale(0, 1.07);
    -ms-transform: scale(0, 1.07);
    -o-transform: scale(0, 1.07);
    transform: scale(0, 1.07)
}

.jsm-tile__page.js-active .jsm-tile__gridLine:before, .jsm-tile__page.js-active .jsm-tile__gridLine:after {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transition-delay: 0ms;
    -moz-transition-delay: 0ms;
    -o-transition-delay: 0ms;
    transition-delay: 0ms
}

.jsm-tile__pic {
    position: absolute;
    left: 10px;
    right: 10px;
    top: 10px;
    bottom: 10px;
    width: auto;
    height: auto;
    margin: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    overflow: hidden;
    opacity: 0;
    -webkit-transition: opacity 900ms cubic-bezier(.445, .05, .55, .95);
    -moz-transition: opacity 900ms cubic-bezier(.445, .05, .55, .95);
    -o-transition: opacity 900ms cubic-bezier(.445, .05, .55, .95);
    transition: opacity 900ms cubic-bezier(.445, .05, .55, .95);
    -webkit-transition-delay: 400ms;
    -moz-transition-delay: 400ms;
    -o-transition-delay: 400ms;
    transition-delay: 400ms;
}

.jsm-tile__pic:after {
    content: '';
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-box-shadow: 0 1px 4px 0 rgba(4, 0, 0, 0.1) inset;
    -moz-box-shadow: 0 1px 4px 0 rgba(4, 0, 0, 0.1) inset;
    box-shadow: 0 1px 4px 0 rgba(4, 0, 0, 0.1) inset
}

.jsm-tile__page.js-active .jsm-tile__pic {
    opacity: 1;
    -webkit-transition: opacity 700ms cubic-bezier(.445, .05, .55, .95);
    -moz-transition: opacity 700ms cubic-bezier(.445, .05, .55, .95);
    -o-transition: opacity 700ms cubic-bezier(.445, .05, .55, .95);
    transition: opacity 700ms cubic-bezier(.445, .05, .55, .95);
    -webkit-transition-delay: 200ms;
    -moz-transition-delay: 200ms;
    -o-transition-delay: 200ms;
    transition-delay: 200ms
}

.jsm-tile__page.js-direct .jsm-tile__pic {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important
}

.jsm-tile__picBody {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: auto;
    height: auto;
    margin-bottom: -50px
}

body.nav-outline .o-menu__hotelLocalNavItem--outline .m-bltLink,
body.nav-rooms .o-menu__hotelLocalNavItem--rooms .m-bltLink, body.nav-cabin .o-menu__hotelLocalNavItem--cabin .m-bltLink,
body.nav-villa .o-menu__hotelLocalNavItem--villa .m-bltLink, body.nav-dining .o-menu__hotelLocalNavItem--dining .m-bltLink,
body.nav-experience .o-menu__hotelLocalNavItem--experience .m-bltLink,
body.nav-access .o-menu__hotelLocalNavItem--access .m-bltLink {
    color: #bfbfbf
}

body.nav-outline .o-menu__hotelLocalNavItem--outline .m-bltLink:after,
body.nav-rooms .o-menu__hotelLocalNavItem--rooms .m-bltLink:after,
body.nav-cabin .o-menu__hotelLocalNavItem--cabin .m-bltLink:after,
body.nav-villa .o-menu__hotelLocalNavItem--villa .m-bltLink:after,
body.nav-dining .o-menu__hotelLocalNavItem--dining .m-bltLink:after,
body.nav-experience .o-menu__hotelLocalNavItem--experience .m-bltLink:after,
body.nav-access .o-menu__hotelLocalNavItem--access .m-bltLink:after {
    opacity: .25
}


/* ---------------------------------------------------------
 outlineContent
--------------------------------------------------------- */
@media screen and (max-width:959px) {
    .o-outlineContent {
        position: relative;
    }
}

.o-outlineContent__pics {
    padding-bottom: 50px;
}

@media screen and (min-width:960px), print {
    .o-outlineContent__pics .jsm-nav {
        margin-bottom: -9px;
        padding-top: 23px;
        text-align: center
    }

    .o-outlineContent__pics .jsm-nav__item {
        width: 21px;
        height: 21px;
    }

    .o-outlineContent__pics .jsm-nav__item span {
        bottom: 6px;
        left: 6px;
        width: 9px;
        height: 9px;
        -webkit-transform: scale(.3333333333333333);
        -moz-transform: scale(.3333333333333333);
        -ms-transform: scale(.3333333333333333);
        -o-transform: scale(.3333333333333333);
        transform: scale(.3333333333333333)
    }

    .o-outlineContent__pics .jsm-nav__item i {
        bottom: 10px;
        left: 15px;
        width: 12px
    }
}

@media screen and (max-width:959px) {
    .o-outlineContent__pics .jsm-roller__area, .o-outlineContent__pics .jsm-switcher__area {
        margin-right: -18px;
        -webkit-border-radius: 4px 0 0 4px;
        -moz-border-radius: 4px 0 0 4px;
        border-radius: 4px 0 0 4px;
    }

    .o-outlineContent__pics .jsm-roller__area:before, .o-outlineContent__pics .jsm-switcher__area:before {
        content: '';
        display: block;
        padding-bottom: 133.33333333333331%;
    }

    .o-outlineContent__pics .jsm-roller__item {
        top: -9px;
        bottom: -9px;
        width: -webkit-calc(100% / 3 * 4 + 18px);
        width: -moz-calc(100% / 3 * 4 + 18px);
        width: calc(100% / 3 * 4 + 18px);
        height: auto;
        margin-right: 0
    }

    .o-outlineContent__pics .jsm-nav {
        margin-bottom: -10px;
        margin-left: -8px;
        padding-top: 8px;
        text-align: center;
    }
}


@media screen and (min-width:767px) and (max-width:769px){
    .jsm-switcher__item .jsm-img {
        background-repeat: no-repeat;
    }
}
