@charset "UTF-8";

html,body{
	width: 100%;
	height: 100%;
}
body{
	/*position: relative;
	z-index: 0;*/
	min-width: 320px;
	height: 100%;
	font-size: 14px;
	font-family: "メイリオ", "ＭＳ Ｐゴシック", Helvetica, sans-serif;
	-webkit-text-size-adjust: 100%;
	line-height: 1.6;
}

img {
	border-style:none;
	max-width: 100%;
	height: auto;
}



/*==================================
common
===================================*/
/*==== clearfix ====*/
.cf:before, .cf:after {
	content: "";
	display: table;
}
.cf:after { clear: both; }


/*==== hover ====*/
.-hover:hover {
	position:relative;
	top:2px;
}
.-hover02{
	opacity: 1;
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
}
html:not(.sp) .-hover02:hover{opacity: .8;}


/*.wrap{overflow: hidden;}*/


/* ========================================================
 bg
======================================================== */
.bgWrap{
	display: block;
	position: fixed;
	/*z-index: -99;*/
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../images/bg.jpg);
	background-position: 50% 0;
	background-size: cover;
}
.bgCharaWrap{
	position: fixed;
	/*z-index: 0;*/
	z-index: 3;
	width: 554px;
	height: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
.bgCharaWrap .chara{
	display: block;
	position: absolute;
	z-index: 0;
	bottom: 0;
}
.bgCharaWrap .chara.chara01{
	display: block;
	position: absolute;
	z-index: 0;
	left: -362px;
}
.bgCharaWrap .chara.chara02{
	display: block;
	position: absolute;
	z-index: 0;
	right: -375px;
}

.canvasWrap{
	position: fixed;
	z-index: 2;
	width: 534px;
	height: 100%;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	overflow: hidden;
}
#canvas1{
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#canvas2{
	position: fixed;
	z-index: 0;
	top: 0;
	left: 0;
	webkit-filter: blur(5px);
	filter: blur(5px); 
	background-image: url(../images/bg.jpg);
	background-position: 50% 0;
	background-size: cover;
}
html.ie #canvas2{display: none;}

.particlesWrap{
	position: fixed;
	z-index: 4;
	width: 554px;
	height: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
.particlesWrap .particle{
	position: absolute;
	z-index: 0;
}
.particlesWrap .particle:nth-child(1){
	bottom: 400px;
	left: -350px;
	-webkit-animation: particleAnime 5s 0s linear infinite;
	-ms-animation: particleAnime 5s 0s linear infinite;
	animation: particleAnime 5s 0s linear infinite;
}
.particlesWrap .particle:nth-child(2){
	bottom: 168px;
	left: -446px;
	-webkit-animation: particleAnime 4s -1s linear infinite;
	-ms-animation: particleAnime 4s -1s linear infinite;
	animation: particleAnime 4s -1s linear infinite;
}
.particlesWrap .particle:nth-child(3){
	bottom: -30px;
	left: -242px;
	-webkit-animation: particleAnime 6s -.5s linear infinite;
	-ms-animation: particleAnime 6s -.5s linear infinite;
	animation: particleAnime 6s -.5s linear infinite;
}
.particlesWrap .particle:nth-child(4){
	bottom: -30px;
	right: -310px;
	-webkit-animation: particleAnime 5s -.5s linear infinite;
	-ms-animation: particleAnime 5s -.5s linear infinite;
	animation: particleAnime 5s -.5s linear infinite;
}
.particlesWrap .particle:nth-child(5){
	bottom: 226px;
	right: -450px;
	-webkit-animation: particleAnime 4s -1.5s linear infinite;
	-ms-animation: particleAnime 4s -1.5s linear infinite;
	animation: particleAnime 4s -1.5s linear infinite;
}

@-webkit-keyframes particleAnime{
	  0%{-webkit-transform: scale( 1); opacity: 1;}
	 50%{-webkit-transform: scale(.8); opacity: 0;}
	100%{-webkit-transform: scale( 1); opacity: 1;}
}
@-ms-keyframes particleAnime{
	  0%{-ms-transform: scale( 1); opacity: 1;}
	 50%{-ms-transform: scale(.8); opacity: 0;}
	100%{-ms-transform: scale( 1); opacity: 1;}
}
@keyframes particleAnime{
	  0%{transform: scale( 1); opacity: 1;}
	 50%{transform: scale(.8); opacity: 0;}
	100%{transform: scale( 1); opacity: 1;}
}


@media (max-width: 640px) {
	.bgCharaWrap{
		width: 100%;
		left: 0%;
		-webkit-transform: translateX(0%);
		-ms-transform: translateX(0%);
		transform: translateX(0%);
	}
	.canvasWrap{width: 84%;}
	.bgCharaWrap{display: none;}

	.particlesWrap{width: 87%;}
	.particlesWrap .particle{width: 30%;}
	.particlesWrap .particle:nth-child(1){
		bottom: 40%;
		left: -28%;
	}
	.particlesWrap .particle:nth-child(2){
		bottom: 15%;
		left: -17%;
	}
	.particlesWrap .particle:nth-child(3){
		bottom: -10%;
		left: -7%;
	}
	.particlesWrap .particle:nth-child(4){
		bottom: 30%;
		right: -18%;
	}
	.particlesWrap .particle:nth-child(5){
		bottom: 5%;
		right: -26%;
	}
}



/* ========================================================
 main
======================================================== */
.mainArea{
	position: relative;
	z-index: 10;
	display: block;
}
.mainInner{
	position: relative;
	z-index: 0;
	width: 554px;
	margin: auto;
	background-image: url(../images/bg-contents.png);
	background-repeat: repeat-y;
	background-size: 100%;
}
.mainInner .logoWrap{
	position: relative;
	z-index: 0;
	width: 100%;
	margin: 0;
}
.mainInner .logoWrap .logoChara{display: none;}
.mainInner .bannerWrap{
	width: 91%;
	margin: auto;
	padding-bottom: 5%;
}
.mainInner .bannerWrap .banner{
	display: block;
	width: 100%;
	margin: 5% auto 0;
	opacity: 0;
}
.mainInner .bannerWrap .banner:first-child{margin: 2% auto 0;}
html.ie9 .mainInner .bannerWrap .banner{opacity: 1;}
.mainInner .bannerWrap .banner img{
	opacity: 1;
	will-change: transform;
}
html:not(.ie) .mainInner .bannerWrap .banner img{
	-webkit-transition: opacity .3s;
	-ms-transition: opacity .3s;
	transition: opacity .3s;
}
html:not(.sp) .mainInner .bannerWrap .banner:not(div):hover img{opacity: .8;}

.mainInner .bannerWrap .banner:nth-child(1){
	-webkit-animation: fadeInUp .3s 0s linear forwards;
	-ms-animation: fadeInUp .3s 0s linear forwards;
	animation: fadeInUp .3s 0s linear forwards;
}
.mainInner .bannerWrap .banner:nth-child(2){
	-webkit-animation: fadeInUp .3s .15s linear forwards;
	-ms-animation: fadeInUp .3s .15s linear forwards;
	animation: fadeInUp .3s .15s linear forwards;
}
.mainInner .bannerWrap .banner:nth-child(3){
	-webkit-animation: fadeInUp .3s .3s linear forwards;
	-ms-animation: fadeInUp .3s .3s linear forwards;
	animation: fadeInUp .3s .3s linear forwards;
}
.mainInner .bannerWrap .banner:nth-child(4){
	-webkit-animation: fadeInUp .3s .45s linear forwards;
	-ms-animation: fadeInUp .3s .45s linear forwards;
	animation: fadeInUp .3s .45s linear forwards;
}
.mainInner .bannerWrap .banner:nth-child(5){
	-webkit-animation: fadeInUp .3s .6s linear forwards;
	-ms-animation: fadeInUp .3s .6s linear forwards;
	animation: fadeInUp .3s .6s linear forwards;
}
.mainInner .bannerWrap .banner:nth-child(6){
	-webkit-animation: fadeInUp .3s .75s linear forwards;
	-ms-animation: fadeInUp .3s .75s linear forwards;
	animation: fadeInUp .3s .75s linear forwards;
}
.mainInner .bannerWrap .banner:nth-child(7){
	-webkit-animation: fadeInUp .3s .9s linear forwards;
	-ms-animation: fadeInUp .3s .9s linear forwards;
	animation: fadeInUp .3s .9s linear forwards;
}
.mainInner .bannerWrap .banner:nth-child(8){
	-webkit-animation: fadeInUp .3s 1.05s linear forwards;
	-ms-animation: fadeInUp .3s 1.05s linear forwards;
	animation: fadeInUp .3s 1.05s linear forwards;
}
.mainInner .bannerWrap .banner:nth-child(9){
	-webkit-animation: fadeInUp .3s 1.2s linear forwards;
	-ms-animation: fadeInUp .3s 1.2s linear forwards;
	animation: fadeInUp .3s 1.2s linear forwards;
}


/*==== fadeInUp ====*/
@-webkit-keyframes fadeInUp{
	  0%{-webkit-transform: translateY(15px); opacity: 0;}
	100%{-webkit-transform: translateY( 0px); opacity: 1;}
}
@-ms-keyframes fadeInUp{
	  0%{-ms-transform: translateY(15px); opacity: 0;}
	100%{-ms-transform: translateY( 0px); opacity: 1;}
}
@keyframes fadeInUp{
	  0%{transform: translateY(15px); opacity: 0;}
	100%{transform: translateY( 0px); opacity: 1;}
}
/*==== /fadeInUp ====*/

.colorboxImage{text-align: right;}
.colorboxImage .notice{
	display: inline-block;
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	margin-right: auto;
}


@media (max-width: 640px) {
	.mainInner{width: 87%;}
	.mainInner .logoWrap {
		width: 114%;
		margin-left: -7%;
	}
	.mainInner .logoWrap .logo{
		position: absolute;
		z-index: 1;
		bottom: 0;
		left: 0;
	}
	.mainInner .logoWrap .logoChara{display: block;}
}

.ft_banspace{
	width: 86%;
	margin: 5% auto;
}


/* ========================================================
 footer
======================================================== */
.pos-rel {
	position: relative;
	z-index: 10;
}
li {
	list-style: none;
}

.txt-platform {text-align:center;}
.txt-platform img {max-width:500px; height:auto;}

#footer {
	z-index: 100;
	width: 100%;
	margin: 0;
	padding-top: 2%;
	background: #000000;
	color: #fff;
}
.footer-txtinner {padding-top:0;}
.txt-platform {text-align: center;}
.txt-platform img {
	max-width: 500px;
	width: 100%;
	height: auto;
}
.ft-snsbtlist li a {display: block;}
.ft-snsbtlist li a img {width: 100%;}
.ft-txtlink{padding: 0;}
#fot-main .ft-txtlink li a{color: #fff;}
#fot-main .logo-copy img.segalogo{vertical-align: top;}
#fot-main .logo-copy .logo-copy-txt{
	vertical-align: bottom;
	line-height: 1;
}



@media screen and (min-width: 960px) {
	#footer{min-width: 960px;}
	.footer-inner {padding: 0;}
	.footer-txtinner {padding-bottom: 0;}
	#fot-main .logo-copy img.segalogo {
		width: 156px;
		height: auto;
	}
}

@media screen and (min-width: 1024px){
	.footer-inner {
		text-align: center;
		width: 1010px;
		margin: 0 auto;
		font-size: 16px;
	}
	.ft-snsbtlist {
		margin-top: 30px;
		text-align: center;
		padding: 0;
	}
	.top-snsbtlist li, .ft-snsbtlist li {
		width: 54px;
		display: inline-block;
		margin-left: 20px;
	}
	.top-snsbtlist li:first-child, .ft-snsbtlist li:first-child {
		margin: 0;
		width: 135px;
	}
	#fot-main {
		padding: 20px 10px 10px;
		text-align: left;
		color: #fff;
	}
	#fot-main .logo-copy {margin-bottom: 15px;}
	#fot-main .logo-copy img.segalogo {
		display: inline-block;
		margin-right: 15px;
	}
	#fot-main .logo-copy .logo-copy-txt {
		display: inline-block;
		color: #fff;
	}
	#fot-main .ft-txtlink {
		margin-top: 10px;
	}
	#fot-main .ft-txtlink li {
		display: inline-block;
		margin-right: 10px;
	}
	#fot-main .ft-txtlink li a {
		text-decoration: underline;
	}
}

@media screen and (max-width:1024px) {
	.footer-inner {
		width: 100%;
		min-width: 320px;
		margin: 0 auto;
		padding-top: 2%;
	}
	.footer-txtinner {
		background: -moz-linear-gradient(top, rgba(0,0,0,0) 1%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 100%);
		background: -webkit-linear-gradient(top, rgba(0,0,0,0) 1%,rgba(0,0,0,1) 50%,rgba(0,0,0,1) 100%);
		background: linear-gradient(to bottom, rgba(0,0,0,0) 1%,rgba(0,0,0,1) 50%,rgba(0,0,0,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
	}
	.plform-txt, .ft-snsbtlist {
		min-width: 320px;
		max-width: 400px;
		margin: 0 auto;
		text-align: center;
	}
	.ft-snsbtlist {
		margin-top: 2%;
		padding: 0;
	}
	.top-snsbtlist li, .ft-snsbtlist li {
		width: 14%;
		display: inline-block;
		margin-left: 5%;
	}
	.top-snsbtlist li:first-child, .ft-snsbtlist li:first-child {
		margin: 0;
		width: 35%;
	}
	#fot-main {
		padding: 4% 2% 3%;
		width: 100%;
		min-width: 320px;
		text-align: left;
		background: #000000;
		font-size: 2.2rem;
		line-height: 130%;
	}
	#fot-main .logo-copy {margin-bottom: 15px;}
	#fot-main .logo-copy img.segalogo {
		display: inline-block;
		margin-right: 3%;
		width: 40%;
		max-width: 156px;
	}
	#fot-main .logo-copy .logo-copy-txt {
		display: inline-block;
	}
	#fot-main .ft-txtlink {
		margin-top: 2%;
	}
	#fot-main .ft-txtlink li {
		display: inline-block;
		margin-right: 2%;
		margin-bottom: 2%;
	}
	#fot-main .ft-txtlink li a {
		text-decoration: underline;
	}
	#fot-main .ft-txtlink li:last-child {margin-right: 0;}
}


@media screen and (max-width: 640px){
	.txt-platform img {
		width: 80%;
	}
	#fot-main .logo-copy img.segalogo {
		width: 30%;
	}
}

@media screen and (max-width:530px) {
	.top-newslist ,
	#fot-main {
			font-size: 2.1rem;
	}

}
@media screen and (max-width:375px) {
	.top-newslist,
	#fot-main {
			font-size: 2.0rem;
	}
}