


body {
    background: #313131;
    color: #5b0000;
  

    font-family:"Yu Gothic", "���S�V�b�N", YuGothic, "���S�V�b�N��",
        "�q���M�m�p�S Pro W3","Hiragino Kaku Gothic",
        "���C���I", Meiryo,
        Helvetica,sans-serif;

    font-size: 15px;
    line-height: 1.4em;

}

img{
    width: 100%;
}


.small{
    font-size: 60%;
}


#wrapper{
    background-color: #fff;
    position: relative;
    overflow: hidden;
    visibility: hidden;
}
body.loaded #wrapper{
    visibility: visible; 
}

a{
    text-decoration: none;
    color: #5b0000;
}



.content .title{
    transition-duration: 400ms;
    transition-property: top;
    transition-timing-function: ease;

}

.content.active .title{
    top: 0;
    transition-delay: 400ms;
}


.pager{
    transition-duration: 400ms;
    transition-property: bottom;
    transition-timing-function: ease;
}
.content.active .pager{
    transition-delay: 400ms;
}


.contents{
    background-color: #fff;
}


.pager a{
    pointer-events: all;
}


@media print,screen and (min-width: 769px) {

    .sp{
        display: none !important;
    }

    
    #wrapper{
        min-width: 1000px;
    }



    header{
        
    }
    
    header .logo{
        background-image: url(../img/logo.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        position: fixed;
        left: 30px;
        top: 25px;
        width: calc(280px / 2);
        height:calc(70px / 2) ;
        overflow: hidden;
        text-indent: -9999px;
        z-index: 200;
    }
    
    

   
    
    
    .contents{
        position: relative;
        height: calc(100vh);
    }
    
    
    
    .contents .charastandarea{
        position: absolute;
        left: 0;
        top: 0;
        width:100%;  
        height: 100%;
        overflow: hidden;
        z-index: 1;
        pointer-events: none;
    }



    .contents .charastandarea .inner{
        width: 1366px;
        height: 640px;
        position: absolute;
        left: calc(50% - ( 1366px / 2 ));
        top: calc((100% - 80px - 35px ) / 2 - (640px / 2) + 80px );

    }
    

    .charastand{
        position: absolute;
        left: 0;
        bottom: -150px;
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width:calc(280px * 0.75) ;
        height: calc(840px * 0.75);
    }
    
    
    .charastandarea .boat{
        background-image: url(../img/boat.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        position: absolute;
        left: -400px;
        bottom: -180px;
        width: calc(1740px / 2);
        height: calc(660px / 2);
    }
    
    
    
    .contents .content{
        position: absolute;
        left: 0;
        top: 0;
        width:100%;  
        height: 100%;
        overflow: hidden;
    }
  
    
    .content .title{
        display: block;
        position: absolute;
        left: 0;
        top: -80px;
        background-color: #fff;
        height: 80px;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        z-index: 10;
        border-bottom: 1px #d1d1d1 solid;
    }
    
    .content .title h1{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -ms-align-items: center;
        align-items: center;
        font-size: 26px;
        line-height: 1em;
        font-weight: bold;
    }
    
    .content .title h1 .q{
        font-size: 36px;
        color: #e60000;
        font-weight: bold;
    }
    
    .content .back{
        background-color: #f1f1f1;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        -webkit-background-size: cover;
        background-size:cover ;
        background-position: center center;
    }

    
  
    .content .inner{
        width: 1366px;
        height: 640px;
        position: absolute;
        left: calc(50% - ( 1366px / 2 ));
        top: calc((100% - 80px - 35px ) / 2 - (640px / 2) + 80px );
        
    }
    
    
    .content.paneltype .inner{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;

    }

    
  
    
    .pager{
        position: absolute;
        left: 30px;
        bottom: -120px;
        width: calc(100% - 60px);
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -ms-align-items: center;
        align-items: center;
        justify-content:space-between;
        z-index: 200;
        pointer-events: none;
    }

    .content.active .pager{
        bottom: 60px;
    }
    
    .pager .next{
        border: 4px #5b0000 solid;
        border-radius: 100px;
        box-shadow: 0 4px 0 #5b0000;
        background-color: #5b0000;
        opacity:0.2;
    }

    
    .pager .next.active{
        opacity:1;
    }
    
    .pager .next a{
        width: 180px;
        height: 60px;
        display: block;
        background-color: #e60000;
        text-decoration: none;
        line-height: 1em;
        color: #fff;
        font-weight: bold;
        font-size: 22px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        background-image: url(../img/next.png);
        -webkit-background-size: calc(60px / 2) calc(40px / 2);
        background-size: calc(60px / 2) calc(40px / 2);
        background-position: calc(100% - 20px) center;
        background-repeat: no-repeat;
        border-radius: 100px;
        border:4px #fff solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 20px;
    }
    

    .pager .next.result a{
        font-size: 16px;
        width: 220px;
        line-height: 1.3em;
    }
    
    
    .pager .prev{
        border: 4px #5b0000 solid;
        border-radius: 100px;
        box-shadow: 0 4px 0 #5b0000;
        background-color: #5b0000;
    }

    .pager .prev a{
        width: 180px;
        height: 60px;
        display: block;
        background-color: #a0a0a0;
        text-decoration: none;
        line-height: 1em;
        color: #fff;
        font-weight: bold;
        font-size: 22px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        background-image: url(../img/prev.png);
        -webkit-background-size: calc(60px / 2) calc(40px / 2);
        background-size: calc(60px / 2) calc(40px / 2);
        background-position: 20px center;
        background-repeat: no-repeat;
        border-radius: 100px;
        padding-left: 20px;
        border:4px #fff solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }


    .pager .pbtn{
        border: 4px #000 solid;
        border-radius: 100px;
        box-shadow: 0 4px 0 #5b0000;
        background-color: #5b0000;
        margin-left: 20px;
    }

    .pager .pbtn a{
        text-align: center;
        width: 180px;
        height: 60px;
        display: block;
        background-color: #a0a0a0;
        text-decoration: none;
        line-height: 1.35em;
        color: #fff;
        font-weight: bold;
        font-size: 18px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        border-radius: 100px;
        border:4px #fff solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    

    .pager .pbtn.red a{
        background-color: #e60000;
    }
    
    .pager .pbtn.green a{
        background-color: #00bbb8;
    }
    
    .pager .pbtn.s a{
        font-size: 16px;
    }
    
    
    .pager li.flex{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
    }

    .pager ul{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
    }


    
    
    
    footer{
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 35px;
        background-color: #313131;
        color: #fff;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        text-align: center;
        font-size: 12px;
        z-index: 200;
    }
    
    
    
    
    
    
    .btn{
        background-color: #5b0000;
        border-radius: 100%;
        border: 4px #5b0000 solid;
        width: 100px;
        height: 100px;
        font-size: 26px;
        line-height: 1.35em;
    }
    .btn a{
        background-color: #fff;
        display: block;
        width: 100%;
        height: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
       
        color: #5b0000;
        font-weight: bold;
        text-decoration: none;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        border:4px #fff solid;
        border-radius: 100%;
        text-align: center;
    }
    
    .btn.active{
        transform:scale(1.2);
        border: 4px #e60000 solid;

    }
    .btn.active a{
        background-color: #e60000;
        color: #fff;
    }
    
    .btn a span{
        display: block;
        font-weight: bold;
    }
    .btn a .small{
        display: block;
        font-weight: bold;
        display: block;
        line-height: 1em;
    }
    

    

    
    .panels{
        position: relative;
        z-index: 100;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        margin-left: 100px;
        margin-top: -60px;
    }
    .panels .panel{
        margin-left: 20px;
        margin-right: 20px;
        width: 300px;
        height: 370px;
    }
    .panels .panel .out{
        width: 300px;
        height: 370px;
        background-color: #fff;
        border-radius: 20px;
        border:4px #5b0000 solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    .panels .panel a{
        border-radius: 20px;
        border:6px #fff solid;
        display: block;
        padding: 10px;
        height: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .panels .panel .image{
        display: block;
    }
    .panels .panel .text{
        display: block;
        font-size: 18px;
        line-height: 1.5em;
        text-align: center;
        height: 150px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        font-weight: bold;
    }

    
    .panels .panel.active .out{
        border:6px #e60000 solid;
    }
    .panels .panel.active a{
        background-image: url(../img/panel_back.png);
        -webkit-background-size: 56px 56px;
        background-size:56px 56px;
        border:6px #fff solid;
    }
    .panels .panel.active .text{
        color: #fff;
    }
}





@media only screen and (max-width: 768px) {

    body {
        -webkit-tap-highlight-color:rgba(0,0,0,0);
        -webkit-text-size-adjust: 100%;
        -webkit-touch-callout: none;
        -webkit-user-select:none;
    }
    
    .pc{
        display: none!important;
    }

    


    header{

    }

    header .logo{
        background-image: url(../img/logo.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        position: fixed;
        left: 3vw;
        top: 3vw;
        width: calc(16vw);
        height:calc(16vw / 280 * 70 ) ;
        overflow: hidden;
        text-indent: -9999px;
        z-index: 200;
    }

    .contents{
        position: relative;
        height: calc(100vw / 750 * 1060 );
    }
    
    
    .contents .content{
        position: absolute;
        left: 0;
        width: 100%;
        height: 100%;
        top: 0;
        padding-top: 18vw;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        overflow: hidden;
    }


    .content .title{
        display: block;
        position: absolute;
        left: 0;
        top: -18vw;
        background-color: #fff;
        height: 18vw;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        z-index: 10;
        padding-top: 6vw;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        border-bottom: 1px #d1d1d1 solid;

    }

   
    
    
    

    .content .title h1{
        font-size: 3.6vw;
        line-height: 1.2em;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -ms-align-items: center;
        align-items: center;
        font-weight: bold;
    }
    
    .content .title h1 .q{
        font-size: 4.6vw;
        color: #e60000;
        font-weight: bold;
    }

    .content .back{
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        -webkit-background-size: cover;
        background-size:cover ;
        background-position: center center;
    }



    .content .inner{
        width: 100%;
        height: 100%;
        position: relative;
    }


    footer{
       position: relative;
        background-color: #313131;
        color: #fff;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        text-align: center;
        font-size: 10px;
        padding: 10px;
        z-index: 200;
    }

    
    
    
    

    .pager{
        position: absolute;
        left: 3vw;
        bottom: -28vw;
        width: calc(100% - 6vw);
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -ms-align-items: flex-end;
        align-items:flex-end;
        justify-content:space-between;
        z-index: 200;
    }
    
    .content.active .pager{
        bottom: 6vw;
    }

    .pager .next{
        border: 1vw #5b0000 solid;
        border-radius: 100px;
        box-shadow: 0 1vw 0 #5b0000;
        background-color: #5b0000;
        opacity:0.2;
    }
    
     .pager .next.active{
        opacity:1;
    }

     .pager .next a{
        width: 28vw;
        height: 10vw;
        display: block;
        background-color: #e60000;
        text-decoration: none;
        line-height: 1em;
        color: #fff;
        font-weight: bold;
        font-size: 4vw;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        background-image: url(../img/next.png);
        -webkit-background-size: calc(6vw) calc(6vw / 60 * 40 );
        background-size:  calc(6vw) calc(6vw / 60 * 40 );
        background-position: calc(100% - 3vw) center;
        background-repeat: no-repeat;
        border-radius: 100px;
        border:1vw #fff solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 3vw;
    }

    .pager .next.result a{
        font-size: 2.6vw;
        width: 42vw;
        line-height: 1.3em;
    }
    
    
    .pager .pbtn{
        margin-top: 2vw;
        border: 1vw #5b0000 solid;
        border-radius: 100px;
        box-shadow: 0 1vw 0 #5b0000;
        background-color: #5b0000;
        margin-left: 2vw;
    }

    
    .pager .pbtn a{
        width: 28vw;
        height: 10vw;
        display: block;
        background-color: #e60000;
        text-decoration: none;
        line-height: 1em;
        color: #fff;
        font-weight: bold;
        font-size: 4vw;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        border-radius: 100px;
        border:1vw #fff solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    .pager .pbtn.red a{
        background-color: #e60000;
    }

    .pager .pbtn.green a{
        background-color: #00bbb8;
    }

    .pager .pbtn.s a{
        font-size: 3vw;
    }

    .pager > li.flex > ul{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content:flex-end;
    }

    
    
    

    .pager .prev{
        background-color: #5b0000;
        border: 1vw #5b0000 solid;
        border-radius: 100px;
        box-shadow: 0 1vw 0 #5b0000;
    }

    .pager .prev a{
        width: 28vw;
        height: 10vw;
        display: block;
        background-color: #a0a0a0;
        text-decoration: none;
        line-height: 1em;
        color: #fff;
        font-weight: bold;
        font-size: 4vw;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        background-image: url(../img/prev.png);
        -webkit-background-size: calc(6vw) calc(6vw / 60 * 40 );
        background-size:  calc(6vw) calc(6vw / 60 * 40 );
        background-position: 3vw center;
        background-repeat: no-repeat;
        border-radius: 100px;
        padding-left: 3vw;
        border:1vw #fff solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }




    .btn{
        background-color: #5b0000;
        border-radius: 100%;
        border: 3px #5b0000 solid;
        width: 20vw;
        height: 20vw;
        font-size: 5vw;
        line-height: 1.35em;
    }
    
    .btn a{
        background-color: #fff;
        display: block;
        width: 100%;
        height: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        color: #5b0000;
        font-weight: bold;
        text-decoration: none;
        border-radius: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        border: 3px #fff solid;
        text-align: center;
    }
    .btn.active{
        background-color: #e60000;
        transform:scale(1.1);
        border:  3px #e60000 solid;
    }
    .btn.active a{
        background-color: #e60000;
        color: #fff;
    }
    
    .btn a span{
        display: block;
        font-weight: bold;
    }
    .btn a .small{
        display: block;
        font-weight: bold;
        display: block;
        line-height: 1em;
    }
    

    

    .contents .charastandarea{
        position: absolute;
        left: 0;
        top: 0;
        width:100%;  
        height: 100%;
        overflow: hidden;
        z-index: 1;
        pointer-events: none;
    }



    .contents .charastandarea .inner{
        width: 100%;
        height: 100%;

    }
    
    
    .charastand{
        position: absolute;
        left: -1vw;
        bottom: -1vw;
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width:calc(24vw) ;
        height: calc(24vw / 280 * 840 );
    }

    .charastandarea .boat{
        background-image: url(../img/boat.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        position: absolute;
        left: -20vw;
        bottom:-3vw;
        width: calc(60vw);
        height: calc(60vw / 1740 *660 );
    }


    

    .panels{
        margin-left:20vw;
        margin-right: 6vw;
        margin-top: 6vw;
        position: relative;
    }
    .panels .panel{
        margin-bottom: 3vw;
    }
    
    .panels .panel .out{
        background-color: #fff;
        border-radius: 16px;
        border:2px #5b0000 solid;
    }
    .panels .panel a{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -ms-align-items: center;
        align-items: center;
        border-radius: 16px;
        border:2px #fff solid;
        padding: 2vw;
    }
    .panels .panel .image{
        display: block;
        width: 30vw;
        border-radius: 10px;
        overflow: hidden;
    }
    .panels .panel .text{
        display: block;
        font-size: 3.2vw;
        line-height: 1.5em;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        font-weight: bold;
        margin-left: 3vw;
        flex:1;
    }
    
    .panels .panel .text br{
        display: none;
    }

    .panels .panel .text br.andsp{
        display: block;
    }

    .panels .panel.active .out{
        border:2px #e60000 solid;
    }
    .panels .panel.active a{
        background-image: url(../img/panel_back.png);
        -webkit-background-size: 56px 56px;
        background-size:56px 56px;
        border:2px #fff solid;
    }
    .panels .panel.active .text{
        color: #fff;
    }
    
    

}



