@charset "UTF-8";

/*共通*/
body {
    font-family: sans-serif;
    margin-bottom: 20vw;
}

/*画像グレースケール*/
.grayscale{
  -webkit-filter:grayscale(100%);
  -moz-filter:grayscale(100%);
  -ms-filter:grayscale(100%);
  filter:grayscale(100%);
}

.paging{
  text-align:center;
  margin:10px 0;
}
.paging a{
  display:inline-block;
  width:15%;
  background-color:yellow;
  padding:5px;
  box-sizing:border-box;
}
.paging a.disabled{
  pointer-events:none;
  background-color:transparent;
}



/*案内文*/
.info_message{
  background-color:#ffffff;
  display:block;
  width:80%;
  margin:10px auto;
  padding:4px;
  box-sizing:border-box;
}
.info_bold{
  width:96%;
  margin:12px auto;
  font-weight:bold;
  text-align:center;
}
.info_normal{
  width:96%;
  margin:12px auto;
  text-align:center;
}

/*挿し絵*/
.illust_1_2 img{
  display:block;
  width:50%;
  margin:6px auto;
}


/*TOP*/
header{
  width:100%;
}
header a img{
	width: 100%;
}

.ttl{
	width: 100%;
	height: 6.25vw;
	position: relative;
  background: no-repeat center center;
  background-size: cover;
  background-color:#FFFFFF;
}
.ttl a{
	width: 16.25%;
	height: 4.275vw;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 3vw;
	margin: auto;
}
.ttl a img{
	height: 100%;
  display:block;
}

.ttl_text{
  border-top: 4px solid #0a78f6;
  border-bottom: 4px solid #0a78f6;
  color: #0a78f6;
  padding: 1px;
  font-weight: bold;
  font-size: 1.1em;
  box-sizing: border-box;
  background-color: #FFFFFF;
}


ul.list_stamp ,
ul.list_future,
ul.list_feature {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 94%;
	margin: 3vw;
}
ul.list_stamp a{
	position: relative;
}
ul.list_stamp a li img{
	max-width: 22.1875vw;
  max-height: 22.1875vw;
  margin:auto;
}
ul.list_stamp a li.grp img{
	width: 46vw;
  	max-width: 46vw;
  max-height: 46vw;
  margin:auto;
  margin-bottom:6px;
}
ul.list_stamp a li img.new{
	position: absolute;
	top: 0;
	left: 0;
	width: 7.2vw;
}
ul.list_stamp a li img.play{
	position: absolute;
	bottom: 1.5vw;
	right: .5vw;
	width: 5.625vw;
}
ul.list_stamp a li img.rank{
	position: absolute;
	top: 0;
	right: 0;
	width: auto;
	height: 7.03125vw;
}
ul.list_stamp li {
  width: 22.1875vw;
  height: 22.1875vw;
	border: 1px solid #a0a0a0;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  margin-bottom: 1.25vw;
}




a.btn{
  display:block;
  background-color:#F6A5BC;
  height:17vw;
  line-height:11vw;
  color:white;
  text-align:center;
  padding:3vw;
  box-sizing:border-box;
  font-weight:bold;
  font-size:3.5vw;
  box-shadow: 0 5px 0px 0 #FA4E6F;
  border-radius:3vw;
}

.menu_full{
  margin:6px 0;
}
.menu_full img{
  width:100%;
}
.menu_1_1{
  text-align:center;
  margin:12px 0px;
}
.menu_1_1 img{
    width:80%;
}
.menu_1_1 a.btn{
    display:block;
    width:94%;
    margin:8px auto;
    font-size:5vw;
}

ul.menu_1_2{
  width:100%;
  margin:6px 0;
  padding:0;
  text-align:center;
}
ul.menu_1_2 li{
  width:45%;
  margin:4px 1%;
  display:inline-block;
}
ul.menu_1_2 li img{
  width:100%;
}

.menu_to_top{
  text-align:center;
  margin:60px auto 60px;
  width: 70%;
}

.menu_to_top img{
    width:94%;
}

/*スタンプ予告*/
.stamp_preview{
  width:100%;
  height:66vw;
  margin:6px 0;
  position:relative;
}
.stamp_preview img.stamp_preview_1{
  position:absolute;
  top:1vw;
  left:2vw;
  max-width:64vw;
  height:64vw;
}
.stamp_preview img.stamp_preview_2{
  position:absolute;
  top:1vw;
  right:2vw;
  max-width:30vw;
  max-height:30vw;
  opacity:0.5;
}
.stamp_preview img.stamp_preview_3{
  position:absolute;
  bottom:1vw;
  right:2vw;
  max-width:30vw;
  max-height:30vw;
  opacity:0.3;
}
.stamp_preview span.stamp_sample{
  position:absolute;
  bottom:2vw;
  left:6vw;
  color:#999999;
  font-size:1.5em;
  font-weight:bold;
}


/*スタンプリスト*/
.menu_title{
  margin:2px 0;
  padding-left:2vw;
  font-weight:bold;
}

ul.stamp_1_3{
  width:90%;
  margin:6px auto;
  padding:0;
}
ul.stamp_1_3 li{
  width:29%;
  margin:4px 1%;
  display:inline-block;
  border:1px solid #d4d4d4;
}
ul.stamp_1_3 li img{
  width:100%;
  background-color: #FFFFFF;
}

ul.stamp_1_4{
  width:96%;
  margin:6px auto;
  padding:0;
  text-align:center;
}
ul.stamp_1_4 li{
  width:22%;
  margin:4px 0.5%;
  display:inline-block;
  position:relative;
  border:1px solid #d4d4d4;
}
ul.stamp_1_4 li img{
  width:100%;
}

ul.stamp_1_4 li img.new{
  width:7.2vw;
  position:absolute;
  top:0;
  left:0;
}

ul.stamp_1_4 li img.rank{
  width:7.2vw;
  position:absolute;
  top:0;
  right:0;
}

ul.stamp_rank_1_3{
  width:94%;
  height:30vw;
  margin:6px auto;
  padding:0;
  background-image:url("../images/top/icon_rank01.png");
  background-size: contain;
  position:relative;
  list-style-type: none;
}
ul.stamp_rank_1_3 li{
  width:22%;
  position:absolute;
  top:7vw;
}
ul.stamp_rank_1_3 li:nth-child(1){
  left:5%;
}
ul.stamp_rank_1_3 li:nth-child(2){
  left:40%;
}
ul.stamp_rank_1_3 li:nth-child(3){
  left:75%;
}

ul.stamp_rank_1_3 li img{
  width:100%;
}

.see_more{
  text-align:right;
  padding-right:2vw;
}
.see_more img{
  width:30%;
}


.app_menu{
  width:94%;
}



/*新着*/
ul.stamp_1_3 li.stamp_new {
    position: relative;
}
ul.stamp_1_3 li.stamp_new:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7vw 7vw 0 0;
    border-color: #f6403a transparent transparent transparent;
    animation:blink 1.5s ease-in-out infinite alternate;
    -webkit-animation:blink 1s ease-in-out infinite alternate;
}
ul.stamp_1_3 li.stamp_new:after {
    position: absolute;
    content: "new";
    transform: rotate(315deg);
    display: block;
    font-size: 0.5em;
    white-space: pre;
    color: #fff;
    top: 1.2vw;
    left: 0;
    text-align: center;
    z-index: 2;
    line-height: 1.2;
    animation:blink 1.5s ease-in-out infinite alternate;
    -webkit-animation:blink 1s ease-in-out infinite alternate;
}

/* 点滅 */
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}


/*マイページ*/
.welcome_message, .mypage_point{
  text-align:center;
  font-weight:bold;
}
.welcome_message span, .mypage_point span{
  color:#ed7994;
}
.mypage_image{
  width:60%;
  margin:6px auto;
}
.mypage_image img{
  width:100%;
}

.point_history_navi{
  text-align:center;
  background-color:#f9d148;
  margin:6px 0;
  position:relative;
  height:20vw;
  line-height:20vw;
  font-size:5vw;
}

.point_history_navi span.actual img, .point_history_navi span.previous img, .point_history_navi span.next img{
  display:inline-block;
  position:absolute;
}
.point_history_navi span.previous img{
  width:10%;
  left:5%;
}
.point_history_navi span.next img{
  width:10%;
  right:5%;
}
.point_history_navi span.actual img{
  width:60%;
  left:20%;
}


ul.point_history{
  width: 94%;
  border:1px solid #000000;
  margin:6px auto;
  text-align:center;
}

ul.point_history li{
  display:inline-block;
  text-align: center;
  width:30%;
}

/*ログインシート*/
ul.login_sheet{
width:96%;
margin:20px auto;
background-color:#a3d6c5;
    border: solid 2px #e48b9b;
    box-shadow: 0px 0px 0px 6px #eaa6b0;
  box-sizing:border-box;
  text-align:center;
}
ul.login_sheet div.title{
  width:80%;
  margin:0 auto;
  margin-bottom:14px;
  background-color: #ffffe0;
  color:#32aca5;
  padding:3px;
  text-align:center;
}
ul.login_sheet li{
  list-style-type: none;
  display:inline-block;
  width:18%;
  height:24vw;
	padding:0;
	margin:4px 0;
}

ul.login_sheet li p.date{
  width:100%;
  height:8vw;
  line-height:8vw;
  margin:0 auto;
  text-align:center;
  color:#000000;
  display:block;
  vertical-align:bottom;
}

ul.login_sheet li p.image{
  width:80%;
  background-color: #eeeeee;
  margin:auto;
}

ul.login_sheet li p.image img{
	width:100%;
	height:100%;
}

/*ニックネーム変更*/
summary::-webkit-details-marker { display: none; }
summary { list-style: none; }

/*ガチャ*/
.gacha_image img{
  display:block;
  width:80%;
  margin:6px auto;
}
.gacha_result_block{
  width:100%;
  height:100vw;
  margin-bottom:20px;
  position:relative;
  text-align:center;
}
.gacha_result_block #gacha_playing{
  /*height:100%;*/
  width: 100%;
  vertical-align:middle;
  position:absolute;
  top:0;
}
.gacha_result_block #gacha_result{
  height:100%;
  vertical-align:middle;
  position:absolute;
  top:0;
}
.gacha_result_block .gacha_prize_contents{
  height:65%;
  vertical-align:middle;
  position:absolute;
  top:25%;
  width:100%;
  text-align:center;
  z-index:99;
}
.gacha_result_block .gacha_prize_contents img{
  height:100%;
}
.gacha_result_block .gacha_prize_point{
  height:65%;
  vertical-align:middle;
  position:absolute;
  top:32%;
  width:100%;
  text-align:center;
  z-index:99;
}
.gacha_result_block .gacha_prize_point span{
  display:block;
  width:100%;
  text-align:center;
  color:#75acb0;
  font-size:20vw;
  font-weight:bold;
}
.gacha_result_block .gacha_prize_point img{
  height:20%;
}
.gacha_result_block .gacha_prize_ticket{
  height:65%;
  vertical-align:middle;
  position:absolute;
  top:30%;
  width:100%;
  text-align:center;
  z-index:99;
}
.gacha_result_block .gacha_prize_ticket img{
  width:80%;
}

.gacha_daily_sheet{
  list-style:none;
  text-align:left;
  width:90%;
  margin:10px auto;
  background-color:white;
}
.gacha_daily_sheet li{
  width:15%;
  display:inline-block;
  background-color:grey;
  text-align:center;
}
.gacha_daily_sheet li.done{
  background-color:#bcd789;
}

.gacha_premium_sheet{
  list-style:none;
  width:90%;
  margin:10px auto;
  background-color:#ede8dd;
}
.gacha_premium_sheet li{
  width:23%;
  display:inline-block;
  text-align:center;
}
.gacha_premium_sheet li img{
  width:90%;
}

/*コンプガチャリスト背景フレームありの設定*/
.gacha_premium_sheet_2{
  list-style:none;
  width:90%;
  margin:10px auto;
  padding:11vw 2vw 13vw 2vw;
	background-color:#fff;
  background-image: url(../images/premium/secret_gacha/flame_sheet.png);
  background-size: 90vw;
	display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
.gacha_premium_sheet_2 li{
  width:27vw;
  display:inline-block;
  padding:0 1vw 2vw 0;
  text-align:center;
}
.gacha_premium_sheet_2 li img{
  width:90%;
}


/*アニメーションで動かすために必ず入れてください。*/
.animation {
  display: inline-block;
}
.fade_in_effect{
	-webkit-animation: fadein 2s linear 0s 1;
}
@keyframes fadein {
	0%{
		opacity:0;
	}
	75%{
		opacity:0.5;
	}
	100% {
		opacity:1;
	}
}
.fade_out_effect{
	-webkit-animation: fadeout 1s linear 0s 1;
}
@keyframes fadeout {
	0%{
		opacity:1;
	}
	75%{
		opacity:0.5;
	}
	100% {
		opacity:0;
	}
}

/*ハッピーチェック*/
#lottery_done{
  text-align:center;
  background-color:#ffffff;
  display:block;
  width:80%;
  margin:10px auto;
}

/*ミッション*/
.mission_list{
  text-align:center;
  background-color:#ffffff;
  border: solid 3px #71571c;
  border-radius: 10px;
  display:block;
  width:90%;
  margin:10px auto;
  padding:10px;
  box-sizing:border-box;
}
.mission_item{
  text-align:center;
  border: solid 10px #fa9eac;
  display:block;
  width:90%;
  margin:20px auto;
  box-sizing:border-box;
  border-radius: 40px;
  padding: 4vw;
}

.mission_cleared{
  background-color: #ffc3cc;
  background-size: 15%;
}

.menu_1_2_flex{
  display:flex;
  justify-content: center;
}
.menu_1_2_flex .menu_item{
  width:45%;
  text-align:center;
}
.menu_1_2_flex .menu_item img{
  width:100%;
}

/*FAQ*/
.faq{
  width:90%;
  margin:6px auto;
}
.faq h3{
  margin:10px 0;
  background-color:#c0e2e6;
}
.faq p{
  width:90%;
  margin:6px auto;
}
.faq ul{
  width:80%;
  margin:4px auto;
}
.faq ul li label{
  display:inline-block;
  width:40%;
}


#how_to h2 img,
#agreement h2 img{
	width: 100%;
	margin: 4.5vw auto 12.5vw;
}
#how_to h3{
	box-sizing: border-box;
	padding: 1vw;
	font-size: 6vw;
	text-align: center;
	width: 70%;
	border: .7vw solid #19b309;
	margin: 0 auto 4.5vw;
}
#how_to p{
	font-size: 4.75vw;
	font-weight: bold;
	line-height: 1.25;
	text-align: justify;
	margin: 0 10vw 12.5vw;
}


/*チケット一覧*/
.ticket_list{
  display:flex;
  flex-wrap: wrap;
  width:96%;
  margin:10px auto;
}
.ticket_list .ticket_name{
  width:75%;
  border-bottom:1px solid grey;
  margin-bottom:4px;
}
.ticket_list .ticket_number{
  width:25%;
  border-bottom:1px solid grey;
  margin-bottom:4px;
}
