@charset 'UTF-8';
/* CSS Document */
@import url('//fonts.googleapis.com/css?family=Libre+Baskerville');
html body
{
    background-color: #a5a5a5;
}

.ofys
{
    overflow: auto !important;
    overflow-y: auto !important;
}

html
{
    font-family: Libre Baskerville,'FOT-筑紫Aオールド明朝 Pr6 R',serif;
    font-size: 14px;
    font-weight: normal;

    width: 100%;
    height: 100%;

    color: #fff;
}
html .note,
html .title,
html .info
{
    font-family: 'FOT-筑紫Aオールド明朝 Pr6 R',serif;

    letter-spacing: .3px;
}
html body
{
    position: relative;

    overflow: hidden;

    width: 100%;
    min-width: 1024px;
    height: 100%;
}
@media screen and (max-width: 1024px)
{
    html body
    {
        overflow-x: auto;
    }
}
html body div.contents
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 100%;
}
html body div.contents .hide
{
    display: none;
}
html body div.contents article.page-wrapper
{
    position: absolute;
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 0;
    min-height: 0;
}
html body div.contents article.page-wrapper section.page-inner
{
    width: 100%;
    height: 100%;
}
html body div.contents article.page-wrapper section.page-inner div.button-next
{
    font-size: 16.4px;

    position: absolute;
    z-index: 11;
    bottom: 100px;
    left: 50%;

    transform: translateX(-50%);
}
html body div.contents article.page-wrapper section.page-inner div.button-next .inner
{
    position: relative;

    overflow: hidden;
}
html body div.contents article.page-wrapper section.page-inner div.button-next:after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 1px;
    height: 100px;

    content: '';
    transform: translateX(-50%) translateY(106px);

    background: #fff;
}
html body div.contents article.page-wrapper section.page-inner div.button-next-h
{
    font-size: 16.4px;

    position: absolute;
    z-index: 12;
    top: 50%;
    right: 100px;

    transform: translateY(-50%);
}
html body div.contents article.page-wrapper section.page-inner div.button-next-h .inner
{
    position: relative;

    overflow: hidden;

    height: 1.6em;
}
html body div.contents article.page-wrapper section.page-inner div.button-next-h:after
{
    position: absolute;
    top: 50%;
    bottom: 0;

    width: 90px;
    height: 1px;

    content: '';
    transform: translateX(10px) translateY(-50%);

    background: #fff;
}
html body div.contents article.page-wrapper section.page-inner div.button-back-h
{
    font-size: 16.4px;

    position: absolute;
    z-index: 13;
    top: 50%;
    left: 50%;

    transform: translateX(100px) translateY(-50%);
}
html body div.contents article.page-wrapper section.page-inner div.button-back-h .inner
{
    position: relative;

    overflow: hidden;

    height: 1.6em;
}
html body div.contents article.page-wrapper section.page-inner div.button-back-h:before
{
    position: absolute;
    top: 50%;
    left: -10px;

    width: 90px;
    height: 1px;

    content: '';
    transform: translateX(-100%) translateY(-50%);

    background: #fff;
}
html body div.contents article.page-wrapper section.page-inner h2
{
    font-size: 18.04px;

    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;

    display: none;

    transform: translateX(-50%) translateY(-50%);
    text-align: center;
}
html body div.contents article.page-wrapper section.page-inner h2 .up
{
    position: absolute;
    top: -90px;
    left: 50%;

    width: 22px;
    height: 12px;

    cursor: pointer;
    transform: translateX(-50%);

    background: url(../img/icon_arrow_up.svg);
    background-repeat: no-repeat;
}
html body div.contents article.page-wrapper section.page-inner h2 .down
{
    position: absolute;
    bottom: -90px;
    left: 50%;

    width: 22px;
    height: 12px;

    cursor: pointer;
    transform: translateX(-50%);

    background: url(../img/icon_arrow_down.svg);
    background-repeat: no-repeat;
}
.single h2
{
    display: block !important;
}
html body div.contents article.page-wrapper section.page-inner div.note
{
    position: absolute;
    top: 0;
    right: 0;

    width: 46%;
    height: 100%;
}
html body div.contents article.page-wrapper section.page-inner div.note .inner
{
    font-size: 14px;
    line-height: 2.29;

    position: absolute;
    top: 50%;
    left: 50%;

    width: 420px;

    transform: translateX(-50%) translateY(-50%);
}
html body div.contents article.page-wrapper section.page-inner div.note .inner p
{
    padding-bottom: 2em;
}
html body div.contents article.page-wrapper section.page-inner p.copyright
{
    font-size: 8.2px;

    position: absolute;
    bottom: 18px;
    left: 50%;

    transform: translateX(-50%);
}
html body div.contents article.page-wrapper section.page-inner div.sns
{
    position: absolute;
    right: 38px;
    bottom: 13px;

    width: 100px;
}
html body div.contents article.page-wrapper section.page-inner div.sns p.label
{
    font-size: 9.02px;
    line-height: 2.4;

    float: left;

    padding-right: 12px;
}
html body div.contents article.page-wrapper section.page-inner div.sns ol.icons
{
    float: left;
}
html body div.contents article.page-wrapper section.page-inner div.sns ol.icons li.facebook
{
    float: left;

    padding-right: 12px;
}
html body div.contents article.page-wrapper section.page-inner div.sns ol.icons li.instagram
{
    float: left;
}
html body div.contents article.current
{
    height: 100%;
    min-height: 100vh;

    transform: translateY(0) translate3d(0, 0, 0);
}
html body div.contents article.current.tfn
{
    transform: none !important;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.movie-bg
{
    position: relative;

    width: 100%;
    height: 100%;

    transition: 1s opacity ease-out;

    opacity: 0;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.movie-bg .inner
{
    position: absolute;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.movie-bg .cover
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background-color: rgba(0, 0, 0, .5);
}
html body div.contents article.page-wrapper.page-top section.page-inner div.movie-bg.show
{
    opacity: 1;
}
.tablet div.movie-bg
{
    display: none !important;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.slide
{
    position: relative;

    width: 100%;
    height: 100%;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.slide ul
{
    position: relative;

    width: 100%;
    height: 100%;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.slide ul li
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.slide ul li.show
{
    transition: opacity 2s ease-out;

    opacity: 1;
}
html body div.contents article.page-wrapper.page-top section.page-inner h1.logo
{
    position: absolute;
    top: 26.38%;
    left: 50%;

    transition: .4s opacityopacity ease-out;
    transform: translateX(-50%) translateY(0);
}
@media screen and (max-height: 700px)
{
    html body div.contents article.page-wrapper.page-top section.page-inner h1.logo
    {
        top: auto;
        bottom: 190px;
    }
}
html body div.contents article.page-wrapper.page-top section.page-inner div.button-movie
{
    position: absolute;
    top: 20.38%;
    left: 50%;

    margin-top: 370px;

    cursor: pointer;
    transition: .4s opacity ease-out;
    transition: .6s opacity ease-out 1.5s;
    transform: translateX(-50%);

    opacity: 0;
}
@media screen and (max-height: 700px)
{
    html body div.contents article.page-wrapper.page-top section.page-inner div.button-movie
    {
        top: auto;
        bottom: 140px;
    }
}
html body div.contents article.page-wrapper.page-top section.page-inner div.button-movie svg
{
    transition: .4s all ease-out;

    stroke-color: #fc3500;
    fill: #fc3500;
}

html body div.contents article.page-wrapper.page-top section.page-inner div.date .swiper-container
{
  overflow: hidden!important;
  max-width: 244px;
}

html body div.contents article.page-wrapper.page-top section.page-inner div.date .swiper-container .feature_slide_link {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
}

html body div.contents article.page-wrapper.page-top section.page-inner div.date .swiper-container .feature_slide_left {
    width: 35%;
    height: auto;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.date .swiper-container .feature_slide_right {
    width: 65%;
    height: 100%;
    /* padding: 0 40px; */
    padding-left: 6%;
}

html body div.contents article.page-wrapper.page-top section.page-inner div.date .swiper-container .feature_slide_left .feature_slide_img {
    position: relative;
    width: 100%;
    /* height: 100%; */
    padding-bottom: 100%;

}
html body div.contents article.page-wrapper.page-top section.page-inner div.date .swiper-container .feature_slide_left .cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.date .swiper-container .swiper-wrapper {
  padding-bottom: 2%;
}

html body div.contents article.page-wrapper.page-top section.page-inner div.date .news_ttl
{
    padding-top: 1%;
    font-size: 90%;
    line-height: 150%;
}

html body div.contents article.page-wrapper.page-top section.page-inner div.date .news_date
{
    font-size: 70%;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.date .news_list_link
{
  /* border: 1px solid #FFF; */
  font-size: 70%;
  text-align: right;
}

html body div.contents article.page-wrapper.page-top section.page-inner div.date .news_list_link span
{
  padding: 4%;
}

html body div.contents article.page-wrapper.page-top section.page-inner div.date
{
    position: absolute;
    right: 25px;
    bottom: 25px;

    transition: .4s opacity ease-out;

    opacity: 0;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.date img
{
    max-width: 244px;
    display: block;
    margin-top: 12px;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.date.show
{
    opacity: 1;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.button-movie:hover svg
{
    stroke-color: #fff;
    fill: #fff;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.button-movie.show
{
    opacity: 1;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.sns-top
{
    line-height: 1;

    position: absolute;
    top: 17px;
    right: 25px;

    transition: .6s opacity ease-out 1.5s;

    opacity: 0;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.sns-top p.label
{
    font-size: 10.66px;

    float: left;

    padding-right: 15px;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.sns-top ul
{
    font-size: 9.84px;

    display: block;
    float: left;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.sns-top ul li
{
    float: left;

    padding-right: 8px;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.sns-top ul li:first-of-type
{
    padding-right: 8px;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.sns-top ul li:not(:first-of-type)
{
    padding: 0 8px;

    border-left: 1px solid #fff;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.sns-top.show
{
    opacity: 1;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.buttons-sc ol li
{
    font-size: 16px;

    position: absolute;
    top: 49%;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.buttons-sc ol li.button-product
{
    left: 0;

    height: 40px;
    padding: 0 10px;

    transition: .6s transform ease-out 1.5s;
    transform: translateX(-200px) translateY(-50%);

    border-left: 3px solid #fc3500;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.buttons-sc ol li.button-product a
{
    position: relative;
    top: 50%;

    display: block;

    transform: translateY(-50%);
}
html body div.contents article.page-wrapper.page-top section.page-inner div.buttons-sc ol li.button-product.show
{
    left: 0;

    transform: translateX(0) translateY(-50%);
}
html body div.contents article.page-wrapper.page-top section.page-inner div.buttons-sc ol li.button-shop
{
    right: 0;

    height: 40px;
    padding: 0 10px;

    transition: .6s transform ease-out 1.5s;
    transform: translateX(200px) translateY(-50%);

    border-right: 3px solid #fc3500;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.buttons-sc ol li.button-shop a
{
    position: relative;
    top: 50%;

    display: block;

    transform: translateY(-50%);
}
html body div.contents article.page-wrapper.page-top section.page-inner div.buttons-sc ol li.button-shop.show
{
    right: 0;

    transform: translateX(0) translateY(-50%);
}
html body div.contents article.page-wrapper.page-top section.page-inner div.button-next
{
    transition: .6s all ease-out 1.5s;
    transform: translateX(-50%) translateY(160px);
}
html body div.contents article.page-wrapper.page-top section.page-inner div.button-next:after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 1px;
    height: 100px;

    content: '';
    transform: translateX(-50%) translateY(106px);

    background: #fc3500;
}
html body div.contents article.page-wrapper.page-top section.page-inner div.button-next.show
{
    transform: translateX(-50%) translateY(0);
}
html body div.contents .page-concept section.page-inner div.bg
{
    width: 100%;
    height: 100%;

    background: url(../img/img_concept.jpg);
    background-position: bottom center;
    background-size: cover;
}
html body div.contents .page-concept section.page-inner div.copy
{
    font-size: 20.5px;

    position: absolute;
    top: 0;
    left: 0;

    width: 46%;
    height: 100%;

    transition: opacity 1.2s ease-out 1.6s;

    opacity: 0;
}
html body div.contents .page-concept section.page-inner div.copy p
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 100%;

    transform: translateX(-50%) translateY(-50%);
    text-align: center;
}
html body div.contents .page-concept section.page-inner div.copy.queue
{
    opacity: 1;
}
html body div.contents .page-concept section.page-inner div.note
{
    width: 46%;

    transition: opacity 1.2s ease-out 2.7s;

    opacity: 0;
}
html body div.contents .page-concept section.page-inner div.note.queue
{
    opacity: 1;
}
html body div.contents .page-feature section.page-inner h2 ol
{
    position: relative;

    overflow: hidden;

    width: 10em;
    height: 1em;
    height: 1.6em;

    text-align: center;
}
html body div.contents .page-feature section.page-inner h2 ol li
{
    position: absolute;
    top: 0;
    left: 0;

    width: 10em;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper
{
    width: 100%;
    height: 100%;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail
{
    width: 100%;
    height: 100%;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div
{
    position: absolute;
    top: 0;

    width: 50%;
    height: 100%;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div div.inner
{
    width: 100%;
    height: 100%;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div div.inner ol.heading
{
    font-size: 45.1px;
    line-height: 1.2;

    position: absolute;
    top: 50%;
    left: 14.19%;

    overflow: hidden;

    width: 82%;
    height: 2em;

    transform: translateY(-100%);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div div.inner ol.heading li
{
    transform: translateX(0) translateY(200%);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div div.inner ol.heading li
{
    position: absolute;
    top: 50%;
    left: 0;

    transform: translateY(-50%);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div div.inner ol.heading li:nth-child(1)
{
    font-size: 45.1px;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div div.inner ol.heading li:nth-child(2)
{
    font-size: 32.8px;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div div.inner ol.heading li:nth-child(3)
{
    font-size: 32.8px;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div div.inner ol.title
{
    font-size: 20px;
    line-height: 1.2;

    position: absolute;
    top: 50%;
    left: 14.19%;

    overflow: hidden;

    width: 82%;
    height: 1.2em;

    transform: translateY(30px);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail > div div.inner ol.title li
{
    position: absolute;
    top: 50%;
    left: 0;

    transform: translateY(-50%);
}
html[lang=en-US] ol.title
{
    height: 2.2em !important;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.left
{
    left: 0;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right
{
    right: 0;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner
{
    position: absolute;
    top: 50%;

    height: auto;

    transform: translateY(-50%);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.heading
{
    position: relative;
    top: 0;

    overflow: visible;

    height: auto;

    transform: translateY(0);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.heading li p.sub
{
    font-size: 14.76px;

    padding-bottom: 1em;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.heading li p.main
{
    font-size: 32.8px;

    padding-bottom: 1em;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.heading li
{
    position: absolute;
    top: 0;
    left: 0;

    display: none;
    overflow: visible;

    transform: translateY(0);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.heading li.current
{
    position: relative;

    display: block;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.title
{
    font-size: 20px;

    position: relative;
    top: 0;

    padding-bottom: 3em;

    transform: translateY(0);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.title li
{
    position: absolute;
    top: 0;
    left: 0;

    display: none;
    overflow: visible;

    transform: translateY(0);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.title li.current
{
    position: relative;

    display: block;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.note
{
    font-size: 14px;

    position: relative;
    top: 0;
    left: 14.19%;

    width: 420px;

    transform: translateY(0);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.note li
{
    position: absolute;
    top: 0;
    left: 0;

    display: none;
    overflow: visible;

    transform: translateY(0);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.detail div.right div.inner ol.note li.current
{
    position: relative;

    display: block;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images
{
    position: absolute;
    top: 0;
    right: 0;

    width: 50%;
    height: 100%;

    transition: .6s all ease-in-out;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images div.button-inner-next
{
    position: absolute;
    z-index: 10;
    top: 50%;
    right: 0;

    transition: .6s all ease-in-out;
    transform: translateY(-50%);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images div.button-inner-next a
{
    display: block;

    transition: .5s all ease-in-out;
    transform: translateX(0);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images div.button-inner-back
{
    position: absolute;
    z-index: 10;
    top: 50%;
    left: -100%;

    transition: .6s all ease-in-out;
    transform: translateY(-50%);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images div.button-inner-back a
{
    display: block;

    transition: .5s all ease-in-out;
    transform: translateX(-100%);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images li
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images li div.image
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    transition: .6s all ease-in-out;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images li:nth-child(1) div.image:nth-child(1)
{
    z-index: 1;

    background: url(../img/img_features1_1.jpg);
    background-position: center center;
    background-size: cover;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images li:nth-child(1) div.image:nth-child(2)
{
    background: url(../img/img_features1_2.jpg);
    background-position: center center;
    background-size: cover;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images li:nth-child(2) div.image:nth-child(1)
{
    z-index: 1;

    background: url(../img/img_features2_1.jpg);
    background-position: center center;
    background-size: cover;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images li:nth-child(2) div.image:nth-child(2)
{
    background: url(../img/img_features2_2.jpg);
    background-position: center center;
    background-size: cover;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images li:nth-child(3) div.image:nth-child(1)
{
    z-index: 1;

    background: url(../img/img_features3_1.jpg);
    background-position: center center;
    background-size: cover;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images li:nth-child(3) div.image:nth-child(2)
{
    background: url(../img/img_features3_2.jpg);
    background-position: center center;
    background-size: cover;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images.show-next
{
    right: 50%;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images.show-next div.button-inner-next
{
    right: -100%;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images.show-next div.button-inner-next a
{
    transform: translateX(100%);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images.show-next div.button-inner-back
{
    left: 0;
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images.show-next div.button-inner-back a
{
    transform: translateX(0);
}
html body div.contents .page-feature section.page-inner div.inner-wrapper div.images.show-next li div.image:nth-child(1)
{
    opacity: 0;
}
html body div.contents .page-feature div.button-next ol
{
    width: 10em;
    height: 1em;

    text-align: center;
}
html body div.contents .page-feature div.button-next ol li
{
    font-size: 14.76px;

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;

    white-space: nowrap;
}
html body div.contents .page-feature div.button-next:after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 1px;
    height: 100px;

    content: '';
    transform: translateX(-50%) translateY(109px) !important;

    background: #fff;
}
html body div.contents .page-story section.page-inner div.inner-wrapper
{
    width: 100%;
    height: 100%;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages
{
    width: 100%;
    height: 100%;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages li.page
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages li.page div.detail div.note
{
    right: auto;
    left: 0;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages li.page div.detail div.note .inner
{
    width: 400px;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages li.page div.detail div.note .inner div.link-next a
{
    font-size: 14.76px;

    text-decoration: underline;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages li.page div.detail div.note .inner ol.sc-buttons
{
    margin-top: 5px;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages li.page div.detail div.note .inner ol.sc-buttons li
{
    font-size: 16px;

    float: left;

    width: 147.6px;
    height: 50px;

    color: #fc3500;
    border: 1px solid #fc3500;
    background: url(../img/icon_button_plus.svg);
    background-repeat: no-repeat;
    background-position: 15px center;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages li.page div.detail div.note .inner ol.sc-buttons li a
{
    line-height: 2.8;

    display: block;

    width: 100%;
    height: 100%;

    text-align: center;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages li.page div.detail div.note .inner ol.sc-buttons li:first-of-type
{
    margin-right: 40px;
}
html body div.contents .page-story section.page-inner div.inner-wrapper ol.pages li.page div.image
{
    position: absolute;
    top: 0;
    right: 0;

    width: 50%;
    height: 100%;
}
html body div.contents .page-story section.page-inner div.inner-wrapper li.page:nth-child(1) div.image
{
    background: url(../img/img_story1.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
html body div.contents .page-story section.page-inner div.inner-wrapper li.page:nth-child(2) div.image
{
    background: url(../img/img_story2.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
html body div.contents .page-story section.page-inner div.inner-wrapper li.page:nth-child(3) div.image
{
    background: url(../img/img_story3_new.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
html body div.contents .page-shop section.page-inner h2:after
{
    content: none !important;
}
html body div.contents .page-shop section.page-inner div.map-wrapper
{
    position: relative;

    width: 50%;
    height: 100%;
}
html body div.contents .page-shop section.page-inner div.map-wrapper div.map
{
    position: absolute;
    top: 50%;
    left: 50%;

    transform: translateX(-50%) translateY(-54%);
}
html body div.contents .page-shop section.page-inner div.map-wrapper div.map p.info
{
    margin-top: 12px;
}
html body div.contents .page-shop section.page-inner div.map-wrapper div.map p.info span.name
{
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 8px;
}

html body div.contents .page-shop section.page-inner div.map-wrapper div.map p.info span.address
{
    font-size: 16px;
}
html body div.contents .page-shop section.page-inner div.map-wrapper div.map p.info span.hour
{
    font-size: 17.4px;
}
html body div.contents .page-shop section.page-inner div.map-wrapper div.map ol.sc-buttons
{
    margin-top: 4vh;
}
html body div.contents .page-shop section.page-inner div.map-wrapper div.map ol.sc-buttons li
{
    font-size: 16.4px;

    float: left;

    width: 100%;
    height: 50px;

    color: #fc3500;
    border: 1px solid #fc3500;
    background: url(../img/icon_button_plus.svg);
    background-repeat: no-repeat;
    background-position: 15px center;
}
html body div.contents .page-shop section.page-inner div.map-wrapper div.map ol.sc-buttons li a
{
    line-height: 2.8;

    display: block;

    width: 100%;
    height: 100%;

    text-align: center;
}
html body div.contents .page-shop section.page-inner div.map-wrapper div.map ol.sc-buttons li:first-of-type
{
    margin-right: 40px;
}
html[lang=en-US] div.map-wrapper ol.sc-buttons li:nth-child(2) a
{
    line-height: 1.2 !important;

    margin-top: 4px !important;
    padding-left: 17px !important;
}
html body div.contents .page-shop section.page-inner div.image
{
    position: absolute;
    top: 0;
    right: 0;

    width: 50%;
    height: 100%;

    background: url(../img/img_shop_new.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
html body .page-recruit section.page-inner div.detail,
html body .page-product section.page-inner div.detail,
html body .page-contact section.page-inner div.detail
{
    position: relative;

    height: 100%;
}
html body .page-recruit section.page-inner div.detail div.note,
html body .page-product section.page-inner div.detail div.note,
html body .page-contact section.page-inner div.detail div.note
{
    right: auto;
    left: 0;
}
html body .page-recruit section.page-inner div.detail div.note .inner,
html body .page-product section.page-inner div.detail div.note .inner,
html body .page-contact section.page-inner div.detail div.note .inner
{
    width: 435px !important;
}
html body .page-recruit section.page-inner div.detail div.note .inner .item,
html body .page-product section.page-inner div.detail div.note .inner .item,
html body .page-contact section.page-inner div.detail div.note .inner .item
{
    padding-bottom: 2em;
}
html body .page-recruit section.page-inner div.detail div.note .inner .item p.name,
html body .page-product section.page-inner div.detail div.note .inner .item p.name,
html body .page-contact section.page-inner div.detail div.note .inner .item p.name
{
    font-size: 22px;
    line-height: 1.7;

    padding-bottom: 0;
}
html body .page-recruit section.page-inner div.detail div.note .inner .item p.sub,
html body .page-product section.page-inner div.detail div.note .inner .item p.sub,
html body .page-contact section.page-inner div.detail div.note .inner .item p.sub
{
    font-size: 13px;
}
html body .page-recruit section.page-inner div.detail div.note .inner .item p.price,
html body .page-product section.page-inner div.detail div.note .inner .item p.price,
html body .page-contact section.page-inner div.detail div.note .inner .item p.price
{
    font-size: 18px;
    line-height: 1.5;

    padding-bottom: 0;
}
html body .page-recruit section.page-inner div.detail div.note .inner .item p.price:after,
html body .page-product section.page-inner div.detail div.note .inner .item p.price:after,
html body .page-contact section.page-inner div.detail div.note .inner .item p.price:after
{
    font-size: 12px;

    content: '（税込）';
}
html[lang=en-US] p.price:after
{
    font-size: 12px;

    content: ' (including tax)' !important;
}
html body .page-recruit section.page-inner div.detail div.note .inner .notice,
html body .page-product section.page-inner div.detail div.note .inner .notice,
html body .page-contact section.page-inner div.detail div.note .inner .notice
{
    font-size: 14px;
}
html body .page-recruit section.page-inner div.detail div.note .inner ol.sc-buttons,
html body .page-product section.page-inner div.detail div.note .inner ol.sc-buttons,
html body .page-contact section.page-inner div.detail div.note .inner ol.sc-buttons
{
    margin-top: 80px;
}
html body .page-recruit section.page-inner div.detail div.note .inner ol.sc-buttons li,
html body .page-product section.page-inner div.detail div.note .inner ol.sc-buttons li,
html body .page-contact section.page-inner div.detail div.note .inner ol.sc-buttons li
{
    font-size: 16.4px;

    float: left;

    width: 180px;
    height: 50px;

    color: #fc3500;
    border: 1px solid #fc3500;
    background: url(../img/icon_button_plus.svg);
    background-repeat: no-repeat;
    background-position: 15px center;
}
html body .page-recruit section.page-inner div.detail div.note .inner ol.sc-buttons li a,
html body .page-product section.page-inner div.detail div.note .inner ol.sc-buttons li a,
html body .page-contact section.page-inner div.detail div.note .inner ol.sc-buttons li a
{
    line-height: 2.2;

    display: block;

    width: 100%;
    height: 100%;

    text-align: center;
}
html body .page-recruit section.page-inner div.detail div.note .inner ol.sc-buttons li:first-of-type,
html body .page-product section.page-inner div.detail div.note .inner ol.sc-buttons li:first-of-type,
html body .page-contact section.page-inner div.detail div.note .inner ol.sc-buttons li:first-of-type
{
    margin-right: 40px;
}
html body .page-recruit section.page-inner div.detail div.note .inner dl.contacts,
html body .page-product section.page-inner div.detail div.note .inner dl.contacts,
html body .page-contact section.page-inner div.detail div.note .inner dl.contacts
{
    padding-bottom: 1em;
}
html body .page-recruit section.page-inner div.detail div.note .inner dl.contacts dt,
html body .page-product section.page-inner div.detail div.note .inner dl.contacts dt,
html body .page-contact section.page-inner div.detail div.note .inner dl.contacts dt
{
    line-height: 1.2;
}
html body .page-recruit section.page-inner div.detail div.note .inner dl.contacts dt:before,
html body .page-product section.page-inner div.detail div.note .inner dl.contacts dt:before,
html body .page-contact section.page-inner div.detail div.note .inner dl.contacts dt:before
{
    content: '■';
}
html body .page-recruit section.page-inner div.detail div.note .inner dl.contacts dd,
html body .page-product section.page-inner div.detail div.note .inner dl.contacts dd,
html body .page-contact section.page-inner div.detail div.note .inner dl.contacts dd
{
    display: inline-block;

    padding-bottom: 1.5em;
    padding-left: 1em;
}
html[lang=en-US] dl.contacts dt
{
    font-size: 1.2em;
}
html[lang=en-US] dl.contacts dt:before
{
    content: '' !important;
}
html body .page-recruit section.page-inner div.detail div.note .inner div.company h3,
html body .page-product section.page-inner div.detail div.note .inner div.company h3,
html body .page-contact section.page-inner div.detail div.note .inner div.company h3
{
    font-size: 17.22px;
}
html body .page-recruit section.page-inner div.detail div.note .inner div.company dl.detail dt,
html body .page-product section.page-inner div.detail div.note .inner div.company dl.detail dt,
html body .page-contact section.page-inner div.detail div.note .inner div.company dl.detail dt
{
    display: inline-block;
}
html body .page-recruit section.page-inner div.detail div.note .inner div.company dl.detail dt:after,
html body .page-product section.page-inner div.detail div.note .inner div.company dl.detail dt:after,
html body .page-contact section.page-inner div.detail div.note .inner div.company dl.detail dt:after
{
    content: '：';
}
html body .page-recruit section.page-inner div.detail div.note .inner div.company dl.detail dd,
html body .page-product section.page-inner div.detail div.note .inner div.company dl.detail dd,
html body .page-contact section.page-inner div.detail div.note .inner div.company dl.detail dd
{
    display: inline-block;
}
html body .page-recruit section.page-inner div.detail div.note p.copyright,
html body .page-product section.page-inner div.detail div.note p.copyright,
html body .page-contact section.page-inner div.detail div.note p.copyright
{
    font-size: 8.2px;

    position: absolute;
    bottom: 18px;
    left: 50%;

    transform: translateX(-50%);
}
html body .page-recruit section.page-inner div.detail div.note div.sns,
html body .page-product section.page-inner div.detail div.note div.sns,
html body .page-contact section.page-inner div.detail div.note div.sns
{
    position: absolute;
    right: 38px;
    bottom: 13px;

    width: 100px;
}
html body .page-recruit section.page-inner div.detail div.note div.sns p.label,
html body .page-product section.page-inner div.detail div.note div.sns p.label,
html body .page-contact section.page-inner div.detail div.note div.sns p.label
{
    font-size: 9.02px;
    line-height: 2.4;

    float: left;

    padding-right: 12px;
}
html body .page-recruit section.page-inner div.detail div.note div.sns ol.icons,
html body .page-product section.page-inner div.detail div.note div.sns ol.icons,
html body .page-contact section.page-inner div.detail div.note div.sns ol.icons
{
    float: left;
}
html body .page-recruit section.page-inner div.detail div.note div.sns ol.icons li.facebook,
html body .page-product section.page-inner div.detail div.note div.sns ol.icons li.facebook,
html body .page-contact section.page-inner div.detail div.note div.sns ol.icons li.facebook
{
    float: left;

    padding-right: 12px;
}
html body .page-recruit section.page-inner div.detail div.note div.sns ol.icons li.instagram,
html body .page-product section.page-inner div.detail div.note div.sns ol.icons li.instagram,
html body .page-contact section.page-inner div.detail div.note div.sns ol.icons li.instagram
{
    float: left;
}
html body .page-recruit section.page-inner div.image,
html body .page-product section.page-inner div.image,
html body .page-contact section.page-inner div.image
{
    position: absolute;
    top: 0;
    right: 0;

    width: 50%;
    height: 100%;

    background: url(../img/img_product_new.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
html body .page-shop-multi section.page-inner
{
    position: relative;

    height: 150%;
}
html body .page-shop-multi section.page-inner h2
{
    position: fixed !important;
}
html body .page-shop-multi section.page-inner div.detail
{
    position: relative;

    height: auto !important;
}
html body .page-shop-multi section.page-inner div.detail div.note
{
    right: 0;
    left: auto;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner
{
    width: 435px !important;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner .item
{
    padding-bottom: 2em;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner .item p.name
{
    font-size: 22px;
    line-height: 1.7;

    padding-bottom: 0;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner .item p.sub
{
    font-size: 13px;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner .item p.price
{
    font-size: 18px;
    line-height: 1.5;

    padding-bottom: 0;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner .item p.price:after
{
    font-size: 12px;

    content: '（税込）';
}
html[lang=en-US] p.price:after
{
    font-size: 12px;

    content: ' (including tax)' !important;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner .notice
{
    font-size: 14px;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner ol.sc-buttons
{
    margin-top: 80px;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner ol.sc-buttons li
{
    font-size: 16.4px;

    float: left;

    width: 180px;
    height: 50px;

    color: #fc3500;
    border: 1px solid #fc3500;
    background: url(../img/icon_button_plus.svg);
    background-repeat: no-repeat;
    background-position: 15px center;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner ol.sc-buttons li a
{
    line-height: 2.2;

    display: block;

    width: 100%;
    height: 100%;

    text-align: center;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner ol.sc-buttons li:first-of-type
{
    margin-right: 40px;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner dl.contacts
{
    padding-bottom: 1em;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner dl.contacts dt
{
    line-height: 1.2;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner dl.contacts dt:before
{
    content: '■';
}
html body .page-shop-multi section.page-inner div.detail div.note .inner dl.contacts dd
{
    display: inline-block;

    padding-bottom: 1.5em;
    padding-left: 1em;
}
html[lang=en-US] dl.contacts dt
{
    font-size: 1.2em;
}
html[lang=en-US] dl.contacts dt:before
{
    content: '' !important;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner div.company h3
{
    font-size: 17.22px;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner div.company dl.detail dt
{
    display: inline-block;
}
html body .page-shop-multi section.page-inner div.detail div.note .inner div.company dl.detail dt:after
{
    content: '：';
}
html body .page-shop-multi section.page-inner div.detail div.note .inner div.company dl.detail dd
{
    display: inline-block;
}
html body .page-shop-multi section.page-inner div.detail div.note p.copyright
{
    font-size: 8.2px;

    position: absolute;
    bottom: 18px;
    left: 50%;

    transform: translateX(-50%);
}
html body .page-shop-multi section.page-inner div.detail div.note div.sns
{
    position: absolute;
    right: 38px;
    bottom: 13px;

    width: 100px;
}
html body .page-shop-multi section.page-inner div.detail div.note div.sns p.label
{
    font-size: 9.02px;
    line-height: 2.4;

    float: left;

    padding-right: 12px;
}
html body .page-shop-multi section.page-inner div.detail div.note div.sns ol.icons
{
    float: left;
}
html body .page-shop-multi section.page-inner div.detail div.note div.sns ol.icons li.facebook
{
    float: left;

    padding-right: 12px;
}
html body .page-shop-multi section.page-inner div.detail div.note div.sns ol.icons li.instagram
{
    float: left;
}
html body .page-shop-multi section.page-inner div.image
{
    position: absolute;
    top: 0;
    left: 0;

    width: 50%;
    height: 100%;

    background: url(../img/img_product_new.jpg);
    background-repeat: repeat-y;
    background-position: center top;
    background-size: 100% auto;
}
html body .page-contact section.page-inner div.image
{
    position: absolute;
    top: 0;
    right: 0;

    width: 50%;
    height: 100%;

    background: url(../img/img_contact.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
html body div.footer-elm
{
    position: fixed;
    bottom: 0;

    width: 50%;
}
html body div.footer-elm p.copyright
{
    font-size: 8.2px;

    position: absolute;
    bottom: 18px;
    left: 50%;

    transform: translateX(-50%);
}
html body div.footer-elm div.sns
{
    position: absolute;
    right: 38px;
    bottom: 13px;

    width: 100px;
}
html body div.footer-elm div.sns p.label
{
    font-size: 9.02px;
    line-height: 2.4;

    float: left;

    padding-right: 12px;
}
html body div.footer-elm div.sns ol.icons
{
    float: left;
}
html body div.footer-elm div.sns ol.icons li.facebook
{
    float: left;

    padding-right: 12px;
}
html body div.footer-elm div.sns ol.icons li.instagram
{
    float: left;
}

div.titles-wrapper
{
    position: absolute;
    top: 0;
    left: 50%;

    width: 0;
    height: 100%;

    transition: left .6s cubic-bezier(.42, 0, .58, 1);
}
div.titles-wrapper div.titles
{
    font-size: 18.04px;

    position: absolute;
    z-index: 10;
    top: 50%;

    transform: translateX(-50%) translateY(-50%) translate3d(0, 0, 0);
    text-align: center;
}
div.titles-wrapper div.titles ol
{
    position: relative;

    overflow: hidden;

    width: 10em;
    height: 1em;
    height: 2.6em;

    text-align: center;

    opacity: 0;
}
div.titles-wrapper div.titles ol li
{
    position: absolute;
    top: 0;
    left: 0;

    width: 10em;
}
div.titles-wrapper div.titles ol li:not(.multiline)
{
    line-height: 2.3;
}
div.titles-wrapper div.titles .up
{
    position: absolute;
    top: 15px;
    left: 50%;

    width: 22px;
    height: 12px;

    cursor: pointer;
    transform: translateX(-50%);

    opacity: 0;
    background: url(../img/icon_arrow_up.svg);
    background-repeat: no-repeat;
}
div.titles-wrapper div.titles .down
{
    position: absolute;
    bottom: 20px;
    left: 50%;

    width: 22px;
    height: 12px;

    cursor: pointer;
    transform: translateX(-50%);

    opacity: 0;
    background: url(../img/icon_arrow_down.svg);
    background-repeat: no-repeat;
}

div.titles-wrapper.force
{
    transition: left .001s cubic-bezier(.42, 0, .58, 1);
}

div.titles-wrapper.active div.titles ol
{
    transition: opacity .5s ease-out 1s;

    opacity: 1;
}

div.titles-wrapper.active div.titles .up
{
    top: -90px;

    transition: all .6s ease-out .4s;

    opacity: 1;
}

div.titles-wrapper.active div.titles .down
{
    bottom: -90px;

    transition: all .6s ease-out .4s;

    opacity: 1;
}

div.titles-wrapper.hide
{
    left: -50%;
}

div.next-buttons-wrapper
{
    position: absolute;
    top: 0;
    left: 50%;

    width: 0;
    height: 100%;

    transition: left .6s cubic-bezier(.42, 0, .58, 1), transform .6s ease-out;
    transform: translateX(0) translateY(118px) translate3d(0, 0, 0);
}
div.next-buttons-wrapper div.button-next
{
    font-size: 16.4px;

    position: absolute;
    z-index: 11;
    bottom: 100px;
    left: 50%;

    transform: translateX(-50%);
}
div.next-buttons-wrapper div.button-next .inner
{
    position: relative;

    overflow: hidden;
}
div.next-buttons-wrapper div.button-next ol
{
    width: 10em;
    height: 1.1em;

    text-align: center;
}
div.next-buttons-wrapper div.button-next ol li
{
    font-size: 14.76px;

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;

    white-space: nowrap;
}
div.next-buttons-wrapper div.button-next:after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 1px;
    height: 98px;

    content: '';
    transition: background .6s ease-out;
    transform: translateX(-50%) translateY(100px) !important;

    background: #fff;
}
div.next-buttons-wrapper div.button-next.top:after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 1px;
    height: 106px;

    content: '';
    transform: translateX(-50%) translateY(109px) !important;

    background: #fc3500;
}

div.next-buttons-wrapper.force
{
    transition: left .001s cubic-bezier(.42, 0, .58, 1);
}

div.next-buttons-wrapper.active div.titles ol
{
    transition: opacity .5s ease-out 1s;

    opacity: 1;
}

div.next-buttons-wrapper.active div.titles .up
{
    top: -90px;

    transition: all .6s ease-out .4s;

    opacity: 1;
}

div.next-buttons-wrapper.active div.titles .down
{
    bottom: -90px;

    transition: all .6s ease-out .4s;

    opacity: 1;
}

div.next-buttons-wrapper.hide
{
    left: -50%;
}

div.next-buttons-wrapper.show
{
    transform: translateX(0) translateY(0) translate3d(0, 0, 0);
}
