* {
    box-sizing: border-box
}

@keyframes out {
    from {
        width: 100%
    }

    to {
        width: 0%
    }
}

@keyframes swipe {
    from {
        opacity: 1
    }

    to {
        opacity: 1
    }
}

.slider-wrapper {
    position: relative;
    overflow: hidden;
    height: 100%
}

@media screen and (max-width:767px) {
    .slider-wrapper {
        overflow: visible
    }
}

.slider-l,
.slider-m,
.slider-s {
    width: 100%;
    position: relative
}

.slider-l li,
.slider-m li,
.slider-s li {
    padding-left: 0 !important
}

.slider-l li:not(:first-child),
.slider-m li:not(:first-child),
.slider-s li:not(:first-child) {
    display: none
}

.slider-l.ready li,
.slider-m.ready li,
.slider-s.ready li {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    z-index: 0;
    will-change: animation transition
}

@media screen and (min-width:768px),
print {

    .slider-l.ready li,
    .slider-m.ready li,
    .slider-s.ready li {
        right: 0
    }
}

@media screen and (max-width:767px) {

    .slider-l.ready li,
    .slider-m.ready li,
    .slider-s.ready li {
        left: 0
    }
}

.slider-l.ready li.next,
.slider-m.ready li.next,
.slider-s.ready li.next {
    z-index: 1
}

.slider-l.ready li.afternext:not(.active),
.slider-m.ready li.afternext:not(.active),
.slider-s.ready li.afternext:not(.active) {
    z-index: 0 !important
}

.slider-l.ready li.active,
.slider-m.ready li.active,
.slider-s.ready li.active {
    z-index: 2
}

.slider-l.ready li.slideOut,
.slider-m.ready li.slideOut,
.slider-s.ready li.slideOut {
    animation: out 1s cubic-bezier(.215, .61, .355, 1) .1s forwards;
    z-index: 3
}

.slider-l.ready li.swipeOut,
.slider-m.ready li.swipeOut,
.slider-s.ready li.swipeOut {
    animation: none;
    animation: swipe 1s cubic-bezier(.215, .61, .355, 1) .1s forwards;
    transition-duration: .2s;
    width: 0 !important
}

.slider-l.ready li>div,
.slider-m.ready li>div,
.slider-s.ready li>div {
    position: absolute;
    top: 0
}

@media screen and (min-width:768px),
print {

    .slider-l.ready li>div,
    .slider-m.ready li>div,
    .slider-s.ready li>div {
        right: 0
    }
}

@media screen and (max-width:767px) {

    .slider-l.ready li>div,
    .slider-m.ready li>div,
    .slider-s.ready li>div {
        left: 0
    }
}

.slider-l.ready li>div img,
.slider-m.ready li>div img,
.slider-s.ready li>div img {
    width: 100%;
    height: auto
}

.slider-l.ready.no-slider,
.slider-m.ready.no-slider,
.slider-s.ready.no-slider {
    height: 100%
}

.slider-l.ready.no-slider li,
.slider-m.ready.no-slider li,
.slider-s.ready.no-slider li {
    position: relative;
    height: 100%
}

.slider-l.ready.no-slider li>div,
.slider-m.ready.no-slider li>div,
.slider-s.ready.no-slider li>div {
    position: relative;
    left: auto;
    top: auto;
    height: 100%
}

.slider-l.ready.no-slider li>div .img-full,
.slider-l.ready.no-slider li>div .img-ofi,
.slider-m.ready.no-slider li>div .img-full,
.slider-m.ready.no-slider li>div .img-ofi,
.slider-s.ready.no-slider li>div .img-full,
.slider-s.ready.no-slider li>div .img-ofi {
    width: 100%;
    height: 100%
}

.slider-l.reverse li,
.slider-m.reverse li,
.slider-s.reverse li {
    left: auto;
    right: 0
}

.slider-l.reverse li>div,
.slider-m.reverse li>div,
.slider-s.reverse li>div {
    left: auto;
    right: 0
}

@media screen and (min-width:768px),
print {
    .slider-l {
        max-height: 53.33vw;
        min-height: 33.33vw
    }

    .slider-l.ready li>div {
        max-height: 53.33vw;
        min-height: 33.33vw
    }

    .slider-l.ready li>div img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
        font-family: 'object-fit: cover; object-position: center;'
    }
}

@media screen and (max-width:767px) {
    .slider-l li {
        background-color: #f9f9f4;
        border-radius: 4px;
        border-radius: 1.07vw;
        display: block !important;
        margin-bottom: 20px;
        margin-bottom: 5.33vw;
        overflow: hidden
    }

    .slider-l li>div {
        height: 335px;
        height: 89.33vw
    }
}

@media screen and (min-width:768px),
print {

    .slider-l:not(.no-slider),
    .slider-m:not(.no-slider),
    .slider-s:not(.no-slider) {
        cursor: url(../image/cursor.png) 50 40, pointer;
        cursor: -webkit-image-set(url("../image/cursor.png") 1x, url("/common/img/cursor_2x.png") 2x) 40 30, pointer;
        position: relative
    }

    .slider-l:not(.no-slider).arrow-prev,
    .slider-m:not(.no-slider).arrow-prev,
    .slider-s:not(.no-slider).arrow-prev {
        cursor: url(../image/cursor_prev.png) 50 40, pointer;
        cursor: -webkit-image-set(url("../image/cursor_prev.png") 1x, url("/common/img/cursor_prev_2x.png") 2x) 40 30, pointer
    }
}

.slider-l.sp-mode img,
.slider-m.sp-mode img,
.slider-s.sp-mode img {
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover; object-position: bottom;'
}

@media screen and (min-width:768px),
print {
    .slider-l .slider-txt {
        display: none
    }

    .slider-l+.slider-thumb-wrapper {
        overflow-x: scroll;
        width: 100%;
        transition-duration: .5s;
        transition-timing-function: cubic-bezier(.215, .61, .355, 1);
        transform: translateY(100%);
        transform: translateY(calc(100% - 3px));
        will-change: transform;
        position: absolute;
        left: 0;
        bottom: 0;
        z-index: 12;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .slider-l+.slider-thumb-wrapper.show {
        transform: translateY(0)
    }

    .slider-l+.slider-thumb-wrapper::-webkit-scrollbar {
        display: none
    }

    .slider-l+.slider-thumb-wrapper+.hover-trigger {
        position: absolute;
        width: 100%;
        height: auto;
        left: 0;
        bottom: 0;
        z-index: 11
    }

    .slider-l+.slider-thumb,
    .slider-l+.slider-thumb-wrapper .slider-thumb {
        background: #fff;
        width: 100%;
        position: absolute;
        left: 0;
        bottom: 0;
        font-size: 0;
        line-height: 1
    }

    .slider-l+.slider-thumb-wrapper .slider-thumb.flex,
    .slider-l+.slider-thumb.flex {
        display: flex
    }

    .slider-l+.slider-thumb li,
    .slider-l+.slider-thumb-wrapper .slider-thumb li {
        display: inline-block;
        transition: all .25s;
        cursor: pointer;
        background-repeat: no-repeat;
        background-size: cover;
        font-size: 0;
        overflow: hidden;
        padding: 24px 40px;
        vertical-align: top;
        position: relative;
        box-sizing: border-box
    }

    .slider-l+.slider-thumb li:not(:last-child),
    .slider-l+.slider-thumb-wrapper .slider-thumb li:not(:last-child) {
        border-right: 1px dotted #e6e6d2
    }

    .slider-l+.slider-thumb li:after,
    .slider-l+.slider-thumb-wrapper .slider-thumb li:after {
        content: '';
        width: 100%;
        height: 3px;
        background-color: #ad8a3b;
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
        transition-duration: .25s;
        will-change: opacity
    }

    .slider-l+.slider-thumb li.active:after,
    .slider-l+.slider-thumb-wrapper .slider-thumb li.active:after {
        opacity: 1
    }

    .slider-l+.slider-thumb li:hover:not(.active):after,
    .slider-l+.slider-thumb-wrapper .slider-thumb li:hover:not(.active):after {
        opacity: .5
    }

    .slider-l+.slider-thumb li p,
    .slider-l+.slider-thumb li span,
    .slider-l+.slider-thumb-wrapper .slider-thumb li p,
    .slider-l+.slider-thumb-wrapper .slider-thumb li span {
        display: inline-block;
        vertical-align: middle
    }

    .slider-l+.slider-thumb li p,
    .slider-l+.slider-thumb-wrapper .slider-thumb li p {
        width: calc(100% - 5.87vw);
        padding-left: 16px;
        line-height: 1.5;
        color: #916545;
        font-size: 14px;
        font-size: 1.4rem
    }

    .slider-l+.slider-thumb li span,
    .slider-l+.slider-thumb-wrapper .slider-thumb li span {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        width: 5.87vw;
        height: 5.87vw
    }

    .slider-l+.slider-thumb li:nth-last-child(2):first-child,
    .slider-l+.slider-thumb li:nth-last-child(2):first-child~li,
    .slider-l+.slider-thumb-wrapper .slider-thumb li:nth-last-child(2):first-child,
    .slider-l+.slider-thumb-wrapper .slider-thumb li:nth-last-child(2):first-child~li {
        width: 50%
    }

    .slider-l+.slider-thumb li:nth-last-child(3):first-child,
    .slider-l+.slider-thumb li:nth-last-child(3):first-child~li,
    .slider-l+.slider-thumb-wrapper .slider-thumb li:nth-last-child(3):first-child,
    .slider-l+.slider-thumb-wrapper .slider-thumb li:nth-last-child(3):first-child~li {
        width: 33.333%
    }

    .slider-l+.slider-thumb li:nth-last-child(4):first-child,
    .slider-l+.slider-thumb li:nth-last-child(4):first-child~li,
    .slider-l+.slider-thumb-wrapper .slider-thumb li:nth-last-child(4):first-child,
    .slider-l+.slider-thumb-wrapper .slider-thumb li:nth-last-child(4):first-child~li {
        width: 25%
    }
}

@media screen and (max-width:767px) {
    .slider-l .slider-txt {
        padding: 10px;
        padding: 2.67vw
    }
}

.slider-m {
    position: relative
}

.slider-m+.slider-thumb-wrapper {
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 10
}

@media screen and (min-width:768px),
print {
    .slider-m+.slider-thumb-wrapper {
        opacity: 0;
        bottom: 10px;
        transition-duration: .2s;
        transition-timing-function: linear;
        will-change: transform
    }

    .slider-m+.slider-thumb-wrapper.show {
        opacity: 1
    }
}

@media screen and (max-width:767px) {
    .slider-m+.slider-thumb-wrapper {
        bottom: 5px
    }
}

.slider-m+.slider-thumb-wrapper .slider-thumb {
    width: 100%;
    text-align: center
}

.slider-m+.slider-thumb-wrapper .slider-thumb li {
    cursor: pointer;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    border-radius: .27vw;
    transition: border-color .5s ease;
    position: relative
}

@media screen and (min-width:768px),
print {
    .slider-m+.slider-thumb-wrapper .slider-thumb li {
        width: 4.27vw;
        height: 4.27vw;
        box-shadow: 0 0 8px rgba(0, 0, 0, .2)
    }

    .slider-m+.slider-thumb-wrapper .slider-thumb li:after {
        border-radius: .27vw;
        transition: all .5s ease;
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        box-shadow: rgba(255, 255, 255, 0) 0 0 0 0 inset;
        z-index: 0
    }

    .slider-m+.slider-thumb-wrapper .slider-thumb li:not(:last-child) {
        margin-right: 16px
    }

    .slider-m+.slider-thumb-wrapper .slider-thumb li:hover:after {
        box-shadow: rgba(255, 255, 255, .5) 0 0 0 2px inset
    }

    .slider-m+.slider-thumb-wrapper .slider-thumb li.active:after {
        box-shadow: #fff 0 0 0 2px inset
    }
}

@media screen and (max-width:767px) {
    .slider-m+.slider-thumb-wrapper .slider-thumb li {
        background-image: none !important;
        background-color: #e7e7d3;
        border: 1px solid #caca9e;
        width: 12px !important;
        height: 12px !important;
        border-radius: 6px;
        -webkit-tap-highlight-color: transparent
    }

    .slider-m+.slider-thumb-wrapper .slider-thumb li.active {
        border: 1px solid #a4882d;
        background-color: #916545
    }

    .slider-m+.slider-thumb-wrapper .slider-thumb li:not(:last-child) {
        margin-right: 10px
    }
}

.slider-s .slider-txt {
    display: none
}

.slider-s+.slider-thumb {
    width: 100%;
    height: 6em;
    position: relative
}

.slider-s+.slider-thumb:after {
    content: '';
    display: block;
    clear: both
}

.slider-s+.slider-thumb li {
    float: left;
    list-style-type: none !important;
    padding-left: 0
}

.slider-s+.slider-thumb li::before {
    display: none !important
}

@media screen and (min-width:768px),
print {
    .slider-s+.slider-thumb li {
        width: 10%;
        font-size: 13px;
        font-size: 1.3rem
    }
}

@media screen and (max-width:767px) {
    .slider-s+.slider-thumb li {
        width: 10%;
        -webkit-tap-highlight-color: transparent;
        font-size: 12px;
        font-size: 1.2rem
    }
}

.slider-s+.slider-thumb li:not(:last-child) {
    margin-right: 3px
}

/*.slider-s+.slider-thumb li.active p {
    display: table
}*/

.slider-s+.slider-thumb li.active>span {
    background-color: #916545
}

.slider-s+.slider-thumb li p {
    display: none;
    line-height: 1.5;
    width: 100%;
    position: absolute;
    left: 0;
    top: 30px;
    z-index: 0;
    pointer-events: none
}

.slider-s+.slider-thumb li p>span {
    color: rgba(90, 81, 41, .6);
    height: 2em
}

.slider-s+.slider-thumb li>span {
    cursor: pointer;
    display: block;
    width: 100%;
    background-color: #e7e7d3;
    margin-top: 16px;
    margin-bottom: 10px;
    position: relative;
    z-index: 5;
    will-change: background-color
}

@media screen and (min-width:768px),
print {
    .slider-s+.slider-thumb li>span {
        height: 4px
    }
}

@media screen and (max-width:767px) {
    .slider-s+.slider-thumb li>span {
        height: 4px
    }
}