/*---------------------
共通
-----------------------*/

.sp_view{
	display:none !important;
}
.pc_view{
	display:block;
}

/* 追加CSS */
#container {
	min-width: 1280px !important;
}

/*hover_opacity*/
.over_anim{
	transition:0.3s;
}
.over_anim:hover{
	opacity:0.8 !important;
}
/*hover_画像*/
.over_anim2 img{
	transition:0.3s;
}
.over_anim2 :hover{
	opacity:0 !important;
}

/*page_top*/
.page_top,.page_top2 {
	position:fixed;
	width:44px;
	height:23px;
	left:50%;
	bottom:50px;
	cursor:pointer;
	z-index:1000;
	display:none;
	margin-left: 700px;
}
.page_top:hover{
	opacity:0.8;
}

@media screen and (min-width: 801px) and (max-width: 1550px) {

	.page_top,.page_top2 {
		left: auto;
		right: 50px;
		margin-left: 0;
	} 
}

/*---------------------
フェード ローディング
-----------------------*/
#top_fade{
	position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background: #000;
	z-index: 989;	
}
.loading_icon{
    position: fixed;
    width: 50px;
    height: 50px;
    margin-left:-25px;
    margin-top:-25px;
    left:50%;
    top:50%;
/*    transform:scale(1, -0.5);*/
}
.loading_wrap{
	position:absolute;
    width: 50px;
    height: 50px;
    left:0;
    top:0;
    /*animation: roopanim 1s linear infinite;*/
    transform-origin: center center;
}
.loader,
.loader:after {
  border-radius: 50%;
  width: 50px;
  height: 50px;
}
.loader {
  font-size: 2px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(250, 0, 35, 0.2);
  border-right: 1.1em solid rgba(250, 0, 35, 0.2);
  border-bottom: 1.1em solid rgba(250, 0, 35, 0.2);
  border-left: 1.1em solid #fa0023;
  transform: translateZ(0);
  animation: load8 0.5s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*---------------------
アニメーション
-----------------------*/
.top_opacity{
	opacity: 0;
}
.scale{
	opacity: 0;
	transform: scale(2);
}
.scale_small{
	opacity: 0;
	transform: scale(0.9);
}

.pop:hover img{
  animation-name: pop;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}
@keyframes pop {
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes check {
  50% { transform: translate(-5px,0);}
}

@keyframes roopanim {
  0% {
    transform:rotate(0deg);
  }
  100% {
    transform:rotate(360deg);
  }
}

.sankaku_icon{
	position: absolute;
	top: 0;
	right: 0;
}
.sankaku_icon2{
	position: absolute;
	top: 0;
	left: 0;
}
@keyframes sankaku {
  50% {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
  }
}
@keyframes sankaku2 {
  50% {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px);
  }
}

.top_opacity{
	opacity: 0;
}

@keyframes check {
  50% { transform: translate(-5px,0);}
}

/*---------------------
navi
-----------------------*/
/*隠し*/
.left_mask{
    position: fixed;
    left:0;
    top:0;
    height: 100%;
    background-color: #000;
    z-index: 1001;
}
.animation{
	transition: 0.5s;
}
#nav_pc_bg{
	position: relative;
	width: 100%;
	height: auto;
	z-index: 1;
	background-color: #000;
}
#nav_pc{
	display: flex;
	max-width: 1220px;
	justify-content: space-between;
	margin: 0 auto;
	/* padding-left: 20px; */
}
.nav_pc_btn{
	display: flex;
}
.nav_pc_btn li{
	margin-right: 20px;
}
.nav_pc_btn li:last-child{
	margin-right: 0;
}
/*帯のナビ　ボタン*/
.bt_home{
	background: url("../img/menu/home_over.jpg") no-repeat top center;
	background-size: 58.5px auto;
}
.bt_home img{
	transition: 0.2s;
}
.bt_home:hover img{
	opacity: 0;
}
.bt_news{
	background: url("../img/menu/news_over.jpg") no-repeat top center;
	background-size: 56.5px auto;
}
.bt_news img{
	transition: 0.2s;
}
.bt_news:hover img{
	opacity: 0;
}
.bt_about{
	background: url("../img/menu/about_over.jpg") no-repeat top center;
	background-size: 191px auto;
}
.bt_about img{
	transition: 0.2s;
}
.bt_about:hover img{
	opacity: 0;
}
.bt_theater{
	background: url("../img/menu/tickets_over.jpg") no-repeat top center;
	background-size: 106.5px auto;
}
.bt_theater img{
	transition: 0.2s;
}
.bt_theater:hover img{
	opacity: 0;
}
.bt_bm{
	background: url("../img/menu/bm_over.jpg") no-repeat top center;
	background-size: 175px auto;
}
.bt_bm img{
	transition: 0.2s;
}
.bt_bm:hover img{
	opacity: 0;
}
.bt_chara{
	background: url("../img/menu/chara_over.jpg") no-repeat top center;
	background-size: 140.5px auto;
}
.bt_chara img{
	transition: 0.2s;
}
.bt_chara:hover img{
	opacity: 0;
}
.bt_voicecast{
	background: url("../img/menu/voicecast_over.jpg") no-repeat top center;
	background-size: 124.5px auto;
}
.bt_voicecast img{
	transition: 0.2s;
}
.bt_voicecast:hover img{
	opacity: 0;
}
.bt_digital{
	background: url("../img/menu/digital_over.jpg") no-repeat top center;
	background-size: 236px auto;
}
.bt_digital img{
	transition: 0.2s;
}
.bt_digital:hover img{
	opacity: 0;
}

/*帯のナビ　SNSボタン*/
.pc_sns_wrap{
	position: relative;
	margin-left: 20px;
	/* height: 66px; */
}
.dcsns_txt{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.pc_sns{
	display: flex;
}
.pc_sns li{
	margin-right: 2px;
}
.pc_sns li:last-child{
	margin-right: 0;
}
.pc_tw{
	background: url("../img/menu/tw_over.jpg") no-repeat top center;
	background-size: 45px auto;
}
.pc_tw img{
	transition: 0.2s;
}
.pc_tw:hover img{
	opacity: 0;
}
.pc_ig{
	background: url("../img/menu/ig_over.jpg") no-repeat top center;
	background-size: 45px auto;
}
.pc_ig img{
	transition: 0.2s;
}
.pc_ig:hover img{
	opacity: 0;
}
.pc_tt{
	background: url("../img/menu/tiktok_over.jpg") no-repeat top center;
	background-size: 45px auto;
}
.pc_tt img{
	transition: 0.2s;
}
.pc_tt:hover img{
	opacity: 0;
}


.pc_fb{
	background: url("../img/menu/fb_over.jpg") no-repeat top center;
	background-size: 29.5px auto;
}
.pc_fb img{
	transition: 0.2s;
}
.pc_fb:hover img{
	opacity: 0;
}



/*---------------------
SP
-----------------------*/
@media screen and (min-width: 0px) and (max-width: 800px) {
	/*---------------------
	共通
	-----------------------*/
	.sp_view{
		display:block !important;
	}
	.pc_view{
		display:none !important;
	}

	/* 追加CSS */
	#container {
		min-width: inherit !important;
	}
	
	/*hover*/
	.over_anim{
		transition:0s;
	}
	.over_anim:hover{
		opacity:1;
	}
	
	.check1,.check2{
		width: 14%;
		left: 25%;
		top: 0;
		margin-top: 70%;
	}
	.check2{
		margin-top: 53%;/*aboutなし*/
		margin-top: 87%;/*aboutあり*/
	}
	

	/*---------------------
	header
	-----------------------*/
	#head_logo_wrap{
		background: #000000;
		position: relative;
	}
	#head_logo{
		position: relative;
		z-index: 9;
		width: 185px;
		margin: 0 auto;
	}
	.sp_title{
		position: relative;
		width: 100%;
		margin: 0 auto 6%;
	}
	/*---------------------
	page_top
	-----------------------*/
	.page_top{
		left: inherit;
		margin-left: inherit;	
	}
	/*---------------------
	navi
	-----------------------*/
	#navi_sp{
		position: fixed;
		width: 100%;
		right: 0;
		top: -150%;
		z-index: 900;
		background: #000;
		height: 100%;
		overflow: auto;
	}
	.menu_title{
		margin-bottom: 13%!important;
	}
	.open_sp{
		position: fixed;
		top: 0;
		left: 0;
		height: 0%;
		width: 13%;
		padding-bottom: 15%;
		z-index: 10;
	}
	.close_sp{
		position: absolute;
		top: 0;
		left: 0%;
		height: 0%;
		width: 13%;
	}
	.menu_item_sp{
		position: absolute;
    	top: 710px;
		z-index: 10;
	}
	.menu_title_sp{
		margin: 40px 0;
	}
	#navi_sp .sp_menu_btn{
		margin-top: 12%;
		padding-bottom: 6%;
	}
	#navi_sp .sp_menu_btn li {
    	width: 100%;
		margin-bottom: 0%;
	}
	
	/*---------------
	SNS
	-----------------*/
	.sp_dcsns_txt{
		margin-bottom: 3.12%;
	}
	.sp_sns{
		position: relative;
		margin-top: 0;
		padding-bottom: 3.12%;
	}
	.ico_wrap{
		width: 24%;/*アイコン2つ*/
		width: 38%;/*アイコン3つ*/
        display: flex;
        justify-content: space-between;
		margin: 0 auto;
	}
	
	
	/*---------------
	共通チケットボタン
	-----------------*/

	.tickets_bottom{
		position: fixed;
		bottom: 0;
		z-index: 10;
		width: 100%;
	}
	/*---------------
	homeボタン
	-----------------*/
	#sp_home{
		position: relative;
		z-index: 1;
	}	
	/*---------------
	footer上書き
	-----------------*/
/*	footer {
		position: relative;
		border: none;
		background: #FFF;
		padding: 30px 0 75px;
	}*/

}
