@charset "utf-8";

.l-team_slide{
	padding: 0 10px;
}
.team_slide .team {
	background: url(../img/common/bg_pt_l_b.png) repeat;
	position: relative;
}
.team_slide .team a{
	display: block;
	width:100%;
	height:100%;
	overflow: hidden;
	color:#000;
}
.team_slide .team .team_member{
	position: relative;
	z-index: 1;
}
.team_slide .team .team_member span {
	width: 100%;
	display: block;
	background-repeat:no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
	padding-top:100%;
}
.team_slide .team.team-merrypanic .team_member span {
	background-image: url(../img/chara/team_slide_merrypanic.png);
}
.team_slide .team.team-etoile .team_member span {
	background-image: url(../img/chara/team_slide_etoile.png);
}
.team_slide .team.team-theaterbell .team_member span {
	background-image: url(../img/chara/team_slide_theaterbell.png);
}
.team_slide .team.team-sanzensekai .team_member span {
	background-image: url(../img/chara/team_slide_sanzensekai.png);
}
.team_slide .team.team-toxic .team_member span {
	background-image: url(../img/chara/team_slide_toxic.png);
}
.team_slide .team.team-bmc .team_member span {
	background-image: url(../img/chara/team_slide_bmc.png);
}
.team_slide .team .team_name .team_name_j{
	font-family: "Oswald", sans-serif;
	padding: 5px 10px;
	font-size: 1.8rem;
}
.team_slide .team.team-merrypanic .team_name .team_name_j{
	background:#fff767;
}
.team_slide .team.team-etoile .team_name .team_name_j{
	background:#eaeaea;
}
.team_slide .team.team-theaterbell .team_name .team_name_j{
	background:#8f000c;
	color:#fff;
}
.team_slide .team.team-sanzensekai .team_name .team_name_j{
	background:#597338;
	color:#fff;
}
.team_slide .team.team-toxic .team_name .team_name_j{
	background:#381a5a;
	color:#fff;
}
.team_slide .team.team-bmc .team_name .team_name_j{
	background:#2f2f2f;
	color:#fff;
}
.team_slide .team .team_name .team_name_e{
	position: absolute;
	top:8px;
	left: 0;
	right: auto;
	width: 100%;
	padding-left:10px;
	box-sizing: border-box;
	-webkit-transform: skewX(-10deg);
	transform: skewX(-10deg);
	z-index: 2;
}
.team_slide .team .team_name .team_name_e img {
	width: 60%;
	margin: 5px;
}

@media screen and (min-width: 480px){
	.team_slide .team .team_name .team_name_e img{
		width: 60%;
		margin: 10px;
	}
}

@media screen and (min-width: 768px){
	.l-team_slide{
		max-width:1000px;
		margin: 0 auto 50px;
		padding: 0 15px;
	}
	.team_slide .team{
		overflow: hidden;
	}
	.team_slide .team a:before {
		transition: .3s;
		content:"";
		display: block;
		width:100%;
		height:100%;
		background:#fff;
		position: absolute;
		top:0;
		left:0;
		z-index: 10;
		opacity: 0;
	}
	.team_slide .team a:hover:before {
		opacity: 0.3;
	}
	.team_slide .team .team_member{
		margin-top:0;
		height: 270px;
	}
	.team_slide .team .team_member span {
		width: 100%;
		height: 270px;
		background-repeat:no-repeat;
		background-position: right bottom;
		background-size: 720px auto;
		padding: 0;
	}
	.team_slide .team .team_member{
		background-position: 12% 26%;
		background-repeat:  no-repeat;
		background-size: 16%;
	}
	.team_slide .team.team-merrypanic .team_member{
		background-image: url(../img/chara/team_logo_merry_white.png);
	}
	.team_slide .team.team-etoile .team_member{
		background-image: url(../img/chara/team_logo_etoile_white.png);
	}
	.team_slide .team.team-theaterbell .team_member{
		background-image: url(../img/chara/team_logo_theater_white.png);
	}
	.team_slide .team.team-sanzensekai .team_member{
		background-image: url(../img/chara/team_logo_sanzen_white.png);
	}
	.team_slide .team.team-toxic .team_member{
		background-image: url(../img/chara/team_logo_toxic_white.png);
	}
	.team_slide .team.team-bmc .team_member{
		background-image: url(../img/chara/team_logo_bmc_white.png);
	}

	.team_slide .team.team-merrypanic .team_member span {
		background-image: url(../img/chara/team_slide_merrypanic_pc.png);
	}
	.team_slide .team.team-etoile .team_member span {
		background-image: url(../img/chara/team_slide_etoile_pc.png);
	}
	.team_slide .team.team-theaterbell .team_member span {
		background-image: url(../img/chara/team_slide_theaterbell_pc.png);
	}
	.team_slide .team.team-sanzensekai .team_member span {
		background-image: url(../img/chara/team_slide_sanzensekai_pc.png);
	}
	.team_slide .team.team-toxic .team_member span {
		background-image: url(../img/chara/team_slide_toxic_pc.png);
	}
	.team_slide .team.team-bmc .team_member span {
		background-image: url(../img/chara/team_slide_bmc_pc.png);
	}
	.team_slide .team .team_name .team_name_j{
		padding:10px 10px 10px 20px;
	}
	.team_slide .team .team_name .team_name_e{
		top: auto;
		bottom: 55px;
		padding-left: 20px;
	}
	.team_slide .team .team_name .team_name_e img {
		width:20%;
		margin: 0;
	}
}
@media screen and (min-width: 980px){
	.team_slide .team .team_member{
		height: 300px;
	}
	.team_slide .team .team_member span {
		height: 300px;
		background-size: 850px auto;
	}
}
@media screen and (min-width: 1200px){
	.team_slide .team .team_member{
		height: 340px;
	}
	.team_slide .team .team_name .team_name_j{
		padding:10px 10px 10px 40px;
	}
	.team_slide .team .team_name .team_name_e{
		padding-left: 40px;
	}
	.team_slide .team .team_member span {
		height: 340px;
		background-size:1040px auto;
	}
}
/* slick setting */
.slick-prev,
.slick-next{
	z-index: 99;
	box-sizing: border-box;
}
.slick-prev:before,
.slick-next:before{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.slick-prev:before{
	left: 10px;
	width: 12px;
	height: 12px;
	border-bottom: 3px solid #fff;
	border-left: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.slick-next:before{
	left: -3px;
	width: 12px;
	height: 12px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.slick-prev:hover,
.slick-next:hover,
.slick-prev:focus,
.slick-next:focus{
	opacity: .5;
}

.slick-prev{
	left: 0;
}
.slick-next{
	right: 0;
}
.slick-prev:before,
.slick-next:before{
	opacity: 1;
	content:"";
	color:#000;
}
@media screen and (min-width: 768px) {
	.slick-prev,
	.slick-next{
		background: #fff;
		box-sizing: border-box;
		width: 40px;
		height: 60px;
	}
	.slick-prev:before,
	.slick-next:before{
		width: 16px;
		height: 16px;
	}
	.slick-prev:before{
		left: 12px;
		border-bottom: 4px solid #000;
		border-left: 4px solid #000;
	}
	.slick-next:before{
		left: 8px;
		border-top: 4px solid #000;
		border-right: 4px solid #000;
	}
	.slick-prev:hover,
	.slick-next:hover,
	.slick-prev:focus,
	.slick-next:focus{
		background: #fff;
		opacity: .5;
	}
}

.index-slideshow {
	margin: 0 auto;
	max-width: 100%;
	position: fixed;
	top: 0;
	width: 100%;
	height:100vh;
	z-index: -1;
	background: #000;
}
.index-slideshow span {
	display: block;
	animation: slideAnime 15s linear infinite 0s;
	opacity: 0;
	position: absolute;
	background-position: center top;
	background-repeat: no-repeat;
	background-color: #000;
	background-size: cover;
	width: 100%;
	max-width: 100%;
	height: 100%;
}

@keyframes slideAnime{
	0% {
		opacity: 0;
		-webkit-animation-timing-function: ease-in;
	}
	8% {
		opacity: 1;
		-webkit-transform: scale(1.05);
		-webkit-animation-timing-function: ease-out;
	}
	17% {
		opacity: 1;
		-webkit-transform: scale(1.1);
	}
	22% {
		opacity: 0;
		-webkit-transform: scale(1.1);
	}
	100% { opacity: 0 }
}

.index-slideshow span:nth-of-type(1) {
	animation-delay: 0s;
	-webkit-animation-delay: 0s;
	background-image:url("../img/index/slide01.jpg");
}

.index-slideshow span:nth-of-type(2) {
	animation-delay: 3s;
	-webkit-animation-delay: 3s;
	background-image:url("../img/index/slide02.jpg");
}

.index-slideshow span:nth-of-type(3) {
	animation-delay: 6s;
	-webkit-animation-delay: 6s;
	background-image:url("../img/index/slide03.jpg");
}

.index-slideshow span:nth-of-type(4) {
	animation-delay: 9s;
	-webkit-animation-delay: 9s;
	background-image:url("../img/index/slide04.jpg");
}

.index-slideshow span:nth-of-type(5) {
	animation-delay: 12s;
	-webkit-animation-delay: 12s;
	background-image:url("../img/index/slide05.jpg");
}

/* main-visual */

.main-visual {
	background: #000;
}
.main-visual .main-visual-inner {
	max-width: 1400px;
	margin: 0 auto;
}
.main-visual img {
	width: 100%;
}

.carousel-wrap .carousel {
	position: relative;
}

.carousel-wrap .content-inner {
	width: 100%;
	height: calc(100vh - 52px);
}
@media screen and (min-width: 768px) {
	.carousel-wrap .content-inner {
		max-height: 700px;
		min-height: 600px;
	}
}
@media screen and (min-width: 1400px) {
	.carousel-wrap .content-inner {
		max-height: 800px;
		min-height: 700px;
	}
}

.carousel-wrapper {
	margin-top: 24px;
	text-align: center;
}
.carousel-wrap .content {
	position: relative;
	overflow: hidden;
}
.carousel-wrap .content::after {
	content: "";
	display: block;
	background: url(../img/index/triangle_bg_b.svg) center bottom no-repeat;
	background-size: 100% 100%;
	width: 100%;
	padding-top: 7%;
	position: absolute;
	bottom:-1px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 10;
}

.carousel-wrap .content ul {
	overflow: hidden;
}

.carousel-wrap .content ul.ie > li {
	transition: opacity .3s;
}

.carousel-wrap .content ul > li {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	background-position: center;
	background-size: cover;
	opacity: 0;
}
.top_mv {
	background: url(../img/index/mv_sp.jpg) center top no-repeat;
	background-size: 100% auto;
	padding-top: 134.375%;
	position: relative;
}
.top_mv .logo-mv {
	position: absolute;
	bottom: 7px;
	width: 60%;
	max-width: 300px;
	left: 0;
	right: 0;
	margin: auto;
}
.top_mv::after {
	content: "";
	display: block;
	background: url(../img/index/triangle_bg_b.svg) center bottom no-repeat;
	background-size: 100% 100%;
	width: 100%;
	padding-top: 7%;
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 10;
}
@media screen and (min-width: 768px) {
	.top_mv {
		background: url(../img/index/mv_pc.jpg) center top no-repeat;
		background-size: 100% auto;
		padding-top: 57.875%;
	}
	.top_mv .logo-mv {
		max-width: 360px;
		bottom: 25px;
		width: 30%;
	}
}

.carousel-wrap .content ul > li[aria-hidden="true"] {
	opacity: 0;
}

.carousel-wrap .content ul > li[aria-hidden="false"] {
	opacity: 1;
}

.carousel-wrap .content ul > li.anime-scale-01, .carousel-wrap .content ul > li.anime-scale-02 {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
	overflow: hidden;
	margin: auto;
	background-image: url(../img/index/img_carousel_01.jpg);
	background-position: center top;
	opacity: 1 !important;
	-ms-transform-origin: center center 0;
	transform-origin: center center 0;
	animation: scale-show .5s linear forwards;
	-webkit-clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
	clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
}
.carousel-wrap .content ul > li.anime-scale-02 {
	background-image: url(../img/index/img_carousel_02.jpg);
	background-position: center top;
}
.carousel-wrap .content ul > li:nth-child(1) {
	height: 100vh;
	background-image:url(../img/index/img_carousel_01.jpg);
	background-position: center top;
}
.carousel-wrap .content ul > li:nth-child(2) {
	background-image:url(../img/index/img_carousel_02.jpg);
	background-position: center top;
}
@media screen and (min-width: 1600px) {
	.carousel-wrap .content ul > li{
		background-size: 1600px auto;
		background-repeat: no-repeat;
	}
}
.carousel-wrap .content .logo-main-visual {
	position: absolute;
	right: 0;
	bottom: 28px;
	left: 0;
	z-index: 11;
	width: 410px;
	height: 220px;
	margin: auto;
}

.carousel-wrap .pc {
	display: inline !important;
}

@media screen and (max-width: 767px) {
	.carousel-wrap .pc {
		display: none !important;
	}
	.carousel-wrap .sp {
		display: inline !important;
	}
	.carousel-wrap .content-inner {
		height: calc(100vh - 90px);
		min-height: 500px;
	}
	.carousel-wrap .content ul > li.anime-scale-01 {
		background-image: url(../img/index/img_carousel_01_sp.jpg);
		background-position: center top 25%;
	}
	.carousel-wrap .content ul > li.anime-scale-02 {
		background-image: url(../img/index/img_carousel_02_sp.jpg);
		background-position: center top;
	}
	.carousel-wrap .content ul > li:nth-child(1) {
		background-image: url(../img/index/img_carousel_01_sp.jpg);
		background-position: center top 25%;
	}
	.carousel-wrap .content ul > li:nth-child(2) {
		background-image: url(../img/index/img_carousel_02_sp.jpg);
		background-position: center top;
	}
	.carousel-wrap .content .logo-main-visual {
		bottom: 32px;
		width: calc(100% - 90px);
		max-width: 300px;
		height: auto;
	}
	.carousel-wrap .content .logo-main-visual img {
		width: auto;
	}
}

@keyframes scale-show {
	0 {
		-webkit-clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
		clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
	}
	100% {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}

#top-mv-player {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.top-mv-player {
	width: 100%;
	padding-bottom: 50%;
	background-attachment: fixed;
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	background: url(../img/index/overlay.png) rgba(0,0,0,0.4);
	position: relative;
}
.top-mv-player::before{
	content: "";
	display: block;
	background: url(../img/index/triangle_bg2_b.svg) center bottom no-repeat;
	background-size: 100% 100%;
	width: 100%;
	padding-top: 7%;
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	margin: auto;
}
.top-mv-player::after{
	content: "";
	display: block;
	background: url(../img/index/triangle_bg_w.svg) center bottom no-repeat;
	background-size: 100% 100%;
	width: 100%;
	padding-top: 7%;
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	margin: auto;
}

.top-mv-player .text-wrapper {
	position: absolute;
	right: 0;
	bottom: 20%;
	left: 0;
	width: 629px;
	margin: 0 auto;
	padding: 0 20px;
}

.top-mv-player .text-01, .top-mv-player .text-02 {
	text-align: center;
}

.top-mv-player .text-02 {
	margin-top: 40px;
}

.top-mv-player .btn_modal {
	display: block;
	margin-top: 40px;
	text-align: center;
}
.top-mv-player .btn_modal img{
	-webkit-transition: 0.5s ease;
	transition: 0.5s ease;
}
.top-mv-player .btn_modal:hover img {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
@media screen and (max-width: 1400px) {
	.top-mv-player {
		padding-bottom: 55%;
	}
	.top-mv-player .text-wrapper {
		bottom: 15%;
	}
}
@media screen and (max-width: 900px) {
	.top-mv-player {
		padding-bottom: 90%;
	}
}
@media screen and (max-width: 767px) {
	.top-mv-player {
		padding-bottom: 140%;
	}
	.top-mv-player .text-wrapper {
		width: auto;
	}
}

/* top-title */
.top-hdg {
	font-size: 4.6rem;
	line-height: 1.2;
	font-family: "Oswald", sans-serif;
	color: #fff;
	letter-spacing: .1em;
	-webkit-transform: skewX(-10deg);
	transform: skewX(-10deg);
	position: relative;
}
.top-section-01 .top-hdg {
	font-size: 2.5rem;
}
.top-hdg .inner {
	display: block;
}

@media screen and (min-width: 768px) {
	.top-hdg {
		display: inline-block;
		padding: 0 50px;
	}
}
@media screen and (min-width: 960px) {
	.top-section-01 .top-hdg {
		font-size: 4rem;
	}
}
@media screen and (max-width: 767px) {
	.top-hdg {
		padding: 0 25px;
		font-size: 2.6rem;
	}
	.top-hdg .inner {
		padding: 1px 0;
	}
}
@media all and (-ms-high-contrast: none) {
	.top-hdg .inner {
		letter-spacing: .1em;
	}
}

.top-section-01 {
	padding: 15px 0 40px;
	background: #000;
	position: relative;
}
.top-section-01 .top-section-01-head {
	/*display: -webkit-box;
	display: flex;
	-webkit-box-align: end;
	align-items: flex-end;
	-webkit-box-pack: justify;
	justify-content: space-between;
	max-width: 1000px;
	margin: -40px auto 15px;*/
	position: relative;
	z-index: 11;
}
.top-section-01 .ttl-wrapper .top-hdg{
	padding: 0 5px;
}
@media screen and (min-width: 768px) {
	.top-section-01 {
		padding: 15px 0 20px;
	}
	.top-section-01 .top-section-01-head {
		display: -webkit-box;
		display: flex;
		-webkit-box-align: end;
		align-items: flex-end;
		-webkit-box-pack: justify;
		justify-content: space-between;
		max-width: 1000px;
		margin: -45px auto 15px;
	}
}
@media screen and (min-width: 960px) {
	.top-section-01 .ttl-wrapper{
		width: 30%;
	}
}
@media screen and (max-width: 1320px) {
	.top-section-01 .ttl-wrapper{
		padding: 0 10px;
	}
}

.top-movie-01 {
	width: 100%;
}
.top-section-02 {
	position: relative;
	overflow: hidden;
}
.top-section-02 .top-hdg {
	position: absolute;
	background: url(../img/index/ttl_bg_tri.svg) no-repeat right top;
	background-size: 100% auto;
	padding: 20px 20px 27px 105px;
	min-width: 207px;
	top: 4%;
	right: -8px;
	z-index: 2;
}

@media screen and (min-width: 768px) {
	.top-section-02 .top-hdg {
		min-width: 370px;
		top: 8%;
		background-size: 100% auto;
		padding: 35px 0 46px 188px;
		right: -15px;
	}
}


.top-section-03 {
	padding: 80px 0 40px;
	background: #fff;
	position: relative;
	overflow: hidden;
}
.top-section-03 .top-hdg {
	position: absolute;
	top: 0;
	left: -15px;
	min-width: 281px;
	background: url(../img/index/ttl_bg_tri2.svg) no-repeat left top;
	background-size: 100% auto;
	padding: 27px 0 50px 29px;
	margin-bottom: -20px;
	color:#000;
}
@media screen and (min-width: 768px) {
	.top-section-03 {
		padding: 114px 0 20px;
	}
	.top-section-03 .top-hdg {
		min-width: 468px;
		top: 0;
		left: -15px;
		padding: 51px 0 71px 33px;
	}
}
.top-section-04 {
	position: relative;
	padding: 100px 0 60px;
	background: #00cee5;
	overflow: hidden;
}
.top-section-04::after{
	content: "";
	display: block;
	background: url(../img/index/triangle_bg2_w.svg) center bottom no-repeat;
	background-size: 100% 100%;
	width: 100%;
	padding-top: 7%;
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	margin: auto;
}

.top-section-04 .top-hdg {
	position: absolute;
	background: url(../img/index/ttl_bg_tri3.svg) no-repeat right top;
	background-size: 100% auto;
	padding: 22px 0 28px 100px;
	min-width: 227px;
	top: 4%;
	right: -11px;
}
@media screen and (min-width: 768px) {
	.top-section-04 {
		padding: 40px 0 100px;
	}
	.top-section-04 .top-hdg {
		min-width: 387px;
		top: 8%;
		padding: 38px 0 52px 165px;
		right: -15px;
	}
}

.box-twitter {
	display: -ms-flexbox;
	display: flex;
	max-width: 935px;
	height: 690px;
	margin: 0 auto;
	padding: 95px 45px;
}

.box-twitter .side {
	position: relative;
	width: 260px;
}

.box-twitter .balloon {
	position: absolute;
	right: 0;
	bottom: 45px;
	width: 203px;
	display: block;
}

.box-twitter .btn-twitter {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 203px;
}

.box-twitter .btn-twitter a {
	display: block;
	font-style: italic;
	font-size: 2.7rem;
	line-height: 1;
	font-family: "Oswald", sans-serif;
	color: #000;
	text-align: center;
	background: #fff;
	border:1px solid #fff;
}

.box-twitter .btn-twitter a::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 36px;
	display: block;
	width: 22px;
	height: 18px;
	margin: auto;
	background-image: url(../img/common/sprite.png);
	background-position: 0 0;
	content: "";
}

.box-twitter .btn-twitter a::after {
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	display: block;
	width: 0;
	height: 0;
	margin: auto 0;
	border-width: 7.5px 0 7.5px 13px;
	border-style: solid;
	border-color: transparent transparent transparent #000;
	content: "";
}

.box-twitter .btn-twitter a:hover::before,
.box-twitter .btn-twitter a:active::before,
.box-twitter .btn-twitter a:focus::before {
	width: 22px;
	height: 18px;
	background-image: url(../img/common/sprite.png);
	background-position: -25px 0;
}

.box-twitter .btn-twitter a:hover img,
.box-twitter .btn-twitter a:active img,
.box-twitter .btn-twitter a:focus img {
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}

.box-twitter .btn-twitter a:hover::after,
.box-twitter .btn-twitter a:active::after,
.box-twitter .btn-twitter a:focus::after {
	border-color: transparent transparent transparent #fff;
}

.box-twitter .btn-twitter a span {
	position: relative;
	z-index: 0;
	display: block;
	padding: 8px;
}

.box-twitter .btn-twitter a span::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	width: 0;
	height: 100%;
	background: #000;
	content: "";
	transition: width .3s;
}

.box-twitter .btn-twitter a:hover, .box-twitter .btn-twitter a:active, .box-twitter .btn-twitter a:focus {
	color: #fff;
	border: 1px solid #fff;
}

.box-twitter .btn-twitter a:hover::before, .box-twitter .btn-twitter a:active::before, .box-twitter .btn-twitter a:focus::before {
	z-index: 1;
	border-color: transparent transparent transparent #fff;
}

.box-twitter .btn-twitter a:hover span::before, .box-twitter .btn-twitter a:active span::before, .box-twitter .btn-twitter a:focus span::before {
	width: 100%;
}

.box-twitter .btn-twitter::before {
	width: 0;
}

@media screen and (max-width: 767px) {
	.box-twitter {
		display: block;
		height: auto;
		padding: 32px 20px;
	}
	.box-twitter .main {
		text-align: center;
	}
	.box-twitter .balloon, .box-twitter .btn-twitter {
		position: static;
	}
	.box-twitter .balloon {
		width: 184px;
		margin: 20px auto 0;
	}
	.box-twitter .btn-twitter {
		width: 184px;
		margin: 0 auto;
	}
	.box-twitter .side {
		margin: 0 auto;
	}
}

.box-twitter .btn-twitter a::before {
	left: 24px;
}

@media all and (-ms-high-contrast: none) {
	.box-twitter .btn-twitter a::before {
		left: 24px;
	}
}

/* video */

.top-movie {
	position: fixed;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	height: 100vh;
}

.top-movie::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	content: "";
}

.top-movie video {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 100vw;
	min-height: 100vh;
	opacity: .8;
}

.link-more-01 {
	position: relative;
	margin-top: 10px;
}

.link-more-01 a {
	position: absolute;
	top: 0;
	right: 0;
	padding: 8px 40px 8px 20px;
	font-size: 2.2rem;
	font-family: "Oswald", sans-serif;
	color: #fff;
	border: 1px solid #00CEE5;
}
@media screen and (max-width: 767px) {
	.link-more-01 a {
		margin-right: 0;
	}
}
@media screen and (min-width: 768px) {
	.link-more-01 {
		margin-top: 0;
	}
}

.link-more-01 a::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	width: 0;
	height: 100%;
	background: #00cee5;
	content: "";
	transition: width .3s;
}

.link-more-01 a::after {
	position: absolute;
	top: 0;
	right: 9px;
	bottom: 0;
	display: block;
	width: 0;
	height: 0;
	margin: auto 0;
	border-width: 6px 0 6px 9px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	content: "";
}

.link-more-01 a:hover,
.link-more-01 a:active,
.link-more-01 a:focus {
	color: #fff;
}

.link-more-01 a:hover::before,
.link-more-01 a:active::before,
.link-more-01 a:focus::before {
	width: 100%;
}

.link-more-01 a:hover::after,
.link-more-01 a:active::after,
.link-more-01 a:focus::after {
	border-color: transparent transparent transparent #fff;
}


#loading {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9000;
	width: 100vw;
	height: 100vh;
	background: #000;
	transition: all 1s;
}
.state-script-enabled #loading::before {
	content:'';
	display: block;
	width:245px;
	height:81px;
	background-image: url(../img/index/logo_loading.png);
	background-size:100% auto;
	background-position: center top;
	background-repeat: no-repeat;
	position: absolute;
	left:0;
	right:0;
	top:45%;
	margin:auto;
	animation: loadingLogoAnime 0.6s ease 1;
	-webkit-animation: loadingLogoAnime 0.6s ease 1;
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both;
}

@keyframes loadingLogoAnime {
	0% {
		opacity: 0;
		transform:scale(1.4);
	}
	100% {
		opacity: 1;
		transform:scale(1);
	}
}
@-webkit-keyframes loadingLogoAnime {
	0% {
		opacity: 0;
		transform:scale(1.4);
	}
	100% {
		opacity: 1;
		transform:scale(1);
	}
}
.state-script-enabled #loading.is-loaded {
	z-index: -1;
	opacity: 0;
}

.video_loading {
	background-image: url(../img/index/video_loading.jpg);
	background-color: #000;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	position: fixed;
	height: 100vh;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	z-index: -1;
}
.video_loading ::after {
	content:'';
	display: block;
	width:100px;
	height:100px;
	background-image: url(../img/common/loading.svg);
	background-size:100% auto;
	background-position: center top;
	background-repeat: no-repeat;
	position: absolute;
	left:0;
	right:0;
	top:50%;
	margin:auto;
}

/*main banner*/
.top-section-01  .mv_bn .mv_bn-inner {
	padding: 0 15px 0 5px;
}
.top-section-01 .mv_bn a {
	display: inline-block;
	transition: opacity .5s;
}
.top-section-01 .mv_bn a:hover {
	opacity: 0.8;
}
.top-section-01 .mv_bn .mv_bn-pre_reg {
	display: none; /*事前登録バナー表示制御*/
}
.top-section-01 .mv_bn .mv_bn-sketch img {
	width: 150px;
}
@media screen and (min-width: 480px) {
	.top-section-01 .mv_bn .mv_bn-sketch img {
		width: 200px;
	}
}
@media screen and (min-width: 768px) {
	.top-section-01  .mv_bn .mv_bn-inner {
		padding: 0 10px;
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: end;
		justify-content: flex-end;
	}
	.top-section-01 .mv_bn .mv_bn-pre_reg {
		display: block;
		margin-right: 15px;
	}
	.top-section-01 .mv_bn .mv_bn-pre_reg img {
		max-width: 366px;
		width: 100%;
	}
	.top-section-01 .mv_bn .mv_bn-pre_reg a {
		background: rgba(0,0,0,0.8);
		border: 1px solid #fff;
	}
	.top-section-01 .mv_bn .mv_bn-sketch img {
		max-width: 137px;
		width: 100%;
	}
}
@media screen and (min-width: 980px) {
	.top-section-01 .mv_bn .mv_bn-pre_reg img {
		max-width: 428px;
	}
	.top-section-01 .mv_bn .mv_bn-sketch img {
		max-width: 160px;
	}
}
@media screen and (min-width: 1320px) {
	.top-section-01  .mv_bn .mv_bn-inner {
		padding: 0;
	}
	.top-section-01 .mv_bn .mv_bn-pre_reg img {
		max-width: 475px;
	}
	.top-section-01 .mv_bn .mv_bn-sketch img {
		max-width: 183px;
	}
}


/*事前登録-----------------------------*/
/*下部バナー*/
.foot_fixed_bn {
	display: block;
	width: 100%;
	max-width: 500px;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 999;
	text-align: center;
	padding: 0 10px;
	transition: opacity 0.5s;
}

.foot_fixed_bn a{
	display: block;
	background: rgba(0,0,0,0.8);
	border-color: #fff;
	border-style: solid;
	border-width: 2px 2px 0 2px;
	transition: all 0.5s ease;
}
.foot_fixed_bn a:hover {
	background: rgba(0, 135, 140, 0.8);
}
@media screen and (min-width: 768px) {
	.foot_fixed_bn {
		left: 0;
		right: auto;
		padding: 0;
	}
	.foot_fixed_bn a{
		border-width: 2px 2px 0 0;
	}

	/*PCのみスクロールした時だけ表示*/
	.foot_fixed_bn.active {
		opacity: 1;
	}
	.foot_fixed_bn.hide {
		opacity: 0;
	}
}

.top_dl_btn {
	margin: 0 0 10px 0;
}
.top_dl_btn ul {
	display: flex;
	justify-content: center;
	padding: 0 10px;
	max-width: 420px;
	margin: 0 auto;
}
.top_dl_btn ul li {
	padding: 5px;
}
.top_dl_btn ul li a img{
	width: 100%;
	transition: opacity 0.5s;
}
.top_dl_btn ul li a:hover img{
	opacity: 0.5;
}
.top_dl_btn ul li img{
	width: 100%;
}
@media screen and (min-width: 768px) {
	.top_dl_btn {
		order: 2;
		margin: 0;
	}
}

/* ------------------------------------------------- */

.offline-backup {
	width: 90%;
	max-width: 350px;
	margin: 0 auto;
	padding-top: 80px;
	text-align: center;
	font-size: 14px;
	line-height: 18px;
}

.offline-backup a {
	display: block;
	position: relative;
	transition: .3s;
}
.offline-backup a:hover {
	opacity: 0.6;
}

.offline-backup a:before,
.offline-backup a:after {
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	z-index: 10;
}

.offline-backup a:before {
	top: 0;
	left: 0;
	border-top: 15px solid #f12795;
	border-right: 15px solid transparent;
	border-bottom: 15px solid transparent;
}

.offline-backup a:after {
	bottom: 0;
	right: 0;
	border-bottom: 15px solid #f12795;
	border-left: 15px solid transparent;
	border-top: 15px solid transparent;
}

.offline-backup .link-btn {
	width: 100%;
	padding: 10px 30px 10px 20px;
	color: #000;
	background: #fff;
	position: relative;
}

.offline-backup .link-btn:after {
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	display: block;
	width: 0;
	height: 0;
	margin: auto 0;
	border-width: 6px 0 6px 9px;
	border-style: solid;
	border-color: transparent transparent transparent #f12795;
	content: "";
}

.offline-backup .link-btn span {
	display: inline-block;
}

@media screen and (min-width: 768px) {
	.offline-backup {
		padding-top: 60px;
		font-size: 15px;
		line-height: 22px;
	}
}
