@charset "utf-8";
/* CSS Document */

/*共通*/

.txtShadow{text-shadow:1px 1px 2px #fff,0px 0px  3px #fff,0px 0px  5px #fff;}
.actionObject{
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
}
.actionObject.showAction{
	opacity: 1;
}
.midashi{/*見出し*/
	margin: 0 auto 1em;
	max-width: 800px;
	position: relative;
}

.midashi img{
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	transform: translateY(1em);
	position: relative;
	display: inline-block;
}
.action .midashi img{
	opacity: 1;
	transform:  translateY(0);
}
.midashi span{
	width: 60%;
	max-width: 404px;
	margin: 0 auto;
	position: relative;
	display: block;
	z-index: 3;
}
.midashi span:before{
	content: "";
	display: block;
	position: absolute;
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	width: 100%;
	height: 2px;
	background-color: var(--blue);
	bottom: 0;
	left: 0;
	transform: scaleX(0);
}
.action .midashi span:before{
	transform: scaleX(1);
	height: 2px;
	opacity: 1;
}
/*コンテンツ別見出し背景*/
.midashi:before{
	content: "";
	width: 100%;
	top:-2em;
	left: 0;
	height: 262px;
	position: absolute;
	display: block;
	background-position: left top;
	background-size: 100% auto;
	background-repeat: no-repeat;
	transition: filter 0.5s 0s ease;
	filter: blur(2em);
}

.action .midashi:before{
	filter: blur(0);
	
}

#topMovie .midashi:before,
#topStory .midashi:before,
#topChara .midashi:before,
#topProduct .midashi:before{
	top:-4em;
}
#topMovie .midashi:before{
	background-image: url("../img/midashi_traler_bg.png");
}
#topStory .midashi:before,#story .midashi:before{
	background-image: url("../img/midashi_story_bg.png");
}
#topChara .midashi:before,#chara .midashi:before{
	background-image: url("../img/midashi_chara_bg.png");
}
#topProduct .midashi:before,#product .midashi:before{
	background-image: url("../img/midashi_product_bg.png");
}
#news .midashi:before{
	background-image: url("../img/midashi_news_bg.png");
}
#movie .midashi:before{
	background-image: url("../img/midashi_movie_bg.png");
}
#gallery .midashi:before{
	background-image: url("../img/midashi_gallery_bg.png");
}
#system .midashi:before{
	background-image: url("../img/midashi_system_bg.png");
}
#sound .midashi:before{
	background-image: url("../img/midashi_sound_bg.png");
}
#special .midashi:before{
	background-image: url("../img/midashi_special_bg.png");
}
#item .midashi:before{
	background-image: url("../img/midashi_item_bg.png");
}

.frame{
	position: relative;
	background-color: #000;
}
.gridArea{
	display: grid;
	column-gap: 1em;
	row-gap: 1em;
	grid-template-columns:repeat(1, 1fr);
}

.gridArea .gridBox .txt{
	padding: 0.5em 0 0;
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	transform: translateY(2em);

}

.gridArea .gridBox.action .txt{
	opacity: 1;
	transform: translateY(0);
}
.gridArea .gridBox .img{
	text-align: center;
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	transform: scale(1.1);
}
.gridArea .gridBox.action .img{
	opacity: 1;
	transform: scale(1);
}

.gridBg{
	background-color: #fff;
	background-image: url("../img/bg_sq.png");
	border-radius: 6px;
	border: var(--blue) 2px solid;
	padding: 1em;
	background-size: 2em auto;
}
.gridBg h2{
	margin-bottom: 0.5em;
}
.gridBg:not(.bonus) h2 span,.midashi2 span{
	color: #fff;
	background-color:var(--blue);
	padding: 0.5em 1em;
	width: 100%;
	display: block;
	font-weight: bold;
	letter-spacing: 1px;
	border-radius: 50px;
	position: relative;
	overflow: hidden;
	border: var(--blue) 2px solid;
	text-shadow: none;
	text-align: center;
}
.gridBg:not(.bonus) h2 span:before,.midashi2 span:before{
	content: "";
	width: 1.5em;
	top:0;
	bottom: 0;
	position: absolute;
	display: block;
	left: 0;
	background-position:left center;
	background-repeat: no-repeat;
	background-size:contain;

	background-image: url("../img/sibe_icon_w.png");
}
.gridBg:not(.bonus) h2 span:after,.midashi2 span:after{
	content: "";
	width: 1.5em;
	top:0;
	bottom: 0;
	position: absolute;
	display: block;
	right: 0;
	background-position:left center;
	background-repeat: no-repeat;
	background-size:contain;
	transform: scale(-1,1);

	background-image: url("../img/sibe_icon_w.png");
}
.gridBg.bonus{
	padding: 0;
	overflow: hidden;
	box-shadow: 0.5em 0.5em var(--blue);
}
.gridBg.bonus .box{
	padding: 1em;
}

.gridBg.bonus h2{
	background-color: var(--blue);
	text-align: center;
	padding: 1em;
}
.gridBg.bonus h2:before{
	content: "";
	width: 5em;
	top:0;
	bottom: 0;
	left: 0;
	background-image: url("../img/img_lt.png");
	background-position: left top;
	background-repeat: no-repeat;
	position: absolute;
	display: block;
	background-size: contain;
	
}

.gridBg h3:not(.non),.midashi3{
	background: linear-gradient(90deg,#2a4073,#6174a0);
	padding: 0.5em;
	color: #fff;
	border-radius: 6px;
	position: relative;
	
}
.gridBg h3:not(.non):before,.midashi3:before{
	content: "";
	width: 5em;
	top:0;
	bottom: 0;
	right: 0;
	background-image: url("../img/img_lt.png");
	background-position: left top;
	background-repeat: no-repeat;
	transform: scale(-1,1);
	position: absolute;
	display: block;
	background-size: contain;
	
}
.gridBg .box{
	padding: 0.5em;
}
.gridBg.bonus .txt{
	padding: 0.5em;
	
}
.gridBg.bonus h4{
	display: inline-block;
	padding:0.2em 0.5em;
	color: #fff;
	background-color: var(--blue);
	border-radius: 6px;
	font-size: 0.9em;
}

.wideBox{
	margin-bottom: 2em;
	
}
.wideBox.gridBg{
	box-shadow: 0.5em 0.5em var(--blue);
}
.wideBox.gridBg h2 span{
	padding:  1em;
}

.wideBox .img{
	text-align: center;
}
/*TOP*/
.topArea{
	background-image: url("../img/smp/top_img.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
/*----------------------------------------------------------------
TOP葉っぱ
-----------------------------------------------------------------*/
.topMainArea{
	position: relative;

}
.topMainArea:before{
	content: "";
	width: 100%;
	height: 40vw;
	position: absolute;
	display: block;
	background-image: url("../img/smp/wave_bg.png");
	background-position: center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	top:0.5em;
	left: 0;
	z-index: -1;
	opacity: 0.6;
}
/*キャッチテキスト*/
#topCatch {
	padding: 3em 0;
	position: relative;
	line-height: 1.8em;
	background-color: var(--blue);
	color: #fff;
	text-align: center;
}
.catct_h2 span{
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	transform: translateY(1em);
	position: relative;
	display: inline-block;
	padding: 0 0 0.3em;
	font-size: 2em;
	
}
.action .catct_h2 span{
	opacity: 1;
	transform:  translateY(0);
}

.catct_h2 {
	position: relative;
}
.catct_h2:before{
	content: "";
	display: block;
	position: absolute;
	transition: transform 0.8s 0s ease-out,opacity 0.8s 0s ease;
	opacity: 0;
	width: 100%;
	height: 2px;
	background-color:#fff;
	bottom: 0;
	left: 0;
	transform: scaleX(0);
}
.action .catct_h2:before{
	transform: scaleX(1);
	height: 2px;
	opacity: 1;
}
#topCatch .catchTxt{
	padding-top: 0.8em;
}
/*ニュース*/
#news .secondArea{
	min-height: 60vh;
}
/*ストーリー*/
.asagaoBg{
	background-image: url("../story/img/asagao.png");
	background-position: right top;
	background-repeat: no-repeat;
	background-size: 200% auto;
	overflow: hidden;
}
.circleBox{
	width: 100%;
	position: relative;
	
}
.circleBox:before{
	content: "";
	top:-5em;
	bottom: -4em;
	width: 100%;
	background-image: url("../story/img/circle_out.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	position: absolute;
	display: block;
	/*z-index: 1;*/
	transition: transform 0.8s 0.2s ease-out,opacity 0.8s 0.2s ease;
	transform: rotate(15deg);
	opacity: 0;
}

.circleBox:after{
	content: "";
	top:-5em;
	bottom: -4em;
	width: 100%;
	background-image: url("../story/img/circle_in.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	position: absolute;
	display: block;
	/*z-index: 1;*/
	transition: transform 0.8s 0.2s ease-out,opacity 0.8s 0.2s ease;
	transform: rotate(-15deg);
	opacity: 0;

}
#story .circleBox{
	padding-bottom: 5em;
}
#story .circleBox:before,#story .circleBox:after{
	top:-4em;
}
.action .circleBox:before,
.action .circleBox:after{
	transform: rotate(0);
	opacity: 1;
}

.storyBox{
	line-height: 1.8em;
	padding: 1em 0.2em;
	text-align: center;
	position: relative;
	max-width: 32em;
	margin: 0 auto;
	z-index: 2;
}
.storyBox:before{
	content: "";
	width: 100%;
	top:0;
	bottom: -1em;
	display: block;
	position: absolute;
	background-image: url("../img/bg_w50.png");
	filter: blur(1em);
	border-radius: 50px;
}
.storyBox .storyCatch{
	font-size: 1.6em;
	line-height: 1.5em;
	padding: 0.5em 0 1.2em;
	font-weight: 500;
	position: relative;
	z-index: 2;
}


.storyTxt{
	display: block;
	transition: transform 0.8s 0.1s ease-out,opacity 0.8s 0.1s ease;
	opacity: 0;
	transform: translateY(1em);
	z-index: 2;
	position: relative;

}
#story .storyTxt{
		transition: transform 0.8s 0.1s ease-out,opacity 0.8s 0.1s ease;

}
.action .storyTxt{
	transform: translateY(0);
	opacity: 1;
	
}

/*TOP製品情報波飾り*/
#topProduct{
	position: relative;
}
#topProduct:after{
	content: "";
	width: 100%;
	position: absolute;
	display: block;
	left: 0;
	top:41%;
	height: 5em;
	background-image: url("../img/smp/product_bg_wave.png");
	background-position: left top;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	
}

/*サウンド*/
#sound .img{
	padding: 1em;
}
#sound .txtBox{
	padding: 0.5em;
}
.songInfo{
	text-align: center;
	padding: 0 0 2em;
}
.songTitle{
	font-size: 1.8em;
	font-weight: 500;
	line-height: 1.5em;
}
.songArtist{
	font-size: 0.7em;
	line-height: 1.5em;
	border-top:var(--blue) 1px solid;
	padding:0 0 1em;
	margin-top: 0.1em;
}

/*---------------------------------------------------------
@media
------------------------------------------------------------*/
/*PC*/
/*@media (min-width: 769px) {*/
@media (min-width: 1025px) {

.midashi:before{
	background-size: 70% auto;
}
.topMainArea:before{
	height: 20em;

	background-image: url("../img/pc/wave_bg.png");
}

.gridArea{

	grid-template-columns:repeat(2, 1fr);
}
	.topArea{
		background-image: url("../img/pc/top_img.jpg");
	}


/*ストーリー*/
.asagaoBg{
	background-size: 100% auto;
}	
.storyBox .storyCatch{
	font-size: 2em;
	line-height: 1.5em;
}
/*サウンド*/
	
.songInfo{
	padding: 3em 0 2em;
}

/*ムービー*/
/*.movieThumArea .movieThumBox{
	width: calc(calc(50% / 1) - 1em);
	margin: 0.5em;

}*/
/*TOP製品情報波飾り*/
#topProduct:after{
	
	background-image: url("../img/pc/product_bg_wave.png");
	height: 10em;

	
}

}