@charset "UTF-8";

/*================================================
 *  一般・共通設定
 ================================================*/
body {
  margin: 0;
  padding: 0;
}
.scroll-area {
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-scroll-behavior: smooth;
  scroll-behavior: smooth;
  -webkit-scroll-snap-type: mandatory;
  scroll-snap-type: mandatory;
  -webkit-scroll-snap-points-y: repeat(100%);
  scroll-snap-points-y: repeat(100%);
}
.box {
  width: 100%;
  height: 100vh;
  color: #fff;
  font-size: 18px;
  display: flex;
  align-items: center; /* 縦方向中央揃え */
  flex-direction: column;
}
.box__bg_black {
  background-color: #333;
}
.box__bg_gray {
  background-color: #ccc;
}
.menuheader {
  background-color: #351212;
  height: 45px;
}
.menuheader p {
  margin-top: 20px;
  margin-left: 10px;
  padding: 0;
}

/*************************
top
*************************/

.toparea {
	background:#56afd8 url(../bitchswitch_bnp/01bgs.jpg) no-repeat center center;
	background-size:cover;
	height: 436px;
}

/*************************
signarea
*************************/

.signarea {
	background-color: #ffffff;
	background-image:url("../bitchswitch_bnp/signarea2.png");
	width: 961px;
	height: 483px;
}


/*************************
cparea
*************************/

.cparea {
	background-color: #ffffff;
	width: 961px;
	height: 1106px;
}

	div.twitter { position: relative;
		background-image:url("../bitchswitch_bnp/cp_bg3.png");
		width: 961px; height: 1106px;

	}
	img.twitterbot1 { position: absolute; z-index: 5;
		left: 120px; top: 172px; 
	}
	.twitterbot1:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	}
	img.twitterbot2 { position: absolute; z-index: 4;
		left: 120px; top: 267px; 
	}
	.twitterbot2:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	}
	img.twitterbot3 { position: absolute; z-index: 4;
		left: 596px; top: 243px; 
	}
	.twitterbot3:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	}
	.formbox1 { position: absolute; z-index: 4;
		left: 310px; top: 583px; 
	}
	.formbox2 { position: absolute; z-index: 4;
		left: 310px; top: 625px; 
	}
	.formbox3 { position: absolute; z-index: 4;
		left: 310px; top: 653px; 
	}
	.formbox4 { position: absolute; z-index: 4;
		left: 310px; top: 693px; 
	}
	.formbox5 { position: absolute; z-index: 4;
		left: 310px; top: 732px; 
	}
	.formbox6 { position: absolute; z-index: 4;
		left: 310px; top: 771px; 
	}
	.formbox7 { position: absolute; z-index: 4;
		left: 395px; top: 833px; 
	}
	.formbox8 { position: absolute; z-index: 4;
		left: 495px; top: 833px; 
	}

/*************************
spec
*************************/








.toparea img {
	display: block;
	max-width:100%;
	}

.topspc {
	position: relative;
	background-color: #e95299;
	height: 400px;
	width: 100%;
	min-width: 720px;
	}

.topspc img {
	position: relative;
	top: 0px;
	left: 0px;
	}
.topspc a:hover img {
	-webkit-transform: rotate(2deg);
	transform: rotate(2deg);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	opacity: 0.9;
	filter: alpha(opacity=90);
	-ms-filter: "alpha(opacity=90)";
}

.img-a{
	position:absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width:100%;
	max-width:100%;
	z-index: 2;
}

.img-b{
	position:absolute;
	right:0px;
	top:0px;
	max-width:100%;
	z-index: 3;
}

.toptoku li a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}

.topbanner {
	background-color: #4a101f;
	width:100%;
	height: 255px;
	vertical-align: middle;
}
.topbanner img {
	inline-block;
	max-width:100%;
	}
.topbanner a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
.topbanner p {
  margin-top: 40px;
  padding: 0;
}
.countdown {
	background-color: #e95299;
	width:100%;
	height: 620px;
}
.countdown img {
	width:100%;
	max-width:960px;
	}
.countdown a:hover img {
	position:relative;
	top:-1px;
	cursor:pointer;
	-webkit-transform:	scale(1.04);
	transform:		scale(1.04);
}
.countdown p {
  margin-top: 70px;
  padding: 0;
}
.countdownunder {
  background-image: url(../yuuri/03under.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 60px;
}
.story01 {
	background-color: #000000;
	height: 1020px;
}
.story01 img {
	display: block;
	width:100%;
	max-width:995px;
	margin-top: 100px;
	}
.story02 {
	background-image: url(../yuuri/04_story_txt02_bg.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 1020px;
}
.story02 img {
	width:100%;
	max-width:995px;
	margin-top: 100px;
}
.story03 {
	background-color: #e85298;
	height: 1020px;
}
.story03 img {
	display: block;
	width:100%;
	max-width:995px;
	margin-top: 100px;
	}

.nonborder {
	border:none;
	outline:none;
}

.system {
	background-image: url(../yuuri/05_sys.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 2027px;
}

.topic01 {
	background-image: url(../yuuri/06_topic01.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 1157px;
}

.topic02 {
	background-color: #e85298;
	background-image: url(../yuuri/06_topic02.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 1834px;
}
.topic03 {
	background-color: #e85298;
	background-image: url(../yuuri/07_01_spbg.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 1462px;
	padding: 900px 0 0 0;
}
.topic03 a:hover img {
	-webkit-transform: rotate(2deg);
	transform: rotate(2deg);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
	opacity: 0.9;
	filter: alpha(opacity=90);
	-ms-filter: "alpha(opacity=90)";
}

.charactor0 {
  height: 59px;
}
.charactor01 {
  height: 1380px;
}
.charactor01 img {
	display: block;
	max-width:100%;
	}
.charactor01 p {
  margin-top: 150px;
  padding: 0;
}
.charactorunder {
  height: 268px;
}
.charactorunder img {
	display: block;
	max-width:100%;
	}


.gallery {
	background-color: #e85298;
	height: 900px;
}
.gallery img {
	display: block;
	max-width:100%;
	}
.gallery p {
	margin-top: 50px;
	margin-bottom: 50px;
	padding: 0;
}

.specbg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 1000px;
}
.specbg img {
	display: block;
	max-width:100%;
	}
.specbg p {
  margin-top: 70px;
  padding: 0;
}
.specunder {
  height: 51px;
}
.specunder img {
	display: block;
	max-width:100%;
	}
.footer {
  background-color: #492027;
  height: 54px;
}
.footer img {
	display: block;
	width:374px;
}

#menuheader {
  background-color: #351212;
  height: 45px;
}

/*************************
パララックス
*************************/
div.parallax1{
	height:2391;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;	
	}
.pabox{
        margin: 0 auto;
	}
.pabox p {
  margin-top: 0px;
  margin-bottom: 50px;
  padding: 0;
}
.pabox img {
	display: block;
	max-width:100%;
	}
.pabox h2{
	line-height: 600px;
	font-size: 60px;
	color: #fff;
	text-align: center;
	font-weight: bold;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	}
.parallax_img_1{
	background:url(../yuuri/story03bg.png);	
	}
/*************************
パララックス
*************************/
div.parallax2{
	height:850;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;	
	}
.pabox2{
        margin: 0 auto;
	}
.pabox2 img {
	display: block;
	max-width:100%;
	}
.pabox h2{
	line-height: 600px;
	font-size: 60px;
	color: #fff;
	text-align: center;
	font-weight: bold;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	}
.parallax_img_2{
	background:url(../yuuri/06gallerybg.jpg);	
	}
.parallax_img_3{
	background:url(../yuuri/06gallerybg.jpg);	
	}
/*************************
メディアクエリ
*************************/
@media screen and (max-width: 960px){
	.pabox{
		width:auto;
		}
	}

/*************************
storytxt01
*************************/

	div.storytxt01 { position: relative;
			width: 924;
			height: 780px;
	}
	img.storytxt01back { position: absolute; z-index: 1;
		left: 0px; top: 0px; 
	}
	img.storytxt01main { position: absolute; z-index: 1;
		left: 0px; right: 0px; left: 0px; top: 0px; 
	}
	img.storytxt01next { position: absolute; z-index: 1;
		right: 0px; top: 0px; 
	}

/*************************
system
*************************/

	div.system { position: relative;
			width: 920;
			height: 2027px;
	}
	img.system1 { position: absolute; z-index: 1;
		left: 0px; top: 0px; 
	}
	img.system2 { position: absolute; z-index: 2;
		left: 0px; top: 0px; 
	}

/*************************
CG
*************************/

<style type="text/css">
.cggallery a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
</style>

/*************************
character
*************************/
/*タブの中身を初期非表示に*/
.ChangeElem_Panel {
  display: none;
}
/*タブを横並べに*/
.ChangeElem_Btn_Content {
  display: flex;
}
/*通常時のタブ装飾*/
.ChangeElem_Btn {
  background-color: #000;
  display: inline-block;
  flex: 1;
  font-size: 1.2rem;
  position: relative;
  transition: all .3s ease-in-out;
  vertical-align: middle;
	opacity: 1.0;
}
/*カレントとホバー時のタブ装飾*/
.ChangeElem_Btn:hover,
.ChangeElem_Btn.is-active {
  background: #FF0;
  border: 2px solid #fcbc82;
  box-sizing: border-box;
  color: #FF0;
	opacity: 0.8;
}
/*************************
menu
*************************/


.inner {
	width: 960px;
	margin: 0 auto;
}
.inner:after {
	content: "";
	clear: both;
	display: block;
}

/* header */
#top-head {
    top: 12px;
    position: absolute;
    width: 100%;
    margin: 0px auto 0;
    padding: 0;
    line-height: 1;
    z-index: 99;
}
#top-head a,
#top-head {
	color: #ffffff;
	text-decoration: none;
}
#top-head .inner {
	position: relative;
}
#top-head .logo {
	float: right;
	font-size:23px;
	font-weight: 700;
	font-family :"Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","メイリオ", "ＭＳ Ｐ明朝","MS PMincho",Meiryo, serif;
	letter-spacing: -2px;
}
#global-nav ul {
	list-style: none;
	position: absolute;
	top: 5px;
	bottom: 0;
	font-size: 16px;
}
#global-nav ul li {
	list-style: none;
	float: left;
	position: relative;
}
#global-nav ul li a {
	padding: 0 5px 0 5px;
}

/* Btn Hover */
#global-nav ul li:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	bottom: -2px;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
#global-nav ul li:hover:after {
	background: #ffffff;
	bottom: -8px;
}


/* Fixed */
#top-head.fixed {
	top: 0;
	position: fixed;
	padding-top: 5px;
	height: 30px;
	background: rgba(52,25,16,.8);
	box-shadow: 0 0 0.1em 0 rgba(0, 0, 0, 0.25);
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
	font-size: 24px;
	color: #ffffff;
}
#top-head.fixed #global-nav ul li a {
	color: #ffffff;
	padding: 0 5px 0 5px;
}

/* Fixed Btn Hover */
#top-head.fixed #global-nav ul li:after {
	bottom: -2px;
}
#top-head.fixed #global-nav ul li:hover:after {
	background: #ffffff;
	bottom: -5px;
}

/* Transition */
#top-head,
#top-head .logo,
#global-nav ul li,
#global-nav ul li a {
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}

/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 12px;
	top: 14px;
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}

#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #666;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}


/*************************
pagetop
*************************/

#pageTop {

  position: fixed;
  bottom: 20px;
  right: 20px;
}

#pageTop a {
  display: block;
  z-index: 999;
  text-decoration: none;
  text-align: center;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*************************
spec
*************************/

	div.specbot { position: relative; background-image:url("../yuuri/07spec.png");
		width: 960px; height: 850px;
	}
	img.specbot1 { position: absolute; z-index: 5;
		left: 357px; top: 517px; 
	}
	img.specbot2 { position: absolute; z-index: 4;
		left: 630px; top: 517px; 
	}

/*************************
spec
*************************/


.toppics1 {
 z-index: 1;
 position: relative;
    width: 960px;
    margin: 0 auto;

}
.toppics2 {
 z-index: 2;
 position: absolute;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
	width:100%;
}
.toppics3 {
 z-index: 3;
 position: absolute;
	animation: fadeIn 4s ease 0s 1 normal;
	-webkit-animation: fadeIn 4s ease 0s 1 normal;
	width:100%;
}
.toppics4 {
 z-index: 10;
 position: absolute;
	animation: fadeIn 4s ease 0s 1 normal;
	-webkit-animation: fadeIn 4s ease 0s 1 normal;
	width:100%;
}
.toppics5 {
 z-index: 11;
 position: absolute;
	animation: fadeIn 4s ease 0s 1 normal;
	-webkit-animation: fadeIn 4s ease 0s 1 normal;
	width:100%;
}
.popup01 {
 z-index: 5;
	animation: fadeIn 6s ease 0s 1 normal;
	-webkit-animation: fadeIn 6s ease 0s 1 normal;
	width:100%;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}


/*************************
closebottombase
*************************/

.Bnr{
  position: relative;
  margin: 0 auto;
  width: 268px;
  display: none;
  font-family: "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",Osaka,sans-serif !important;
  z-index: 999;
}
.Bnr .Bnr__img{
  position: fixed;
  right: 0px;
  top: 30px;
}

/*************************
closebottom
*************************/

/*全体*/
.hidden_box {
    margin: 2em 0;
    padding: 0;
}

/*ボタン装飾*/
.hidden_box label {
 position: relative;
    padding: 10px;
  font-size: 12px;
  color: #fff;
    background: #359bd5;
    cursor :pointer;
    transition: .5s;
  z-index: 301;
  box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.4);
}

/*アイコンを表示*/
.hidden_box label:before {
 position: absolute;
 top: 12px;
 right: 10px;
    display: inline-block;
     content: url(../yuuri/01topdlsitecloseoff.png);
    padding-right: 5px;
    transition: 0.2s;
}

/*ボタンホバー時*/
.hidden_box label:hover {
    background: #63c1f7;
}

/*アイコンを切り替え*/
.hidden_box input:checked ~ label:before {
     content: url(../yuuri/01topdlsitecloseon.png);
     -ms-transform: rotate(360deg);
     -webkit-transform: rotate(360deg);
     transform: rotate(360deg);
     color: #ffffff;
}

/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
    margin: 2px 0;
    padding: 10px 0;
    height: auto;
    opacity: 1;
  z-index: 302;
}

	div.dlsitebox {
	position: relative;
	background-image:url("../yuuri/01topdlsiteunder2.png");
	background-repeat: no-repeat;
	width: 268px; height: 128px;
  z-index: 303;
	}
	.dlsitebox1 {
	position: absolute; z-index: 304;
	left: 0px; top: 15px; 
	width: 147px;
	height: 100px;
	vertical-align: middle;
	text-align: center;
	line-height: 28px;
	font-size: 14px;
	color: #359bd5;
	font-weight: bold;
	}
	.dlsitebox2 {
	position: absolute; z-index: 305;
	left: 148px; top: 15px; 
	width: 92px;
	height: 100px;
	vertical-align: middle;
	text-align: center;
	line-height: 28px;
	font-size: 14px;
	color: #359bd5;
	font-weight: bold;
	}

.dlsitebox a:link {
		color: #359bd5;
		text-decoration: none;
		}
.dlsitebox a:visited {
		color: #359bd5;
		text-decoration: none;
		}
.dlsitebox a:hover, a:active, a:focus {
		color: #ff9933;
		text-decoration: underline;
		}


/*************************
section
*************************/

section:before {
    content: " ";
    margin-top: 0px;
    height: 0px;
    display: block;
    visibility: hidden;
}

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

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

