@import url('https://fonts.googleapis.com/css?family=Montserrat:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&subset=japanese');
html
{
    font-size: 62.5%;
}
@media only screen and (min-width: 960px)
{
    html
    {
        font-size: 70.3%;
    }
}

body
{
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 2.4rem;

    position: relative;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out; 

    color: white;
    background-color: #111;
}
@media only screen and (min-width: 960px)
{
    body
    {
        min-width: 960px;
    }
}

a
{
    font-weight: 400;

    cursor: pointer;
    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out; 
    text-decoration: none;

    color: #26c6da;
}
@media only screen and (min-width: 960px)
{
    a:hover
    {
        text-decoration: underline;
    }
    a:hover img
    {
        opacity: .8;
    }
}

.-pc
{
    display: none !important;
}
@media only screen and (min-width: 960px)
{
    .-pc
    {
        display: block !important;
    }
}

@media only screen and (min-width: 960px)
{
    .-sp
    {
        display: none !important;
    }
}

/* Contents
   ========================================================================== */
/* main */
.main
{
    position: fixed;

    width: 100%;
    height: 100vh; 

    background: url(../images/main/main_sp.jpg) center center no-repeat;
    background-size: cover;
}
.main__content
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    height: 100%; 

    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.main__content p
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 1.2rem;
    line-height: 4.8rem;

    padding-bottom: 10vh; 

    color: #333;
}
.main__content p:after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 1px;
    height: 10vh; 

    content: '';

    background-color: #111;
}
@media only screen and (min-width: 960px)
{
    .main
    {
        background: url(../images/main/main.jpg) center center no-repeat;
    }
}

.contents
{
    position: relative;
    z-index: 1; 
    top: 100vh;
}

/* about */
.about
{
    padding: 2.4rem 0; 

    background-color: #000;
}
.about__content
{
    width: 95%; 
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .about__content
    {
        width: 960px; 
        padding: 7.2rem 4.8rem;
    }
}
.about h2
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;
}
@media only screen and (min-width: 960px)
{
    .about h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.about p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;
}
.about__btn
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 4.8rem;

    display: block;

    width: 95%; 
    margin: 0 auto;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;
    text-align: center;
    text-decoration: none;

    color: white;
    border-radius: 2.4rem;
    background-color: #26c6da;
}
.about__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .about__btn:hover
    {
        cursor: pointer; 

        color: white;
        background-color: #7ddde9;
    }
}
@media only screen and (min-width: 960px)
{
    .about__btn
    {
        width: 400px;
    }
}

/* movie */
.movie
{
    padding: 2.4rem 0; 

    background-color: #111;
}
.movie__wrap
{
    width: 95%; 
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .movie__wrap
    {
        width: 960px; 
        padding: 7.2rem 4.8rem;
    }
}
@media only screen and (min-width: 960px)
{
    .movie__wrap
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        padding-right: 0;
        padding-left: 0; 

        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
    }
}
.movie__wrap.-single
{
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
@media only screen and (min-width: 960px)
{
    .movie__wrap.-single
    {
        width: 960px;
    }
}
@media only screen and (min-width: 960px)
{
    .movie__wrap.-single .movie__content
    {
        width: 100%; 
        padding: 0;

        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
                flex-shrink: 0;
    }
}
.movie__wrap.-multiple
{
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.movie__content
{
    padding: 1.2rem; 

    background-color: #111;
}
@media only screen and (min-width: 960px)
{
    .movie__content
    {
        width: 33.33333%; 

        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
                flex-shrink: 0;
    }
}
.movie__image a
{
    position: relative; 

    display: block;
}
.movie__image a::after
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 68px;
    height: 48px; 

    content: '';
    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    opacity: .9;
    background: url(../images/common/youtube.png) center center no-repeat;
    background-size: contain;
}
@media only screen and (min-width: 960px)
{
    .movie__image a:hover::after
    {
        opacity: 1; 
        background-image: url(../images/common/youtube2.png);
    }
}
.movie__image img
{
    width: 100%;
}

.youtube
{
    position: relative;

    width: 100%; 
    padding-top: 56.25%;
}
.youtube iframe
{
    position: absolute;
    top: 0;
    right: 0;

    width: 100% !important;
    height: 100% !important;
}

/* info */
.info
{
    padding: 2.4rem 0; 

    background-color: #333;
}
.info__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;

    color: #333; 
    background-color: #fff;
}
@media only screen and (min-width: 960px)
{
    .info__content
    {
        width: 960px; 
        padding: 7.2rem 4.8rem;
    }
}
.info h2
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;
}
@media only screen and (min-width: 960px)
{
    .info h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.info__list
{
    overflow-y: auto;

    max-height: 21em;
}
.info li
{
    padding: 1.8rem 1.2rem; 

    border-bottom: 1px solid rgba(17, 17, 17, .2);
}
.info li a
{
    display: -webkit-box;
    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.info__date
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 

    display: block;
}
@media only screen and (min-width: 960px)
{
    .info__list
    {
        max-height: 20em;
    }
}

/* info2 */
.info2
{
    padding: 2.4rem 0; 

    background-color: #111;
}
.info2__content
{
    width: 95%; 
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .info2__content
    {
        width: 960px; 
        padding: 7.2rem 4.8rem;
    }
}
.info2 h2
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;
}
@media only screen and (min-width: 960px)
{
    .info2 h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
@media only screen and (min-width: 960px)
{
    .info2__list
    {
        -webkit-column-count: 3;
           -moz-column-count: 3;
                column-count: 3;
    }
}
.info2 li
{
    padding-bottom: 1.2rem;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;
}
.info2 li.-hide
{
    visibility: hidden;

    height: 0; 
    padding-bottom: 0;

    opacity: 0;
}
@media only screen and (min-width: 960px)
{
    .info2 li.-hide
    {
        visibility: visible;

        height: auto; 
        padding-bottom: 1.2rem;

        opacity: 1;
    }
}
@media only screen and (min-width: 960px)
{
    .info2 li
    {
        page-break-inside: avoid;
    }
}
.info2 figcaption
{
    padding: 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .info2 figcaption
    {
        padding: 1.2rem .6rem;
    }
}
.info2 img
{
    width: 100%;
}
.info2__date
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    line-height: 3.6rem; 

    display: block;
}
.info2__more
{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 4.8rem;

    display: block;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out; 
    text-align: center;
    text-decoration: none;

    color: white;
    border-radius: 2.4rem;
    background-color: #26c6da;
}
.info2__more:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .info2__more:hover
    {
        cursor: pointer; 

        color: white;
        background-color: #7ddde9;
    }
}
@media only screen and (min-width: 960px)
{
    .info2__more
    {
        display: none;
    }
}

/* detail */
.detail
{
    padding: 1.2rem; 

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .detail
    {
        padding: 4.8rem;
    }
}
.detail__title
{
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 4.8rem;

    padding: 2.4rem;

    text-align: center; 

    color: #333;
}
.detail h3
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 3.6rem;

    padding-top: 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .detail h3
    {
        padding-top: 2.4rem;
    }
}
.detail h4
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 4.8rem;

    padding-top: 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .detail h4
    {
        padding-top: 2.4rem;
    }
}
.detail__text
{
    padding: 2.4rem 0;
}
.detail .-s
{
    font-size: 1rem;
    line-height: 1.8rem;

    padding: 2.4rem 0;
}
.detail figure
{
    background-color: rgba(17, 17, 17, .01);
}
.detail figure img
{
    display: block;

    margin: 0 auto;
}
@media only screen and (min-width: 960px)
{
    .detail figure img
    {
        width: 47.5%;
    }
}
.detail figcaption
{
    font-size: 1rem;
    line-height: 1.8rem;

    padding: 1.2rem 2.4rem;

    text-align: center;
}
.detail__link
{
    font-weight: 700;

    padding: 2.4rem 0;
}
.detail__sns
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: 2.4rem; 

    background-color: rgba(17, 17, 17, .01);

    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.detail__sns a
{
    font-size: 3.6rem;

    padding: 0 2.4rem; 

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .detail__sns a:hover
    {
        opacity: .8;
    }
}

.detail__summary
{
    font-weight: 700;

    padding: 0 2.4rem 1.2rem; 

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .detail__summary
    {
        padding: 2.4rem 4.8rem;
    }
}

.detail__date
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

.detail__code,
.detail__price
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 1.2rem;
}

.detail ol
{
    padding-left: 2.4rem;
}
.detail ol li
{
    font-size: 1.4rem;
    font-weight: 700;

    padding: .6rem 0;
}
.detail ol span
{
    margin-right: .6rem;
}

@media only screen and (min-width: 800px)
{
    .detail .shop
    {
        width: 47.5%; 
        margin: 0 auto;
    }
}

.btn__player
{
    display: inline-block;

    margin-left: .6rem;
    padding: 0 1.2rem;

    cursor: pointer;
    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out; 

    border-radius: 2px;
    background-color: #26c6da;
}
@media only screen and (min-width: 960px)
{
    .btn__player:hover
    {
        background-color: #7ddde9;
    }
}
.btn__player::before
{
    font-family: 'Font Awesome 5 Pro';
    font-size: 1.2rem;
    font-weight: 300;
    font-style: normal;
    font-variant: normal;

    display: inline-block;

    margin-right: .6rem; 

    content: '\f001';

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}
.btn__player::after
{
    font-size: 1rem; 

    content: 'PLAY';
}
.btn__player.-active
{
    background-color: #7ddde9;
}
.btn__player.-flash
{
    background-color: transparent;
}
.btn__player.-flash::before
{
    display: none;
}
.btn__player.-flash::after
{
    display: none;
}
.btn__player.-flash embed
{
    width: 70px;
    height: 16px;
}

.btn__movie
{
    font-weight: 700;

    display: inline-block;

    margin: 0 1.2rem;
    padding: 0 1.2rem; 

    color: #333;
    border-radius: 2px;
    background-color: #26c6da;
}
@media only screen and (min-width: 960px)
{
    .btn__movie:hover
    {
        text-decoration: none; 

        background-color: #7ddde9;
    }
}
.btn__movie::before
{
    font-family: 'Font Awesome 5 Pro';
    font-size: 1.2rem;
    font-weight: 300;
    font-style: normal;
    font-variant: normal;

    display: inline-block;

    margin-right: .6rem; 

    content: '\f04b';

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}
.btn__movie::after
{
    font-size: 1rem; 

    content: 'MOVIE';
}

/* schedule */
.schedule
{
    padding: 2.4rem 0; 

    background-color: #eeff41;
}
.schedule__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .schedule__content
    {
        width: 960px; 
        padding: 7.2rem 4.8rem;
    }
}
.schedule h2
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;
}
@media only screen and (min-width: 960px)
{
    .schedule h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.schedule__list
{
    overflow-y: auto;

    max-height: 21em;
}
.schedule__list li
{
    padding: 1.8rem 1.2rem; 

    border-bottom: 1px solid rgba(17, 17, 17, .2);
}
.schedule__list li a
{
    display: -webkit-box;
    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.schedule__date
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 

    display: block;
}
@media only screen and (min-width: 960px)
{
    .schedule__list
    {
        max-height: 20em;
    }
}

/* tour */
.tour
{
    padding: 2.4rem 0; 

    background-color: #eeff41;
}
.tour__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;

    color: #333; 
    background-color: #fff;
}
@media only screen and (min-width: 960px)
{
    .tour__content
    {
        width: 960px; 
        padding: 7.2rem 4.8rem;
    }
}
.tour h2
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;
}
@media only screen and (min-width: 960px)
{
    .tour h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.tour h3
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding: 2.4rem 0;

    text-align: center; 

    border-bottom: 2px solid #333;
}
.tour__detail
{
    padding: 2.4rem 0;
}
@media only screen and (min-width: 960px)
{
    .tour__detail
    {
        padding: 4.8rem 0;
    }
}
.tour .text
{
    font-size: 1.4rem;

    padding: 1.2rem 0;
}
@media only screen and (min-width: 960px)
{
    .tour .text
    {
        padding: 2.4rem 0;
    }
}
.tour .scroll
{
    overflow-x: auto;

    white-space: nowrap;
}
.tour table
{
    font-size: 1.2rem;

    width: 100%;
}
.tour th
{
    padding: .6rem; 

    border: 1px solid #333;
}
.tour td
{
    padding: .6rem; 

    border: 1px solid #333;
}

/* release */
.release
{
    padding: 2.4rem 0; 

    background-color: #26c6da;
}
.release__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .release__content
    {
        width: 960px; 
        padding: 7.2rem 4.8rem;
    }
}
.release h2
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;
}
@media only screen and (min-width: 960px)
{
    .release h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.release__wrap
{
    background-color: #fff;
}
.release__wrap dd
{
    padding: 2.4rem 1.2rem;

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .release__wrap
    {
        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;
    }
    .release__wrap dt
    {
        width: 50%;
    }
    .release__wrap dd
    {
        width: 50%; 
        padding: 2.4rem 4.8rem;
    }
}
.release__detail
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column; 

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}
.release__title
{
    font-size: 2rem;
    font-weight: 700;
    line-height: 3.6rem;

    padding-bottom: 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .release__title
    {
        padding-bottom: 2.4rem;
    }
}
.release__date
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-weight: 700;
}
.release__code,
.release__price
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 1.2rem;
}
.release__more
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
}

.shop
{
    padding: 1.2rem 0;
}
@media only screen and (min-width: 960px)
{
    .shop
    {
        padding: 2.4rem 0;
    }
}
.shop li
{
    padding-bottom: .6rem;
}
.shop a
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 4.8rem;

    display: block;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;
    text-align: center;
    text-decoration: none;

    color: white;
    border-radius: 2.4rem;
    background-color: #26c6da;
}
.shop a:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .shop a:hover
    {
        cursor: pointer; 

        color: white;
        background-color: #7ddde9;
    }
}

/* profile */
.profile
{
    background-color: #111;
}
.profile__content
{
    width: 95%; 
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .profile__content
    {
        width: 960px; 
        padding: 7.2rem 4.8rem;
    }
}
.profile h2
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;
}
@media only screen and (min-width: 960px)
{
    .profile h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.profile p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;
}
.profile__img
{
    text-align: center;
}

.member
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}
.member__img
{
    width: 50%;
}
@media only screen and (min-width: 960px)
{
    .member__img
    {
        width: 25%;
    }
}

/* map */
.map
{
    background-color: #222;
}
.map__content
{
    padding: 1.2rem; 

    background-color: #222;
}
@media only screen and (min-width: 960px)
{
    .map__content
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        padding: 2.4rem; 

        -webkit-box-align: baseline;
        -webkit-align-items: baseline;
        -ms-flex-align: baseline;
                align-items: baseline;
    }
}
.map__content h3
{
    font-size: 1.2rem;
    font-weight: 700;
}
@media only screen and (min-width: 960px)
{
    .map__content h3
    {
        padding-right: 1.2rem;
    }
}
.map__content p
{
    font-size: 1rem;
    line-height: 1.2rem;
}

#map
{
    height: 400px;
}

/* bnr */
.bnr
{
    padding: .6rem 0; 

    background-color: #fff;
}
@media only screen and (min-width: 960px)
{
    .bnr__list
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        padding: 2.4rem 0; 

        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
    }
}
.bnr img
{
    display: block;

    width: 95%;
    max-width: 300px; 
    margin: 0 auto;
    padding: .6rem 0;
}

/* share */
.share
{
    padding: 2.4rem 0; 

    border-bottom: 1px solid rgba(17, 17, 17, .2);
    background-color: #fff;
}
@media only screen and (min-width: 960px)
{
    .share
    {
        padding: 3.6rem 0;
    }
}
.share h2
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center; 
    letter-spacing: .5rem;

    color: #333;
}
.share__list
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.share a
{
    font-size: 3.2rem;

    padding: 0 2.4rem;
}
@media only screen and (min-width: 960px)
{
    .share a
    {
        font-size: 2.8rem;
    }
    .share a:hover
    {
        opacity: .8;
    }
}
.share__twitter
{
    color: #55acee;
}
.share__facebook
{
    color: #3b5998;
}
.share__line
{
    color: #00b900;
}

.buy
{
    position: fixed;
    z-index: 1043; 
    top: 0;
    left: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    visibility: hidden;
    overflow-y: auto;

    width: 100%;
    height: 100%;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;

    opacity: 0;
    background-color: rgba(11, 11, 11, .8);

    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.buy.-active
{
    visibility: visible; 

    opacity: 1;
}
.buy.-center
{
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.buy__container
{
    width: 100%;
    max-width: 960px;
}
.buy__content
{
    width: 100%;
}
.buy-close
{
    font-family: Arial,Baskerville,monospace;
    font-size: 4.6rem;
    font-style: normal;
    line-height: 44px;

    position: absolute;
    z-index: 1046; 
    top: 0;
    right: 0;

    display: block;
    overflow: visible;

    width: 44px;
    height: 44px;
    margin: 1.2rem 1.8rem;
    padding: 0;

    cursor: pointer;
    text-align: center;
    text-decoration: none;

    opacity: .65;
    color: #333;
    border: 0;
    outline: 0;
    background: 0 0;
    -webkit-box-shadow: none;
            box-shadow: none;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -ms-touch-action: manipulation;
        touch-action: manipulation;
}
.buy__close
{
    width: 47.5%; 
    margin: 0 auto;
    padding: 4.8rem;
}
.buy__close a
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 4.8rem;

    display: block;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;
    text-align: center;
    text-decoration: none;

    color: white;
    border-radius: 2.4rem;
    background-color: #26c6da;
}
.buy__close a:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .buy__close a:hover
    {
        cursor: pointer; 

        color: white;
        background-color: #7ddde9;
    }
}

/* Common Parts
   ========================================================================== */
/* header */
.header
{
    position: fixed;
    z-index: 3; 

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    height: 68px;
    padding: 0 1.2rem;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;

    background-color: transparent;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}
.header__logo
{
    display: block;

    width: 47.5%;
}

.nav-trigger
{
    position: relative;
    z-index: 4; 
    right: 1.2rem;

    width: 3.6rem;
    height: 24px;

    cursor: pointer;
}
.nav-trigger span
{
    position: absolute;

    display: inline-block;

    width: 3.6rem;
    height: 2px; 

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;

    background-color: #26c6da;
}
.nav-trigger span:nth-of-type(1)
{
    top: 0;
}
.nav-trigger span:nth-of-type(2)
{
    top: 11px;
}
.nav-trigger span:nth-of-type(3)
{
    top: 22px;
}
.nav-trigger.-active span:nth-of-type(1)
{
    -webkit-transform: translateY(11px) rotate(-45deg);
        -ms-transform: translateY(11px) rotate(-45deg);
            transform: translateY(11px) rotate(-45deg);
}
.nav-trigger.-active span:nth-of-type(2)
{
    -webkit-transform: translateX(24px);
        -ms-transform: translateX(24px);
            transform: translateX(24px); 

    opacity: 0;
}
.nav-trigger.-active span:nth-of-type(3)
{
    -webkit-transform: translateY(-11px) rotate(45deg);
        -ms-transform: translateY(-11px) rotate(45deg);
            transform: translateY(-11px) rotate(45deg);
}

.nav
{
    position: fixed;
    z-index: 2; 
    top: -100vh;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    height: 100vh;
    padding: 9.6rem 2.4rem;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;

    opacity: 0;
    background-color: #111;

    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
            align-content: space-around;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.nav.-active
{
    top: 0; 

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;

    opacity: 1;
}
.nav a
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 2rem;
    line-height: 4.8rem;

    display: block;

    width: 100%; 

    text-align: center;
    letter-spacing: .5rem;
}

/* footer */
.footer
{
    text-align: center; 

    background-color: #fff;
}
.footer__content
{
    padding: 2.4rem;
}
.footer__logo
{
    display: block;

    max-width: 200px; 
    margin: 0 auto;
    padding: 1.2rem 0;
}
@media only screen and (min-width: 960px)
{
    .footer__logo
    {
        padding: 2.4rem 0;
    }
}
.footer__sns
{
    font-size: 3.2rem;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: 3.6rem 0; 

    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
            justify-content: space-around;
}
@media only screen and (min-width: 960px)
{
    .footer__sns
    {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
    }
}
.footer__sns a
{
    padding: 0 2.4rem; 

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .footer__sns a:hover
    {
        opacity: .8;
    }
}
.footer__bottom
{
    padding: 1.2rem 0; 

    background-color: #fff;
}
@media only screen and (min-width: 960px)
{
    .footer__bottom
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;
                flex-direction: row-reverse;

        padding: 0 2.4rem; 

        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
                align-items: center;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: row-reverse;
            -ms-flex-direction: row-reverse;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
                justify-content: space-between;
    }
}
.footer__avex
{
    max-width: 40px; 
    padding: 1.2rem 0;
}
.footer__link
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-size: 1rem;
}
.footer__link a,
.footer__link span
{
    padding: 0 .6rem; 

    color: #ccc;
}

.pagetop::after
{
    font-family: 'Font Awesome 5 Pro';
    font-size: 2.4rem;
    font-weight: 300;
    font-style: normal;
    font-variant: normal;
    line-height: 4.8rem;

    display: inline-block;

    content: '\f062';
    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out; 

    color: #333;

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

@media only screen and (min-width: 960px)
{
    .pagetop:hover::after
    {
        color: #26c6da;
    }
}

/* modal */
.modal__title
{
    font-weight: 700;

    padding: 4.8rem;

    text-align: center; 

    color: #333;
}

.modal__close
{
    width: 47.5%; 
    margin: 0 auto;
    padding: 4.8rem;
}
.modal__close a
{
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif; 
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 4.8rem;

    display: block;

    -webkit-transition: all .4s ease-out;
            transition: all .4s ease-out;
    text-align: center;
    text-decoration: none;

    color: white;
    border-radius: 2.4rem;
    background-color: #26c6da;
}
.modal__close a:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .modal__close a:hover
    {
        cursor: pointer; 

        color: white;
        background-color: #7ddde9;
    }
}

.white-popup
{
    position: relative;

    width: 95%;
    max-width: 960px; 
    margin: 0 auto;
    padding: 4.8rem 0;

    background-color: #fff;
}
.white-popup iframe
{
    display: block;

    max-width: 100%; 
    margin: 0 auto;
}

.shop-list
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: 4.8rem 0; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.shop-list__item
{
    display: block;

    width: 200px; 
    padding: 1.2rem;
}
.shop-list a:hover
{
    opacity: .8;
}
.shop-list a:hover::after
{
    width: 0;
}

.dl-list
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: 4.8rem 0; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.dl-list__item
{
    display: block;

    width: 200px; 
    padding: 1.2rem;
}
.dl-list__img
{
    margin-bottom: 1.2rem;
}
.dl-list a:hover
{
    opacity: .8;
}
.dl-list a:hover::after
{
    width: 0;
}

.mfp-close
{
    font-size: 4.6rem;

    margin: 1.2rem 1.8rem;
}

.mfp-zoom-in .mfp-with-anim
{
    -webkit-transition: all .2s ease-in-out;
            transition: all .2s ease-in-out; 
    -webkit-transform: scale(.8);
        -ms-transform: scale(.8);
            transform: scale(.8);

    opacity: 0;
}

.mfp-zoom-in.mfp-bg
{
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out; 

    opacity: 0;
}

.mfp-zoom-in.mfp-ready .mfp-with-anim
{
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); 

    opacity: 1;
}

.mfp-zoom-in.mfp-ready.mfp-bg
{
    opacity: .8;
}

.mfp-zoom-in.mfp-removing .mfp-with-anim
{
    -webkit-transform: scale(.8);
        -ms-transform: scale(.8);
            transform: scale(.8); 

    opacity: 0;
}

.mfp-zoom-in.mfp-removing.mfp-bg
{
    opacity: 0;
}

.mfp-zoom-out .mfp-with-anim
{
    -webkit-transition: all .3s ease-in-out;
            transition: all .3s ease-in-out; 
    -webkit-transform: scale(1.3);
        -ms-transform: scale(1.3);
            transform: scale(1.3);

    opacity: 0;
}

.mfp-zoom-out.mfp-bg
{
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out; 

    opacity: 0;
}

.mfp-zoom-out.mfp-ready .mfp-with-anim
{
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); 

    opacity: 1;
}

.mfp-zoom-out.mfp-ready.mfp-bg
{
    opacity: .8;
}

.mfp-zoom-out.mfp-removing .mfp-with-anim
{
    -webkit-transform: scale(1.3);
        -ms-transform: scale(1.3);
            transform: scale(1.3); 

    opacity: 0;
}

.mfp-zoom-out.mfp-removing.mfp-bg
{
    opacity: 0;
}

.mfp-move-from-top .mfp-content
{
    vertical-align: top;
}

.mfp-move-from-top .mfp-with-anim
{
    -webkit-transition: all .2s;
            transition: all .2s; 
    -webkit-transform: translateY(-100px);
        -ms-transform: translateY(-100px);
            transform: translateY(-100px);

    opacity: 0;
}

.mfp-move-from-top.mfp-bg
{
    -webkit-transition: all .2s;
            transition: all .2s; 

    opacity: 0;
}

.mfp-move-from-top.mfp-ready .mfp-with-anim
{
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); 

    opacity: 1;
}

.mfp-move-from-top.mfp-ready.mfp-bg
{
    opacity: .8;
}

.mfp-move-from-top.mfp-removing .mfp-with-anim
{
    -webkit-transform: translateY(-50px);
        -ms-transform: translateY(-50px);
            transform: translateY(-50px); 

    opacity: 0;
}

.mfp-move-from-top.mfp-removing.mfp-bg
{
    opacity: 0;
}

/* Custom Parts
   ========================================================================== */
/* custom */
@media screen and (max-width: 1019px)
{
    br.pc
    {
        display: none;
    }
}

@media screen and (min-width: 1020px)
{
    br.mb
    {
        display: none;
    }
}

body
{
    background-color: transparent;
}

.mfp-bg
{
    opacity: 1;
    background: #e4e4eb;
}

.header
{
    position: absolute;

    overflow: hidden; 

    height: 100vh;
    padding: 0;
}
@media screen and (max-width: 1019px)
{
    .header h1
    {
        position: absolute;
        top: 120px;
        right: 0;
        left: 0;

        width: 300px;
        margin: auto;
    }
    .header h1 img
    {
        width: 100%;
    }
}
@media screen and (min-width: 1020px)
{
    .header h1
    {
        position: absolute;
        top: 150px;
        right: 0;
        left: 0;

        width: 500px;
        margin: auto;
    }
    .header h1 img
    {
        width: 100%;
    }
}

.main
{
    background: url(../images/custom/main-bg-sp.png) top center no-repeat, url(../images/main/main_sp.jpg) center center;
    background-size: 500px auto, cover;
}
@media only screen and (min-width: 960px)
{
    .main
    {
        background: url(../images/custom/main-bg-pc.png) top center no-repeat, url(../images/main/main.jpg) center center;
        background-size: auto auto, cover;
    }
}
@media screen and (max-width: 1019px)
{
    .main__content p
    {
        width: 80px; 
        padding-bottom: 100px;
    }
    .main__content p::after
    {
        display: none;
    }
}
@media screen and (min-width: 1020px)
{
    .main__content p
    {
        padding-bottom: 40px;
    }
    .main__content p::after
    {
        display: none;
    }
}

.white-popup
{
    background: #f2f3f6;
}
@media screen and (max-width: 1019px)
{
    .white-popup .detail__title
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 22px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .white-popup .detail
    {
        margin: 0 0 4.8rem 0;
    }
    .white-popup .detail .detail__buy
    {
        position: relative;

        width: 300px;
        margin: 0 auto;
        padding: 4.8rem 0 2.4rem 0;
    }
    .white-popup .detail .detail__buy a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        width: 300px;
        height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border: solid 2px #000;
        border-radius: 0;
        background: 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;
    }
    .white-popup .detail .detail__buy a:hover
    {
        text-decoration: none;

        opacity: .5;
        color: #000;
        background: transparent;
    }
    .white-popup .detail h3
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 22px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .white-popup .detail h4
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 18px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .white-popup .detail .detail__summary
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        padding: 2.4rem 0 2.4rem 0;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #df008e;
    }
    .white-popup .detail .detail__text
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .white-popup .detail .detail__image
    {
        background: #fcfcfc;
    }
    .white-popup .detail .detail__image img
    {
        width: 100%;
        max-width: none;
        height: auto;
    }
    .white-popup .detail ul
    {
        padding: 0 0 2.4rem 0;
    }
    .white-popup .detail ul li
    {
        position: relative;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        min-height: 60px;
        padding: 10px 0 10px 0;

        border-bottom: solid 1px #000; 

        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
                align-items: center;
    }
    .white-popup .detail ul li span:nth-of-type(1)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        width: 35px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .white-popup .detail ul li span:nth-of-type(2)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        width: calc(100% - 55px);

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .white-popup .detail p.ex
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        min-height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
}
@media screen and (min-width: 1020px)
{
    .white-popup .detail__title
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 32px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .white-popup .detail .detail__buy
    {
        position: relative;

        width: 300px;
        margin: 0 auto;
        padding: 4.8rem 0 2.4rem 0;
    }
    .white-popup .detail .detail__buy a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        width: 300px;
        height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border: solid 2px #000;
        border-radius: 0;
        background: 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;
    }
    .white-popup .detail .detail__buy a:hover
    {
        text-decoration: none;

        opacity: .5;
        color: #000;
        background: transparent;
    }
    .white-popup .detail .detail__summary
    {
        padding: 2.4rem 0 0 0;

        color: #df008e;
    }
    .white-popup .detail .detail__image
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        background: #fcfcfc; 

        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
    }
    .white-popup .detail .detail__image img
    {
        width: 300px; 
        max-width: none;
    }
    .white-popup .detail ul li
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        height: 60px;

        border-bottom: solid 1px #000; 

        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
                align-items: center;
    }
    .white-popup .detail ul li span:nth-of-type(1)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        width: 35px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .white-popup .detail ul li span:nth-of-type(2)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        width: 769px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .white-popup .detail p.ex
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;

        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
                align-items: center;
    }
}

@media screen and (max-width: 1019px)
{
    .modal__close
    {
        position: relative;

        padding: 0;
    }
    .modal__close a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border: solid 2px #000;
        border-radius: 0;
        background: 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;
    }
}

@media screen and (min-width: 1020px)
{
    .modal__close
    {
        position: relative;

        width: 300px;
        margin: 0 auto;
        padding: 0;
    }
    .modal__close a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        width: 300px;
        height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border: solid 2px #000;
        border-radius: 0;
        background: 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;
    }
    .modal__close a:hover
    {
        text-decoration: none;

        opacity: .5;
        color: #000;
        background: transparent;
    }
}

/* ======== custom ======== */
.custom
{
    /* ======== custom - custom-release ======== */
    /* ======== custom - custom-privilege ======== */
    /* ======== custom - custom-video ======== */
}
@media screen and (max-width: 1019px)
{
    .custom .custom-release
    {
        position: relative;

        padding: 0 25px 0 25px;

        background: url(../images/custom/release-bg.png) top center no-repeat #e4e4eb;
        background-size: 450px auto;
    }
    .custom .custom-release .release-header__h2
    {
        padding: 35px 0 15px 0;

        text-align: center;
    }
    .custom .custom-release .release-header__h2 span:nth-of-type(1)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 24px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        display: block;

        padding: 10px 0 10px 0;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
    }
    .custom .custom-release .release-header__h2 span:nth-of-type(2)
    {
        display: block;

        padding: 10px 0 10px 0;
    }
    .custom .custom-release .release-header__h2 span:nth-of-type(2) img
    {
        width: 170px;
    }
    .custom .custom-release .release-header__h2 span:nth-of-type(3)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 24px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        display: block;

        padding: 10px 0 10px 0;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
    }
    .custom .custom-release .release-main .main-type
    {
        padding: 0 0 35px 0;
    }
    .custom .custom-release .release-main .main-type .type-jk
    {
        position: relative;

        margin: 0 0 15px 0;

        text-align: center;
    }
    .custom .custom-release .release-main .main-type .type-meta
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        padding: 0 0 15px 0;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-main .main-type .type-meta--1
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 18px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        margin: 0 0 5px 0;
        padding: 0 10px 0 10px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        background: #eeff41;
    }
    .custom .custom-release .release-main .main-type .type-meta--2
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 18px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        margin: 0 0 5px 0;
        padding: 0 10px 0 10px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        background: #f0f;
    }
    .custom .custom-release .release-main .main-type .type-meta--3
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 18px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        margin: 0 0 5px 0;
        padding: 0 10px 0 10px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        background: #0f0;
    }
    .custom .custom-release .release-main .main-type .type-meta strong
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 18px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #df008e;
    }
    .custom .custom-release .release-main .main-type .type-buy a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
        border: solid 2px #000;

        -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;
    }
    .custom .custom-release .release-limited
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        padding: 0 0 35px 0; 

        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
    }
    .custom .custom-release .release-limited a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        position: relative;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        padding: 15px 25px 15px 25px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border: solid 2px #000;

        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
        -webkit-align-content: center;
        -ms-flex-line-pack: center;
                align-content: center;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
    }
    .custom .custom-release .release-limited a::after
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;

        height: 16px;
        margin: auto;

        content: '>';
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
    }
    .custom .custom-release .release-limited a strong
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        display: inline-block;

        margin: 0 0 5px 0;
        padding: 0 10px 0 10px;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        background: #0f0;
    }
    .custom .custom-release .release-limited a span
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        width: 100%;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-mini
    {
        position: relative;
    }
    .custom .custom-release .release-mini .mini-list__li
    {
        position: relative;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        min-height: 60px;
        padding: 10px 0 10px 0;

        border-bottom: solid 1px #000; 

        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
                align-items: center;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(1)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        width: 35px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(2)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        width: calc(100% - 155px);

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(2) small
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 10px;
        font-weight: 400;
        font-style: normal;
        line-height: 1.5;

        display: block;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(3)
    {
        position: absolute;
        top: 10px; 
        right: 80px;

        display: block;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(4)
    {
        position: absolute;
        top: 10px; 
        right: 40px;

        display: block;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(5)
    {
        position: absolute;
        top: 10px; 
        right: 0;

        display: block;
    }
    .custom .custom-release .release-mini .mini-list__a
    {
        display: block;
    }
    .custom .custom-release .release-mini .mini-list__a--1
    {
        width: 32px;
        height: 40px;

        background: url(../images/custom/release-apple-sp.svg) center center no-repeat;
        background-size: contain;
    }
    .custom .custom-release .release-mini .mini-list__a--2
    {
        width: 30px;
        height: 40px;

        background: url(../images/custom/release-itunes-sp.svg) center center no-repeat;
        background-size: contain;
    }
    .custom .custom-release .release-mini .mini-list__a--3
    {
        width: 30px;
        height: 40px;

        background: url(../images/custom/release-other-sp.svg) center center no-repeat;
        background-size: contain;
    }
    .custom .custom-release .release-mini .mini-list__dt
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        padding: 10px 0 5px 0;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-mini .mini-list__dd
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        padding: 0 0 10px 0;

        text-decoration: none;
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border-bottom: solid 1px #000;
    }
    .custom .custom-release .release-footer .footer-more
    {
        position: relative;

        padding: 35px 0 35px 0;
    }
    .custom .custom-release .release-footer .footer-more a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border: solid 2px #000;

        -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: 1020px)
{
    .custom .custom-release
    {
        position: relative;

        background: url(../images/custom/release-bg.png) top center no-repeat #e4e4eb;
    }
    .custom .custom-release .release-header__h2
    {
        padding: 70px 0 30px 0;

        text-align: center;
    }
    .custom .custom-release .release-header__h2 span:nth-of-type(1)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 26px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        display: block;

        padding: 10px 0 10px 0;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
    }
    .custom .custom-release .release-header__h2 span:nth-of-type(2)
    {
        display: block;

        padding: 10px 0 10px 0;
    }
    .custom .custom-release .release-header__h2 span:nth-of-type(3)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 26px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        display: block;

        padding: 10px 0 10px 0;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
    }
    .custom .custom-release .release-main
    {
        position: relative; 

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
    }
    .custom .custom-release .release-main .main-type
    {
        width: 300px;
        margin: 0 25px 0 25px;
    }
    .custom .custom-release .release-main .main-type .type-jk
    {
        position: relative;

        margin: 0 0 12px 0;
    }
    .custom .custom-release .release-main .main-type .type-meta
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        min-height: 160px;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-main .main-type .type-meta--1
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 20px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        display: inline-block;

        margin: 0 0 5px 0;
        padding: 0 10px 0 10px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        background: #eeff41;
    }
    .custom .custom-release .release-main .main-type .type-meta--2
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 20px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        display: inline-block;

        margin: 0 0 5px 0;
        padding: 0 10px 0 10px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        background: #f0f;
    }
    .custom .custom-release .release-main .main-type .type-meta--3
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 20px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        display: inline-block;

        margin: 0 0 5px 0;
        padding: 0 10px 0 10px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        background: #0f0;
    }
    .custom .custom-release .release-main .main-type .type-meta strong
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 20px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #df008e;
    }
    .custom .custom-release .release-main .main-type .type-buy a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        width: 300px;
        height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
        border: solid 2px #000;

        -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;
    }
    .custom .custom-release .release-main .main-type .type-buy a:hover
    {
        text-decoration: none; 

        opacity: .5;
    }
    .custom .custom-release .release-limited
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        padding: 70px 0 70px 0; 

        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
    }
    .custom .custom-release .release-limited a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        position: relative;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        width: 650px;
        height: 120px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border: solid 2px #000;

        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
        -webkit-align-content: center;
        -ms-flex-line-pack: center;
                align-content: center;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
    }
    .custom .custom-release .release-limited a::after
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        position: absolute;
        top: 0;
        right: 25px;
        bottom: 0;

        height: 16px;
        margin: auto;

        content: '>';
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
    }
    .custom .custom-release .release-limited a strong
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 20px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        display: inline-block;

        margin: 0 0 5px 0;
        padding: 0 10px 0 10px;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        background: #0f0;
    }
    .custom .custom-release .release-limited a span
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        width: 100%;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-limited a:hover
    {
        text-decoration: none; 

        opacity: .5;
    }
    .custom .custom-release .release-mini
    {
        position: relative;

        width: 1000px;
        margin: 0 auto;
    }
    .custom .custom-release .release-mini .mini-list__li
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        height: 60px;

        border-bottom: solid 1px #000; 

        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
                align-items: center;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(1)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        width: 35px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(2)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        width: 769px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(2) small
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(3)
    {
        display: block;

        width: 47px;
        margin: 0 0 0 27px;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(4)
    {
        display: block;

        width: 30px;
        margin: 0 0 0 27px;
    }
    .custom .custom-release .release-mini .mini-list__li span:nth-of-type(5)
    {
        display: block;

        width: 30px;
        margin: 0 0 0 35px;
    }
    .custom .custom-release .release-mini .mini-list__a
    {
        display: block;
    }
    .custom .custom-release .release-mini .mini-list__a--1
    {
        width: 47px;
        height: 43px;

        background: url(../images/custom/release-apple-pc.svg) center center no-repeat;
    }
    .custom .custom-release .release-mini .mini-list__a--2
    {
        width: 30px;
        height: 43px;

        background: url(../images/custom/release-itunes-pc.svg) center center no-repeat;
    }
    .custom .custom-release .release-mini .mini-list__a--3
    {
        width: 30px;
        height: 43px;

        background: url(../images/custom/release-other-pc.svg) center center no-repeat;
    }
    .custom .custom-release .release-mini .mini-list__a:hover
    {
        text-decoration: none; 

        opacity: .5;
    }
    .custom .custom-release .release-mini .mini-list__dt
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        padding: 20px 0 5px 0;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-release .release-mini .mini-list__dd
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        padding: 5px 0 20px 0;

        text-decoration: none;
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border-bottom: solid 1px #000;
    }
    .custom .custom-release .release-footer .footer-more
    {
        position: relative;

        width: 300px;
        margin: 0 auto;
        padding: 45px 0 80px 0;
    }
    .custom .custom-release .release-footer .footer-more a
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        width: 300px;
        height: 60px;

        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
        border: solid 2px #000;

        -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;
    }
    .custom .custom-release .release-footer .footer-more a:hover
    {
        text-decoration: none; 

        opacity: .5;
    }
}
@media screen and (max-width: 1019px)
{
    .custom .custom-privilege
    {
        position: relative;

        padding: 0 12px 0 12px;

        background: url(../images/custom/release-bg.png) top center no-repeat #f2f3f6;
        background-size: 450px auto;
    }
    .custom .custom-privilege .privilege-header__h2
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 30px;
        font-weight: 500;
        font-style: normal;
        line-height: 1;

        padding: 35px 0 35px 0;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-privilege .privilege-main
    {
        position: relative;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        padding: 0 0 35px 0; 

        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
    }
    .custom .custom-privilege .privilege-main .main-item
    {
        width: 50%;
        padding: 0 12px 0 12px;
    }
    .custom .custom-privilege .privilege-main .main-item a .item-jk
    {
        text-align: center;
    }
    .custom .custom-privilege .privilege-main .main-item a .item-packing
    {
        padding: 15px 0 35px 0;
    }
    .custom .custom-privilege .privilege-main .main-item a .item-packing strong
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        display: block;

        padding: 0 0 5px 0;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-privilege .privilege-main .main-item a .item-packing span:nth-of-type(1)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-privilege .privilege-main .main-item a .item-packing span:nth-of-type(2)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #df008e;
    }
    .custom .custom-privilege .privilege-footer__p
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        padding: 0 0 70px 0;

        text-align: left;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
}
@media screen and (min-width: 1020px)
{
    .custom .custom-privilege
    {
        position: relative;

        background: url(../images/custom/privilege-bg.png) top center no-repeat #f2f3f6;
    }
    .custom .custom-privilege .privilege-header__h2
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 34px;
        font-weight: 500;
        font-style: normal;
        line-height: 1;

        padding: 80px 0 80px 0;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-privilege .privilege-main
    {
        position: relative;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        width: 1000px;
        margin: 0 auto;
        padding: 0 0 40px 0; 

        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
    }
    .custom .custom-privilege .privilege-main .main-item
    {
        width: 300px;
    }
    .custom .custom-privilege .privilege-main .main-item a .item-packing
    {
        padding: 10px 0 40px 0;
    }
    .custom .custom-privilege .privilege-main .main-item a .item-packing strong
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        display: block;

        padding: 0 0 10px 0;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-privilege .privilege-main .main-item a .item-packing span:nth-of-type(1)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-privilege .privilege-main .main-item a .item-packing span:nth-of-type(2)
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: block;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #df008e;
    }
    .custom .custom-privilege .privilege-main .main-item a:hover
    {
        text-decoration: none; 

        opacity: .5;
    }
    .custom .custom-privilege .privilege-footer
    {
        text-align: center;
    }
    .custom .custom-privilege .privilege-footer__p
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.5;

        display: inline-block;

        padding: 0 0 80px 0;

        text-align: left;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
}
@media screen and (max-width: 1019px)
{
    .custom .custom-video
    {
        position: relative;

        padding: 0 25px 0 25px;

        background: url(../images/custom/release-bg.png) top center no-repeat #e4e4eb;
        background-size: 450px auto;
    }
    .custom .custom-video .video-header__h2
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 30px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        padding: 35px 0 35px 0;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
    }
    .custom .custom-video .video-main
    {
        position: relative;

        padding: 0 0 35px 0;
    }
    .custom .custom-video .video-main .main-item a .item-jk
    {
        position: relative;
    }
    .custom .custom-video .video-main .main-item a .item-jk::after
    {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;

        width: 68px;
        height: 48px;
        margin: auto;

        content: '';

        opacity: .9;
        background: url(../images/common/youtube.png) center center no-repeat;
        background-size: contain;
    }
    .custom .custom-video .video-main .main-item a .item-jk img
    {
        width: 100%;
    }
    .custom .custom-video .video-main .main-item a .item-packing
    {
        padding: 15px 0 35px 0;
    }
    .custom .custom-video .video-main .main-item a .item-packing strong
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        display: block;

        padding: 0 0 15px 0;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
}
@media screen and (min-width: 1020px)
{
    .custom .custom-video
    {
        position: relative;

        background: url(../images/custom/video-bg.png) top center no-repeat #e4e4eb;
    }
    .custom .custom-video .video-header__h2
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 36px;
        font-weight: 700;
        font-style: normal;
        line-height: 1;

        padding: 80px 0 80px 0;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: .08em;

        color: #0c1318;
    }
    .custom .custom-video .video-main
    {
        position: relative;

        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        width: 1000px;
        margin: 0 auto;
        padding: 0 0 40px 0; 

        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
    }
    .custom .custom-video .video-main .main-item
    {
        width: 300px;
        margin: 0 16px;
    }
    .custom .custom-video .video-main .main-item a .item-jk
    {
        position: relative;

        text-align: center;
    }
    .custom .custom-video .video-main .main-item a .item-jk::after
    {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;

        width: 68px;
        height: 48px;
        margin: auto;

        content: '';

        opacity: .9;
        background: url(../images/common/youtube.png) center center no-repeat;
        background-size: contain;
    }
    .custom .custom-video .video-main .main-item a .item-jk img
    {
        min-height: 169px;
    }
    .custom .custom-video .video-main .main-item a .item-packing
    {
        padding: 10px 0 40px 0;
    }
    .custom .custom-video .video-main .main-item a .item-packing strong
    {
        font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
        font-size: 16px;
        font-weight: 700;
        font-style: normal;
        line-height: 1.5;

        display: block;

        padding: 0 0 10px 0;

        text-align: center;
        text-decoration: none; 
        text-indent: 0;
        letter-spacing: 0;

        color: #0c1318;
    }
    .custom .custom-video .video-main .main-item a:hover
    {
        text-decoration: none;
    }
    .custom .custom-video .video-main .main-item a:hover .item-jk::after
    {
        background: url(../images/common/youtube2.png) center center no-repeat;
        background-size: contain;
    }
}

/* Print
   ========================================================================== */
@media print
{
    *
    {
        color: black !important;
        border-color: black !important;
        background: transparent !important;
        -webkit-box-shadow: none !important;
                box-shadow: none !important;
        text-shadow: none !important;
    }
    header
    {
        display: none;
    }
    footer::after
    {
        content: '';
    }
    .noprint
    {
        display: none;
    }
}
