@charset 'UTF-8';





/*

    Base

*/

/*  font  */
body {
	font-family: "Helvetica Neue",Arial,"Zen Kaku Gothic New",YuGothic,"游ゴシック","Yu Gothic",sans-serif;
	color: #ffffff;
	font-size: 13px;
	font-size: 1.3rem;
}
@media screen and (min-width: 800px) {
	body {
		font-size: 15px;
		font-size: 1.5rem;
	}
}

/*  layout  */
body {
	background-image: url('./images/bg.jpg');
	background-position: center bottom;
	background-size: cover;
	background-attachment: fixed;
}
.container {
	width: 100%;
	margin: 0 auto;
	padding: 1em 10px;
	box-sizing: border-box;
}
@media screen and (min-width: 800px) {
	.container {
		max-width: 1020px;
		padding: 2em 0;
	}
}

/*  heading  */
h2 {
	margin: 1em auto;
	font-size: 1.75em;
	text-align: center;
}
h3 {
	margin: 1em auto;
	font-size: 1.5em;
	text-align: center;
}
@media screen and (min-width: 800px) {
	h2 {
		font-size: 2em;
	}
	h3 {
		font-size: 1.5em;
	}
	h4 {
		font-size: 1.25em;
	}
}

/*  a  */
a {
	color: inherit;
	cursor: pointer;
}
a:hover {
	opacity: 0.75;
}
a.link {
	color: #f77361;
}

/*  i  */
i {
	display: block;
	font-style: normal;
}
@media screen and (min-width: 800px) {
	i {
		display: inline;
	}
}

/*  img/iframe  */
img,
iframe {
	width: 100%;
	height: auto;
}

/*  .link_btn  */
.link_btn {
	text-align: center;
}
.link_btn a {
	display: inline-block;
	padding: 0.5em 1em;
	border-radius: 9999px;
	border: 2px solid #ffffff;
	font-size: 1.25em;
	font-weight: bold;
	color: #ffffff;
	text-align: center;
}

/*  .prize  */
.prize:before {
	display: inline-block;
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
#rank01 .prize:before { background-image: url('./images/rank01.png'); }
#rank02 .prize:before { background-image: url('./images/rank02.png'); }
#rank03 .prize:before { background-image: url('./images/rank03.png'); }
#rank0405 .prize:before { background-image: url('./images/rank0405.png'); }
#rank0610 .prize:before { background-image: url('./images/rank0610.png'); }
#rank1120 .prize:before { background-image: url('./images/rank1120.png'); }
#rank0059 .prize:before { background-image: url('./images/rank0059.png'); }
#rank0001 .prize:before { background-image: url('./images/rank0001.png'); }
.prize span {
	display: block;
	font-size: 0.75em;
	color: #da392a;
}
#rank01 .prize span { color: #e3c981; }
#rank02 .prize span { color: #cbcbcb; }
#rank03 .prize span { color: #c6a696; }

/*  .rank  */
.rank {
	width: 100%;
	margin: 2em auto;
}
@media screen and (min-width: 800px) {
	.rank {
		width: 600px;
	}
}

/*  .data  */
.data h4 {
	display: inline-block;
	width: 4.5em;
	padding: 0 0.25em;
	border-radius: 5px;
	background: linear-gradient(to right, #faaf40, #da392a);
	color: #ffffff;
	text-align: center;
	box-sizing: border-box;
}
.data .name strong,
.data .score strong {
	font-size: 1.5em;
	margin: 0 0.25em;
}
.data ul {
	list-style: none;
	margin: 1em auto;
}
.data ul li {
	display: inline-block;
	margin: 0;
	padding: 0.25em;
	font-size: 1.0rem;
	box-sizing: border-box;
}
.data ul li span {
	display: inline-block;
	margin: 0 0.5em 0 0;
	padding: 0 0.5em;
	border-radius: 3px;
	border: 1px solid #ffffff;
	color: #ffffff;
	text-align: center;
	box-sizing: border-box;
}
@media screen and (min-width: 800px) {
	.data .name strong,
	.data .score strong {
		font-size: 1.5em;
	}
	.data ul li {
		font-size: 1.3rem;
	}
}

/*  .img  */
.data .img {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 1em 0;
	text-align: left;
}
.data .img img {
	width: 125px;
	height: auto;
	margin: 0 1em 0 0;
}
.data .img ul {
	margin: 0;
}
.data .img ul li {
	display: block;
}
@media screen and (min-width: 800px) {
	.data .img img {
		width: 150px;
	}
}

/*  .comment  */
.comment {
	margin: 0 auto;
	padding: 0 2em;
	text-align: left;
	box-sizing: border-box;
}
@media screen and (min-width: 800px) {
	.comment {
		padding: 0 4em;
	}
}

/*  .title  */
.title {
	margin: 2em auto;
	text-align: center;
}
.title img {
	width: 100%;
	height: auto;
}
@media screen and (min-width: 800px) {
	.title img {
		max-width: 768px;
	}
}

/*  @keyframes  */
@keyframes fadeUp {
	0% {
		opacity:0;
		transform: translateY(3em);
	}
	100% {
		opacity:1;
		transform: translateY(0);
	}
}
.fadeUp.animate {
	opacity: 0;
}
.fadeUp.animate.show {
	opacity:1;
	animation-name: fadeUp;
	animation-duration: 0.8s;
	animation-timing-function: linear;
}
@keyframes fadeIn {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}
.fadeIn.animate {
	opacity: 0;
	animation-name: fadeIn;
	animation-duration: 2s;
	animation-timing-function: linear;
	animation-delay: 1s;
	animation-fill-mode: forwards;
}


/*  #particles-js  */
html,body{
	height: 100%;
}
#particles-js { 
	position: fixed;
	width: 100%;
	height: 100%;
}





/*

    header

*/
header .container {
	padding: 10px;
	box-sizing: border-box;
}
header .container h1,
header .container h1 a {
	position: relative;
	display: block;
	margin: 0;
	text-align: center;
	line-height: 0;
	z-index: 2;
}
header .container h1 a img {
	width: auto;
	height: 20px;
}
@media screen and (min-width: 768px) {
	header .container {
		padding: 30px 0;
	}
	header .container h1 a img {
		height: 30px;
	}
}





/*

    footer

*/
footer {
	position: relative;
	background-color: #000000;
	color: #ffffff;
	z-index: 2;
}
footer .container {
	padding: 10px;
	text-align: center;
}
footer .container ul {
	list-style: none;
	font-size: 1.1rem;
}
footer .container ul li {
	display: inline;
	margin: 0 0.5em;
}
footer .container ul.sns li a {
	display: inline-block;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	vertical-align: middle;
}
footer .container ul.sns li.twitter a { background-image: url('./images/twitter.png'); }
footer .container ul.sns li.facebook a { background-image: url('./images/facebook.png'); }
footer .container ul.sns li.instagram a { background-image: url('./images/instagram.png'); }
@media screen and (min-width: 768px) {
	footer .container {
		overflow: hidden;
	}
	footer .container small {
		float: left;
		margin: 1em 0;
	}
	footer .container ul {
		float: right;
		margin: 1em;
	}
}





/*

    #mv

*/
#mv {
	background-image: url('./images/mv_ttl_eng.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center top;
}
#mv .container {
	padding: 50px 10px;
}
#mv .container img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}
#mv .container p.copy {
	margin: 0 auto;
	font-family: serif;
	font-size: 6em;
	text-align: center;
	line-height: 1;
}
@media screen and (min-width: 768px) {
	#mv .container img {
		width: 768px;
	}
	#mv .container p.copy {
		font-size: 9em;
	}
}





/*

    #top_ranking

*/
#top_ranking {
	background: linear-gradient(to bottom, #000000, transparent);
}
#top_ranking .prize:before {
	width: 150px;
	height: 150px;
}
#top_ranking .rank {
	margin-bottom: 4em;
	text-align: center;
}
#top_ranking .data .name strong,
#top_ranking .data .score strong {
	font-size: 1.75em;
}
@media screen and (min-width: 768px) {
	#top_ranking .prize:before {
		width: 250px;
		height: 250px;
	}
	#top_ranking .data .name strong,
	#top_ranking .data .score strong {
		font-size: 3em;
	}
}





/*

    #review

*/
#review {
	/*
	background: linear-gradient(to bottom, #000000, transparent), url(./images/mv_ttl_eng.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-blend-mode: multiply;
	*/
	background: linear-gradient(to bottom, #000000, transparent);
}
#review .review {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	text-align: center;
}
#review .review strong {
	font-size: 1.5em;
}
#review .review img {
	width: 100px;
	height: auto;
	margin: 0 0 0 1em;
}
@media screen and (min-width: 768px) {
	#review .review {
		width: 768px;
	}
	#review .review img {
		width: 150px;
	}
}






/*

    #ranking

*/
#ranking {
	background-color: #000000;
}
#ranking .prize:before {
	width: 150px;
	height: 75px;
}
@media screen and (min-width: 768px) {
	#ranking .prize:before {
		width: 300px;
		height: 150px;
	}
}







/*

    #comment

*/
#comment {
	position: relative;
	z-index: 2;
}
#comment .container p.lead {
	font-size: 1.25em;
	color: #ffffff;
	text-align: center;
}
#comment .container ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	margin: 1em auto;
}
#comment .container ul li {
	width: 100%;
	margin: 1em 0 0 ;
	padding: 0 0.5em;
	box-sizing: border-box;
}
#comment .container ul li p {
	height: 100%;
	margin: 0;
	padding: 1em;
	border-radius: 10px;
	background-color: #ffffff;
	color: #000000;
	box-sizing: border-box;
}
#comment .container ul li p img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto 1em;
}
#comment .container p.link_btn a {
	font-size: 1em;
}
@media screen and (min-width: 768px) {
	#comment .container ul {
		margin: 2em auto;
		max-width: 960px;
	}
	#comment .container ul li {
		width: 33.33%;
		padding: 0 1em;
	}
	#comment .container ul li p {
		padding: 2em;
	}
	#comment .container p.link_btn a {
		font-size: 1.25em;
	}
}



/*

    #overview

*/
#overview {
	position: relative;
	color: #ffffff;
	z-index: 2;
}
#overview .container p {
	text-align: center;
}
#overview .container .note {
	margin: 2em auto;
	padding: 1em;
	background-color: rgba(255,255,255,0.25);
	box-sizing: border-box;
}
@media screen and (min-width: 768px) {
	#overview .container .note {
		max-width: 768px;
	}
}

