@charset "utf-8";

@-ms-viewport {
    width: device-width;
}


/* check
*{
	border:1px solid #FF0000;
}
*/

/* clearfix
------------------------------------------------*/
.clearfix { *zoom:1; }
.clearfix:before,
.clearfix:after {
	display: table;
	content:"";
	line-height: 0;
}
.clearfix:after { clear: both; }

/* 全体
------------------------------------------------*/
body {
	margin: 0;
	padding: 0;
	color:#333;
}
.wrapper {
	width: 100%;
	margin: 0 auto;
}
@media screen and (min-width:  641px) {
	.wrapper {
		width: 640px;
	}
}

/*　セクションに使用の画像　*/
.main img,.howto img,.about img,.play img,.atogaki img,.character h1 img,.comic h1 img,.comic h2 img{
	width: 100%;
}

/*  アイドルプリンスってどんなゲーム？
------------------------------------------------*/
.howto{
	overflow: hidden;
    width: 100%;
	background: url(../img/2_pat_poligon.png) repeat center / 499px,linear-gradient(0deg, rgba(249,179,255,1) 0%, rgba(0,242,254,1) 100%);
	padding: 1.7em 0 4em 0;
}
dl.howto_img{
	position: relative;
}
.howto dl dd{
	margin: 0 0 0 0;
}
dl.howto_img dt h1 img.howto_title01{
	width: 95%;
	position: relative;
	z-index: 2;
	animation-delay: 0s;
}
dl.howto_img dd img.howto_ss01{
	width: 60%;
	position: absolute;
	right:-2em;
	top:5%;
	z-index: 1;
	filter: drop-shadow(0 4px 10px rgba(135,49,15,0.74));
}
dl.howto_img dd img.howto_title01_bg{
	width: 40%;
	position: absolute;
	left:-3%;
	top:0;
	z-index: 0;
	animation-delay: 0.2s;
}
dl.howto_img dt h1 img.howto_title02{
	width: 95%;
	position: absolute;
	bottom: -15%;
	right:0;
	z-index: 3;
}
dl.howto_img dd img.howto_ss02{
	width: 65%;
	position: relative;
	z-index: 2;
	margin: 0 0 0 -5%;
	filter: drop-shadow(0 4px 10px rgba(135,49,15,0.74));
}
dl.howto_img dd img.howto_heart{
	width: 55%;
	position: absolute;
	right:2%;
	bottom: 5%;
	z-index: 2;
	animation-delay: 1s;
}
dl.howto_img dd img.howto_title02_bg{
	width: 40%;
	position: absolute;
	left:-5%;
	bottom:-20%;
	z-index: 0;
}
.howto h2 img {
	margin-top: 20%;
	animation-delay: 1s;
}

/* 4 遊べる機能がもりだくさん！
------------------------------------------------*/
.play{
	height: auto;
	overflow: hidden;
	padding: 0em 0 1em 0;
	background: url(../img/5_pat_dots.png) repeat center / 37px,linear-gradient(180deg, rgba(249,179,255,1) 0%, rgba(128,211,254,1) 100%);
}



/* スライドショー（キャラクター紹介＆生い立ち漫画）
------------------------------------------------*/
/*キャラクター紹介*/
.character{
	background: url(../img/5_pat_dots.png) repeat center / 37px,linear-gradient(0deg, rgba(102,253,246,1) 0%, rgba(49,202,255,1) 51%, rgba(128,211,254,1) 100%);
	padding: 2em 0;
	overflow: hidden;
}

/*生い立ち漫画*/
.comic{
	background: rgb(199,240,248);
	background: linear-gradient(0deg, rgba(199,240,248,1) 0%, rgba(236,224,251,1) 51%, rgba(254,250,210,1) 100%);
	padding: 2em 0;
	overflow: hidden;
}

/*スライドショー*/
.character_slider{
	position: absolute;
	top:0;
	padding: 0 0 3em 0;
	margin: 1.5em auto 0 auto;
	width: 100%;
}
.character_slider img{
	width: 90%;
	margin: 0 auto;
}

/*スライドショー矢印*/
.character_slider .slick-slide{
	height:auto!important;
  }
.character_slider .slick-next{
	position: absolute;
	top: 50%!important;
    right: 0!important;
    left: 2%!important;
    transform: translateY(-50%);
  }
.character_slider .slick-next:before{
    background: url(../img/btn_left.png) no-repeat center!important;
    background-size: contain!important;
  }
.character_slider .slick-prev{
    position: absolute;
	top: 50%!important;
    right: 0!important;
    left: 89%!important;
    transform: translateY(-50%);
  }
.character_slider .slick-prev:before{
    background: url(../img/btn_right.png) no-repeat center!important;
    background-size: contain!important;
  }
.character_slider .slick-arrow{
    z-index:2!important;
    width:35px!important;
    height:62.71px!important;
  }
.character_slider .slick-arrow:before{
    content:""!important;
    width: 100%!important;
    height: 100%!important;
    position: absolute;
    top: 0;
    left: 0;
    opacity:1!important;
  }

/*スライドショードット*/
.character_slider .slick-dots{
	position: absolute;
	bottom: 0px;
	z-index: 1;
}
.character_slider .slick-dots li.slick-active button:before{
	color: #121212;
	opacity: 1;
}

@media screen and (min-width:  641px) {
	.character_slider .slick-prev{
    left: 93%!important;
  }
}

/* LINE登録　下部固定
------------------------------------------------*/
#entry {
    position: fixed;
    z-index: 999;
	/*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}
#entry a{
	transition:all 0.3s;
}
.entry_sp{
	position: relative;
	width: 100%;
}
.entry_sp a img{
	width: 100%;
}

/*　上に上がる動き　*/
#entry.UpMove{
  animation: UpAnime 0.5s forwards;
	width: 100%;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#entry.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(250px);
  }
}

@media screen and (min-width:  641px) {
	#entry.UpMove {
		width: 640px;
	}
}

/* footer
------------------------------------------------*/
footer {
	width: 100%;
	text-align: center;
	font-size:12px;
	padding: 2em 0 1em 0;
	background: url(../img/8.png) no-repeat center top;
	background-size: cover;
	color: #fff;
	position: relative;
}

footer p{
	font-size:  8px;
}
footer::after {
	content: '';
	background-color: rgba(0,0,0,.45);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
  }
.footer_inner{
	position: relative;
	z-index: 1;
}
.footer_inner img{
	width:  40%;
	margin: 0 auto;
}
.footer_inner nav{
	margin: 1em auto;
}
.footer_inner nav ul{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
	margin:0 auto;
}
.footer_inner nav ul li{
	margin: 0 0.3em;
}
@media screen and (min-width:  641px) {
	footer {
		width: 640px;
		margin: 0 auto;
	}
}

/*　ページトップへ戻る　*/
.footer_pageTop{
	position: absolute;
	right:10px;
	bottom:0;
}
#page-top a img{
	width: 30px;
} 

@media screen and (min-width:  641px) {
	.footer_pageTop{
	right:20px;
	bottom:10px;
}
	#page-top a img{
	width: 40px;
} 
}

/* 特定商取引法・プライバシーポリシー
------------------------------------------------*/
.other{
	background: url(../img/5_pat_dots.png) repeat center / 37px,linear-gradient(180deg, rgba(249,179,255,1) 0%, rgba(128,211,254,1) 100%);
}

.wrapper_other {
	padding: 1.5em 1.5em 10.5em 1.5em;
	background-color: #fff;
	width: 100%;
	margin: 0 auto;
}
@media screen and (min-width:  641px) {
	.wrapper_other {
		width: 640px;
	}
}

.wrapper_other h1{
	border-bottom: solid #ff66aa 1.2px;
	display: flex;
	padding-bottom: 0.3em;
	margin-bottom: 1em;
	color: #ff66aa;
	justify-content: flex-start;
}

.wrapper_other dt {
	margin: 1.3em 0 0.3em 0;
	color: #ff9cc8;
}

.wrapper_other h1 span img {
	width: 40px;
}

.wrapper_other dd{
	line-height:  1.6em;
	margin: 0;
}