 @charset "UTF-8";

/* ----------------------------------------------------
作成日: 2017.07.07
最終更新日: 

common.css： 共通設定
---------------------------------------------------- */

body {
	position: relative;
	min-width: 320px;
	font-size: 41.6875%;
	/*font-size:62.5%;10px*/
	font-family: "メイリオ", "ＭＳ Ｐゴシック", Helvetica, sans-serif;
	-webkit-text-size-adjust: 100%;
	line-height: 1.6;
	background-image:url("../image/bg_h.jpg");
	background-position: top center;
	background-repeat:no-repeat;
	background-size:100% auto;
	height: 100%;
}

@media screen and (max-width:980px) {
	body {
		background-size:126% auto;}
	}




img {
	max-width: 100%;
	height: auto;
}

a:link, a:hover, a:active { color: #ff0000; }

a:visited { color: #ff0000; }

a:focus { outline: none; }

/*clearfix*/
.cf:before, .cf:after {
	content: "";
	display: table;
}

.cf:after, .clear { clear: both; }

cf::after {
	content: " ";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	line-height: 0;
}

ul { list-style: none; }

#wrapper {
	position: relative;
	height: 100%;
	overflow: hidden;
}

.tc { text-align: center !important;}
.tr { text-align: right !important;}
.tl { text-align: left !important;}

.mb1 { margin-bottom:1% !important;}
.mb2 { margin-bottom:2% !important;}
.mb3 { margin-bottom:3% !important;}
.mb4 { margin-bottom:4% !important;}
.mb5 { margin-bottom:5% !important;}
.mt1 { margin-top:1% !important;}
.mt2 { margin-top:2% !important;}
.mt3 { margin-top:3% !important;}
.mt4 { margin-top:4% !important;}
.mt5 { margin-top:5% !important;}

.fl {float:left !important;}

.fr {float:right !important;}

.sd {
	filter: drop-shadow(0 2px 0px rgba(0, 0, 0, .5));
	-webkit-filter: drop-shadow(0 2px 0px rgba(0, 0, 0, .5));
}

.sd02 {
	filter: drop-shadow(0 -3px 10px rgba(168, 212, 248, 1.0));
	-webkit-filter: drop-shadow(0 -3px 10px rgba(168, 212, 248, 0.5));
}

.sd03 {
	filter: drop-shadow(4px 7px 2px  rgba(0, 46, 126, 1.0));
	-webkit-filter: drop-shadow(4px 7px 2px  rgba(0, 46, 126, 0.5));
}

.bg_yuki {
	min-width: 320px;
	width: 100%;
	height: 100%;
	background: url("../image/yuki_bg.png") top center;
	background-size:400px 300px;
}

* {
	margin: 0;
	padding: 0;
	border: 0;
}

.att {
	padding-left: 1em;
	text-indent: -1em;
}

hr.yuki {
	display:block;
	width:73.95%;
	max-height: 7px;
    padding-top: 4%;
	margin:0 auto;
	background:url(../image/line.png) no-repeat;
	background-size:100%;
}

/*==================================
header
===================================*/

header {
    width: 100%;
    max-width: 1284px;
    margin: 0 auto;
    position: relative;
    }

.snsBtn {
	width: 100%;
	max-width: 820px;
	min-width: 320px;
	right: 0;
	top: 0.5%;
	text-align: right;
	margin:0 auto;
    position: relative; z-index: 4;
}

.snsBtn li {
	display: inline-block;
	width: 7.56%;
	margin: 0.5%;
	vertical-align:top;
}

.snsBtn0301 li {
	display: inline-block;
	width: 7.56%;
	vertical-align:top;
}

.snsBtn0301 li.music_btn {
	display: inline-block;
	width: 40.82%;
}

.snsBtn0301 li.music_btn img {
	width:100%;
	max-width:425px;
	}

.snsBtn.is-foot, .snsBtn0301.is-foot{
	position: relative;
	z-index: 4;
	width: 100%;
	max-width: 980px;
	min-width: 320px;
	margin: 2% auto 0 auto;
	text-align: center;
}

.snsBtn.is-foot li, .snsBtn0301.is-foot li {
	display: inline-block;
	width: 6.32%;
	margin: 1%;
}

.mainImg {
	width: 100%;
	max-width: 1288px;
	min-width: 320px;
	position: relative; z-index: 3;
	margin: 0 auto;
}

    .mainImg.update0213 {
        width: 100%;
        max-width: 1288px;
        min-width: 320px;
        position: relative; z-index: 3;
        margin: 0 auto 10% auto;
    }

.logo {
	position: relative;
	z-index: 2;
	float: right;
	margin-top: 6.5%;
}

.logoAnime {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 0.5s;
	-ms-animation-duration: 0.5s;
	animation-duration: 0.5s;
	-webkit-animation-name: bounceIn;
	animation-name: bounceIn;
	visibility: visible !important;
}

h1 {
	width:76.09%;
	position:absolute;z-index: 4;
	left:0;
	right:0;
	bottom: 9%;
	margin: 0 auto;
	text-align: center;
	}

h1.update0213 {
	width:76.09%;
	position:absolute;z-index: 4;
	left:0;
	right:0;
	bottom: 0%;
	margin: 0 auto;
	text-align: center;
	}

h2.catch {
	position: absolute;z-index: 4;
    width: 76.09%;
	left:0;
	right:0;
	bottom: 6%;
	margin: 0 auto;
	text-align: center;
}

    h2.catch.update0213 {
	position: absolute;z-index: 4;
    width: 76.09%;
	left:0;
	right:0;
	bottom: -2%;
	margin: 0 auto;
	text-align: center;
}

.date {
	position:absolute; z-index:3;
	width:100%;
	max-width:1288px;
	left:0;
	right:0;
	bottom: -11%;
	text-align:center;
	margin:0 auto;
	}
	
	.date img {
		width:71.42%;
		}

.h_mov_btn {
    width: 13.19%;
    position: absolute; z-index: 4;
    top: 0%;
    left: 14%; 
}

@media screen and (max-width:640px) {
    
 .h_mov_btn {
    width: 23.19%;
    position: absolute;
    z-index: 4;
    top: 0%;
    left: 3%;
    }
    
}


.miku {
	position: relative;z-index: 2;
	width:100%;
	left:0;
	right:0;
	margin: 0 auto;
	text-align: center;
	}

.miku190213 {
    position: relative;z-index: 2;
	width:100%;
	left:0;
	right:0;
	margin: -2% auto 0 auto;
	text-align: center;
}

.puyo {
	position: absolute;z-index: 3;
	left:0;
	right:0;
	top:-7%;
	margin: 0 auto;
	text-align: center;
	}
	
.main_0301 {
	position: relative;z-index: 2;
	width:100%;
	min-width:320px;
	left:0;
	right:0;
	margin: 2% auto 0 auto;
	text-align: center;
	}
	
.puyo_g {
	position: absolute;
    z-index: 3;
    width: 14.5%;
    right: 13%;
    top: 54%;
    margin: 0 auto;
    text-align: center;
	}
	
.puyo_r {
    position: absolute;
    z-index: 3;
    width: 13.17%;
    left: 6%;
    top: 53%;
    margin: 0 auto;
    text-align: center;
	}
	
.puyo_b {
    position: absolute;
    z-index: 3;
    width: 8.91%;
    left: 32%;
    top: -5%;
    margin: 0 auto;
    text-align: center;
	}
	
.puyo_p {
    position: absolute;
    z-index: 3;
    width: 7.51%;
    left: 48%;
    top: -5%;
    margin: 0 auto;
    text-align: center;
	}
	
.puyo_y {
    position: absolute;
    z-index: 3;
    width: 9.44%;
    right: 9%;
    top: 5%;
    margin: 0 auto;
    text-align: center;
	}
	

	
.copy {
    position: absolute; z-index: 4;
    right: 0;
    left: 0;
    bottom: 3%;
	width: 76.09%;
    text-align: right !important;
    margin: 0 auto;
	}

.copy.update0213 {
    position: absolute; z-index: 4;
    right: 0;
    left: 0;
    bottom: -15%;
	width: 76.09%;
    text-align: right !important;
    margin: 0 auto;
	}
	
	
		
	@media screen and (max-width:640px) {
        .copy {
            position: absolute; z-index: 4;
            right: 0;
            left: 0;
            bottom: 1%;
            width: 99%;
            text-align: right !important;
            margin: 0 auto;
        }
        
            .copy img {
            width:100%;
            }
		}

h3 {
	width: 90.62%;
	max-width:870px;
	margin: 2% auto;
}

.ab {
	position: absolute;
	z-index: 1;
}

.re { position: relative; }

.end_txt {
    display: block;
    position: absolute; z-index: 0;
    width: 91%;
    height: 94%;
    top: 7%;
    background: rgba(0,0,0,0.3);
    border-radius: 5%;
    margin: 0 auto;
    -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
    
}

.end_img {
    width: 51%;
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    top: 37%;
    margin: 0 auto;
}

/*==================================
common
===================================*/

.main {
	width: 100%;
	min-width: 320px;
	margin: 0 auto;
    background: rgb(255,255,255);
    background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(146,208,255,1) 35%, rgba(146,208,255,1) 65%, rgba(33,63,152,1) 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(146,208,255,1) 35%,rgba(146,208,255,1) 65%,rgba(33,63,152,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(146,208,255,1) 35%,rgba(146,208,255,1) 65%,rgba(33,63,152,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#213f98',GradientType=0 );
	}

/****IE***/	
@media all and (-ms-high-contrast:none) {
}

.nav li.btnS {
	width: 50% !important;
	margin-bottom: 9px;
}

.contents {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    box-sizing: border-box;
}

    .contents.archive {
        background: url(../image/archive_bg.jpg) no-repeat;
        background-size: 100%;
        padding-bottom: 2%;
    }

    .archive h3 {
        width: 61.45%;
        max-width: 590px;
        margin: 0 auto;
        padding: 5% 0 2% 0;
    }

        .archive .archive_btn {
            width: 96%;
            display: table;
            margin: 0 auto;
            padding-bottom: 4%;
        }

        .archive .archive_btn.archive0213 {
            width: 64%;
            display: table;
            margin: 0 auto;
            padding-bottom: 4%;
        }

            .archive .archive_btn li {
                width: 23.54%;
                display: table-cell;
                text-align: center;
            }

                .archive .archive_btn li img {
                    width: 100%;
                    height: auto;
                }

                .archive .archive_btn.archive0213 li img {
                    width: 90%;
                    height: auto;
                }


    .contents.character {
        background: url(../image/chara_bg.jpg) no-repeat;
        background-size: 100%;
        padding-bottom: 3.2%;
    }

@media screen and (max-width:640px) {
    
     .contents.character {
        padding-bottom: 0.2%;
    }   
    
}

         .character h3, .topix h3, .twcp h3 {
            width: 90.83%;
            max-width: 872px;
            margin: 0 auto;
            padding: 5% 0 0 0;
        }

    .contents.topix {
        position: relative;
        background: url(../image/topix_bg.jpg) no-repeat;
        background-size: 100%;
        padding-bottom:  9%;
    }

@media screen and (max-width:640px) {
    
}


        .contents.topix .topix_chara01 {
            position: absolute; z-index: 3;
            width: 31.35%;
            left: -5%;
            top: 27%;
        }

        .contents.topix .topix_chara02 {
            position: absolute;
            z-index: 3;
            width: 38.35%;
            right: -8%;
            top: 25%;
        }

    .contents.twcp {
        background: url(../image/twcp_bg_190220.jpg) no-repeat;
        background-size: 100%;
        padding-bottom: 10%;
    }

@media screen and (max-width:640px) {
    
      .contents.twcp {
        padding-bottom: 6%;
    }  
    
}

    .contents.movie {
        background: url(../image/mov_bg.jpg) no-repeat;
        background-size: 100%;
        padding-bottom: 9%;
    }

    .box.mov {
        width: 90%;
        max-width:840px;
        margin: 0 auto;
    }

        .box.mov .mov_img {
            width: 47.61%;
            
        }

         .box.mov .mov_img .mov_btn {
             background: #fff;
             border: 6px solid #333e84;
             border-radius: 6px;
             box-sizing: border-box;
             display: block;
             margin: 0;
             padding: 0;
         }

        .box.mov .mov_img .mov_btn img {
            width: 100%;
            height: auto;
             border-radius: 1px;
            background: #333e84;
            box-sizing: border-box;
            vertical-align: bottom;
            -webkit-transition: opacity 0.3s ease-out;
-moz-transition: opacity 0.3s ease-out;
-ms-transition: opacity 0.3s ease-out;
transition: opacity 0.3s ease-out;
            
         }

        .box.mov .mov_img a.mov_btn img:hover {
            opacity: .5;
-webkit-opacity: .5;
-moz-opacity: .5;

         }  

        .box.mov .mov_txt {
            width: 77.57%;
            margin: 0 auto;
            padding-top: 3%;
        }

    .contents.about {
        position: relative;
        background: url(../image/about_bg.jpg) no-repeat;
        background-size: 100%;
        padding-bottom: 5%;
    }

        .about .about_img {
            position: relative; z-index: 2;
            margin-top: -9%;
            left: 5%;
        }

    .contents.game {
            position: relative;
            background: url(../image/game_bg.jpg) no-repeat;
            background-size: 100%;
            padding-bottom: 5%;
    }

    .contents.game .ss {
        width: 90.10%;
        max-width: 872px;
        margin: 0 auto;
        text-align: center;
        }

        .contents.game .ss li {
            display: inline-block;
            width: 30.19%;
            margin-right: 2%;
            box-sizing: border-box;
            }


.obi_title {
    width: 97.91%;
    margin: 0 auto;
}

.sub_title, .con_img {
    width: 90.83%;
    margin: 0 auto;
}

@media screen and (max-width:640px) {	
.contents {
}		
	}

h4.tw_cam_sub_title {
	width:35.83%;
	margin:0 auto;
	}
	
.tw_cam01_end {
	position: absolute;z-index: 3;
    width: 83.33%;
    margin: 0 auto;
    top: -7%;
    left: 0;
    right: 0;
	}
	


.txt {
	width:79.38%;
	margin:0 auto;
	}
	
	

.btn {
	position: relative;
	z-index: 5;
	width: 46.24%;
	margin: 1% auto 5% auto;
}

.con_btn {
	position: relative;
	z-index: 5;
	width: 46.66%;
	margin: 5% auto ;
}

    .twcp .con_btn {
        position: relative;
        z-index: 5;
        width: 46.66%;
        margin: 3% auto 0% auto;
    }

@media screen and (max-width:640px) {
    
.con_btn {
	position: relative;
	z-index: 5;
	width: 84.24%;
	margin: 4% auto ;
}

    .twcp .con_btn {
        position: relative;
        z-index: 5;
        width: 84.24%;
        margin: 0% auto;
        padding-top: 1%;
    }    
  
}


/*chara*/
.charaPop {
	position: relative;
	width: 100%;
	height:auto;
	max-width: 924px;
	margin: 0 auto;
}

    #mikurisu {
		background:url(../image/chara_bg_mikurisu.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}

	#hacyune {
		background:url(../image/chara_bg_hacyune.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}

	#yukimiku2019 {
		background:url(../image/chara_bg_yukimiku2019.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}

    #yukimiku2011 {
		background:url(../image/chara_bg_yukimiku2011.png?dummy=20190209) no-repeat center;
		background-size:78.58% auto;
		}
		
	#yukimikudayo {
		background:url(../image/chara_bg_yukimikudayo.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}

	#miku {
		background:url(../image/chara_bg_miku.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}

    #miku07 {
		background:url(../image/chara_bg_miku07.png?dummy=20190213) no-repeat center;
		background-size:78.58% auto;
		}
		
	#mikudayo {
		background:url(../image/chara_bg_mikudayo.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}
		
	#rin {
		background:url(../image/chara_bg_rin.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}
		
	#len {
		background:url(../image/chara_bg_len.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}
		
	#luca {
		background:url(../image/chara_bg_luca.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}

	#meiko {
		background:url(../image/chara_bg_meiko.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}
		
	#kaito {
		background:url(../image/chara_bg_kaito.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}
		
	#feli {
		background:url(../image/chara_bg_feli.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}
	
	#maguro {
		background:url(../image/chara_bg_maguro.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}
		
	#grace {
		background:url(../image/chara_bg_grace.png?dummy=20190130) no-repeat center;
		background-size:78.58% auto;
		}
		
	
	
.chara {
	width:90.96%;
	margin:0 auto;
	}

.charaPop.is-active .charaImg {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 0.7s;
	-ms-animation-duration: 0.7s;
	animation-duration: 0.7s;
	-webkit-animation-name: bounceIn;
	animation-name: bounceIn;
	visibility: visible !important;
}


.line {
	width: 71.45%;
	margin: 3% auto;
}

.sliderNav {
	width: 100%;
	margin: 0 auto;
	text-align: center;
    padding-bottom: 8%;
}

.sliderNav li {
    width: 19.85%;
    display: inline-block;
    margin-bottom: -1.7%;
    margin-right: -1.8%;
}

.sliderNav li:last-child { margin-right: 0; }

.slider li {
	width: 95.10%;
	position: relative;
}

.box { position: relative; }

.eventImg {
	z-index: 2;
	margin: 2% auto;
}


.eventBan {
	position: relative;
	z-index: 50;
}

/**** 注意書き ****/
.caution {
	width: 85%;
	margin: 3% auto 0 auto;
	text-align: left;
	font-size: 2.8rem;
}

/**** リツイートボックス ****/

.twBox {
	width: 80%;
	margin: 0 auto;
}

twitterwidget, iframe[id^="twitter-widget-"] {
	margin-left: auto;
	margin-right: auto;
}

.linkArea {
	width: 100%;
	max-width: 980px;
	min-width: 320px;
	margin: 0 auto;
	padding-bottom: 3%;
}

@media screen and (max-width:640px) {


.snsBtn.is-foot li, .snsBtn li {
	display: inline-block;
	width: 10.32%;
	margin: 1%;
}

.btn {
	width: 84.24%;
	margin: 1% auto 3% auto;
}

.sliderNav {
	width: 99%;
	margin: 2% auto;
	text-align: center;
}

.sliderNav li:last-child { margin-right: 0; }

.sliderNav li:nth-child(5) { clear: both; }

}

/*==================================
banner
===================================*/

.siteBtn {
	display: block;
	width: 57.24%;
	margin: 5% auto;
}

@media screen and (max-width:640px) {

.siteBtn {
	display: block;
	width: 87.24%;
	margin: 5% auto;
}
}

.banner {
	width: 100%;
	max-width: 970px;
	min-width: 310px;
	margin: 0 auto;
	text-align: center;
}

.banner li {
	display: inline-block;
	margin-right: 1%;
	margin-bottom: 1%;
}

.banner li.portalBanner {
	margin-top: 1%;
	border: 1px solid #0086d1;
}

#app_start_btn {
	position: fixed;
	z-index: 9999;
	width: 20.93%;
	height: auto;
	bottom: 10px;
	right: 10px;
}

/*==================================
appDl
===================================*/

.appDl {
	width:100%;
	padding:2% 0 0 0;
	color:#FFFFFF;
	font-size: 2rem;
    background:#010248;
	}
.appDl .box_bg {
	background:#010248;
	}

	
.appDl .box {
	width:100%;
	max-width:980px;
	min-width:320px;
	margin:0 auto;
	}

.appDl .box h3 {
	width:79.68%;
	margin:0 auto;
	}
	
.appDl .dl {
	text-align:center;
	}
	
.appDl .dl li {
	display:inline-block;
	width: 24.37%;
	background:url(../image/appDL-bg.png) no-repeat center top;
	background-size: 79%;
	}
	
@media screen and (max-width:640px) {
	.appDl .dl li {
	width:39.37%;
	}
	
	}
	
.appDl .dl li a img {
	width:90%;
	margin:3% 0 25% 0;
	}
	
.appDl .box .txt {
	width:50.31%;
	margin:0 auto;
	}
	
.appDl .box p {
	margin:0 auto;
	font-size:3.0rem;
	padding-bottom:1%;
	}
	



/*==================================
footer
===================================*/

footer {
	position:relative;
	width: 100%;
	background: #ffffff;
	font-size: 3.0rem;
	color:#111111;
}

@media screen and (max-width:960px) {
	
	footer {
	min-width: 320px !important;

}
	}
	
@media screen and (max-width:640px) {
	
	footer {
	font-size: 3.0rem;

}
	}

.footer {
	width:90%;
	max-width:970px;
	min-width:310px;
	margin:0 auto;
	padding-bottom: 11%;
	}
	
@media screen and (max-width:640px) {
.footer {
	padding-bottom:18%;
	}	
	}
	
#footerContents,#footer_text {
	padding: 10px;
}
#footer_text {
	padding-top: 0;
}
#footerContents li{
	float:left;
	margin-right:10px;
}
#footerContents li p {
		margin-top: 13px;
}


.sega-logo {
	display: inline-block;
    width: 104px;
    height: 36px;
    padding-top: 38px;
}

.sega-logo.sp {
	display: inline-block;
    width: 104px;
	padding-top: 0;
}

@media all and (-ms-high-contrast:none) {
.cero {
	display: inline-block;
    width: 60px;
    height: 74px;
}}

.copyFooter {
	display: table-cell;
	vertical-align:bottom;
	height:74px;
	line-height: 100px;
	}
	
.copyFooter.sp {
	display: table-cell;
	vertical-align:bottom;
	height:auto;
	line-height: 24px;
	}


#footer_text a {
	display:inline-block;
	margin-right:10px;
}