@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;600&display=swap');

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

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;
    font-family: 'Oswald','Noto Sans JP', sans-serif;

    position: relative;

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

    color: white;
    background-color: white;
}
@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: black;
}
@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
   ========================================================================== */
.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* 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: 'Oswald', sans-serif;
    font-size: 1.2rem;
    line-height: 4.8rem;

    padding-bottom: 10vh;

    color: black;
}
.main__content p:after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 1px;
    height: 10vh;

    content: '';

    background-color: white;
}
@media only screen and (min-width: 960px)
{
    .main
    {
        background: url(../images/main/main.jpg) top center no-repeat;
        background-size: cover;
    }
}

.contents
{
    position: relative;
    z-index: 1;
    top: 100vh;
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* about */
.about
{
    padding: 2.4rem 0;

    background-color: black;
}
.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: 'Oswald', 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: 'Oswald', 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: #333;
}
.about__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .about__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .about__btn
    {
        width: 400px;
    }
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* movie */
.movie
{
    padding: 2.4rem 0;

    background-color: #e5e5e5;
}
.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:  #e5e5e5;
}
@media only screen and (min-width: 960px)
{
    .movie__content
    {
        width: 33.33333%;

        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
                flex-shrink: 0;
    }
}
.movie h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .movie h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.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;
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* info */
.info
{
    padding: 2.4rem 0;

    background-color: #e5e5e5;
}
.info__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;

    color: black;
    background-color: #e5e5e5;
}
@media only screen and (min-width: 960px)
{
    .info__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.info h2
{
    font-family: 'Oswald', 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(255, 255, 255, .2);
}
.info li a
{
    display: -webkit-box;
    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.info__date
{
    font-family: 'Oswald', sans-serif;

    display: block;
}
@media only screen and (min-width: 960px)
{
    .info__list
    {
        max-height: 20em;
    }
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* info2 */
.info2
{
    padding: 2.4rem 0;

    background-color: #004cad;
}
.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: 'Oswald', 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;
                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: 'Oswald', 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: #333;
}
.info2__more:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .info2__more:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .info2__more
    {
        display: none;
    }
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* detail */
.detail
{
    padding: 1.2rem;

    color: black;
}
@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: black;
}
.detail h3
{
    font-family: 'Oswald', 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: 'Oswald', 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(255, 255, 255, .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(255, 255, 255, .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: black;
}
@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: black;
}
@media only screen and (min-width: 960px)
{
    .detail__summary
    {
        padding: 2.4rem 4.8rem;
    }
}

.detail__date
{
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
}

.detail__code,
.detail__price
{
    font-family: 'Oswald', 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: black;
}
@media only screen and (min-width: 960px)
{
    .btn__player:hover
    {
        background-color: #333;
    }
}
.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: #333;
}
.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: black;
    border-radius: 2px;
    background-color: black;
}
@media only screen and (min-width: 960px)
{
    .btn__movie:hover
    {
        text-decoration: none;

        background-color: #333;
    }
}
.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';
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* schedule */
.schedule
{
    padding: 2.4rem 0;

    background-color: #e5e5e5;
}
.schedule__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;

    color: black;
}
@media only screen and (min-width: 960px)
{
    .schedule__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.schedule h2
{
    font-family: 'Oswald', 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(255, 255, 255, .2);
}
.schedule__list li a
{
    display: -webkit-box;
    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.schedule__date
{
    font-family: 'Oswald', sans-serif;

    display: block;
}
@media only screen and (min-width: 960px)
{
    .schedule__list
    {
        max-height: 20em;
    }
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* tour */
.tour
{
    padding: 2.4rem 0;

    background-color: #eeff41;
}
.tour__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;

    color: black;
    background-color: #fff;
}
@media only screen and (min-width: 960px)
{
    .tour__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.tour h2
{
    font-family: 'Oswald', 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: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding: 2.4rem 0;

    text-align: center;

    border-bottom: 2px solid black;
}
.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 black;
}
.tour td
{
    padding: .6rem;

    border: 1px solid black;
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* release */
.release
{
    padding: 2.4rem 0;

    background-color: #fff;
}
.release__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;

    color: black;
}
@media only screen and (min-width: 960px)
{
    .release__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.release h2
{
    font-family: 'Oswald', 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: 'Oswald', sans-serif;
    font-weight: 700;
}
.release__code,
.release__price
{
    font-family: 'Oswald', sans-serif;
    font-size: 1.2rem;
}
.release__more
{
    font-family: 'Oswald', 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: 'Oswald', 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: #333;
}
.shop a:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .shop a:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* profile */
.profile
{
    background-color: #e5e5e5;
}
.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: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .profile h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.profile p
{
    font-weight: 400;

    padding-bottom: 4.8rem;

    text-align: left;

    color: #333;
}
.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%;
    }
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* 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;
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* bnr */
.bnr
{
    padding: .6rem 0;

    background-color: #f2f2f2;
}
@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;
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* share */
.share
{
    padding: 2.4rem 0;

    border-bottom: 1px solid rgba(255, 255, 255, .2);
    background-color: #f2f2f2;
}
@media only screen and (min-width: 960px)
{
    .share
    {
        padding: 3.6rem 0;
    }
}
.share h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: black;
}
.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;
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

.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;
    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: 'Oswald', 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: #333;
}
.buy__close a:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .buy__close a:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}

/* Common Parts
   ========================================================================== */
.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* 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: black;
}
.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: white;

    -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: 'Oswald', sans-serif;
    font-size: 2rem;
    line-height: 4.8rem;

    display: block;

    width: 100%;

    text-align: center;
    letter-spacing: .5rem;
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* footer */
.footer
{
    text-align: center;

    background-color: black;
}
.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: white;
}
@media only screen and (min-width: 960px)
{
    .footer__sns a:hover
    {
        opacity: .8;
    }
}
.footer__bottom
{
    padding: 1.2rem 0;

    background-color: black;
}
@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: 'Oswald', 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: white;

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

@media only screen and (min-width: 960px)
{
    .pagetop:hover::after
    {
        color: black;
    }
}

.fc
{
    background-color: white;
}
.fc__content
{
    width: 95%;
    margin: 0 auto;
    padding: 3.6rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .fc__content
    {
        width: 960px;
        padding: 7.2rem 4.8rem;
    }
}
.fc h2
{
    font-family: 'Oswald', sans-serif;
    font-size: 2.4rem;
    font-weight: 700;

    padding-bottom: 2.4rem;

    text-align: center;
    letter-spacing: .5rem;

    color: #333;
}
@media only screen and (min-width: 960px)
{
    .fc h2
    {
        font-size: 3.2rem;

        padding-bottom: 4.8rem;
    }
}
.fc p
{
    font-weight: 700;

    padding-bottom: 4.8rem;

    text-align: center;

    color: #333;
}
.fc__img
{
    text-align: center;
}
.fc__btn
{
    font-family: 'Oswald', 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: #333;
}
.fc__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .fc__btn:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}
@media only screen and (min-width: 960px)
{
    .fc__btn
    {
        width: 400px;
    }
}

@media only screen and (min-width: 960px)
{
    .br-sp
    {
        display: none;
    }
}

.br-pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .br-pc
    {
        display: inline;
    }
}

/* modal */
.modal__title
{
    font-weight: 700;

    padding: 4.8rem;

    text-align: center;

    color: black;
}

.modal__close
{
    width: 47.5%;
    margin: 0 auto;
    padding: 4.8rem;
}
.modal__close a
{
    font-family: 'Oswald', 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: #333;
}
.modal__close a:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .modal__close a:hover
    {
        cursor: pointer;

        color: white;
        background-color: #333;
    }
}

.white-popup
{
    position: relative;

    width: 95%;
    max-width: 960px;
    margin: 0 auto;
    padding: 4.8rem 0;

    background-color: white;
}
.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;
}

/* Print
   ========================================================================== */
@media print
{
    *
    {
        color: black !important;
        border-color: black !important;
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    header
    {
        display: none;
    }
    footer::after
    {
        content: '';
    }
    .noprint
    {
        display: none;
    }
}
