@charset "utf-8";
/*---------------------------------
	Reset
---------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:none; }
article, aside, details, figcaption, figure, footer, header, menu, nav, section { display:block; }
body { line-height:1.5; }
ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
img,a img{ border:none; vertical-align:top; }
input, select { vertical-align:middle; }
a { margin:0; padding:0; border:0; font-size:100%; vertical-align:baseline; background:transparent; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; }
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
iframe { border: 0; }
/*---------------------------------
	common
---------------------------------*/
body {
	position: relative;
	width: 100%;
	background: url(../img/bg_header_left.png) no-repeat left top,url(../img/bg_header_right.png) no-repeat right top,url(../img/bg_wh.jpg) repeat center top #a0a0a0;
	background-size: auto,auto,auto 100%;
	color:#fff;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "MS Ｐゴシック", "MS PGothic", sans-serif;
	font-size:16px;
	font-size:0.9rem;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}
#wrapper {
	position: relative;
	overflow: hidden;
}
/*---------------------------------
	header
---------------------------------*/
header {
	width: calc(100% - 1054px);
	height: 75px;
	margin: 0 auto;
	box-sizing: border-box;
	background: url(../img/bg_header_mid.png) repeat-x center top;
	text-align: center;
}
h1 {
	position: absolute;
	top: 16px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
h1 img {
	width: 106px;
}
.cloud li {
	position: absolute;
}
.cloud li.c_01 {
	top: 600px;
	right: -5px;
	animation: c_01 35s linear infinite;
	-webkit-animation: c_01 35s linear infinite;
	-ms-animation: c_01 35s linear infinite;
}
.cloud li.c_02 {
	top: 985px;
	right: 17px;
	animation: c_02 35s linear infinite;
	-webkit-animation: c_02 35s linear infinite;
	-ms-animation: c_02 35s linear infinite;
}
.cloud li.c_03 {
	top: 781px;
	left: -66px;
	animation: c_03 35s linear infinite;
	-webkit-animation: c_03 35s linear infinite;
	-ms-animation: c_03 35s linear infinite;
}
.cloud li.c_04 {
	top: 234px;
	right: -110px;
	animation: c_04 35s linear infinite;
	-webkit-animation: c_04 35s linear infinite;
	-ms-animation: c_04 35s linear infinite;
}
.cloud li.c_05 {
	top: 370px;
	left: -130px;
	animation: c_05 35s linear infinite;
	-webkit-animation: c_05 35s linear infinite;
	-ms-animation: c_05 35s linear infinite;
}
@keyframes c_01 {
	0% {
		right: -5px;
	}
	30% {
		right: -427px;
	}
	30.01% {
		right: 100%;
	}
	100% {
		right: -5px;
	}
}
@keyframes c_02 {
	0% {
		right: 17px;
	}
	20% {
		right: -433px;
	}
	20.01% {
		right: 100%;
	}
	100% {
		right: 17px;
	}
}
@keyframes c_03 {
	0% {
		left: -66px;
	}
	80% {
		left: 100%;
	}
	80.01% {
		left: -440px;
	}
	100% {
		left: -66px;
	}
}
@keyframes c_04 {
	0% {
		right: -110px;
	}
	20% {
		right: -365px;
	}
	20.01% {
		right: 100%;
	}
	100% {
		right: -110px;
	}
}
@keyframes c_05 {
	0% {
		left: -130px;
	}
	80% {
		left: 100%;
	}
	80.01% {
		left: -530px;
	}
	100% {
		left: -130px;
	}
}
/*---------------------------------
	section
---------------------------------*/
section#contents {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 900px;
}
div.card {
	max-width: 1280px;
	max-height: 864px;
	width: 80vw;
	height: 55vw;
	box-shadow: 0 0 10px rgba(0,0,0,0.8);
	cursor: default;
	overflow: hidden;
	transition: all 0.1s;
	position: relative;
}
div.card .front {
	display: block;
	position: relative;
	max-width: 1280px;
	max-height: 864px;
	width: 80vw;
	height: 55vw;
	overflow: hidden;
}

/*---------------------------------
	card-layout
---------------------------------*/
div.card li {
	/* display: none; */
	/* position: absolute; */
	line-height: 1;
}
div.card li img {
	width: 100%;
	height: auto;
}
div.card li.bg {
	display: block;
	width: 100%;
	-webkit-animation: bgFadeIn 0.5s ease-out forwards;
}
@keyframes bgFadeIn {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
li.kinga {
	display: block;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	opacity: 0;
	-webkit-animation: fade 0.5s ease-out forwards 1.3s;
}
@keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}



li.green {
	display: block;
	position: absolute;
	top: -1836px;
	left: 0px;
	background: url(../img/green.png) repeat-y;
	background-size: 100%;
	animation: confetti_green 20s linear infinite;
	-webkit-animation: confetti_green 20s linear infinite;
	-ms-animation: confetti_green 20s linear infinite;
}
li.yellow {
	display: block;
	position: absolute;
	top: -1836px;
	left: 0px;
	/* background: url(../img/yellow.png) repeat-y; */
	background-size: 100%;
	/* transition:top 0.5s; */
	animation: confetti_yellow 25s linear infinite;
	-webkit-animation: confetti_yellow 25s linear infinite;
	-ms-animation: confetti_yellow 25s linear infinite;
}

@keyframes confetti_green {
	0% {
		top: -1836px;
	}
	100% {
		top: 0px;
	}
}

@keyframes confetti_yellow {
	0% {
		top: -1836px;
	}
	100% {
		top: 0px;
	}
}



.hanabira {
	position: absolute;
	-webkit-animation: hanabira_rote 5s linear infinite;
	transform-origin: center;
}
.hanabira img {
	-webkit-animation: tojo 0.5s ease-in forwards;
	animation-delay: .8s;
	opacity: 0;
}
@keyframes tojo {
	0% {
		opacity: 0;
		transform: scale(3);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes hanabira_rote {
	0% {
		transform: rotate(0deg) scale(1);
	}
	50% {
		transform: rotate(180deg) scale(1.1);
	}
	100% {
		transform: rotate(360deg) scale(1);
	}
}
.hanabira.left_top_big {
	top: 0.4%;
	left: 25.0%;
	max-width: 37px;
	width: 2.433vw;
}
.hanabira.left_top_small {
	top: 4%;
	left: 28%;
	max-width: 18px;
	width: 1.7vw;
}

.hanabira.left_bottom_small {
	top: 59%;
	left: 1.0%;
	max-width: 22px;
	width: 1.867vw;
}
.hanabira.left_bottom_big {
	top: 71%;
	left: 0.5%;
	max-width: 48px;
	width: 3.8vw;
}

.hanabira.right_top_big {
	top: 11.4%;
	left: 97.2%;
	max-width: 28px;
	width: 1.6vw;
}
.hanabira.right_top_small {
	top: 1.0%;
	left: 83.0%;
	max-width: 22px;
	width: 1.467vw;
}

.hanabira.right_bottom_big {
	top: 39.6%;
	left: 95.8%;
	max-width: 40px;
	width: 3vw;
}
.hanabira.right_bottom_small {
	top: 33.4%;
	left: 97.6%;
	max-width: 24px;
	width: 1.4vw;
}


.text {
	position: absolute;
	top: 89.8%;
	left: 11.5%;
}
.text ul {
	position: relative;
	display: flex;
	justify-content: flex-start;
}
.text li {
	position: relative;
	top: 2px;
	display: block;
	opacity: 0.0;
	line-height: 1;
}
.text li img {
	/* width: 100%;
	height: auto; */
}
.text .up li {
	transform: translateY(-15px);
	animation-name: fadeIn;
	animation-duration: 0.7s;
	animation-fill-mode: forwards;
}
.text .up li img {
	width: auto;
	height: 1.3vw;
}

.text .bottom li {
	transform: translateY(-15px);
	animation-name: fadeIn;
	animation-duration: 0.7s;
	animation-fill-mode: forwards;
}
.text .bottom li img {
	width: auto;
	height: 3vw;
}

.text .up li:nth-child(1){ animation-delay: 1.15s; }
.text .up li:nth-child(2){ animation-delay: 1.2s; }
.text .up li:nth-child(3){ animation-delay: 1.25s; }
.text .up li:nth-child(4){ animation-delay: 1.3s; }
.text .up li:nth-child(5){ animation-delay: 1.35s; }
.text .up li:nth-child(6){ animation-delay: 1.4s; }
.text .up li:nth-child(7){ animation-delay: 1.45s; }
.text .up li:nth-child(8){ animation-delay: 1.5s; }
.text .up li:nth-child(9){ animation-delay: 1.55s; }
.text .up li:nth-child(10){ animation-delay: 1.6s; }
.text .up li:nth-child(11){ animation-delay: 1.65s; }
.text .up li:nth-child(12){ animation-delay: 1.7s; }
.text .up li:nth-child(13){ animation-delay: 1.75s; }
.text .up li:nth-child(14){ animation-delay: 1.8s; }
.text .up li:nth-child(15){ animation-delay: 1.85s; }
.text .up li:nth-child(16){ animation-delay: 1.9s; }
.text .bottom li:nth-child(1){ animation-delay: 1.4s; }
.text .bottom li:nth-child(2){ animation-delay: 1.5s; }
.text .bottom li:nth-child(3){ animation-delay: 1.6s; }
.text .bottom li:nth-child(4){ animation-delay: 1.7s; }

@keyframes fadeIn {
	0% {
			opacity: 0;
			transform: translateY(-15px);
	}
	100% {
			opacity: 1;
			transform: translateX(0%);
	}
}



/*---------------------------------
	bnrArea
---------------------------------*/
#bnrArea {
	position: relative;
	background: rgba(0,0,0,0.8);
	z-index: 10;
}

#bnrArea .message {
	display: block;
	position: relative;
	background: linear-gradient(90deg, #76190e 5%, #ee341f 50%, #76190e 95%);
	z-index: 100;
	color: #000;
	font-weight: bold;
	padding: 1vw;
	color: #fff;
	opacity: 0;
	font-size: 20px;
	text-align: center;
	animation-name: msfadeIn;
	animation-delay: 2s;
	animation-duration: 0.7s;
	animation-fill-mode: forwards;
}
@keyframes msfadeIn {
	0% {
		letter-spacing: 0.4em;
			opacity: 0;
	}
	100% {
		letter-spacing: 0.1em;
			opacity: 1;
	}
}

#bnrArea ul {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100px;
}
#bnrArea ul li {
	margin: 0 10px;
}
#bnrArea ul li a {
	display: block;
	border: 1px solid rgba(255,255,255,0.2);
	transition: opacity 0.3s;
}
#bnrArea ul li a:hover {
	opacity: 0.8;
}
#bnrArea ul li img {
	width: 100%;
}
/*---------------------------------
	footer
---------------------------------*/
footer {
	position: relative;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	background: #000;
	text-align: center;
}

footer p {
	
	width: 100%;
	color: #888;
	font-size: 12px;
	padding: 1vw 0;
}



/*---------------------------------
	mobile
---------------------------------*/
@media screen and (max-width:768px) {
	body {
		background: url(../img/bg_wh.jpg) repeat center top #a0a0a0;
		background-size: auto 100%;
	}
	header {
		width: 100%;
	}
	section#contents {
		min-height: 70vh;
	}
	div.card {
		max-width: 100%;
		max-height: auto;
		width: 100%;
		height: auto;
	}
	div.card .front {
		max-width: 100%;
		max-height: auto;
		width: 100%;
		height: auto;
	}

	li.green {
		display: block;
		position: absolute;
		top: -140.0vw; /* top: -1836px; */
		left: 0px;
		background-size: 100%;
		animation: confetti_green 20s linear infinite;
		-webkit-animation: confetti_green 20s linear infinite;
		-ms-animation: confetti_green 20s linear infinite;
	}
	li.yellow {
		display: block;
		position: absolute;
		top: -140.0vw;
		left: 0px;
		background-size: 100%;
		animation: confetti_yellow 25s linear infinite;
		-webkit-animation: confetti_yellow 25s linear infinite;
		-ms-animation: confetti_yellow 25s linear infinite;
	}
	
	@keyframes confetti_green {
		0% {
			top: -140.0vw;
		}
		100% {
			top: 0px;
		}
	}
	
	@keyframes confetti_yellow {
		0% {
			top: -140.0vw;
		}
		100% {
			top: 0px;
		}
	}

	

	#bnrArea {
		background: rgba(0,0,0,0.8);
	}
	#bnrArea ul {
		flex-wrap: wrap;
		width: 92%;
		height: auto;
		margin: 0 auto;
		padding: 20px 0;
	}
	#bnrArea ul li {
		width: 48%;
		margin: 0 1% 20px;
	}
	#bnrArea ul li a {
		display: block;
		border: 1px solid rgba(255,255,255,0.5);
		transition: opacity 0.3s;
	}
	#bnrArea ul li a:hover {
		opacity: 0.8;
	}
	footer {
		width: 100%;
	}
}
