@charset "Shift_JIS";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:wght@300;400;500;700&display=swap');
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
#mainContents
{
    line-height: 1;
}
#mainContents div,
#mainContents span,
#mainContents object,
#mainContents iframe,
#mainContents h1,
#mainContents h2,
#mainContents h3,
#mainContents h4,
#mainContents h5,
#mainContents h6,
#mainContents p,
#mainContents blockquote,
#mainContents pre,
#mainContents abbr,
#mainContents address,
#mainContents cite,
#mainContents code,
#mainContents del,
#mainContents dfn,
#mainContents em,
#mainContents img,
#mainContents ins,
#mainContents kbd,
#mainContents q,
#mainContents samp,
#mainContents small,
#mainContents strong,
#mainContents sub,
#mainContents sup,
#mainContents var,
#mainContents b,
#mainContents i,
#mainContents dl,
#mainContents dt,
#mainContents dd,
#mainContents ol,
#mainContents ul,
#mainContents li,
#mainContents fieldset,
#mainContents form,
#mainContents label,
#mainContents legend,
#mainContents table,
#mainContents caption,
#mainContents tbody,
#mainContents tfoot,
#mainContents thead,
#mainContents tr,
#mainContents th,
#mainContents td,
#mainContents article,
#mainContents aside,
#mainContents canvas,
#mainContents details,
#mainContents figcaption,
#mainContents figure,
#mainContents footer,
#mainContents header,
#mainContents hgroup,
#mainContents menu,
#mainContents nav,
#mainContents section,
#mainContents summary,
#mainContents time,
#mainContents mark,
#mainContents audio,
#mainContents video
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    list-style: none; 

    vertical-align: baseline;

    border: 0;
    outline: 0;
    background: transparent;
}
#mainContents article,
#mainContents aside,
#mainContents details,
#mainContents figcaption,
#mainContents figure,
#mainContents footer,
#mainContents header,
#mainContents hgroup,
#mainContents menu,
#mainContents nav,
#mainContents section
{
    display: block;
}
#mainContents nav ul
{
    list-style: none;
}
#mainContents blockquote,
#mainContents q
{
    quotes: none;
}
#mainContents blockquote:before,
#mainContents blockquote:after,
#mainContents q:before,
#mainContents q:after
{
    content: '';
    content: none;
}
#mainContents a
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;
    text-decoration: none; 

    background: transparent;
}
#mainContents ins
{
    text-decoration: none; 

    color: #000;
    background-color: #ff9;
}
#mainContents mark
{
    font-weight: bold; 
    font-style: italic;

    color: #000;
    background-color: #ff9;
}
#mainContents del
{
    text-decoration: line-through;
}
#mainContents abbr[title],
#mainContents dfn[title]
{
    cursor: help; 

    border-bottom: 1px dotted;
}
#mainContents table
{
    border-spacing: 0; 
    border-collapse: collapse;
}
#mainContents hr
{
    display: block;

    height: 1px;
    margin: 1em 0;
    padding: 0; 

    border: 0;
    border-top: 1px solid #ccc;
}
#mainContents input,
#mainContents select
{
    vertical-align: middle;
}
#mainContents img,
#mainContents video
{
    font-size: 0; 
    line-height: 0;
}

@media screen and (max-width: 767px)
{
    .u-is-pc
    {
        display: none !important;
    }
}

@media screen and (min-width: 768px)
{
    .u-is-sp
    {
        display: none !important;
    }
}

:root
{
    --common-header-height: 0;
}

html
{
    width: 100%;
}

body
{
    overflow-y: visible; 

    width: 100%;
}
@media screen and (max-width: 767px)
{
    body.js-mls-lock
    {
        position: fixed;
        top: 0;
    }
}

#mainContents
{
    font-family: 'Noto Sans JP';

    position: relative;
}
#mainContents sup
{
    font-size: 70%;

    position: relative;
    top: -.1em; 

    vertical-align: top;
}
#mainContents .p-kv
{
    position: relative;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    width: 100%;
    margin-top: -100vh; 

    -webkit-box-pack: center; 

    -webkit-justify-content: center; 

    -ms-flex-pack: center; 

    justify-content: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv
    {
        height: calc(150vh - var(--common-header-height));
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv
    {
        height: calc(125vh - var(--common-header-height));
    }
}
#mainContents .p-kv-splash
{
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;

    width: 100%;

    -webkit-transition: 1s all cubic-bezier(.3, 0, .2, 1);

    transition: 1s all cubic-bezier(.3, 0, .2, 1);
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-splash
    {
        height: 100vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-splash
    {
        height: 100dvh;
    }
}
#mainContents .p-kv-splash.is-fadeout
{
    pointer-events: none; 

    opacity: 0;
}
#mainContents .p-kv-splash__movie
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;

    object-fit: cover;
}
#mainContents .p-kv-splash__btn
{
    font-family: 'Roboto';
    font-weight: 300;

    position: absolute;

    cursor: pointer;
    -webkit-transition: .5s all cubic-bezier(.3, 0, .2, 1);
    transition: .5s all cubic-bezier(.3, 0, .2, 1); 
    letter-spacing: .15em;

    color: #404040;
    border: 1px solid #404040;
    background-color: transparent;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-splash__btn
    {
        font-size: 1.02489vw;

        right: 2.92826vw;
        bottom: 2.92826vw; 

        padding: .73206vw 3.66032vw;

        border-radius: 1.83016vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-splash__btn
    {
        font-size: 4vw;

        right: 8vw;
        bottom: 8vw; 

        padding: 2.66667vw 14.93333vw;

        border-radius: 6.66667vw;
    }
}
#mainContents .p-kv-splash__btn:hover
{
    color: #fff; 
    border: 1px solid #a8a8a8;
    background: #a8a8a8;
}
#mainContents .p-kv-tvcm
{
    position: -webkit-sticky;
    position: sticky;
    z-index: 10;
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;

    -webkit-transition: 1.5s all cubic-bezier(.14, 1, .034, 1);

    transition: 1.5s all cubic-bezier(.14, 1, .034, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s;

    border-radius: 0vw;
    background-color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-tvcm
    {
        height: calc(100vh - var(--common-header-height));
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-tvcm
    {
        height: calc(100dvh - var(--common-header-height));
    }
}
#mainContents .p-kv.is-scroll .p-kv-tvcm
{
    overflow: hidden; 

    -webkit-transition-delay: .2s; 

    transition-delay: .2s;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv.is-scroll .p-kv-tvcm
    {
        top: 19.53125vh;

        width: 69.3265vw;
        height: 32.13763vw;

        border-radius: 1.83016vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv.is-scroll .p-kv-tvcm
    {
        top: 15.92357vh;

        width: 84vw;
        height: 47.2vw;

        border-radius: 6.66667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv.is-scroll .p-kv-tvcm .p-kv-tvcm-inner
    {
        border-radius: 1.83016vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv.is-scroll .p-kv-tvcm .p-kv-tvcm-inner
    {
        border-radius: 6.66667vw;
    }
}
#mainContents .p-kv-tvcm-inner
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 100%;

    -webkit-transition: 1s opacity cubic-bezier(.3, 0, .2, 1) 0s, .6s border-radius cubic-bezier(.3, 0, .2, 1) .2s;

    transition: 1s opacity cubic-bezier(.3, 0, .2, 1) 0s, .6s border-radius cubic-bezier(.3, 0, .2, 1) .2s; 

    border-radius: 0vw;
}
#mainContents .p-kv-tvcm-inner::before
{
    position: absolute;
    z-index: 16;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transition: .6s all cubic-bezier(.3, 0, .2, 1);
    transition: .6s all cubic-bezier(.3, 0, .2, 1); 

    opacity: .5;
    background: #5f5f5f;
}
#mainContents .p-kv-tvcm__movie
{
    position: absolute;
    z-index: 15; 
    top: 50%;
    left: 50%;

    width: 100%;
    height: 100%;

    -webkit-transform: translateX(-50%) translateY(-50%);

    transform: translateX(-50%) translateY(-50%);

    -o-object-fit: cover;

    object-fit: cover;
}
#mainContents .p-kv-tvcm-btn
{
    position: relative;
    z-index: 17;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-sizing: border-box;

    box-sizing: border-box;
    width: 100%;
    height: 100%;

    cursor: pointer; 
    -webkit-transition: .3s all cubic-bezier(.3, 0, .2, 1); 
    transition: .3s all cubic-bezier(.3, 0, .2, 1);
    pointer-events: none;

    opacity: 0;
    border: none;
    background-color: transparent;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-tvcm-btn
    {
        padding-right: 5.12445vw; 
        padding-left: 5.12445vw;

        -webkit-column-gap: 1.83016vw;

        -moz-column-gap: 1.83016vw;

        column-gap: 1.83016vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-tvcm-btn
    {
        padding-right: 10.66667vw; 
        padding-left: 10.66667vw;

        -webkit-column-gap: 2.66667vw;

        -moz-column-gap: 2.66667vw;

        column-gap: 2.66667vw;
    }
}
#mainContents .p-kv.is-scroll .p-kv-tvcm-btn
{
    -webkit-transition-delay: .7s;
    transition-delay: .7s;
    pointer-events: all; 

    opacity: 1;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-tvcm-btn__txt
    {
        width: 30.52709vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-tvcm-btn__txt
    {
        width: 50.13333vw;
    }
}
#mainContents .p-kv-tvcm-btn__txt img
{
    width: 100%;
}
#mainContents .p-kv-tvcm-btn__icon
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    border: 1px solid #fff; 
    border-radius: 1000px;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-tvcm-btn__icon
    {
        width: 10.10249vw;
        height: 6.88141vw;

        -webkit-transition: .5s all cubic-bezier(.3, 0, .2, 1);

        transition: .5s all cubic-bezier(.3, 0, .2, 1);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-tvcm-btn__icon
    {
        width: 12vw;
        height: 8.26667vw;
    }
}
#mainContents .p-kv-tvcm-btn__icon::after
{
    display: block;

    width: 0;
    height: 0;

    content: '';

    border-style: solid;
    border-color: transparent transparent transparent #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-tvcm-btn__icon::after
    {
        border-width: 10.2px 0 10.2px 18.76px;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-tvcm-btn__icon::after
    {
        border-width: 3.355px 0 3.355px 6.69px;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-tvcm-btn:hover .p-kv-tvcm-btn__icon
    {
        border: 1px solid transparent;
        background-color: #a8a8a8;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-tvcm-inner:has(.p-kv-tvcm-btn:hover)::before
    {
        opacity: .6;
    }
}
#mainContents .p-kv-content
{
    position: absolute;
    z-index: 9997;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-transition: .3s all cubic-bezier(.3, 0, .2, 1);

    transition: .3s all cubic-bezier(.3, 0, .2, 1);
    -webkit-transition-delay: .5s;
    transition-delay: .5s;
    pointer-events: none; 

    -webkit-box-align: center; 

    -webkit-align-items: center; 

    -ms-flex-align: center; 

    align-items: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content
    {
        width: 83.89458vw;
        height: calc(100vh - var(--common-header-height));
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content
    {
        width: 84vw;
        height: calc(100dvh - var(--common-header-height));
    }
}
#mainContents .p-kv-content.is-splash
{
    z-index: 9999;
}
#mainContents .p-kv.is-scroll .p-kv-content
{
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    pointer-events: none; 

    opacity: 0;
}
#mainContents .p-kv-content-inner
{
    position: relative; 

    display: -webkit-box; 

    display: -webkit-flex; 

    display: -ms-flexbox; 

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;

    width: 100%;
    height: 100%;

    -webkit-box-pack: center;

    -webkit-justify-content: center;

    -ms-flex-pack: center;

    justify-content: center;
}
#mainContents .p-kv-content__title
{
    position: relative;

    -webkit-transition: 1s opacity cubic-bezier(.3, 0, .2, 1), 0s -webkit-filter cubic-bezier(.3, 0, .2, 1) .3s;

    transition: 1s opacity cubic-bezier(.3, 0, .2, 1), 0s -webkit-filter cubic-bezier(.3, 0, .2, 1) .3s;

    transition: 1s opacity cubic-bezier(.3, 0, .2, 1), 0s filter cubic-bezier(.3, 0, .2, 1) .3s;

    transition: 1s opacity cubic-bezier(.3, 0, .2, 1), 0s filter cubic-bezier(.3, 0, .2, 1) .3s, 0s -webkit-filter cubic-bezier(.3, 0, .2, 1) .3s; 

    opacity: 0;
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content__title
    {
        margin-top: -13.6vw;
    }
}
#mainContents .p-kv-content__title img
{
    height: auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content__title img
    {
        width: 89.19271vh; 
        max-width: 50.14641vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content__title img
    {
        width: 100.31847dvh; 
        max-width: 84vw;
    }
}
#mainContents .p-kv-content.is-splash .p-kv-content__title
{
    opacity: 0;

    -webkit-filter: brightness(.2);

    filter: brightness(.2);
}
#mainContents .p-kv-content .p-kv-content__title.is-fadein
{
    opacity: 1;
}
#mainContents .p-kv-content.is-splash .p-kv-content__title.is-fadein
{
    opacity: 1;
}
#mainContents .p-kv-content .p-kv-content__title.is-fadein
{
    opacity: 1;
}
#mainContents .p-kv-content__txt
{
    line-height: 0; 

    display: block;

    -webkit-transition: 1s opacity cubic-bezier(.3, 0, .2, 1);

    transition: 1s opacity cubic-bezier(.3, 0, .2, 1);

    opacity: 0;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content__txt
    {
        width: 56.63932vh;
        max-width: 31.84407vw;
        margin-top: 5.20833vh;
        padding-bottom: 2.48698vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content__txt
    {
        width: 46.17834dvh;
        max-width: 77.33333vw;
        margin-top: 6.66667vw;
        padding-bottom: 5.65333vw;
    }
}
#mainContents .p-kv-content__txt img
{
    width: 100%;
}
#mainContents .p-kv-content.is-splash .p-kv-content__txt
{
    opacity: 0;
}
#mainContents .p-kv-content.is-fadein .p-kv-content__txt
{
    opacity: 1;
}
#mainContents .p-kv-content__area
{
    position: absolute;
    z-index: 9997;
    left: 0;

    -webkit-transition: 1s opacity cubic-bezier(.3, 0, .2, 1);

    transition: 1s opacity cubic-bezier(.3, 0, .2, 1);

    opacity: 0;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content__area
    {
        bottom: 2.86458vh; 

        width: 106.51042vh;
        max-width: 59.88287vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content__area
    {
        bottom: 5.6vw; 

        width: 83.2vw;
    }
}
#mainContents .p-kv-content__area img
{
    width: 100%;
}
#mainContents .p-kv-content.is-splash .p-kv-content__area
{
    opacity: 0;
}
#mainContents .p-kv-content.is-fadein .p-kv-content__area
{
    opacity: 1;
}
#mainContents .p-kv-content__release
{
    position: absolute;
    z-index: 9997;

    -webkit-transition: 1s opacity cubic-bezier(.3, 0, .2, 1);

    transition: 1s opacity cubic-bezier(.3, 0, .2, 1);

    opacity: 0;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content__release
    {
        right: 0;
        bottom: 50px; 

        width: 29.6875vh;
        max-width: 16.69107vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content__release
    {
        right: -2.66667vw; 
        bottom: 8vw;

        width: 33.6vw;
    }
}
#mainContents .p-kv-content__release img
{
    width: 100%;
}
#mainContents .p-kv-content.is-splash .p-kv-content__release
{
    opacity: 0;
}
#mainContents .p-kv-content.is-fadein .p-kv-content__release
{
    opacity: 1;
}
#mainContents .p-kv-content__btn-wrapper
{
    position: absolute;
    z-index: 9997;

    -webkit-transition: 1s opacity cubic-bezier(.3, 0, .2, 1);

    transition: 1s opacity cubic-bezier(.3, 0, .2, 1); 

    opacity: 0;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content__btn-wrapper
    {
        right: 0;
        bottom: 2.86458vh;

        width: 38.54167vh;
        max-width: 21.66911vw;
        height: 5.72917vh;
        max-height: 3.22108vw;

        border-radius: 2.19619vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content__btn-wrapper
    {
        bottom: 21.33333vw;
        left: 50%;

        width: 68.8vw;
        height: 11.73333vw;

        -webkit-transform: translateX(-50%);

        transform: translateX(-50%);

        border-radius: 8vw;

        -webkit-column-gap: 2.13333vw;

        -moz-column-gap: 2.13333vw;

        column-gap: 2.13333vw;
    }
}
#mainContents .p-kv-content__btn
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 100%; 

    border: solid 1px #fff;

    -webkit-box-pack: center;

    -webkit-justify-content: center;

    -ms-flex-pack: center;

    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content__btn
    {
        -webkit-transition: .4s;
        transition: .4s; 

        border-radius: 2.19619vw;

        -webkit-column-gap: .58565vw;

        -moz-column-gap: .58565vw;

        column-gap: .58565vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content__btn
    {
        border-radius: 8vw;

        -webkit-column-gap: 2.13333vw;

        -moz-column-gap: 2.13333vw;

        column-gap: 2.13333vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content__btn:hover
    {
        border: #a8a8a8 1px solid; 
        background-color: #a8a8a8;
    }
}
#mainContents .p-kv-content__btn::after
{
    display: block; 

    content: '';

    background-image: url(../../assets/img/arrow_external_link.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content__btn::after
    {
        width: 1.32161vh;
        max-width: .74305vw;
        height: 1.28906vh; 
        max-height: .72474vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content__btn::after
    {
        width: 2.70667vw;
        height: 2.64vw;
    }
}
#mainContents .p-kv-content__btn span
{
    letter-spacing: .03em; 

    color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-content__btn span
    {
        font-size: 1.82292vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-content__btn span
    {
        font-size: 3.73333vw;
    }
}
#mainContents .p-kv-content.is-splash .p-kv-content__btn-wrapper
{
    pointer-events: none; 

    opacity: 0;
}
#mainContents .p-kv-content.is-fadein .p-kv-content__btn-wrapper
{
    pointer-events: auto; 

    opacity: 1;
}
#mainContents .p-kv.is-scroll .p-kv-content .p-kv-content__btn-wrapper
{
    pointer-events: none;
}
#mainContents .p-kv__bg
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: none;

    width: 100%;
    height: 100%;
    margin: 0 auto;

    content: '';
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transition-timing-function: cubic-bezier(.3, 0, .2, 1);
    transition-timing-function: cubic-bezier(.3, 0, .2, 1); 
    -webkit-transform: translate(-50%, -50%); 
    transform: translate(-50%, -50%);

    opacity: .5;
    background: #5f5f5f;

    -o-object-fit: cover;

    object-fit: cover;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv__bg
    {
        min-width: 69.3265vw;
        min-height: 32.13763vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv__bg
    {
        min-width: 84vw;
        min-height: 47.2vw;
    }
}
#mainContents .p-kv__bg.js-active
{
    display: block;
}
#mainContents .p-kv__skipbtn
{
    font-family: 'Roboto';
    font-weight: 300;

    position: absolute;

    cursor: pointer; 
    letter-spacing: .15em;

    color: #404040;
    border: 1px solid #404040;
    background: transparent;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv__skipbtn
    {
        font-size: 1.02489vw;

        right: 2.92826vw;
        bottom: 2.92826vw; 

        padding: .73206vw 3.66032vw;

        border-radius: 1.83016vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv__skipbtn
    {
        font-size: 4vw;

        right: 8vw;
        bottom: 8vw; 

        padding: 2.66667vw 14.93333vw;

        border-radius: 6.66667vw;
    }
}
#mainContents .p-kv__skipbtn:hover
{
    color: #fff; 
    background: #a8a8a8;
}
#mainContents .p-kv-modal__txt
{
    font-family: 'Roboto';
    font-weight: 500;

    position: absolute;

    display: none;

    cursor: pointer;
    letter-spacing: .035em;

    color: #fff;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-modal__txt
    {
        font-size: 1.02489vw;

        margin-top: 9.59004vw; 

        -webkit-column-gap: 1.1713vw; 

        -moz-column-gap: 1.1713vw; 

        column-gap: 1.1713vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-modal__txt
    {
        font-size: 3.73333vw;

        margin-top: 42.66667vw; 

        letter-spacing: .1em;

        -webkit-column-gap: 1.86667vw;

        -moz-column-gap: 1.86667vw;

        column-gap: 1.86667vw;
    }
}
#mainContents .p-kv-modal__txt::after
{
    display: block;

    content: '';

    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-modal__txt::after
    {
        width: 2.19619vw;
        height: 1.46413vw; 

        background-image: url(../../assets/img/kv/modal_btn_pc.svg);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-modal__txt::after
    {
        width: 8vw;
        height: 5.33333vw; 

        background-image: url(../../assets/img/kv/modal_btn_sp.svg);
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-modal__txt:hover::after
    {
        background-image: url(../../assets/img/kv/modal_btn_pc_hover.svg);
    }
}
#mainContents #kvMovie
{
    display: block;

    width: 100%;
    height: 100%;
    margin: 0 auto;

    -webkit-transition: 1s;

    transition: 1s;
    -webkit-transition-timing-function: cubic-bezier(.3, 0, .2, 1);
    transition-timing-function: cubic-bezier(.3, 0, .2, 1); 

    -o-object-fit: cover; 

    object-fit: cover;
}
@media screen and (min-width: 768px)
{
    #mainContents #kvMovie
    {
        min-width: 69.3265vw;
        min-height: 32.13763vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents #kvMovie
    {
        min-width: 84vw;
        min-height: 47.2vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv__title img
    {
        width: 44.60747vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv__title img
    {
        width: 84vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv__txt
    {
        margin-top: 2.92826vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv__txt
    {
        margin-top: 6.66667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv__txt img
    {
        width: 31.08492vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv__txt img
    {
        width: 75.488vw;
    }
}
#mainContents .p-kv-modal__banner
{
    display: none;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-modal__banner
    {
        position: absolute;
        right: 8.05271vw; 
        bottom: 5.92972vw;

        width: 17.34993vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-modal__banner.js-active
    {
        display: block;
    }
}
#mainContents .p-kv-cm-btn
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: none;

    -webkit-transition: opacity .2s;

    transition: opacity .2s; 
    -webkit-transform: translate(-50%, -50%); 
    transform: translate(-50%, -50%);

    opacity: 0;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-cm-btn
    {
        width: 58.56515vw;

        -webkit-column-gap: 1.61054vw;

        -moz-column-gap: 1.61054vw;

        column-gap: 1.61054vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-cm-btn
    {
        width: 64vw;

        -webkit-column-gap: 5.33333vw;

        -moz-column-gap: 5.33333vw;

        column-gap: 5.33333vw;
    }
}
#mainContents .p-kv-cm-btn__txt
{
    font-family: 'Roboto';
    font-weight: 300;

    letter-spacing: .15em; 

    color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-cm-btn__txt
    {
        font-size: 2.92826vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-cm-btn__txt
    {
        font-size: 6.4vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-cm-btn__img
    {
        width: 10.10249vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-cm-btn__img
    {
        width: 12vw;
    }
}
#mainContents .p-kv-anchor-target
{
    position: absolute;
    z-index: -1;
    left: 0; 

    width: 1px;
    height: 1px;

    pointer-events: none;

    opacity: 0;
    background-color: transparent;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-kv-anchor-target
    {
        top: 60vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-kv-anchor-target
    {
        top: 75vh;
    }
}
#mainContents .p-hamburger
{
    position: -webkit-sticky;
    position: sticky;
    z-index: 9998;
    top: 0;

    height: 100vh;

    -webkit-transition: .5s opacity ease;

    transition: .5s opacity ease; 
    pointer-events: none;

    opacity: 0;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger
    {
        -webkit-transform: translateY(3.29429vw);
        transform: translateY(3.29429vw);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger
    {
        -webkit-transform: translateY(5.86667vw);
        transform: translateY(5.86667vw);
    }
}
#mainContents .p-hamburger.is-fadein
{
    opacity: 1;
}
#mainContents .p-hamburger-inner
{
    position: relative;

    pointer-events: none;
}
#mainContents .p-hamburger-menu
{
    position: relative;
    z-index: 3; 

    -webkit-box-sizing: content-box; 

    box-sizing: content-box;
    margin-left: auto;

    cursor: pointer;
    pointer-events: all;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-menu
    {
        width: 2.92826vw;
        height: .87848vw; 
        margin-right: 2.19619vw;
        padding: .36603vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-menu
    {
        width: 8vw;
        height: 2.66667vw; 
        margin-right: 6.66667vw;
        padding: 1.33333vw;
    }
}
#mainContents .p-hamburger-menu span
{
    position: absolute;

    height: 1px;

    -webkit-transition: top .3s, background-color .3s, -webkit-transform .3s;

    transition: top .3s, background-color .3s, -webkit-transform .3s;

    transition: transform .3s, top .3s, background-color .3s;

    transition: transform .3s, top .3s, background-color .3s, -webkit-transform .3s; 

    border-bottom: 1px solid #404040;
    background-color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-menu span
    {
        width: 2.92826vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-menu span
    {
        width: 8vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-menu span:nth-of-type(1)
    {
        top: .36603vw;
        left: .36603vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-menu span:nth-of-type(1)
    {
        top: 1.33333vw;
        left: 1.33333vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-menu span:nth-of-type(2)
    {
        top: 1.0981vw;
        left: .36603vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-menu span:nth-of-type(2)
    {
        top: 4vw;
        left: 1.33333vw;
    }
}

@media screen and (min-width: 768px) and (min-width: 768px)
{
    #mainContents .p-hamburger-menu:hover span:nth-of-type(1)
    {
        top: .51245vw;
    }
}

@media screen and (min-width: 768px) and (max-width: 767px)
{
    #mainContents .p-hamburger-menu:hover span:nth-of-type(1)
    {
        top: 1.86667vw;
    }
}

@media screen and (min-width: 768px) and (min-width: 768px)
{
    #mainContents .p-hamburger-menu:hover span:nth-of-type(2)
    {
        top: .95168vw;
    }
}

@media screen and (min-width: 768px) and (max-width: 767px)
{
    #mainContents .p-hamburger-menu:hover span:nth-of-type(2)
    {
        top: 3.46667vw;
    }
}
#mainContents .p-hamburger-menu.js-active
{
    z-index: 4;
}
#mainContents .p-hamburger-menu.js-active span
{
    background-color: #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-menu.js-active span
    {
        top: .73206vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-menu.js-active span
    {
        top: 2.66667vw;
    }
}
#mainContents .p-hamburger-menu.js-active span:nth-of-type(1)
{
    -webkit-transform: rotate(13deg);
    transform: rotate(13deg);
}
#mainContents .p-hamburger-menu.js-active span:nth-of-type(2)
{
    -webkit-transform: rotate(-13deg);
    transform: rotate(-13deg);
}
#mainContents .p-hamburger-menu.js-active:hover span
{
    background-color: #a8a8a8;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-menu.js-active:hover span
    {
        top: .73206vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-menu.js-active:hover span
    {
        top: 2.66667vw;
    }
}
#mainContents .p-hamburger-area
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    width: 100%;

    -webkit-transition: .5s opacity ease;

    transition: .5s opacity ease; 
    pointer-events: none;

    opacity: 0;
    background: rgba(255, 255, 255, .95);
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-area
    {
        top: -3.66032vw; 

        height: 100vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-area
    {
        top: -7.2vw; 

        height: 100dvh;
    }
}
#mainContents .p-hamburger-area.js-active
{
    pointer-events: all; 

    opacity: 1;
}
#mainContents .p-hamburger-list
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;

    height: 100%; 

    -webkit-box-pack: center; 

    -webkit-justify-content: center; 

    -ms-flex-pack: center; 

    justify-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list
    {
        width: 73.69792vh;
        margin-left: auto;
    }
}
@media screen and (min-width: 768px) and (max-width: 960px)
{
    #mainContents .p-hamburger-list
    {
        width: 84vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-list
    {
        width: 84vw;
        margin: 0 auto;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list li + li
    {
        margin-top: 6.51042vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-list li + li
    {
        margin-top: 6.36943dvh;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list a
    {
        cursor: pointer;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link
    {
        display: block;

        -webkit-transition: background-color .3s;

        transition: background-color .3s; 

        background-color: #404040;

        -webkit-mask-repeat: no-repeat;

        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-size: contain;
        mask-size: contain;
    }
    #mainContents .p-hamburger-list__link:hover
    {
        background-color: #a8a8a8;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link img
    {
        opacity: 0;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link--01
    {
        width: 17.89583vh;
        height: 3.76042vh;

        -webkit-mask-image: url('../img/hamburger/hamburger_txt_01_pc.svg');

        mask-image: url('../img/hamburger/hamburger_txt_01_pc.svg');
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link--01 img
    {
        width: 17.89583vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-list__link--01 img
    {
        width: 14.77261dvh;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link--02
    {
        width: 19.29688vh;
        height: 4.75vh;

        -webkit-mask-image: url('../img/hamburger/hamburger_txt_02_pc.svg');

        mask-image: url('../img/hamburger/hamburger_txt_02_pc.svg');
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link--02 img
    {
        width: 19.29688vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-list__link--02 img
    {
        width: 15.92914dvh;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link--03
    {
        width: 46.63021vh;
        height: 4.79948vh;

        -webkit-mask-image: url('../img/hamburger/hamburger_txt_03_pc.svg');

        mask-image: url('../img/hamburger/hamburger_txt_03_pc.svg');
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link--03 img
    {
        width: 46.63021vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-list__link--03 img
    {
        width: 38.4922dvh;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link--04
    {
        width: 21.81771vh;
        height: 4.33333vh;

        -webkit-mask-image: url('../img/hamburger/hamburger_txt_04_pc.svg');

        mask-image: url('../img/hamburger/hamburger_txt_04_pc.svg');
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__link--04 img
    {
        width: 21.81771vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-list__link--04 img
    {
        width: 18.01003dvh;
    }
}
#mainContents .p-hamburger-list__txt
{
    font-family: 'Roboto';
    font-weight: 500;

    letter-spacing: .035em;

    color: #a8a8a8;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-hamburger-list__txt
    {
        font-size: 1.95313vh;

        margin-top: 2.73438vh;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-hamburger-list__txt
    {
        font-size: 1.59236dvh;

        margin-top: 2.38854dvh;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie
    {
        margin-top: 10.10249vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-movie
    {
        margin-top: 26.66667vw;
    }
}
#mainContents .p-movie-content
{
    position: relative;
    z-index: 2;

    -webkit-box-sizing: border-box;

    box-sizing: border-box;
    margin: 0 auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie-content
    {
        width: 67.64275vw;
        padding-bottom: 16.47145vw;
    }
}
#mainContents .p-movie__item
{
    display: block;

    margin: 0 auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie__item
    {
        width: 69.3265vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-movie__item
    {
        width: 84vw;
    }
}
#mainContents .p-movie-content-list
{
    font-family: 'Roboto';
    font-size: 1.31772vw;
    font-weight: 500;

    letter-spacing: .035em; 

    color: #a8a8a8;
}
@media screen and (max-width: 767px)
{
    #mainContents .p-movie-content-list
    {
        display: none;
    }
}
#mainContents .p-movie-content-list-item
{
    display: inline-block;

    -webkit-transition: .4s;

    transition: .4s;
}
#mainContents .p-movie-content-list-item:hover .p-movie-content-list-item__label img
{
    -webkit-filter: brightness(.4) contrast(1.2);
    filter: brightness(.4) contrast(1.2);
}
#mainContents .p-movie-content-list-item:hover .p-movie-content-list-item__title
{
    color: #404040;
}
#mainContents .p-movie-content-list-item:hover .p-movie-content-list-item__txt svg path
{
    fill: #404040;
}
#mainContents .p-movie-content-list-item:hover .p-movie-content-list-item__txt::after
{
    color: #404040;
}
#mainContents .p-movie-content-list-item a:visited
{
    color: #a8a8a8;
}
#mainContents .p-movie-content-list-item-new
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;
    -webkit-column-gap: .58565vw;
    -moz-column-gap: .58565vw;
    column-gap: .58565vw;
}
#mainContents .p-movie-content-list-item__label
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    width: 3.14788vw;
    height: 1.53734vw;

    background-color: #fff; 

    -webkit-box-align: center; 

    -webkit-align-items: center; 

    -ms-flex-align: center; 

    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
#mainContents .p-movie-content-list-item__label img
{
    width: 2.41581vw;

    -webkit-transition: .4s;

    transition: .4s;
}
#mainContents .p-movie-content-list-item__title
{
    font-family: 'Roboto';
    font-size: 1.31772vw;
    font-weight: 500;

    display: block;
    display: inline-block;

    -webkit-transition: .4s;

    transition: .4s;

    color: #a8a8a8;
}
#mainContents .p-movie-content-list-item__txt
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    margin-top: 1.83016vw;
    margin-left: .36603vw;

    cursor: pointer;
    -webkit-transition: .4s;
    transition: .4s; 

    -webkit-box-align: end; 

    -webkit-align-items: end; 

    -ms-flex-align: end; 

    align-items: end;
    -webkit-column-gap: 1.46413vw;
    -moz-column-gap: 1.46413vw;
    column-gap: 1.46413vw;
}
#mainContents .p-movie-content-list-item__txt svg
{
    height: auto;
}
#mainContents .p-movie-content-list-item__txt svg path
{
    -webkit-transition: .4s;
    transition: .4s;
}
#mainContents .p-movie-content-list-item__txt::after
{
    font-family: 'Roboto';
    font-size: 1.31772vw;
    font-weight: 500;

    display: block;

    content: '15Sec.';
    -webkit-transition: .4s;
    transition: .4s;

    color: #a8a8a8;
}
#mainContents .p-movie-content-list-item__txt--01
{
    width: 51.81698vw;
    margin-top: 1.46413vw;
}
#mainContents .p-movie-content-list-item__txt--01 svg
{
    width: 46.39971vw;
}
#mainContents .p-movie-content-list-item__txt--01::after
{
    content: '30Sec.';
}
#mainContents .p-movie-content-list-item__txt--02
{
    width: 66.98389vw;
    margin-top: 1.46413vw;
}
#mainContents .p-movie-content-list-item__txt--02 svg
{
    width: 61.12738vw;
}
#mainContents .p-movie-content-list-item__txt--02::after
{
    content: '30Sec.';
}
#mainContents .p-movie-content-list-item__txt--03
{
    width: 72.03514vw;
    margin-top: 1.46413vw;
}
#mainContents .p-movie-content-list-item__txt--03 svg
{
    width: 66.61786vw;
}
#mainContents .p-movie-content-list-item__txt--03::after
{
    content: '30Sec.';
}
#mainContents .p-movie-content-list-item__txt--04
{
    width: 72.32796vw;
    margin-top: 1.46413vw;
}
#mainContents .p-movie-content-list-item__txt--04 svg
{
    width: 66.91069vw;
}
#mainContents .p-movie-content-list-item__txt--04::after
{
    content: '30Sec.';
}
#mainContents .p-movie-content-list-item__txt--05
{
    width: 72.03514vw;
    margin-top: 1.46413vw;
}
#mainContents .p-movie-content-list-item__txt--05 svg
{
    width: 66.61786vw;
}
#mainContents .p-movie-content-list-item__txt--05::after
{
    content: '30Sec.';
}
#mainContents .p-movie-content-list-item__txt--06
{
    width: 76.64714vw;
    margin-top: 1.46413vw;
}
#mainContents .p-movie-content-list-item__txt--06 svg
{
    width: 71.5959vw;
}
#mainContents .p-movie-content-list-item__txt--06::after
{
    content: '30Sec.';
}
#mainContents .p-movie-content-list-item + .p-movie-content-list-item
{
    margin-top: 4.39239vw;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie-area
    {
        display: none;
    }
}
#mainContents .p-movie-thumbnail
{
    position: relative;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-sizing: border-box;

    box-sizing: border-box;
    width: 100vw;
    height: 52.26667vw;
    padding-left: 7.73333vw;

    color: #fff; 
    background-size: cover;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;
}
#mainContents .p-movie-thumbnail-new
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    -webkit-column-gap: 1.33333vw;

    -moz-column-gap: 1.33333vw;

    column-gap: 1.33333vw;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
#mainContents .p-movie-thumbnail__label
{
    display: block;

    width: 7.2vw;
}
#mainContents .p-movie-thumbnail__subtitle
{
    font-family: 'Roboto';
    font-size: 3.73333vw;
    font-weight: 500;

    letter-spacing: .035em;
}
#mainContents .p-movie-thumbnail__title
{
    margin-top: 2.66667vw;
}
#mainContents .p-movie-thumbnail__title img
{
    width: 55.27467vw;
}
#mainContents .p-movie-thumbnail__title--02 img
{
    width: 57.6vw;
}
#mainContents .p-movie-thumbnail__title--03 img
{
    width: 57.06667vw;
}
#mainContents .p-movie-thumbnail__title--04 img
{
    width: 81.32533vw;
}
#mainContents .p-movie-thumbnail__title--05 img
{
    width: 85.448vw;
}
#mainContents .p-movie-thumbnail__title--06 img
{
    width: 70.4vw;
}
#mainContents .p-movie-thumbnail__seconds
{
    font-family: 'Roboto';
    font-size: 3.2vw;
    font-weight: 500;

    margin-top: 2.66667vw; 

    letter-spacing: .035em;
}
#mainContents .p-movie-thumbnail--01
{
    background-image: url(../../assets/img/movie/movie_thumbnail_01_sp.jpg);
}
#mainContents .p-movie-thumbnail--02
{
    background-image: url(../../assets/img/movie/movie_thumbnail_02_sp.jpg);
}
#mainContents .p-movie-thumbnail--03
{
    background-image: url(../../assets/img/movie/movie_thumbnail_03_sp.jpg);
}
#mainContents .p-movie-thumbnail--04
{
    background-image: url(../../assets/img/movie/movie_thumbnail_04_sp.jpg);
}
#mainContents .p-movie-thumbnail--05
{
    background-image: url(../../assets/img/movie/movie_thumbnail_05_sp.jpg);
}
#mainContents .p-movie-thumbnail--06
{
    background-image: url(../../assets/img/movie/movie_thumbnail_06_sp.jpg);
}
#mainContents .p-movie-thumbnail__btn
{
    position: absolute;
    right: 8vw;
    bottom: 5.6vw;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    width: 11.46667vw;
    height: 7.73333vw;

    border: #fff 1px solid;
    border-radius: 5.33333vw;
    background: transparent; 

    -webkit-box-align: center; 

    -webkit-align-items: center; 

    -ms-flex-align: center; 

    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
#mainContents .p-movie-thumbnail__btn::after
{
    width: 0;
    height: 0;

    content: '';

    border-style: solid;
    border-top: .8vw solid transparent;
    border-right: 0; 
    border-bottom: .8vw solid transparent;
    border-left: 1.6vw solid #fff;
}
#mainContents .p-movie-content-list__img
{
    position: absolute;
    z-index: -1;

    -webkit-transition: .4s;

    transition: .4s; 

    opacity: 0;
}
#mainContents .p-movie-content-list__img--01
{
    right: -13.46999vw;
    bottom: 2.19619vw;

    width: 26.20791vw;

    -webkit-transform: translateY(10px);

    transform: translateY(10px);
}
#mainContents .p-movie-content-list__img--01.js-active
{
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}
#mainContents .p-movie-content-list__img--02
{
    right: -13.46999vw;
    bottom: 7.32064vw;

    width: 26.20791vw;

    -webkit-transform: translateY(10px);

    transform: translateY(10px);
}
#mainContents .p-movie-content-list__img--02.js-active
{
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}
#mainContents .p-movie-content-list__img--03
{
    right: -13.46999vw;
    bottom: 9.15081vw;

    width: 26.20791vw;

    -webkit-transform: translateY(10px);

    transform: translateY(10px);
}
#mainContents .p-movie-content-list__img--03.js-active
{
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}
#mainContents .p-movie-content-list__img--04
{
    right: -13.46999vw;
    bottom: .73206vw;

    width: 26.20791vw;

    -webkit-transform: translateY(10px);

    transform: translateY(10px);
}
#mainContents .p-movie-content-list__img--04.js-active
{
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}
#mainContents .p-movie-content-list__img--05
{
    top: -12.4451vw;
    right: -13.46999vw;

    width: 26.20791vw;

    -webkit-transform: translateY(10px);

    transform: translateY(10px);
}
#mainContents .p-movie-content-list__img--05.js-active
{
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}
#mainContents .p-movie-content-list__img--06
{
    right: -13.46999vw;
    bottom: .73206vw;

    width: 26.20791vw;

    -webkit-transform: translateY(10px);

    transform: translateY(10px);
}
#mainContents .p-movie-content-list__img--06.js-active
{
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}
#mainContents .p-movie-content-list__img.js-active
{
    opacity: 1;
}
#mainContents .p-movie-accordion
{
    overflow: hidden;

    max-height: 0;

    -webkit-transition: max-height .4s;

    transition: max-height .4s;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie-accordion.is-open
    {
        max-height: 11.05417vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-movie-accordion.is-open
    {
        max-height: 52.26667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie-accordion .p-movie-accordion-list
    {
        margin-top: 4.39239vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-movie-accordion-btn-wrap
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;

        width: 100%;
        height: 13.33333vw;

        background-color: #fff;

        -webkit-box-align: center;

        -webkit-align-items: center;

        -ms-flex-align: center;

        align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}
#mainContents .p-movie-accordion-btn
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    letter-spacing: .03em; 

    color: #404040;
    background-color: transparent;

    -webkit-box-pack: center;

    -webkit-justify-content: center;

    -ms-flex-pack: center;

    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-inline: auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie-accordion-btn
    {
        font-size: 1.02489vw;

        width: 9.95608vw;
        height: 2.85505vw;
        margin-top: 4.39239vw;

        cursor: pointer; 
        -webkit-transition: color .4s, background-color .4s, border-color .4s; 
        transition: color .4s, background-color .4s, border-color .4s;

        border: 1px solid #404040;
        border-radius: 2.19619vw;

        -webkit-column-gap: 1.31772vw;

        -moz-column-gap: 1.31772vw;

        column-gap: 1.31772vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-movie-accordion-btn
    {
        font-size: 3.73333vw;

        border: none;

        -webkit-column-gap: 2.66667vw;

        -moz-column-gap: 2.66667vw;

        column-gap: 2.66667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie-accordion-btn:hover
    {
        color: #fff;
        border-color: #a8a8a8; 
        background-color: #a8a8a8;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie-accordion-btn:hover::after
    {
        -webkit-filter: invert(1) brightness(2);
        filter: invert(1) brightness(2);
    }
}
#mainContents .p-movie-accordion-btn .p-movie-accordion-btn-txt-01
{
    display: block;
}
#mainContents .p-movie-accordion-btn .p-movie-accordion-btn-txt-02
{
    display: none;
}
#mainContents .p-movie-accordion-btn::after
{
    display: block;

    content: '';
    -webkit-transition: -webkit-filter .4s;
    transition: -webkit-filter .4s;
    transition: filter .4s;
    transition: filter .4s, -webkit-filter .4s; 

    background-image: url(../../assets/img/movie/movie_arrow_icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-movie-accordion-btn::after
    {
        width: .85212vw;
        height: .42606vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-movie-accordion-btn::after
    {
        width: 3.104vw;
        height: 1.552vw;
    }
}
#mainContents .p-movie-accordion-btn.is-active::after
{
    rotate: 180deg;
}
#mainContents .p-movie-accordion-btn.is-active .p-movie-accordion-btn-txt-01
{
    display: none;
}
#mainContents .p-movie-accordion-btn.is-active .p-movie-accordion-btn-txt-02
{
    display: block;
}
#mainContents .p-sense
{
    position: relative;
    z-index: 2;

    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-sense
    {
        background-image: url(../../assets/img/sense/sense_bg_pc.png);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-sense
    {
        background-image: url(../../assets/img/sense/sense_bg_sp.png);
    }
}
#mainContents .p-sense-content
{
    margin: 0 auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-sense-content
    {
        width: 83.89458vw;
        padding-top: 4.67057vw;
        padding-bottom: 2.92826vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-sense-content
    {
        padding-top: 11.6vw;
        padding-bottom: 9.38667vw;
    }
}
#mainContents .p-sense__title img
{
    display: block;

    margin-right: auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-sense__title img
    {
        width: 56.55637vw; 
        margin-left: 13.25037vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-sense__title img
    {
        width: 87.024vw; 
        margin-left: 5.30667vw;
    }
}
#mainContents .sense__list
{
    margin-right: auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .sense__list
    {
        width: 72.19839vw; 
        margin-top: 7.29868vw;
        margin-left: 4.92679vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .sense__list
    {
        width: 79.86667vw; 
        margin-top: 11.65333vw;
        margin-left: 9.33333vw;
    }
}
#mainContents .sense__list img
{
    width: 100%;
}
#mainContents .p-sense__txt
{
    font-weight: 400;

    letter-spacing: .03em;

    color: #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-sense__txt
    {
        font-size: 1.02489vw;
        line-height: 2.2; 

        margin-top: -1.02489vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-sense__txt
    {
        font-size: 3.73333vw;
        line-height: 1.8; 

        width: 84.8vw;
        margin-top: 7.41333vw;
        margin-left: 8.26667vw;
    }
}
#mainContents .p-safety-content
{
    position: relative;

    color: #fff;
}
#mainContents .p-safety-anchor-link__wrapper
{
    position: absolute;
    z-index: 40;
    top: 0;
    right: 0;

    -webkit-box-sizing: border-box;

    box-sizing: border-box; 
    width: 100%;
    height: 100vh;

    pointer-events: none;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-anchor-link__wrapper
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;

        padding-top: 6.88141vw;
        padding-right: 8.78477vw; 

        -webkit-box-pack: end; 

        -webkit-justify-content: flex-end; 

        -ms-flex-pack: end; 

        justify-content: flex-end;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-anchor-link__wrapper
    {
        height: 100dvh;
        padding-top: 6.66667vw;
        padding-left: 13.6vw;
    }
}
#mainContents .p-safety-anchor-link
{
    font-family: 'Roboto';

    list-style: none;

    pointer-events: auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-anchor-link a
    {
        cursor: pointer;
    }
}
#mainContents .p-safety-anchor-link__item
{
    font-weight: 500;
    line-height: 2.21429; 

    -webkit-transition: .4s; 

    transition: .4s;
    text-decoration: none;
    letter-spacing: .035em;

    opacity: .77;
    color: #5a5a5a;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-anchor-link__item
    {
        font-size: 1.02489vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-anchor-link__item
    {
        font-size: 3.2vw;
    }
}
#mainContents .p-safety-anchor-link__item:hover
{
    opacity: 1; 
    color: #fff;
}
#mainContents .p-safety-anchor-link__item.is-current
{
    position: relative;

    opacity: 1; 
    color: #fff;
}
#mainContents .p-safety-anchor-link__item.is-current::before
{
    position: absolute;

    display: block;

    content: '';

    border-radius: 100%; 
    background-color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-anchor-link__item.is-current::before
    {
        top: .29283vw;
        left: -1.53734vw; 

        width: .43924vw;
        height: .43924vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-anchor-link__item.is-current::before
    {
        top: 1.33333vw;
        left: -5.86667vw; 

        width: 1.6vw;
        height: 1.6vw;
    }
}
#mainContents .p-safety-movieBtn
{
    position: absolute;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    padding: 0;

    cursor: pointer;
    pointer-events: auto;

    border: none;
    outline: none;
    background-color: #fff;

    -webkit-appearance: none;

    -moz-appearance: none;

    appearance: none;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-movieBtn
    {
        right: 8.78477vw;
        bottom: 4.39239vw;

        width: 19.83895vw;
        height: 7.02782vw;
        padding: .73206vw .73206vw .73206vw 1.83016vw;

        border-radius: 1.46413vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-movieBtn
    {
        bottom: 8vw;
        left: 8vw;

        width: 64vw;
        height: 22.4vw;
        padding: 2.4vw 2.13333vw 2.4vw 5.33333vw;

        border-radius: 4vw;
    }
}
#mainContents .p-safety-movieBtn .-txts
{
    display: block;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-movieBtn .-txts
    {
        width: 9.0776vw; 
        padding-top: .43924vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-movieBtn .-txts
    {
        width: 30.13333vw; 
        padding-top: .29283vw;
    }
}
#mainContents .p-safety-movieBtn .-txt01
{
    display: block;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-movieBtn .-txt01
    {
        width: 6.74744vw;
        margin-left: .65886vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-movieBtn .-txt01
    {
        width: 19.664vw;
        margin-left: 1.86667vw;
    }
}
#mainContents .p-safety-movieBtn .-txt02
{
    display: block;

    color: #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-movieBtn .-txt02
    {
        font-size: .87848vw;
        line-height: 1.6;

        margin-top: .87848vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-movieBtn .-txt02
    {
        font-size: 2.93333vw;
        line-height: 1.5;

        margin-top: 3.2vw;
    }
}
#mainContents .p-safety-movieBtn .-img01
{
    display: block;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-movieBtn .-img01
    {
        width: 6.44217vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-movieBtn .-img01
    {
        width: 19.46667vw;
    }
}
#mainContents .p-safety-movieBtn::before,
#mainContents .p-safety-movieBtn::after
{
    position: absolute;
    top: 50%;

    content: '';
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#mainContents .p-safety-movieBtn::before
{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    -webkit-transition: background-color .3s, border .3s;

    transition: background-color .3s, border .3s; 

    border: 1px solid #fff;
    border-radius: 100px;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-movieBtn::before
    {
        right: 2.04978vw; 

        width: 3.75842vw;
        height: 2.52709vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-movieBtn::before
    {
        right: 6.13333vw; 

        width: 11.25067vw;
        height: 7.56533vw;
    }
}
#mainContents .p-safety-movieBtn::after
{
    background-color: #fff;

    -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);

    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-movieBtn::after
    {
        right: 3.51391vw; 

        width: .54026vw;
        height: .5022vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-movieBtn::after
    {
        right: 10.93333vw; 

        width: 1.61867vw;
        height: 1.50133vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-movieBtn:hover::before
    {
        border: 1px solid #a8a8a8;
        background-color: #a8a8a8;
    }
}
#mainContents .js-fixed--02
{
    position: fixed;
}
#mainContents .p-safety-anchor-target
{
    position: absolute;
    top: 2px; 

    width: 1px;
    height: 1px;

    background-color: transparent;
}
#mainContents .p-safety-anchor-target--02
{
    top: 101vh;
}
#mainContents .p-safety-anchor-target--03
{
    top: 201vh;
}
#mainContents .p-safety-content__wrapper
{
    position: relative;
    z-index: 1; 

    width: 100%;
    height: 400vh;

    -webkit-transition: .6s;

    transition: .6s;
}
#mainContents .p-safety-contents
{
    width: 100%;
    height: 100vh;
}
#mainContents .p-safety-contents .p-safety-contents__wrapper
{
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: auto;
    left: 0;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    width: 100%;
    height: 100vh;

    -webkit-transition: .6s;

    transition: .6s;
    -webkit-transition: opacity .5s;
    transition: opacity .5s; 

    -webkit-box-pack: center; 

    -webkit-justify-content: center; 

    -ms-flex-pack: center; 

    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
#mainContents .p-safety-contents .p-safety-contents__wrapper::before
{
    position: absolute;
    z-index: 2; 
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background: rgba(0, 0, 0, .4);
}
#mainContents .p-safety-contents--01 .p-safety-contents__wrapper
{
    z-index: 30;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-contents--01 .p-safety-contents__title img
    {
        width: 46.4612vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-contents--01 .p-safety-contents__title img
    {
        width: 75.768vw;
    }
}
#mainContents .p-safety-contents--02 .p-safety-contents__wrapper
{
    z-index: 20;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-contents--02 .p-safety-contents__title img
    {
        width: 56.34436vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-contents--02 .p-safety-contents__title img
    {
        width: 72.9568vw;
    }
}
#mainContents .p-safety-contents--03 .p-safety-contents__wrapper
{
    z-index: 10;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-contents--03 .p-safety-contents__title img
    {
        width: 43.68558vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-contents--03 .p-safety-contents__title img
    {
        width: 54.06vw;
    }
}
#mainContents .p-safety-contents--04
{
    height: 100vh;
}
#mainContents .p-safety-contents video
{
    position: absolute;
    top: 0;
    left: 0; 

    width: 100%;
    height: 100%;

    -o-object-fit: cover;

    object-fit: cover;
}
#mainContents .p-safety-contents-inner
{
    position: absolute;
    z-index: 2;
    top: 50%;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-contents-inner
    {
        left: 14.64129vw;

        -webkit-transform: translateY(-50%);

        transform: translateY(-50%);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-contents-inner
    {
        left: 50%;

        width: 84vw;

        -webkit-transform: translate(-50%, -50%);

        transform: translate(-50%, -50%);
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-contents__subtitle img
    {
        width: 20.00886vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-contents__subtitle img
    {
        width: 48.5904vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-contents__title
    {
        margin-top: 3.66032vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-contents__title
    {
        margin-top: 8vw;
    }
}
#mainContents .p-safety-contents__txt
{
    font-weight: 400; 

    letter-spacing: .03em;

    color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-contents__txt
    {
        font-size: 1.02489vw;
        line-height: 2.2;

        margin-top: 3.66032vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-contents__txt
    {
        font-size: 3.73333vw;
        line-height: 1.8;

        margin-top: 8vw;
    }
}
#mainContents .p-safety-contents__annotation
{
    letter-spacing: .03em; 

    color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-safety-contents__annotation
    {
        font-size: .87848vw;

        margin-top: 1.46413vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-safety-contents__annotation
    {
        font-size: 3.2vw;

        margin-top: 4vw;
    }
}
#mainContents #js-fixedItemWrapper.is-fixed .js-fixedItem__inner,
#mainContents #js-fixedItemWrapper.is-fixed .p-safety-anchor-link__wrapper
{
    position: fixed;
    top: 0;
    bottom: auto;
}
#mainContents #js-fixedItemWrapper.is-absolute .js-fixedItem__inner,
#mainContents #js-fixedItemWrapper.is-absolute .p-safety-anchor-link__wrapper
{
    position: absolute;
    top: auto;
    bottom: 0;
}
#mainContents .js-fixedItem.is-fadeOut .js-fixedItem__inner
{
    opacity: 0;
}
#mainContents .js-fixedItem:last-of-type.is-fadeOut .js-fixedItem__inner
{
    opacity: 1;
}
#mainContents .p-product
{
    position: relative;
    z-index: 3;

    background: transparent;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product
    {
        overflow: hidden; 

        height: 56.22255vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product
    {
        padding-bottom: 4.53333vw; 

        background-image: url(../../assets/img/product/product_bg.png);
        background-size: cover;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product__video
    {
        position: absolute;
        top: 0;
        left: 0; 

        width: 100%;
        height: 100%;

        -o-object-fit: cover;

        object-fit: cover;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product__video
    {
        display: none;
    }
}
#mainContents .p-product-content
{
    position: relative;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product-content
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product-content-left
    {
        position: absolute;
        top: 7.9063vw; 
        left: 7.10102vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product-content-left
    {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100vw; 
        padding-top: 9.06667vw;
        padding-left: 8vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product-content-left__title img
    {
        width: 40.09305vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product-content-left__title img
    {
        width: 69.22747vw;
        margin-left: 14.66667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product-content-left__txt
    {
        margin-top: 2.92826vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product-content-left__txt
    {
        margin-top: 7.46667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product-content-left__txt img
    {
        width: 10.59224vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product-content-left__txt img
    {
        width: 25.09173vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product-content-right
    {
        position: absolute;
        top: 7.9063vw;
        right: 8.63836vw; 

        display: -webkit-box; 

        display: -webkit-flex; 

        display: -ms-flexbox; 

        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;

        -webkit-box-align: end;

        -webkit-align-items: end;

        -ms-flex-align: end;

        align-items: end;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product-content-right
    {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100vw; 
        margin-top: 14.93333vw;
        padding-right: 8.8vw;
        padding-left: 7.2vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product-content-right__title img
    {
        width: 24.56215vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product-content-right__title img
    {
        width: 43.7608vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product-content-right__txt
    {
        margin-top: 3.07467vw;
        margin-right: -.51245vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product-content-right__txt
    {
        margin-top: 9.6vw; 

        text-align: right;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product-content-right__txt img
    {
        width: 9.16032vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product-content-right__txt img
    {
        width: 24.4048vw;
    }
}
#mainContents .p-product__button
{
    cursor: pointer;
    -webkit-transition: .4s;
    transition: .4s;
    text-align: center;
    letter-spacing: .03em; 

    color: #5a5a5a;
    border: 1px solid #5a5a5a;
    background: transparent;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product__button
    {
        font-size: 1.02489vw;

        position: absolute;
        right: 8.27233vw;
        bottom: 6.00293vw;

        padding: 1.02489vw 2.92826vw; 

        border-radius: 1.83016vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product__button
    {
        font-size: 3.73333vw;

        display: block;

        width: 54.93333vw;
        margin: 21.06667vw auto 0; 
        padding: 3.73333vw 0;

        border-radius: 6.66667vw;
    }
}
#mainContents .p-product__button::after
{
    display: inline-block;

    content: '';
    -webkit-transition: .4s;
    transition: .4s;

    background-image: url(../../assets/img/product/product_button_icon.svg);
    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product__button::after
    {
        width: .80527vw;
        height: .80527vw;
        margin-right: -.58565vw;
        margin-left: .65886vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product__button::after
    {
        width: 2.93333vw;
        height: 2.93333vw;
        margin-left: 1.86667vw;
    }
}
#mainContents .p-product__button:hover
{
    color: #fff; 
    border: 1px solid #a8a8a8;
    background-color: #a8a8a8;
}
#mainContents .p-product__button:hover::after
{
    -webkit-filter: brightness(3);
    filter: brightness(3);
}
#mainContents .p-product__annotation
{
    letter-spacing: .03em; 

    color: #a8a8a8;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-product__annotation
    {
        font-size: .87848vw;

        position: absolute;
        right: 8.71157vw; 
        bottom: 3.80673vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-product__annotation
    {
        font-size: 3.2vw;
        line-height: 1.6; 

        margin-top: 4vw;
        margin-left: 8vw;
    }
}
#mainContents .p-event
{
    position: relative;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event
    {
        padding: 7.32064vw 0;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event
    {
        padding: 13.06667vw 0 14.66667vw;
    }
}
#mainContents .p-event_bg
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;

    object-fit: cover;
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event_bg
    {
        display: none;
    }
}
#mainContents .p-event-container
{
    position: relative;
    z-index: 0;

    display: block;
    overflow: hidden; 

    color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-container
    {
        width: 69.54612vw;
        height: 24.81698vw;
        margin: 0 auto; 

        border-radius: 1.46413vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-container
    {
        width: 84vw;
        height: 72vw;
        margin: 0 auto; 

        border-radius: 5.33333vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-container:not(.is-end):hover .p-event-bg
    {
        -webkit-filter: brightness(1.5);
        filter: brightness(1.5);
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-container:not(.is-end):hover .p-event__button
    {
        background-color: #fff;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-container:not(.is-end):hover .p-event__button span:nth-of-type(1)
    {
        opacity: 0;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-container:not(.is-end):hover .p-event__button span:nth-of-type(2)
    {
        opacity: 1;
    }
}
#mainContents .p-event-container.is-end::before
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .84;
    background-color: #484848;

    mix-blend-mode: multiply;
}
#mainContents .p-event-container.is-end::after
{
    position: absolute;
    z-index: 2; 
    top: 50%;
    left: 50%;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    content: 'イベントは終了しました';
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    letter-spacing: .03em;

    border: 1px solid #fff;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-container.is-end::after
    {
        font-size: 1.61054vw; 

        width: 20.79063vw;
        height: 3.51391vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-container.is-end::after
    {
        font-size: 4.26667vw; 

        width: 55.992vw;
        height: 10.456vw;
    }
}
#mainContents .p-event-bg
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-transition: 1s;

    transition: 1s; 

    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-bg
    {
        border-radius: 1.46413vw;
        background-image: url(../../assets/img/event/event_banner_pc.png);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-bg
    {
        border-radius: 5.33333vw;
        background-image: url(../../assets/img/event/event_banner_sp.png);
    }
}
#mainContents .p-event-button-wrapper
{
    position: absolute; 

    display: block;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-button-wrapper
    {
        right: 1.46413vw; 
        bottom: 1.53734vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-button-wrapper
    {
        right: 5.33333vw; 
        bottom: 5.86667vw;
    }
}
#mainContents .p-event__button
{
    position: relative;

    -webkit-box-sizing: border-box;

    box-sizing: border-box;

    cursor: pointer;
    -webkit-transition: 1s;
    transition: 1s;

    border: solid 1px #fff; 
    background: transparent;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event__button
    {
        width: 4.09956vw;
        height: 2.63543vw; 

        border-radius: 1.46413vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event__button
    {
        width: 14.93333vw;
        height: 9.6vw;

        border-radius: 5.33333vw;
    }
}
#mainContents .p-event__button span
{
    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-transition: 1s;

    transition: 1s; 
    -webkit-transform: translate(-50%, -50%); 
    transform: translate(-50%, -50%);

    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event__button span
    {
        width: 1.39092vw;
        height: 1.39092vw;

        background-image: url(../../assets/img/event/event_arrow_pc.svg);
        background-size: 1.39092vw auto;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event__button span
    {
        width: 5.06667vw;
        height: 5.06667vw;

        background-image: url(../../assets/img/event/event_arrow_sp.svg);
        background-size: 5.06667vw auto;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event__button span:nth-of-type(1)
    {
        background-image: url(../../assets/img/event/event_arrow_pc.svg);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event__button span:nth-of-type(1)
    {
        background-image: url(../../assets/img/event/event_arrow_sp.svg);
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event__button span:nth-of-type(2)
    {
        opacity: 0;
        background-image: url(../../assets/img/event/event_arrow_hover_pc.svg);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event__button span:nth-of-type(2)
    {
        display: none;
    }
}
#mainContents .p-event__button.js-active span:nth-of-type(2)
{
    display: none;
}
#mainContents .p-event__button:focus
{
    outline: 0;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-button:hover .p-event__button
    {
        border: solid 1px #fff; 
        background-color: #fff;
    }
    #mainContents .p-event-button:hover .p-event__button span
    {
        background-color: #5a5a5a;
    }
}
#mainContents .p-event-contents--01
{
    position: absolute;
    top: 50%;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-contents--01
    {
        left: 7.68668vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-contents--01
    {
        left: 5.33333vw;
    }
}
#mainContents .p-event-contents--01 .p-event-contents__title
{
    font-family: 'Roboto';
    font-weight: 500;

    letter-spacing: .035em;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-contents--01 .p-event-contents__title
    {
        font-size: 2.56223vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-contents--01 .p-event-contents__title
    {
        font-size: 7.46667vw;
    }
}
#mainContents .p-event-contents--01 .p-event-contents__txt
{
    font-weight: 400; 

    letter-spacing: .03em;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-contents--01 .p-event-contents__txt
    {
        font-size: 1.02489vw;

        margin-top: .73206vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-contents--01 .p-event-contents__txt
    {
        font-size: 3.2vw;

        margin-top: 1.6vw;
    }
}
#mainContents .p-event-contents--02
{
    position: absolute;
    top: 50%;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-contents--02
    {
        left: 7.17423vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-contents--02
    {
        left: 6.82667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-contents--02 .p-event-contents__title img
    {
        width: 25.06984vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-contents--02 .p-event-contents__title img
    {
        width: 60.37387vw;
    }
}
#mainContents .p-event-contents--02 .p-event-contents__subtitle
{
    font-family: 'Roboto';
    font-weight: 500;

    letter-spacing: .035em;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-contents--02 .p-event-contents__subtitle
    {
        font-size: 1.83016vw;

        margin-top: 1.0981vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-contents--02 .p-event-contents__subtitle
    {
        font-size: 4vw;

        margin-top: 1.97333vw;
    }
}
#mainContents .p-event-contents--02 .p-event-contents__date
{
    font-family: 'Roboto';
    font-weight: 400; 

    letter-spacing: .03em;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-contents--02 .p-event-contents__date
    {
        font-size: 1.61054vw;

        margin-top: 2.19619vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-contents--02 .p-event-contents__date
    {
        font-size: 3.73333vw;

        margin-top: 5.46667vw;
    }
}
#mainContents .p-event-contents--02 .p-event-contents__time
{
    font-weight: 400; 

    letter-spacing: .03em;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-event-contents--02 .p-event-contents__time
    {
        font-size: 1.02489vw;

        margin-top: .73206vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-event-contents--02 .p-event-contents__time
    {
        font-size: 3.2vw;
        line-height: 1.4;

        margin-top: 2.66667vw;
    }
}
#mainContents .p-event-contents--01,
#mainContents .p-event-contents--02
{
    -webkit-transition: opacity .5s, -webkit-filter .5s;
    transition: opacity .5s, -webkit-filter .5s;
    transition: opacity .5s, filter .5s;
    transition: opacity .5s, filter .5s, -webkit-filter .5s;
}
#mainContents .p-event-contents--01.js-none,
#mainContents .p-event-contents--02.js-none
{
    pointer-events: none;

    opacity: 0;

    -webkit-filter: blur(4px);

    filter: blur(4px);
}
#mainContents .p-howto
{
    position: relative; 

    overflow-x: hidden;
    overflow-y: hidden;

    margin-right: auto;
    margin-left: auto;

    background-color: #fff;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto
    {
        width: 69.54612vw;
        height: 34.69985vw; 
        margin-bottom: 3.66032vw;

        border-radius: 1.46413vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto
    {
        width: 84vw;
        height: 113.6vw; 
        margin-bottom: 4vw;

        border-radius: 5.33333vw;
    }
}
#mainContents .p-howto:not(.is-open):hover
{
    cursor: pointer;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto:not(.is-open):hover .p-howto__content:not(.is-hide)
    {
        opacity: .5;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto:not(.is-open):hover .p-howto-btn
    {
        border: 1px solid #a8a8a8;
        background-color: #a8a8a8;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto:not(.is-open):hover .p-howto-btn__inner::before,
    #mainContents .p-howto:not(.is-open):hover .p-howto-btn__inner::after
    {
        background-color: #fff;
    }
}
#mainContents .p-howto.is-open
{
    overflow-y: scroll;
}
#mainContents .p-howto.is-open .p-howto-btn__inner::after
{
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
    transform: translate(-50%, -50%) rotate(0deg); 

    opacity: 0;
}
#mainContents .p-howto.mb-0
{
    margin-bottom: 0;
}
#mainContents .p-howto__content
{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    -webkit-transition: opacity .3s ease;

    transition: opacity .3s ease;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto__content
    {
        margin-bottom: -2.78184vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto__content
    {
        margin-bottom: -10.13333vw;
    }
}
#mainContents .p-howto__content:nth-of-type(1)
{
    position: -webkit-sticky;
    position: sticky;
    top: 0; 

    display: -webkit-box; 

    display: -webkit-flex; 

    display: -ms-flexbox; 

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;

    width: 100%;
    height: 100%;

    background-size: cover;

    -webkit-box-pack: center;

    -webkit-justify-content: center;

    -ms-flex-pack: center;

    justify-content: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto__content:nth-of-type(1)
    {
        padding: 6.8082vw;

        -webkit-transition: opacity .3s ease;

        transition: opacity .3s ease; 

        background-image: url(../../assets/img/howto/howto_bg_pc.png);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto__content:nth-of-type(1)
    {
        padding: 5.33333vw;

        background-image: url(../../assets/img/howto/howto_bg_sp.png);
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto__content:nth-of-type(2)
    {
        margin-top: -34.69985vw;
        padding-top: 3.73353vw;
        padding-right: 11.20059vw; 
        padding-bottom: 5.85652vw;
        padding-left: 6.58858vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto__content:nth-of-type(2)
    {
        margin-top: -113.6vw;
        padding-top: 13.6vw;
        padding-right: 5.33333vw; 
        padding-bottom: 10.66667vw;
        padding-left: 5.33333vw;
    }
}
#mainContents .p-howto__content.is-hide
{
    opacity: 0;
}
#mainContents .p-howto-title
{
    font-family: 'Roboto';
    font-weight: 500;

    letter-spacing: .035em;

    color: #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-title
    {
        font-size: 2.56223vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-title
    {
        font-size: 7.46667vw;
    }
}
#mainContents .p-howto-txt
{
    font-weight: 400;

    letter-spacing: .03em;

    color: #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-txt
    {
        font-size: 1.02489vw; 

        margin-top: .73206vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-txt
    {
        font-size: 3.2vw; 

        margin-top: 1.6vw;
    }
}
#mainContents .p-howto-drink__title,
#mainContents .p-howto-open__title
{
    width: auto;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-drink__title,
    #mainContents .p-howto-open__title
    {
        height: 2.41581vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-drink__title,
    #mainContents .p-howto-open__title
    {
        height: 6.4vw;
    }
}
#mainContents .p-howto-drink__title img,
#mainContents .p-howto-open__title img
{
    height: 100%;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-caution-list
    {
        font-size: .87848vw; 

        margin-top: 2.19619vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-caution-list
    {
        font-size: 3.2vw; 

        margin-top: 5.33333vw;
    }
}
#mainContents .p-howto-caution-list__item
{
    font-weight: 400;
    line-height: 1.6;

    letter-spacing: .03em;

    color: #a8a8a8;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-caution-list__item
    {
        font-size: .87848vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-caution-list__item
    {
        font-size: 3.2vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-drink-pls
    {
        margin-top: 4.39239vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-drink-pls
    {
        margin-top: 13.33333vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-drink-pls__title
    {
        width: 26.99927vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-drink-pls__title
    {
        width: 44.76267vw; 
        margin-left: 1.86667vw;
    }
}
#mainContents .p-howto-drink-pls__title img
{
    width: 100%;
}
#mainContents .p-howto-drink-pls__txt
{
    font-weight: 400;
    line-height: 1.5;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    text-align: center;
    letter-spacing: .1em;

    color: #404040; 
    border: 1px solid #404040;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-drink-pls__txt
    {
        font-size: 1.31772vw; 

        width: 36.82284vw;
        height: 4.83163vw;
        margin-top: 1.46413vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-drink-pls__txt
    {
        font-size: 3.73333vw; 

        width: 100%;
        height: 17.06667vw;
        margin-top: 8vw;
    }
}
#mainContents .p-howto-drink-table
{
    background-color: #f0f0f0;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-drink-table
    {
        font-size: 1.02489vw; 

        width: calc(100% + 4px);
        margin-top: 3.66032vw;
        margin-right: -2px;
        margin-left: -2px;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-drink-table
    {
        font-size: 3.73333vw; 

        width: calc(100% + 8px);
        margin-top: 9.33333vw;
        margin-right: -4px;
        margin-left: -4px;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-drink-table tr:nth-of-type(1)
    {
        height: 3.4407vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-drink-table tr:nth-of-type(1)
    {
        height: 11.73333vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-drink-table tr:nth-of-type(2)
    {
        height: 3.4407vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-drink-table tr:nth-of-type(2)
    {
        height: 11.73333vw;
    }
}
#mainContents .p-howto-drink-table tr:nth-of-type(2) th
{
    width: 50%;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-drink-table tr:nth-of-type(3)
    {
        height: 5.19766vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-drink-table tr:nth-of-type(3)
    {
        height: 11.73333vw;
    }
}
#mainContents .p-howto-drink-table tr:nth-of-type(3) td
{
    width: 50%;
}
#mainContents .p-howto-drink-table th,
#mainContents .p-howto-drink-table td
{
    font-weight: 400;

    border-collapse: collapse;

    text-align: center;
    vertical-align: middle;
    letter-spacing: .1em;

    color: #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-drink-table th,
    #mainContents .p-howto-drink-table td
    {
        border: 2px solid #fff;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-drink-table th,
    #mainContents .p-howto-drink-table td
    {
        border: 4px solid #fff;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open
    {
        margin-top: 5.85652vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open
    {
        margin-top: 16vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-process
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;

        margin-top: 4.39239vw; 

        -webkit-box-pack: justify; 

        -webkit-justify-content: space-between; 

        -ms-flex-pack: justify; 

        justify-content: space-between;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-process
    {
        margin-top: 8vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-process-item
    {
        width: 24.52416vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-process-item:nth-of-type(n + 2)
    {
        margin-top: 13.33333vw;
    }
}
#mainContents .p-howto-open-process-item__img
{
    width: 100%;
}
#mainContents .p-howto-open-process-item__img img
{
    width: 100%;
}
#mainContents .p-howto-open-process-item__txt
{
    letter-spacing: .03em;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-process-item__txt
    {
        font-size: 1.02489vw; 
        line-height: 2;

        margin-top: 1.46413vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-process-item__txt
    {
        font-size: 3.73333vw; 
        line-height: 1.8;

        margin-top: 1.0981vw;
    }
}
#mainContents .p-howto-open-process-item__txt em
{
    font-style: normal;

    color: #9f8600;
}
#mainContents .p-howto-open-process-item__caution
{
    display: block;

    color: #9f8600;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-process-item__caution
    {
        font-size: .87848vw; 

        margin-top: .73206vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-process-item__caution
    {
        font-size: 3.2vw; 

        margin-top: 2.66667vw;
    }
}
#mainContents .p-howto-open-ng
{
    border: 1px solid #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng
    {
        margin-top: 5.85652vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-ng
    {
        margin-top: 13.33333vw;
    }
}
#mainContents .p-howto-open-ng__possibility
{
    font-weight: 400;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    text-align: center;
    letter-spacing: .1em;

    color: #404040; 

    -webkit-box-align: center; 

    -webkit-align-items: center; 

    -ms-flex-align: center; 

    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng__possibility
    {
        font-size: 1.1713vw; 
        line-height: calc(25 / 16);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-ng__possibility
    {
        font-size: 3.73333vw; 
        line-height: calc(20 / 14);
    }
}
#mainContents .p-howto-open-ng__possibility:nth-of-type(1)
{
    border-bottom: 1px solid #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng__possibility:nth-of-type(1)
    {
        height: 4.97804vw; 
        margin-bottom: 1.75695vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-ng__possibility:nth-of-type(1)
    {
        height: 18.13333vw; 
        margin-bottom: 6.93333vw;
    }
}
#mainContents .p-howto-open-ng__possibility:nth-of-type(2)
{
    border-top: 1px solid #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng__possibility:nth-of-type(2)
    {
        height: 4.02635vw; 
        margin-top: 1.61054vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-ng__possibility:nth-of-type(2)
    {
        height: 22.93333vw; 
        margin-top: 8vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng-item
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;

        padding-right: 1.02489vw; 
        padding-left: 3.51391vw;

        -webkit-box-align: center;

        -webkit-align-items: center;

        -ms-flex-align: center;

        align-items: center;
        -webkit-column-gap: 3.07467vw;
        -moz-column-gap: 3.07467vw;
        column-gap: 3.07467vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-ng-item
    {
        padding-right: 6.66667vw; 
        padding-left: 6.66667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng-item:nth-of-type(n + 2)
    {
        margin-top: 1.46413vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-ng-item:nth-of-type(n + 2)
    {
        margin-top: 6.66667vw;
    }
}
#mainContents .p-howto-open-ng-item__img
{
    display: block;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng-item__img
    {
        width: 10.98097vw; 

        -webkit-flex-shrink: 0; 

        -ms-flex-negative: 0; 

        flex-shrink: 0;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-ng-item__img
    {
        width: 45.86667vw; 
        margin-right: auto;
        margin-left: auto;
    }
}
#mainContents .p-howto-open-ng-item__img img
{
    width: 100%;
}
#mainContents .p-howto-open-ng-item__ttl
{
    font-weight: 400;

    padding-left: .9em;

    text-indent: -.9em;
    letter-spacing: .025em;

    color: #9f8600;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng-item__ttl
    {
        font-size: 1.02489vw; 
        line-height: calc(21 / 14);
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-ng-item__ttl
    {
        font-size: 3.73333vw; 
        line-height: calc(19 / 14);

        margin-top: 3.46667vw;
    }
}
#mainContents .p-howto-open-ng-item__txt
{
    font-weight: 400;
    line-height: calc(19.2 / 12);

    letter-spacing: .025em;

    color: #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng-item__txt
    {
        font-size: .87848vw; 

        margin-top: .73206vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-open-ng-item__txt
    {
        font-size: 3.2vw; 

        margin-top: 2.66667vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-open-ng-item__txt:nth-of-type(2)
    {
        padding-right: 1.90337vw;
    }
}
#mainContents .p-howto-btn
{
    position: -webkit-sticky;
    position: sticky;

    display: block;

    cursor: pointer; 

    border: 1px solid #404040;
    background-color: transparent;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-btn
    {
        bottom: 2.50366vw;

        width: 4.09956vw;
        height: 2.78184vw;
        margin-right: 2.12299vw;
        margin-left: auto;

        -webkit-transition: border .3s ease, background-color .3s ease;

        transition: border .3s ease, background-color .3s ease; 

        border-radius: 2.78184vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-btn
    {
        bottom: 5.33333vw;

        width: 14.93333vw;
        height: 10.13333vw;
        margin-right: 5.33333vw; 
        margin-left: auto;

        border-radius: 10.13333vw;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-btn:hover
    {
        border: 1px solid #a8a8a8;
        background-color: #a8a8a8;
    }
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-btn:hover .p-howto-btn__inner::before,
    #mainContents .p-howto-btn:hover .p-howto-btn__inner::after
    {
        background-color: #fff;
    }
}
#mainContents .p-howto-btn__inner
{
    position: relative; 

    display: block;

    width: 100%;
    height: 100%;
}
#mainContents .p-howto-btn__inner::before
{
    position: absolute;
    top: 50%;
    left: 50%;

    height: 1px;

    content: '';
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); 

    background-color: #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-btn__inner::before
    {
        width: 1.39092vw;

        -webkit-transition: all .3s ease;

        transition: all .3s ease;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-btn__inner::before
    {
        width: 5.06667vw;
    }
}
#mainContents .p-howto-btn__inner::after
{
    position: absolute;
    top: 50%;
    left: 50%;

    height: 1px;

    content: '';
    -webkit-transition: background-color .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, transform .3s ease, opacity .3s ease;
    transition: background-color .3s ease, transform .3s ease, opacity .3s ease, -webkit-transform .3s ease; 
    -webkit-transform: translate(-50%, -50%) rotate(90deg); 
    transform: translate(-50%, -50%) rotate(90deg);

    background-color: #404040;
}
@media screen and (min-width: 768px)
{
    #mainContents .p-howto-btn__inner::after
    {
        width: 1.39092vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents .p-howto-btn__inner::after
    {
        width: 5.06667vw;
    }
}
@media screen and (max-width: 767px)
{
    #mainContents
    {
        overflow-x: clip;
    }
}
#mainContents .p-main-contents_bg
{
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;

    object-fit: cover;
}
#mainContents .js-fade-target
{
    -webkit-transition: 1s;
    transition: 1s; 
    -webkit-transform: translateY(50px); 
    transform: translateY(50px);

    opacity: 0;
}
#mainContents .js-fade-target.is-fadeIn
{
    -webkit-transform: none;
    transform: none; 

    opacity: 1;
}
#mainContents + .root-wrapper .page-top
{
    z-index: 10;
}

.body-wrapper,
.global-header-underlayer
{
    min-width: auto !important;
}

.mfp-bg
{
    -webkit-transition: all .5s ease-out;
    transition: all .5s ease-out; 

    opacity: 0;
}

.mfp-bg.mfp-ready
{
    opacity: .8;
}

.mfp-bg.mfp-removing
{
    opacity: 0;
}

.mfp-wrap .mfp-content
{
    -webkit-transition: all .5s ease-out;
    transition: all .5s ease-out; 

    opacity: 0;
}

.mfp-wrap.mfp-ready .mfp-content
{
    opacity: 1;
}

.mfp-wrap.mfp-removing .mfp-content
{
    opacity: 0;
}

.mfp-iframe-holder .mfp-content,
.mfp-inline-holder .mfp-content
{
    max-width: 800px;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close,
.mfp-inline-holder .mfp-close
{
    font-size: 0 !important;

    right: 0 !important;
}
@media screen and (min-width: 768px)
{
    .mfp-image-holder .mfp-close,
    .mfp-iframe-holder .mfp-close,
    .mfp-inline-holder .mfp-close
    {
        top: -3.66032vw !important;
    }
}
@media screen and (max-width: 767px)
{
    .mfp-image-holder .mfp-close,
    .mfp-iframe-holder .mfp-close,
    .mfp-inline-holder .mfp-close
    {
        top: -8vw !important;
    }
}
.mfp-image-holder .mfp-close::before,
.mfp-image-holder .mfp-close::after,
.mfp-iframe-holder .mfp-close::before,
.mfp-iframe-holder .mfp-close::after,
.mfp-inline-holder .mfp-close::before,
.mfp-inline-holder .mfp-close::after
{
    position: absolute !important;
    right: 0 !important;

    display: block !important;

    height: 1px !important;

    content: '';
    -webkit-transition: background-color .5s;
    transition: background-color .5s; 

    background-color: #fff !important;
}
@media screen and (min-width: 768px)
{
    .mfp-image-holder .mfp-close::before,
    .mfp-image-holder .mfp-close::after,
    .mfp-iframe-holder .mfp-close::before,
    .mfp-iframe-holder .mfp-close::after,
    .mfp-inline-holder .mfp-close::before,
    .mfp-inline-holder .mfp-close::after
    {
        top: 1.46413vw !important; 

        width: 5.85652vw !important;
    }
}
@media screen and (max-width: 767px)
{
    .mfp-image-holder .mfp-close::before,
    .mfp-image-holder .mfp-close::after,
    .mfp-iframe-holder .mfp-close::before,
    .mfp-iframe-holder .mfp-close::after,
    .mfp-inline-holder .mfp-close::before,
    .mfp-inline-holder .mfp-close::after
    {
        top: 2.66667vw !important; 

        width: 9.33333vw !important;
    }
}
.mfp-image-holder .mfp-close::before,
.mfp-iframe-holder .mfp-close::before,
.mfp-inline-holder .mfp-close::before
{
    -webkit-transform: rotate(13deg) !important;
    transform: rotate(13deg) !important;
}
.mfp-image-holder .mfp-close::after,
.mfp-iframe-holder .mfp-close::after,
.mfp-inline-holder .mfp-close::after
{
    -webkit-transform: rotate(-13deg) !important;
    transform: rotate(-13deg) !important;
}
@media screen and (min-width: 768px)
{
    .mfp-image-holder .mfp-close:hover::before,
    .mfp-image-holder .mfp-close:hover::after,
    .mfp-iframe-holder .mfp-close:hover::before,
    .mfp-iframe-holder .mfp-close:hover::after,
    .mfp-inline-holder .mfp-close:hover::before,
    .mfp-inline-holder .mfp-close:hover::after
    {
        background-color: #a8a8a8 !important;
    }
}
