/*  index
-------------------------------------------------
    - Import
    - text
    - button
    - pc-layout
    - mobile-layout
    - css3-class
    - keyframes
-------------------------------------------------*/



/*-----------------------------------------------
     Import
-----------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Playfair+Display&display=swap');

/*-----------------------------------------------
     nav-white
-----------------------------------------------*/
nav {
    background: url(../images/nav/nav-bg-w.png) center /cover no-repeat;
}
.go-hero {
    background: url(../images/nav/nav-w.png) 50% 17% /85% no-repeat;

}

.go-reward {
    background: url(../images/nav/nav-w.png) 50% 29% /85% no-repeat;

}

.go-challenge {
    background: url(../images/nav/nav-w.png) 50% 42% /85% no-repeat;

}

.go-live {
    background: url(../images/nav/nav-w.png) 50% 55% /85% no-repeat;

}

.go-search {
    background: url(../images/nav/nav-w.png) 50% 67% /85% no-repeat;

}

.go-gallery {
    background: url(../images/nav/nav.png) 50% 80% /85% no-repeat;
}

/*-----------------------------------------------
    hidden-comic
-----------------------------------------------*/


.s01,.s02,.s03,.s04,.s05,.s06,.s201,.s202,.s203,.s204,.s205,.s206,
.s301,.s302,.s303,.s304,.s305,.s306,.s401,.s402,.s403,.s404,.s405,.s406{
    position: absolute;
    z-index: 1;
    /*background:#ff00003b;*/
    width: 100%;
    height: 50%;
    left: 0;
    top: 50%;
    /*pointer-events: none;*/
    /*display: none;*/

}

.s02,.s202,.s302,.s402{
    /*background: blue;*/
    display: none;
    z-index: 2;
}

.s03,.s203,.s303,.s403{
    display: none;
    /*background: green;*/
    z-index: 3;

}
.s04,.s204,.s304,.s404{
    display: none;
    /*background: pink;*/
    z-index: 4;

}
.s05,.s205,.s305,.s405{
    display: none;
    /*background: yellow;*/
    z-index: 6;

}

.s06,.s206,.s306,.s406{
    display: none;
    /*background: yellow;*/
    z-index: 7;

}


.comic{
    display: none;
}
.comic img{
    max-width: 85%;
    margin: auto;
    /*! text-align: center; */
    left: 0;
    right: 0;
    display: block;
}

.comic04 img{
    max-width: 240px;
}

/*-----------------------------------------------
   like
-----------------------------------------------*/


button
{
    margin: 0px auto;
    min-width: auto;
    min-height: auto;
    cursor: pointer;
    border: 0px solid #000;
    border-radius: 0;
    text-align: center;
    text-decoration: none;
    width: 100%;
    height: 100%;
    /*! background: red; */
}


.input_{
    position: absolute;
    z-index: 999;
    width: 100%;
    height: 50px;
    /*background:#316f5542;*/
    left: 7%;
    bottom: 13%;
    background: url(../images/gallery/heart-bg.jpg) 0 -5px / 29% no-repeat;
}

.input_ ul{
    display: flex;
}

.input_ ul li{

}
input{
    display: inline-block;
    width: 61px;
    height: 100%;
    font-size: 0.8rem;
    color: #333;
    letter-spacing: 0.02rem;
    /*! text-align: right; */
    margin: -1px 4px 0 0px;

}
.red-heart,.white-heart{
    position: absolute;
    width: 100%;
    height: 50%;
    z-index: 10;
}
.white-heart{
    display: none;
}

.input_heart{
    /*! flex:1; */
    width: 12%;
    /**/

}
.input_no{
    /*! flex:5; */

    pointer-events: none;

    padding: 9% 0 0 0px;
    /*! width: auto; */
    display: inherit;
           font-size: 0.8rem;
    color: #333;
    letter-spacing: 0.02rem;
    line-height: 1.5;
}
.input_like{
    padding: 35% 0 0 0;
       font-size: 0.8rem;
    color: #333;
    letter-spacing: 0.02rem;

}
/*-----------------------------------------------
    menu
-----------------------------------------------*/

.menu {
    position: fixed;
    height: 300px;
    margin: auto;
    right: 30px;
    bottom: 30px;
    z-index: 48;
    transform: scale(0.9);

}

.menu ul {
    display: flex;
    width: 100%;
    height: 100%;animation: combine 2.6s cubic-bezier(.250, .460, .450, .940) .5s 1 both;
}


.menu ul li {
    display: flex;
    height: 100%;
    margin: 0 0 0 0;
    /*! cursor: pointer; */
}
.menu ul li >.btn{
    width: 100px;
    height: 100%;
    display: block;
    cursor: pointer;
}
.menu ul li >.bar-left{
    width: 300px;
    height: 100%;
    background: url(../images/gallery/bar-left.png) 0% 100% no-repeat;
}
.menu ul li >.bar{
    width: 0px;
    height: 100%;
    background: url(../images/gallery/bar.png) 0% 100% no-repeat;
    transition: all .3s ease;

}


.go-01>.btn{ background: url(../images/gallery/menu.png) 0% 100% / 400% no-repeat;}
.go-02>.btn{ background: url(../images/gallery/menu.png) 33% 100% / 400% no-repeat;}
.go-03>.btn{ background: url(../images/gallery/menu.png) 67% 100% / 400% no-repeat;}
.go-04>.btn{ background: url(../images/gallery/menu.png) 100% 100% / 400% no-repeat;}




.active .menu {
    /*animation: menu_ 3.5s cubic-bezier(.250, .460, .450, .940) 3s 1 both;*/
}
.barShow{ animation: barShow .5s cubic-bezier(.250, .460, .450, .940) 0s 1 both; }
.barHide{ animation: barHide .5s cubic-bezier(.250, .460, .450, .940) 0s 1 both; }
.barLeftShow{ animation: barLeftShow .5s cubic-bezier(.250, .460, .450, .940) 0s 1 both; }
.barLeftHide{ animation: barLeftHide .5s cubic-bezier(.250, .460, .450, .940) 0s 1 both; }





@keyframes barShow {

    0%{
        width: 0;
    }

    100% {
        width: 100px;
    }
}

@keyframes barHide {

    0%{
        width: 100px;
    }

    100% {
        width: 0;
    }
}

@keyframes barLeftShow {

    0%{
        width: 0;
    }

    100% {
        width: 300px;
    }
}

@keyframes barLeftHide {

    0%{
        width: 300px;
    }

    100% {
        width: 0;
    }
}



@keyframes menu_ {

    0%,
    10% {
        opacity: 0;
        transform: scale(1);

        filter: blur(10px);
    }

    15% {
        opacity: 1;

    }

    50%,
    100% {
        transform: scale(1);

        filter: blur(0px);
    }
}


@media screen and (max-width:1400px)
{
.menu {
    right: 0px;
    bottom: 0px;
    transform: scale(0.8);
}

}

@media screen and (max-width:1280px)
{
.menu {
    right: -79px;
    bottom: -40px;
    transform: scale(0.6);
}

}


/*-----------------------------------------------
    box pc
-----------------------------------------------*/
.box-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    animation: boxOpen .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both
}

.tit-back,.tit-hide{
    display: none;
    position: fixed;
    width: 135px;
    height: 100px;
    z-index: 20;
    right: 0;
    bottom: 0;
    background: url(../images/gallery/tit-show.png) 0 50% /120px no-repeat;
    cursor: pointer;
}
.tit-hide{
    display: block;
    z-index: 20;
    background:transparent;
    /*background:red;*/
}

.tit-wrap{
    position: fixed;
width: 1079px;
    height: 266px;
    z-index: 2;
    bottom: 5%;
    right: 0;
}
.box-tit{
    position: absolute;
    width: 100%;
    height: 100%;

    background: url(../images/gallery/001.png) center 100% / 100% no-repeat;
     /*animation: box-tit_ .8s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both*/

}


.titHide{animation: titHide .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both}
.titBack{animation: titBack .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both}

@keyframes titHide {

    0%{
        /*opacity: 1;*/
        transform:translate3d(0,0,0);
    }

    100% {
        /*opacity: 0;*/
        transform:translate3d(150%,250%,0);
    }
}


@keyframes titBack {

    0%{
        /*opacity: 0;*/
        transform:translate3d(150%,250%,0);
    }

    100% {
        /*opacity: 1;*/
        transform:translate3d(0,0,0);
    }
}







@-webkit-keyframes box-tit_ {
  0% {
            filter: blur(3px);
            transform: translateY(-300px);
  }
  100% {
    filter: blur(0px);
            transform: translateY(0px);
  }
}

@media screen and (max-width:1800px)
{
.box-tit{
    transform: scale(0.8);

    right: -11%;
    bottom: 0%;
}

}

@media screen and (max-width:1600px)
{
.box-tit{
    transform: scale(0.7);

    right: -16%;
    bottom: 0%;
}

}
@media screen and (max-width:1400px)
{
.box-tit{
    transform: scale(0.6);

    right: -20%;
    bottom: -2%;
}

}

@media screen and (max-width:1280px)
{
.box-tit{
    transform: scale(0.6);

    right: -21%;
    bottom: -23%;
}

}
/*-----------------------------------------------
     card-group
-----------------------------------------------*/

.card-group{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /*transform: scale(0.9);*/

}

.card{
    position: absolute;
    cursor: pointer;
}

.card:hover{
    z-index: 5;
}
.card img{
    transform: scale(0.9) translate(0px, 0px);
    transition: all .3s ease;

}

.card img:hover{
    transform: scale(1) translate(-20px, -30px);
    transition: all .3s ease;

}


.card001{
    bottom: -43%;
    left: -23%;
    z-index: 4;
    animation: card_ 1s ease-out 0.3s 1 both;
}

.card002{
    bottom: -69%;
    left: 1%;
    z-index: 3;
    animation: card_ 1s ease-out 0.6s 1 both;
}
.card003{
    bottom: 8%;
    right: -7%;
    z-index: 2;
    animation: card_2 1s ease-out 0.7s 1 both;
}

.card004{
    bottom: 116%;
    right: -4%;
    z-index: 1;
    animation: card_2 1s ease-out 0.9s 1 both;
}


@-webkit-keyframes card_ {
  0% {
            transform: rotateY(-20deg) rotateX(-35deg) translate(-300px, 300px) skew(-35deg, 10deg);
    opacity: 0;
  }
  100% {
            transform: rotateY(0) rotateX(0deg) translate(0, 0) skew(0deg, 0deg);
    opacity: 1;
  }
}

@-webkit-keyframes card_2 {
  0% {
            transform: rotateY(40deg) rotateX(35deg) translate(300px, -300px) skew(-35deg, 10deg);
    opacity: 0;
  }
  100% {
            transform: rotateY(0) rotateX(0deg) translate(0, 0) skew(0deg, 0deg);
    opacity: 1;
  }
}




.card-m{
    width: 85%;
    margin: 20px auto 50px;
    box-shadow: 1px 4px 5px 2px #d9d9d9;
    border: 1px solid #e1e1e1;
    position: relative;
}

.download-m{
    position: relative;

    width: 70%;
    margin: -50px auto 50px;
    /*! background: #55555552; */
}

.download-m ul{
    display: flex;
    height: 55px;
    border-left: 1px solid #555;


}

.download-m ul:after{
    content: 'Download';
    position: absolute;
    left: 20px;
    top: 15px;
    z-index: 0;


    font-size: 0.7rem;
    letter-spacing: 0.1rem;
    color: #a4a4a4;
}
.download-m ul li{
    display: flex;

    padding: 30px 20px 0;
}
.download-m ul li a{
    width: 100%;
    height: 100%;
    letter-spacing: 0.2rem;
    font-size: 0.8rem;
}

.download-m ul li a:hover{
    color:red;

}
/*-----------------------------------------------
     download_wallpaper
-----------------------------------------------*/

.download_wallpaper{
    position: absolute;
    right: 34%;
    bottom: 21%;
    width: 27%;
    height: 70px;
    z-index: 10;
}

.download_wallpaper ul{
    display: flex;
    /*! border-left: 1px solid #000; */

}

.download_wallpaper ul li{
    flex:1;
    /*! background:#55555575; */
    padding: 12% 2% 2% 2%;
    text-align: center;
    font-size: 1rem;
    letter-spacing: 0.12rem;
    /*! font-weight: 300; */
}

.download_wallpaper ul li a{
    display: block;
    width: 100%;
    height: 100%;
}


/*-----------------------------------------------
     effect
-----------------------------------------------*/


@keyframes effect {
    0% {
        opacity: 0;
        transform: translateY(-20px) scale(1);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.effect {
    margin: 20px auto 0;
    animation: effect 1s ease-out 0s 1 both;
}


@keyframes effect2 {

    0%,
    70% {
        opacity: 0;
        transform: translateX(100px) scale(1);
    }

    100% {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

.effect2 {
    animation: effect2 1s ease-out 0s 1 both;
}

/*-----------------------------------------------
     text
-----------------------------------------------*/

h1{
    max-width: 100%;
    width: 182px;
    margin: 13% 0 0% -75px;
    display: block;
}

h2{
    color: #34a0ff;

    font-size: 1.5rem;
    margin: 0 0 -8px 0;
}

h3 {
    color: #34a0ff;
 font-size: 1.2rem; /*
    text-shadow: rgb(63, 34, 36, 0.5) 0 1px, rgb(85, 59, 61, 0.5) 1px 0, rgb(34, 34, 34, 0.5) -1px 0, rgb(63, 34, 36, 0.5) 0 -1px, rgb(63, 34, 36, 0.5) -1px -1px, rgb(87, 75, 76, 0.5) 1px 1px, rgb(63, 34, 36, 0.5) 1px -1px, rgb(55, 46, 47, 0.5) -1px 1px;

    */ letter-spacing: 0.1rem; /*! line-height: 2.5; */
}

.pink {
    color: #ff3489;
}

.blue {
    color: #34a0ff;
}

.orange {
    color: #bf5356;
}

.purple {
    color: #a783ff;
}

p {
    font-weight: 400;
    text-shadow: rgb(63, 34, 36) 0 1px, rgb(63, 34, 36) 1px 0, rgb(63, 34, 36) -1px 0, rgb(63, 34, 36) 0 -1px, rgb(63, 34, 36) -1px -1px, rgb(63, 34, 36) 1px 1px, rgb(63, 34, 36) 1px -1px, rgb(63, 34, 36) -1px 1px;
}


/*-----------------------------------------------
    df-width
-----------------------------------------------*/

.df-width {
    margin: auto;
    padding-right: 15px;
    padding-left: 15px;
    width: 100%;
    max-width: 768px;
}



/*-----------------------------------------------
    page-frame
-----------------------------------------------*/
.pages {
    position: relative;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}


.wrap-box {
    position: relative;
    top: 0%;
    right: 0;
    left: 0;
    margin: 0px auto 0;
    padding: 0;
    z-index: 6;
    width: 100%;
    height: 100%;
    overflow: hidden;
}


.gallery {
    border: 0;
    background: url(../images/gallery/001.jpg) no-repeat center 33% /cover;
}

@media screen and (max-width:768px) {
    .pages {

        height: auto;
    }
    .gallery {
    border: 0;
    background: transparent;
}

}




/*  pc-layout
-------------------------------------------------
    - html,body
    - header
    - section
    - footer
-------------------------------------------------*/

html,
body {
    /*! background: url(../images/comic-m.jpg) no-repeat center 0 /100%; */
    /*! background-attachment: fixed; */
}

/*preload*/
body::before {
        position: fixed;
    top: 100px;
    left: 100px;
    z-index: 0;
    opacity: 0;
    width: 1px;
    height: 1px;
    content: '';
    background-image:
    url(../images/gallery/002.jpg), url(../images/gallery/003.jpg),
    url(../images/gallery/004.jpg), url(../images/gallery/002.png),
    url(../images/gallery/003.jpg), url(../images/gallery/004.png);
}


.section {
    overflow: hidden;
}

.footer {
    margin: auto 0;
    padding: 0 0 8% 0;
    width: 100%;
    height: 0;
    border: 0;
    text-align: center;
    background: #fafafa url(../images/footer.png) center center /1000px no-repeat;
}

@media screen and (max-width:1600px) {
    .footer {

        background: #fafafa url(../images/footer.png) center center /768px no-repeat;
    }
}

@media screen and (max-width:768px) {
    .footer {

        background: #fafafa url(../images/footer-m.jpg) center center /80% no-repeat;
        padding: 0 0 30% 0;
        margin: auto;
    }
}






/*-----------------------------------------------
    content-m
-----------------------------------------------*/


.top-img {
    width: 100%;
    height: 0;
    background: url(../images/gallery/001-m.jpg) center top / 100% no-repeat;

    padding: 0 0 175% 0;
    position: relative;
}




.gallery-tit-m {
    position: absolute;
    top: 10px;
    z-index: 0;
    width: 100px;
    left: 3%;
}






.content-02,
.content-03,
.content-04 {
    display: none;

}

.data {
    width: 100%;
    background: #fff;
    position: relative;
    margin: 30px auto 50px;
}

.data .text {
    font-weight: 400;
    font-size: 0.85rem;
    color: #000;
    background: #fff;
    width: 72%;
    margin: 0 0 20px 22%;
    padding: 10px 20px 45px 15px;
    /*! height: 220px; */
    text-align: initial;
    border-left: 1px solid #a8a8a8;
    z-index: 5;
    position: relative;
    text-align: justify;
    line-height: 1.8;
    letter-spacing: 0.05rem;
}




@media screen and (max-width:376px)
{
.data .text {

    margin: 0 0 20px 24%;

}

}





/*-----------------------------------------------
    section-hover
-----------------------------------------------*/
.section.active {
    -webkit-animation: into 1s ease .3s both;
}

.no-effect.active {
    -webkit-animation: into 0s ease .3s both;
}

/*.section.active .fog {
    -webkit-animation: into 1s cubic-bezier(.250, .460, .450, .940) .5s both;
}

.section.active .book {
    -webkit-animation: into 1s cubic-bezier(.250, .460, .450, .940) .2s both;
}
*/
@-webkit-keyframes into {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.4);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
    }
}

@media screen and (max-width:768px) {
    .section.active {
        -webkit-animation: into 0s ease both;
    }

}


/*-----------------------------------------------
    voice
-----------------------------------------------*/

.voice {
    display: none;
}



/*  df-box
-------------------------------------------------
    - df-close
    - df-cover
    - box-content
    - box-open & close
------------------------------------------------*/

/*-----------------------------------------------
    df-close
-----------------------------------------------*/
.df-close:hover {
    transform: rotateZ(180deg);
}

.df-close {
    display: inline-block;
    position: absolute;
    top: -7%;
    right: 0;
    z-index: 999;
    z-index: 10;
    opacity: 1;
    width: 35px;
    height: 35px;
    cursor: pointer;
    overflow: hidden;
    transition: all .5s;
    transform-origin: 50% 50%;
}

.df-close::before,
.df-close::after {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -1px;
    width: 100%;
    height: 2px;
    border-radius: 5px;
    content: '';
    background: #fff;
}

.df-close::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.df-close::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/*-----------------------------------------------
    df-cover
-----------------------------------------------*/
.df-cover {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: rgba(0, 0, 0, .8);
}

/*-----------------------------------------------
    df-box
-----------------------------------------------*/
.df-box {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: 0;
    animation: boxOpen .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both;
}

/*-----------------------------------------------
    box-content
-----------------------------------------------*/
.box-content {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding: 0;
    z-index: 2;
    width: 100%;
    height: 100vh;
    max-width: 100%;
    border-radius: 5px;
    /*animation: box-open 0.3s cubic-bezier(0.390, 0.575, 0.565, 1.000) ;*/
    transition: all .3s;
    text-align: left;
    text-align: justify;
    background: transparent;
    overflow: hidden;
}

.box-text {
    margin: 0 0 0 10px;
    padding: 0 10px;
    width: 100%;
    max-height: 550px;
}

/*-----------------------------------------------
    box-open & close
-----------------------------------------------*/
.box-open {
    opacity: 1;
    animation: boxOpen .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both;
    z-index: 40;
}
.box-open2 {
    opacity: 1;
    animation: boxOpen2 .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both;
    z-index: 101;
}
.box-close {
    opacity: 0;
    animation: boxClose 1.3s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both;
    z-index: -1;
}

.box-close-begin {
    opacity: 0;
    animation: boxClose 0s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both;
    z-index: -1;
}

@keyframes boxOpen {
    0% {
        /*opacity: 0;*/
        filter: brightness(0);
        transform: scale(1.4);
    }

    20% {
        /*opacity: 0;*/
    }

    41% {
        filter: brightness(1);
    }

    100% {
        filter: brightness(1);
        transform: scale(1);
    }
}

.boxOpen {
    animation: boxOpen .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both;
}
@keyframes boxOpen2 {
    0% {
        filter: brightness(0);
        /*filter: blur(5px);*/
    }



    100% {
        filter: brightness(1);
        /*filter: blur(0px);*/
    }
}

.boxOpen2 {
    animation: boxOpen2 .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both;
}

@keyframes boxClose {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    10% {
        opacity: 0;
        transform: scale(1.4);
    }

    11% {
        opacity: 0;
    }

    100% {
        opacity: 0;
        transform: scale(1);
    }
}

.boxClose {
    animation: boxClose .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) 0s 1 both;
}