@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&&family=Russo+One&family=Noto+Sans+TC:wght@300;400;500;700&family=Ubuntu:wght@300;400;500;700&display=swap');



:root{
    --bgclr:#fff;
    --txt_light:#eee;
    --txt_dark:#383737;
    --text_g:#fbbe3d;
}

*{
    margin: 0;padding: 0;
    box-sizing: border-box;
}

a{
    text-decoration: none;
}

ul{
    list-style-type: none;
}

html{
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body{
    font-family: 'Noto Sans JP', 'Noto Sans TC', sans-serif;
    background-color:#131313;
    color: var(--txt_light);
}

::-webkit-scrollbar{
    width: 0;
}

::-webkit-scrollbar-thumb{
    background-color: #fff;
}

::-webkit-scrollbar-track{
    background-color: #000;
}

.wrap{
    width: 100%;
}

img{
    max-width: 100%;
    height: auto;
    object-fit: cover;
}

.header{
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
}

.main-nav{
    width: 100%;
    height: 7.2rem;
    background-color:rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.mobi-bar {
    background: none;
    outline: none;
    border: none;
    cursor: pointer;
    display: none;
    position: fixed;
    right: 20px;
}

.mobi-bar span{
    display: block;
    width: 36px;
    height: 3px;
    background: #fff;
    margin: 8px 0;
}

.main-nav .menu-list{
    display: flex;
    gap: 2rem;
}

.main-nav .menu-list a{
    color: var(--txt_light);
    font-size: 2.2rem;
    font-weight: 500;
}

.main-nav .menu-list a::after{
    content: '';
    display: block;
    width: 0%;
    height: 2px;
    background: linear-gradient(to right, #eee 60%, #29323c);
    transition: all 0.3s;
}

.main-nav .menu-list li:hover a::after {
    width: 100%;
}

.main-nav .menu-list li.active a{
    background: linear-gradient(to bottom, #eee 60%, #29323c);
    -webkit-background-clip: text;
    color: transparent;
}

.main-nav .logo{
    transition: all 0.3s;
}

.main-nav .logo:hover{
    transform: scale(0.95);
}

.shop{  
    display: block;
    width: 16rem;
    height: 5rem;
    background-color: var(--bgclr);
    color: var(--txt_dark);
    font-size: 2rem;
    text-align: center;
    line-height: 5.5rem;
    background: url(../images/btn-shop.png) no-repeat center;
    background-size: 100%;
    transition: all 0.3s;
    font-weight: 500;
}

.shop:hover{
    filter:invert() drop-shadow(0.2rem 0.2rem 1.8rem var(--bgclr));
}

.sub-nav{
    width: 100%;
    min-height: 6rem;
    background-color: rgba(56, 55, 55, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding: 1rem 0;      
}

.sub-nav .menu-list{
    display: flex;
    gap: 2rem;
}

.code{
    display: flex;
    gap: 0.5rem;
    font-size: 1.4rem;
}

.code span{
    color: var(--text_g);
}

.code button{
    background: none;
    outline: none;
    border: none;
    cursor: pointer;
}

.fa-copy{
 color: var(--txt_light);
}

.sub-nav .social{
    display: flex;
    gap: 0.5rem;
}

.sub-nav .social a{
    font-size: 2.2rem;
    color: var(--txt_light);
    display: block;  
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    text-align: center;
    line-height: 3.6rem;
    border: 0.2rem solid var(--txt_light);
    transition: all 0.3s;
}

.sub-nav .social a:hover{
    color: var(--text_g);
    border-color: var(--text_g);
    transform: translateY(-0.1rem);
}

select{
    width: 8rem;
    height: 2em;
    background: var(--txt_dark);
    color: var(--txt_light);
    text-align: center;
    font-size: 1.4rem;
    outline: none;
}

section{
    width: 100%;
    min-height: 100vh;
    padding-top: 8rem;
}

.sec1{
    background: url(../images/main_visual.jpg) no-repeat center;
    background-size: cover;
    position: relative;
}

.sec1-ct{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 32rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    padding: 0 1rem;
}

.sec1-ct h1{
    font-size: 8.8rem;
    font-weight: 700;
    text-transform: uppercase;
    background: linear-gradient(to bottom, #5c0200 50%, #190a05 51%);  
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: 1rem;
    font-family: 'Russo One';
}

.sec1-ct p{
    font-size: 2rem;
    color: #5c0200;
    font-weight: 500;
    background-color: rgba(255, 255, 255, 0.3);
    padding: 0.1rem;
    line-height: 1.6;
    display: inline;
}

.sec1-ct .btn-box{
    margin-top: 3rem;
    font-size: 2.6rem;   
}

.sec1-ct .btn-box a{
    display: inline-block;
    color: #eee;
    width: 25rem;
    height: 8rem;
    background: url(../images/game_btn.png) no-repeat center center;
    background-size: contain;
    text-align: center;
    line-height: 8rem;
    font-weight: 700;
    margin: 0.5rem;
    transition: all 0.3s;
}

.sec1-ct .btn-box a:hover{
    transform: scale(0.95);
}

.container{
    max-width: 120rem;
    margin-inline: auto;
}

.container-fluid{
    width: 100%;
}

.sec-title{
    width: 39.9rem;
    height: 9.9rem;
    background: url(../images/bg_title.png) no-repeat center;
    background-size: 100%;
    color: var(--txt_light);
    font-size: 3.2rem;
    text-align: center;
    line-height: 9.9rem;
    font-weight: 600;
    margin-inline: auto;
    /* margin-top: 8rem; */
    
}

.sec2{
    background: url(../images/bg_about.jpg) no-repeat center;
    background-size: cover;
    padding: 1rem;
}

.about-txt{
   margin-top: 9rem;
}

.about-txt p{
    font-size: 2.4rem;
    padding-bottom: 10rem;
    line-height: 1.6;
}

.sec3{
    background: url(../images/bg_chara.jpg) no-repeat center;
    background-size: cover;
}

.swiper {
    width: 100%;
    padding-top: 2rem;
  }

  .swiper-slide {
    background-position: center;
    background-size: cover;
    width: 60rem;
    height: auto;
  }

  .swiper-slide img {
    display: block;
    width: 100%;
    object-fit: cover;
  }

.chara-list .info{
    text-align: center;
    background: linear-gradient(to right, #ff0084, #33001b); 
    width: 40%;
    margin-inline: auto;
    border-radius: 0 5rem 0 5rem;
    padding: 0.5rem 0;
}

.chara-list .info a{
    display: block;
    width: 100%;
}

.chara-name{
    font-size: 2.6rem;
    background: linear-gradient(to right, #ada996, #f2f2f2, #dbdbdb, #eaeaea);
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 700;
}

.chara-list li > img{
    width: 60rem;
    animation: up 3s ease-in-out infinite;
}

@keyframes up{
    50%{
        transform: translateY(-1rem);
    }
}

.fa-circle-plus{
    background: linear-gradient(to right, #ada996, #f2f2f2, #dbdbdb, #eaeaea);
    -webkit-background-clip: text;
    color: transparent;
    font-size: 3rem;
    margin-left: 0.5rem;
}

.chara-set{
    max-width: 120rem;
    height: 62.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #000;
    padding: 0 5rem;
}

.chara-set .intro{
    width: 40%;
}

.chara-set .chara-title{
    font-size: 6rem;
    padding-bottom: 2rem;
}

.chara-set .txt{
    font-size: 2rem;
    line-height: 1.8;
    text-shadow:  0 0 0.5rem #ccc;
    font-weight: 500;
}

.chara-set.lity-hide {
    display: none;
}

#chara-detail-ra{   
    background: url(../images/chara/ra/bg.jpg) no-repeat left center;
   background-size: cover;
}

#chara-detail-nuwa{   
    background: url(../images/chara/nuwa/bg.jpg) no-repeat left center;
   background-size: cover;
}

#chara-detail-aphrodite{   
    background: url(../images/chara/aphrodite/bg.jpg) no-repeat left center;
   background-size: cover;
}

#chara-detail-apollo{   
    background: url(../images/chara/apollo/bg.jpg) no-repeat left center;
   background-size: cover;
}

#chara-detail-ares{   
    background: url(../images/chara/ares/bg.jpg) no-repeat left center;
   background-size: cover;
}

#chara-detail-artemis{   
    background: url(../images/chara/artemis/bg.jpg) no-repeat left center;
   background-size: cover;
}

#chara-detail-athena{   
    background: url(../images/chara/athena/bg.jpg) no-repeat left center;
   background-size: cover;
}

#chara-detail-dragon{   
    background: url(../images/chara/dragon/bg.jpg) no-repeat left center;
   background-size: cover;
}

#chara-detail-zeus{   
    background: url(../images/chara/zeus/bg.jpg) no-repeat left center;
   background-size: cover;
}

.sec4{
    background: url(../images/bg_feature.jpg) no-repeat center;
    background-size: cover;
}

.feature-cont{
    display: flex !important;
    align-items: center;
    justify-content: center; 
    gap: 2rem;
    padding: 0 5rem;
    position: relative; 
}

.feature-cont::after{
    content: '';
    width: 100%;
    height: 40rem;
    background: rgba(0,0,0,0.7) no-repeat center;
    position: absolute;
    top: 15rem;
    left: 0;
    z-index: -9;
}

.feature-cont aside{
    flex-basis: 100%;
}

.feature-cont .title{
    width: 20rem;
    font-size: 4rem;
    background:linear-gradient(to right,#00c0fa 0% , transparent 100%);
    text-align: center;
    clip-path: polygon(15% 0%, 100% 0%, 100% 100%, 0% 100%);
    position: absolute;
    top: 13rem;
}

.feature-txt{
    position: absolute;
    padding: 0 1rem;
    top: 42%;
}

.feature-cont p{
    font-size: 2.4rem;
    padding-bottom: 1rem;
}

.cont2 .title{
    background:linear-gradient(to right,#ffff80 0% , transparent 100%);
}

.slick-next {
    right: 50%;
    bottom: 0;
}

.slick-prev{
    left: 45%;
    bottom: 0;
    z-index: 19;
} 

.slick-dots li.slick-active button::before {
    color: #fff;
}

.slick-dots li button:before {
    color: #fff;
}

.sec5{
    background: url(../images/bg_token.jpg) no-repeat center;
    background-size: cover;
}

.sec5 .desc{
    margin-top: 2rem;
    padding: 0 2rem;
}

.desc .title{
    font-size: 3.4rem;
    text-align: center;
    padding-bottom: 1rem;
}

.desc .txt{
    font-size: 2.4rem;
    text-align: center;
}

.token-ct{  
    width: 100rem;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-inline: auto;
}

.token-ct .left li{
    margin: 5rem 0;
 }

.token-ct .right li{
    margin: 2.5rem 0;
 }

.token-ct li{
    width: 28rem;
    height: 13rem;
    background: linear-gradient(to right,#078ab8,#4fa451);
    padding: 1rem;
    border-radius: 0.5rem;
}

.gf li{
    background: linear-gradient(to right,#078ab8,#0d1742);
    
}

.token-ct .txt h5{
    font-size: 2.4rem;
    border-bottom: 0.1rem solid #eee;
    margin-bottom: 1rem;
}

.token-ct .txt p{
    font-size: 1.8rem;
}

.token-ct .left li:first-child h5{
    font-size: 1.8rem;
}

.token-ct h5{
    font-size: 2.2rem;
}

.token-ct .left li ,.token-ct .right li{
    display: flex;
    align-items: center;
    gap: 2rem;
}

.token-ct .left li:nth-child(2) h5{
    border-bottom: none;
}

.token-ct .line01 img:nth-child(2){
    display: none;
}

.token-ct .line02 img:nth-child(2){
    display: none;
}

.fp-slidesNav.fp-bottom{
    text-align: center;
}

.fp-slidesNav ul li a span{
    background:#eee;
}

.sec6{
    background: url(../images/bg_map.jpg) no-repeat center;
    background-size: cover;
}

.map-box{
    width: 100%;
    margin-top: 15rem;
}

.map-cont{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    color: #000;
    font-weight: 500;
}

.timeline{
    width: 90rem;
    height: 35.4rem;
    background: url(../images/timeline.png) no-repeat center; 
}

.map-cont .time-list{
    width:90rem;
    display: flex;
    justify-content: space-between;
    transform: skewY(-16deg);
    margin-bottom: -8rem;
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
}

.map-cont .time-list > li{
    transform: skewY(16deg);
}

.map-cont .work-list{ 
    font-size: 1.6rem;
    display: flex; 
    justify-content: space-between;
    gap: 1rem;
    transform: skewY(-16deg);
    padding-left: 6rem;
    margin-top: -10rem;
}

.map-cont .work-list > li{
    width: calc(1068px / 7);
    transform: skewY(16deg); 
}

.map-cont .work-list > li li{
    margin-bottom: 1rem;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.6);
    padding: 0 0.5rem;
    text-align: center;
}

.work-list .mobi-time{
    display: none;
}

.sec7{
    background: url(../images/bg_team.png) no-repeat center;
    background-size: cover;
    position: relative;
}

.team-list{
    margin-top: 15rem;
}

.team-list li{
    margin: 0 1rem;
}

.team-list li img{
    margin: 0 auto;
}

.team-list .info{
    font-size: 2rem;
    text-align: center;
}

.team-list .info h3{
    background-color: #000;
    padding: 0.2rem 0;
}

.team-list .info h5{
    background-color: #fff;
    padding: 0.2rem 0;
    color: #000;
}

.arrowL ,.arrowR{
    cursor: pointer;
    position: absolute;
    width: 5rem;
}

.arrowL{
    left: 47%;
    bottom: -10rem;
}

.arrowR{
    left: 52%;
    bottom: -10rem;
}

.sec8 .sec-title{
    background-image: url(../images/bg_title.png);
    color: var(--txt_light);
}

.sec8{
    background-color: #fff;
}

.partner-list{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6rem;
    margin-top: 6rem;
    flex-wrap: wrap;
    padding-bottom: 20.8rem;
}

.footer{
    width: 100%;
    height: 33.2rem;
    padding: 2rem 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 2rem;
    position: relative;
}

.footer::before{
    content: '';
    display: block;
    width: 100%;
    height: 20.8rem;
    background: url(../images/bg_partner.png) no-repeat center center;
    position: absolute;
    top: -60%;
}

.footer-nav{
    display: flex;
    align-items: center;
    font-size: 1.6rem;
}

.footer-nav .logo{
    flex-basis: 100%;
    text-align: center;
    transition: all 0.3s;
}

.footer-nav .logo:hover{
    transform: scale(0.95);
}

.footer-nav .menu-list{
    display: flex;
    gap: 3rem;
    justify-content: center;
    flex-basis: 100%;
}

.footer-nav .menu-list a{
    color: var(--txt_light);
    line-height: 1.8;
}

.fa-circle-chevron-right{
    padding-right: 1rem;
    transition: all 0.3s;
}

.footer-nav .menu-list a:hover .fa-circle-chevron-right{
    padding-right: 0.6rem;
}

.footer-nav .cooperate{
    flex-basis: 100%;
    text-align: center;
}

.footer h2{
    text-align: center;
    font-weight: normal;
}

.fp-tableCell {
    vertical-align: initial;
}

.fp-controlArrow.fp-next {
    border-width: 0;
    border-color: none;
    width: 5.2rem;
    height: 4.1rem;
    background: url(../images/token-arrow-r.png) no-repeat center;
    background-size: 100%;
}

.fp-controlArrow.fp-prev{
    border-width: 0;
    border-color: none;
    width: 5.2rem;
    height: 4.1rem;
    background: url(../images/token-arrow-l.png) no-repeat center;
    background-size: 100%;
}

.slick-dots{
    bottom: -48px;
}

.swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal{
    bottom: 2%;
}

.swiper-pagination{
    visibility: hidden;
}

.swiper-pagination-bullet{
    background: #fff;
    opacity: 0.25;
}

.swiper-pagination-bullet-active{
    background: rgb(255, 255, 255);
    opacity: 0.75;
}

@media screen and (max-width:1190px) {
    html{
        font-size: 56%;
    }

    section{
        padding-top: 0;
        height: auto;
    }

    .sec1{
        height: 100vh;
       }
 
    .mobi-bar {
        display: block;
    }

    .main-nav{
        padding: 0 1rem;
        justify-content: flex-start;
        gap: 2rem;
    }

    .main-nav .logo img{
        max-width: 70%;
    }
    

    .main-nav .menu-list{
        flex-direction: column;
        justify-content: center;
        gap: 2rem;
        background-color: #000;
        width: 100%;
        height: 100vh;
        clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
        position: fixed;
        top: 0;
        left: 0;
        padding: 0 3rem;
    }

    .main-nav .menu-list.open{
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }

    .mobi-bar span{
        transition: all 0.3s;
    }

    .mobi-bar.active span{
        transition: all 0.3s;
    }

    .mobi-bar.active span:nth-child(2){
        display: none;
    }

    .mobi-bar.active span:nth-child(1){
        transform: rotate(-45deg) translateY(7px);
    }

    .mobi-bar.active span:nth-child(3){
        transform: rotate(45deg) translateY(-8px);
    }

    .sub-nav{
        flex-direction: column;
    }

    .sub-nav .menu-list{
        flex-direction: column;
    }

    .about-txt{
        padding: 0 2rem;
     }

    .map-box{
        margin-top: 6rem;
    }

    .map-cont{
        flex-direction: row;  
        justify-content: center; 
        align-items: center;
        gap: 2rem;
        padding: 0 2rem;
        max-width: 50rem;
        height: auto;
        margin-inline: auto;
    }

    .map-cont .time-list{
        display: none;
        font-size: 2rem;
    }

    .timeline{
        background: none;
        width: 0.8rem;
        min-height: 73rem;
        background: #000;
    }

    .map-cont .work-list{
        transform: skewY(0);
        flex-direction: column;
        padding-left: 0;
        margin-top: 0;
        width: 100%;
        font-size: 2rem;
        gap: 3rem;
    }

    .map-cont .work-list > li{
        transform: skewY(0);
        display: flex;
        width:  100%;
        align-items: baseline;
    }

    .map-cont .work-list > li::before{
        content: '';
        width: 1.2rem;
        height: 1.2rem;
        transform: rotate(-45deg);
        background-color: #000;
        margin-right: 2rem;
    }

    .work-list .mobi-time{
        display: block;
        width: 45%;
        font-weight: 600;
    }

    .work-list .item{
        width: 50%;
    }

    .swiper-pagination{
        visibility: visible;
    }

}

@media screen and (max-width:1023px){
    .sec-title{
        /* margin-top: 2rem; */
    }

    .feature-cont{
        flex-direction: column;
    }

    .feature-cont .title{
        position: static;
        margin-bottom: 2rem;
    }

    .feature-txt{
        position: static;
        margin-bottom: 2rem;
    }
    .sec4{
        background-position: left center;
    }

    .sec5 {
        background-position: left center;
    }

    .token-ct{
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .token-ct .line01 img:nth-child(1){
        display: none;
    }
    .token-ct .line01 img:nth-child(2){
        display: block;
        margin-inline: auto;
    }

    .token-ct .line02 img:nth-child(1){
        display: none;
    }
    .token-ct .line02 img:nth-child(2){
        display: block;
        margin-inline: auto;
    }

    .token-ct .left ,.token-ct .right{
        display: flex;
        gap: 1rem;
    }

    .token2{
        margin-top: 8rem;
        margin-bottom: 2rem;
    }

}

@media screen and (max-width:768px) {
    html{
        font-size: 50%;
    }

    .main-nav .menu-list a{
        font-size: 2.8rem;
    }

    .sec1-ct h1 {
        font-size: 6.5rem;
    }

    .token-ct .left li ,.token-ct .right li{
        flex-direction: column;
    }

    .token-ct .left li{
        width: calc(100% / 2);
        height: auto;
    }

    .token-ct .right li{
        width: calc(100% / 3);
        height: auto;
    }

    .token-ct .line01 img ,.token-ct .line02 img{
        max-width: 70%;
    }

    .token-ct .left li img ,.token-ct .right li img{
        max-width: 70%;  
    }

    .footer::before{
        top: -60%;
    }

    .footer-nav{
        flex-direction: column;
        gap: 2rem;
    }

    .footer-nav .cooperate{
        display: none;
    }

    .footer h2{
        margin: 2rem 0;
    }
}

@media screen and (max-width:767px){
    .chara-set{
        justify-content: flex-start;
    }

    .chara-set .chara-img{
        display: none;
    }

    .chara-set .intro{
        width: 100%;
    }

    .team-list li{
        margin: 0;
    }

    .team-list .info{
        width: 80%;
        margin-inline: auto;
    }

    .sec5 .desc{
        padding: 0 1rem;
    }

    .partner-list{
        margin-top: 3rem;
    }

    .sec8{
        min-height: auto;
    }

}

@media screen and (max-width:375px){

    html{
        font-size: 45%;
    }

    .map-box{
        padding-bottom: 3rem;
    }

    .partner-list li{
        text-align: center;
    }

    .partner-list img ,.footer-nav .logo img{
            max-width:70%;
    }
}
