@charset "utf-8";

/* ---------------------------------------
	max-width: 1360px
--------------------------------------- */

@media screen and (min-width: 1600px) {

    /************************************************************

        Home | min-width: 1600px

    ************************************************************/

    /*
        Home -> h-about
    ******************************/

    .h-about__txt p{
        padding: 2em 0;
        line-height: 2.8;
    }


}/* min-width: 1600px */


/* ---------------------------------------
	max-width: 1440px
--------------------------------------- */

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

    /************************************************************

        Home | max-width: 1440px

    ************************************************************/

    /*
        Home -> h-about
    ******************************/

    .h-about__txt p{
        padding: 2em 0;
        line-height: 1.9;
    }

}/* max-width: 1440px */


/* ---------------------------------------
	max-width: 1360px
--------------------------------------- */

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

    /************************************************************

        Home | max-width: 1360px

    ************************************************************/

    /*
        Home -> h-about
    ******************************/

    .h-about__txt p{
        padding: 2em 0;
        line-height: 1.8;
    }

}/* max-width: 1360px */


/* ---------------------------------------
	max-width: 1200px
--------------------------------------- */

@media screen and (max-width: 1200px) {}/* max-width: 1200px */


/* ---------------------------------------
	max-width: 1024px
--------------------------------------- */

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

    /************************************************************

         Home | max-width: 960px

    ************************************************************/

    /*
        Home -> Hero
    ******************************/

    .h-hero .h-hero__ttl{
        width: 48vw;
        height: 32vw;
        background-image: url(../img/h_hero_ttl.png);
        top: 96px;
        left: 3.2vw;
    }

}/* max-width: 960px */


/* ---------------------------------------
	max-width: 800px
--------------------------------------- */

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

    html{
        font-size: 15px; /* Basic font size */
        -webkit-transition: all .0s ease-out;
        -moz-transition: all .0s ease-out;
        -ms-transition: all .0s ease-out;
        -o-transition: all .0s ease-out;
        transition: all .0s ease-out;
    }

    /*
        Links / Buttons
    ******************************/

    a.c-btn__item{
        width: 80%;
        line-height: 56px;
        font-size: 1.1rem;
    }

    /*
        Other
    ******************************/
    .break__sp{
        display: block;
    }
    .break__pc{
        display: none;
    }

    /************************************************************

         Layout | max-width: 800px

    ************************************************************/

    /*
        Caption
    ******************************/
    .c-caps{
        margin: 3em 5%;
    }
    .caps{
        font-size: 0.7em;
        line-height: 1.5;
    }

    /************************************************************

         Home | max-width: 800px

    ************************************************************/

    /*
        Home -> header
    ******************************/

    header .inpage-nav{
        margin: 36px 0 0;
        text-align: center;
        position: relative;
    }
    header .inpage-nav ul.inpage-nav__inner{
        padding: 0 1.0em;
    }
    header .inpage-nav ul li{
        display: inline-block;
    }
    header .inpage-nav ul li a{
        position: relative;
        display: inline-block;
        padding: 0.8em 0;
        margin: 0 1.0em;
        font-size: 1.1em;
    }

    /*
        Home -> h-about
    ******************************/
    .h-about{
        padding: 24px 5% 40px;
    }
    .h-about__inner{
        position: relative;
        display: block;
    }
    .h-about__desc{
        width: 100%;
        padding-left: 40px;
        margin-bottom: 3em;
    }
    .h-about__portlait{
        width: 100%;
        padding: 0 5%;
        margin-left: auto;
        margin-right: auto;
    }
    .h-about__img{
        text-align: center;
        margin-bottom: 1.0em;
    }
    .h-about__img img{
        width: 72%;
    }
    .h-about__lines .line__left01{
        width: 6px;
        height: 100%;
        top: 0;
        left: 0;
    }
    .h-about__lines .line__left02{
        width: 2px;
        height: 100%;
        top: 0;
        left: 12px;
    }
    .h-about__head{
        position: relative;
        width: 100%;
        text-align: right;
    }
    .h-about__head h2{
        width: 85%;
        padding: 0 0 20px;
    }
    .h-about__head h2::before{
        width: 2px;
        height: 50%;
        left: calc( 15% - 20px );
    }
    .h-about__txt p{
        padding: 2em 0;
        border-top: 2px solid #000;
        border-bottom: 2px solid #000;
        font-size: 0.9em;
        line-height: 1.8;
    }
    .h-about__bottom span{
        width: 85%;
        padding: 20px 0 0;
    }
    .h-about__bottom span::before{
        width: 2px;
        height: 25%;
        left: calc( 15% - 20px );
    }

    /*
        Home -> h-outline
    ******************************/
    .h-outline{
        padding: 60px 5%;
    }
    .h-outline__inner{
        padding: 40px 30px 0 140px;
        overflow: hidden;
    }
    .h-outline__lines .line__left{
        display: block;
        position: absolute;
        width: 2px;
        height: 100%;
        background: #222;
        top: 0;
        left: 110px;
        z-index: -1;
    }
    .h-outline__lines .line__right{
        display: block;
        position: absolute;
        width: 2px;
        height: 50%;
        background: #222;
        top: 0;
        right: 20px;
        z-index: -1;
    }
    .h-outline__lines .line__top{
        position: absolute;
        width: 100%;
        height: 2px;
        top: 80px;
        left: 0;
    }
    .h-outline__head{
        margin-bottom: 3.2em;
    }
    .h-outline__head h2{
        font-size: 1.35em;
    }
    .h-outline__head .h-outline__shoulder{
        position: absolute;
        font-size: 1.1rem;
        top: 44px;
        left: 0;
    }
    .h-outline__txt{
        margin: 2em 0;
    }
    .h-outline__txt h3{
        font-size: 1.1em;
        margin-bottom: 0.5em;
        color: #ff0000;
    }
    .h-outline__txt p{
        font-size: 0.9em;
        line-height: 1.6;
    }
    .h-outline__note{
        margin: 0.5em 0;
    }
    .h-outline__note li{
        font-size: 0.85em;
        line-height: 1.6;
    }
    .h-outline__portlait{
        display: none;
        width: 30vw;
        max-width: 960px;
        position: absolute;
        z-index: -100;
        right: 0;
        bottom: 0;
    }
    .h-outline__caps{
        text-align: right;
        margin: 1.0em 15px 32px 0;
    }

    /*
        Home -> h-section
    ******************************/
    .h-section{
        padding: 20px 0 0;
    }
    .h-section__head{
        padding: 40px 70px 0 140px;
        margin: 0 5% 96px;
    }
    .h-section__head h2{
        font-size: 1.35em;
    }
    .h-section__head .h-section__shoulder{
        font-size: 1.1rem;
        top: 44px;
        left: 0;
    }
    .h-section__lines .line__left{
        width: 2px;
        height: 120px;
        top: 0;
        left: 110px;
    }
    .h-section__lines .line__top{
        width: 100%;
        height: 2px;
        top: 80px;
        left: 0;
    }
    .h-section__num{
        position: absolute;
        width: 70px;
        height: 108px;
        top: 9px;
        left: calc( 5% + 10px );
    }
    .h-section__body{
        padding-top: 40px;
        padding-bottom: 0;
        padding-left: calc( 5% + 140px );
        padding-right: 5%;
        margin-bottom: 1.5em;
    }
    .h-section__txt .h-section__lines .line__block{
        display: block;
        position: absolute;
        width: 2px;
        height: calc( 100% - 1.8em );
        background: #000;
        top: 0.9em;
        left: -30px;
        z-index: -1;
    }
    .h-section__txt .h-section__lines .line__paragraph{
        display: block;
        position: absolute;
        width: 2px;
        height: 100%;
        background: #000;
        top: -0.9em;
        left: -30px;
        z-index: -1;
    }
    .h-section__txt h3{
        font-size: 1.5em;
        margin-bottom: 1em;
    }
    .h-section__txt p{
        line-height: 2;
        margin-bottom: 1em;
    }
    .h-section__img{
        width: 100%;
    }

    /*
        Home -> h-ticket
    ******************************/
    .h-ticket{
        position: relative;
        padding: 60px 5%;
        margin: 0 auto;
    }
    .h-ticket__inner{
        position: relative;
        padding: 40px 6.4vw 20px;
        border: 2px solid #000;
    }
    .h-ticket__lines .line__lt,
    .h-ticket__lines .line__lb,
    .h-ticket__lines .line__rt,
    .h-ticket__lines .line__rb{
        width: 20px;
        height: 20px;
        background-size: 200%;
    }
    .h-ticket__lines .line__lt{
        top: -2px;
        left: -2px;
        background-position: left bottom;
    }
    .h-ticket__lines .line__lb{
        bottom: -2px;
        left: -2px;
        background-position: left top;
    }
    .h-ticket__lines .line__rt{
        top: -2px;
        right: -2px;
        background-position: left top;
    }
    .h-ticket__lines .line__rb{
        bottom: -2px;
        right: -2px;
        background-position: left bottom;
    }
    .h-ticket__head{
        top: -40px;
        left: 0;
    }
    .h-ticket__head h2{
        font-size: 1.5em;
        padding: 0 20px;
    }
    .h-ticket__head h2 span{
        font-size: 0.6rem;
        color: #ff0000;
    }
    .h-ticket__body .h-ticket__sub{
        margin: 3.2em 0 2em;
        text-align: center;
    }
    .h-ticket__body .h-ticket__sub h3{
        font-size: 1.2em;
    }
    .h-ticket__body .h-ticket__txt{
        margin-bottom: 1em;
        text-align: center;
    }
    .h-ticket__body .h-ticket__txt h3{
        border-top: 1px solid #bbb;
        border-bottom: 1px solid #bbb;
        padding: 0.9em 0;
        margin-bottom: 1em;
        font-size: 1.0rem;
    }
    .h-ticket__body .h-ticket__txt p{
        line-height: 1.6;
    }

    /*
        Home -> Coming Soon
    ******************************/

    .cs-wrapper{
        margin: 0 0 96px;
    }

    /*
        Home -> h-event
    ******************************/
    .h-event{
        padding: 12vw 3.2vw;
    }
    .h-event .h-event__head{
        margin-bottom: 2em;
    }
    .h-event .h-event__head h2{
        font-size: 1.4em;
    }
    .h-event .h-event__head h2 span::after{
        width: 48px;
        margin: 18px auto;
    }
    .h-event__body{
        font-size: 1.1em;
    }

    /*
        Home -> h-goods
    ******************************/
    .h-goods{
        padding: 12vw 3.2vw;
    }
    .h-goods .h-goods__head{
        margin-bottom: 2em;
    }
    .h-goods .h-goods__head h2{
        font-size: 1.4em;
    }
    .h-goods .h-goods__head h2 span{
        display: block;
        position: relative;
    }
    .h-goods .h-goods__head h2 span::after{
        width: 48px;
        margin: 18px auto;
    }
    .h-goods__body{
        font-size: 1.1em;
    }

    /************************************************************

         Footer | max-width: 800px

    ************************************************************/

    /*
        footer -> Footer Credit
    ******************************/

    .f-credit{
        margin: 9.6vw 0;
    }
    .f-credit .f-credit__body .f-credit__txt{
        margin: 3.2vw 0;
        text-align: center;
    }
    .f-credit .f-credit__body .f-credit__txt h3{
        font-size: 0.9em;
    }
    .f-credit .f-credit__body .f-credit__txt p{
        line-height: 1.6;
    }
    .f-credit__logo{
        width: 92%;
        margin: 6.4vw 4% 16.8vw;
    }
    .f-credit__logo .f-credit__item{
        padding: 0 3%;
    }
    .f-credit__logo .f-credit__item img{
        height: 80px;
    }

}/* max-width: 800px */


/* ---------------------------------------
	max-width: 600px
--------------------------------------- */

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

    html{
        font-size: 14px; /* Basic font size */
    }

    /*
        Links / Buttons
    ******************************/

    a.c-btn__item{
        width: 80%;
        line-height: 50px;
        font-size: 1.1rem;
    }

    /************************************************************

        Home | max-width: 600px

    ************************************************************/

    /*
        Home -> Hero
    ******************************/
    .h-hero .h-hero__ttl{
        width: 93.6vw;
        height: 54vw;
        top: auto;
        bottom: 94px;
        left: 3.2vw;
    }
    .h-hero .h-hero__shoulder{
        width: 15vw;
        height: 40vw;
        top: 0;
        right: 3.2vw;
    }
    .h-hero .h-hero__credit{
        width: 50vw;
        height: 10vw;
        top: 9.6vw;
        bottom: auto;
        left: 4.8vw;
    }
    .h-hero .h-hero__caps{
        bottom: 3.2vw;
        right: 3.2vw;
    }
    .h-hero .h-hero__caps p.caps{
        color: #fff;
        line-height: 1.35;
    }

    /*
        Home -> slider
    ******************************/
    .slider.__pc{ display: none; }
    .slider.__sp{ display: block; }

    /*
        Home -> header
    ******************************/

    header .inpage-nav{
        margin: 0 0 0 0;
        text-align: center;
        position: relative;
    }
    header .inpage-nav ul.inpage-nav__inner{
        background: #fff;
        display: block;
        padding: 1.2em 5%;
    }
    header .inpage-nav::before,
    header .inpage-nav::after{
        display: none;
    }
    header .inpage-nav ul li{
        display: block;
        border-bottom: 2px solid #222;
    }
    header .inpage-nav ul li a{
        position: relative;
        display: block;
        padding: 1.2em 0;
        margin: 0 0 0 0;
        font-size: 1.0em;
        font-weight: 700;
        line-height: 1;
    }
    header .inpage-nav ul li a::before{
        content: "";
        display: block;
        position: absolute;
        width: 2px;
        height: 8px;
        background: #222;
        left: 0;
        bottom: 0;
    }
    header .inpage-nav ul li a::after{
        content: "";
        display: block;
        position: absolute;
        width: 2px;
        height: 8px;
        background: #222;
        right: 0;
        bottom: 0;
    }
    header .inpage-nav ul li a:hover::after{
        display: none;
    }

    /*
        Home -> h-about
    ******************************/
    .h-about{
        padding: 24px 5% 40px;
    }
    .h-about__inner{
        position: relative;
        display: block;
    }
    .h-about__desc{
        width: 100%;
        padding-left: 40px;
        margin-bottom: 3em;
    }
    .h-about__portlait{
        width: 100%;
        padding: 0 5%;
        margin-left: auto;
        margin-right: auto;
    }
    .h-about__img{
        text-align: center;
        margin-bottom: 1.0em;
    }
    .h-about__img img{
        width: 72%;
    }
    .h-about__lines .line__left01{
        width: 6px;
        height: 100%;
        top: 0;
        left: 0;
    }
    .h-about__lines .line__left02{
        width: 2px;
        height: 100%;
        top: 0;
        left: 12px;
    }
    .h-about__head{
        position: relative;
        width: 100%;
        text-align: right;
    }
    .h-about__head h2{
        width: 85%;
        padding: 0 0 15px;
    }
    .h-about__head h2::before{
        left: calc( 15% - 15px );
    }
    .h-about__txt p{
        padding: 2em 0;
        font-size: 0.9em;
    }
    .h-about__bottom span{
        width: 85%;
        padding: 15px 0 0;
    }
    .h-about__bottom span::before{
        left: calc( 15% - 15px );
    }

    /*
        Home -> h-outline
    ******************************/
    .h-outline{
        position: relative;
        padding: 40px 5%;
    }
    .h-outline__inner{
        padding: 30px 40px 0 40px;
    }
    .h-outline__lines .line__left{
        display: block;
        position: absolute;
        width: 2px;
        height: 100%;
        background: #222;
        top: 0;
        left: 20px;
        z-index: -1;
    }
    .h-outline__lines .line__right{
        display: block;
        position: absolute;
        width: 2px;
        height: 50%;
        background: #222;
        top: 0;
        right: 20px;
        z-index: -1;
    }
    .h-outline__lines .line__top{
        display: block;
        position: absolute;
        width: 100%;
        height: 2px;
        background: #222;
        top: 70px;
        left: 0;
        z-index: -1;
    }
    .h-outline__head{
        margin-bottom: 3.5em;
    }
    .h-outline__head h2{
        font-size: 1.5em;
        font-weight: 700;
    }
    .h-outline__head .h-outline__shoulder{
        font-size: 1.0rem;
        top: 35px;
        left: auto;
        right: 40px;
    }
    .h-outline__txt{
        margin: 2em 0;
    }
    .h-outline__txt h3{
        font-size: 1.2em;
        margin-bottom: 0.5em;
        color: #ff0000;
    }
    .h-outline__txt p{
        line-height: 1.6;
        margin-bottom: 1em;
    }
    .h-outline__note li{
        position: relative;
        font-size: 0.9em;
        line-height: 1.5;
    }
    .h-outline__note li::before{
        position: absolute;
        content: "※";
        left: 0;
    }
    .h-outline__portlait{
        width: 54vw;
        max-width: 960px;
        position: absolute;
        z-index: -100;
        right: 0;
        bottom: 0;
    }
    .h-outline__caps{
        text-align: right;
        margin: 2.4em 70px 40px 0;
    }

    /*
        Home -> h-section
    ******************************/
    .h-section{
        padding: 20px 0 20px;
    }
    .h-section__head{
        position: relative;
        padding: 30px 0 0 40px;
        margin: 0 5% 4.8em;
    }
    .h-section__head h2{
        font-size: 1.5em;
    }
    .h-section__head .h-section__shoulder{
        font-size: 1.1rem;
        top: 35px;
        left: auto;
        right: 20px;
    }
    .h-section__lines .line__left{
        height: 90px;
        top: 0;
        left: 20px;
    }
    .h-section__lines .line__top{
        top: 70px;
        left: 0;
        z-index: -1;
    }
    .h-section__num{
        display: block;
        width: 16vw;
        height: 19.2vw;
        background-repeat: no-repeat;
        background-size: 100%;
        top: 3px;
        left: 5%;
    }
    .h-section__body{
        position: relative;
        padding-left: calc( 5% + 40px );
        padding-right: 5%;
        padding-top: 22vw;
        padding-bottom: 0;
        margin-bottom: 1.5em;
    }
    .h-section__txt{
        position: relative;
        margin: 0;
        padding-bottom: 1.0em;
    }
    .h-section__txt .h-section__lines .line__block{
        width: 2px;
        height: calc( 100% - 1.8em );
        top: 0.9em;
        left: -20px;
    }
    .h-section__txt .h-section__lines .line__paragraph{
        width: 2px;
        height: 100%;
        top: -0.9em;
        left: -20px;
    }
    .h-section__txt h3{
        font-size: 1.5em;
        line-height: 1.5;
        margin-bottom: 0.5em;
    }
    .h-section__txt p{
        line-height: 1.8;
        margin-bottom: 1em;
    }
    .h-section__img{
        width: 100%;
        margin: 3em auto;
    }
    .h-section__img figure{
        margin-bottom: 1em;
    }

    /*
        Home -> bgm
    ******************************/
    .bgm .bgm-control{
        position: fixed;
        z-index: 900;
        top: auto;
        left: 2.8vw;
        bottom: 2.8vw;
    }

    /************************************************************

         Footer | max-width: 600px

    ************************************************************/

    /*
        footer -> Footer Credit
    ******************************/

    .f-credit{
        margin: 6.4vw 0 16.8vw;
    }
    .f-credit .f-credit__body .f-credit__txt{
        margin: 3.2vw 0;
        text-align: center;
    }
    .f-credit .f-credit__body .f-credit__txt h3{
        font-size: 0.9em;
    }
    .f-credit .f-credit__body .f-credit__txt p{
        line-height: 1.6;
    }
    .f-credit__logo{
        width: 92%;
        margin: 6.4vw 4% 16.8vw;
    }
    .f-credit__logo .f-credit__item{
        padding: 0 3%;
    }
    .f-credit__logo .f-credit__item img{
        height: 64px;
    }

    .f-pagetop{
        bottom: 20px;
        right: 20px;
    }
    .f-pagetop a{
        width: 48px;
        height: 48px;
    }
    .f-pagetop a:hover{
        opacity: 1;
        transform:scale(1);
    }

}/* max-width: 600px */


/* ---------------------------------------
	max-width: 480px
--------------------------------------- */

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


    /************************************************************

         Footer | max-width: 480px

    ************************************************************/

    /*
        footer -> Footer Credit
    ******************************/

    .f-credit{
        margin: 6.4vw 0 16.8vw;
    }
    .f-credit .f-credit__body .f-credit__txt{
        margin: 4.8vw 0;
        text-align: center;
    }
    .f-credit .f-credit__body .f-credit__txt h3{
        font-size: 0.85em;
    }
    .f-credit .f-credit__body .f-credit__txt p{
        font-size: 0.9em;
        line-height: 1.6;
    }
    .f-credit__logo{
        width: 96%;
    }
    .f-credit__logo .f-credit__item{
        padding: 0 1.0%;
    }
    .f-credit__logo .f-credit__item img{
        height: 44px;
    }
    .f-pagetop{
        bottom: 12px;
        right: 12px;
    }
    .f-pagetop a{
        width: 44px;
        height: 44px;
    }

}/* max-width: 480px */


/* ---------------------------------------
	max-width: 320px
--------------------------------------- */

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

    html{
        font-size: 13px; /* Basic font size */
    }

    /************************************************************

         Footer | max-width: 320px

    ************************************************************/

    /*
        footer -> Footer Credit
    ******************************/

    .f-credit{
        margin: 6.4vw 0 16.8vw;
    }
    .f-credit .f-credit__body .f-credit__txt{
        margin: 4.8vw 0;
        text-align: center;
    }
    .f-credit .f-credit__body .f-credit__txt h3{
        font-size: 0.85em;
    }
    .f-credit .f-credit__body .f-credit__txt p{
        font-size: 0.9em;
        line-height: 1.6;
    }
    .f-credit__logo{
        width: 96%;
    }
    .f-credit__logo .f-credit__item{
        padding: 0 1%;
    }
    .f-credit__logo .f-credit__item img{
        height: 40px;
    }
    .f-pagetop{
        bottom: 10px;
        right: 10px;
    }
    .f-pagetop a{
        width: 40px;
        height: 40px;
    }

}/* max-width: 320px */
