@charset "utf-8";
/* CSS Document */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
/* reset */
*,
*::before,
*::after {
	box-sizing: border-box;
}
html, body, div, h1, h2, h3, h4, h5, h6, p, span, a, img, ol, ul, li, dl, dt, dd, footer, header, main, section, article, aside, address, blockquote, figure, picture {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
html {
	font-size: 62.5%;/* 10px */
	scroll-behavior: smooth;
}
body {
	font-family:'Noto Sans JP',sans-serif;
	font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(239,255,142,0.5);
	background: #e85298;
	overflow-wrap: break-word;
	word-break: break-all;
	color: #4c4c4c;
	font-size: 1.6rem;
	line-height: 1.0;
	font-weight: normal;
}
html,
body {
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}
header,
footer {
	width: 100%;
}
img {
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	font-size: 0;
	line-height: 0;
}
picture {
	font-size: 0;
	line-height: 0;
}
a img {
	border: none;
}
a:link {
	color: #00479d;
	text-decoration: underline;
}
a:visited {
	color: #00479d;
	text-decoration: underline;
}
a:hover {
	color: #00479d;
	text-decoration: none;
}
a:active {
	color: #00479d;
	text-decoration: underline;
}
@media screen and (min-width: 960px) {
	a:link, a:link img {
		cursor: pointer;
		transition-duration: 0.3s;
		transition-delay: 0s;
	}
	a:visited, a:visited img {
		cursor: pointer;
		transition-duration: 0.3s;
		transition-delay: 0s;
	}
	a:hover {
		cursor: pointer;
		transition-duration: 0.3s;
		transition-delay: 0s;
		text-decoration: underline;
	}
	a:hover img {
		cursor: pointer;
		transition-duration: 0.3s;
		transition-delay: 0s;
	}
	a:active, a:active img {
		cursor: pointer;
		transition-duration: 0.1s;
		transition-delay: 0s;
	}
}
header {
	background-color: #e85298;
}
header h1 {
	text-align: center;
}
header h1 img {
	width: 100%;
	max-width: 1000px;
}
main {
	background-color: #ef86b7;
}
#container {
	background: #fff399 url("../img/bg.png") center top/22vw repeat;
}
.tag-box,
.date-box,
.prize-box,
.step-box,
.item-box {
	width: 97.333vw;
	margin-left: auto;
	margin-right: auto;
}
.date-box {
	margin-top: 5.333vw;
}
.prize-box,
.step-box,
.item-box {
	position: relative;
	margin-top: 13.333vw;
	scroll-margin-top: 5vw;
}
.step-box {
	background-color: #fff;
	border-radius: 4vw;
	padding: 4vw;
}
.sub-title {
	position: absolute;
	left: calc(50% - 24vw);
	top: -5.333vw;
}
@media screen and (max-width: 639px) {
	.prize-box {
		margin-top: 8vw;
	}
	.prize-box .sub-title {
		top: 0;
	}
}
.sub-title img {
	width: 48vw;
}
.prize-item img,
.item-item img {
	border-radius: 4vw;
}
.terms-box {
	padding: 10vw 3.125vw;
}
.note-box {
	background-color: #ffffff;
	border-radius: 10px;
	margin: 0 auto 5vw;
}
.note-box h3 {
	font-size: 1.6rem;
	margin-top: 2em;
	margin-bottom: 0.5em;
}
.note-box h3:first-of-type {
	margin-top: 0;
}
.note-box p + h3:first-of-type {
	margin-top: 2em;
}
.note-box p {
	font-size: 1.4rem;
	margin-bottom: 0.5em;
	line-height: 1.6;
}
.note-box ul {
	margin: 0 0 1em;
	padding: 0 0 0 1em;
}
.note-box li {
	font-size: 1.4rem;
	line-height: 1.6;
	margin-bottom: 0.3em;
}
.indent {
	text-indent: -1em;
	padding-left: 1em;
}
.info-box {
	background-color: #fff;
}
/* アコーディオン */
.acd-check {
	display: none;
}
.acd-label {
	display: block;
	margin: 0;
	padding: 1.3vw 0;
	position: relative;
}
.acd-label img {
	width: 30vw;
	min-width: 110px;
}
.acd-label:after {
	content: "";
	width: 5vw;
	height: 5vw;
	background: url("../img/terms_open.png") center center/contain;
	display: block;
	position: absolute;
	right: 2vw;
	top: 2vw;
}
.acd-check:checked + .acd-label:after {
	background: url("../img/terms_close.png") center center/contain;
}
.acd-content {
	display: block;
	height: 0;
	opacity: 0;
	padding: 0;
	transition: all .8s;
	visibility: hidden;
	overflow: hidden;
}
	.acd-check:checked + .acd-label + .acd-content {
		height: auto;
		opacity: 1;
		padding: 1vw 0;
		visibility: visible;
	}
	.inner-box {
		padding: 0 5vw 5vw;
	}
.info-box {
	background-color: #ffffff;
	text-align: center;
}
.copyright-box {
	text-align: center;
}
.copyright-box img {
	width: 65vw;
}
#to-top {
	position: fixed;
	bottom: 10vw;
	right: 2vw;
}
#to-top a {
	background-color: #16bff3;
	color: #fff;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	padding: 15px 12px;
	border-radius: 50%;
}
#to-top a:hover {
	background-color: #16bff3;
	text-decoration: none;
}
@media screen and (min-width: 640px) {
	#container {
		background: #fff399 url("../img/bg.png") center top/43vw repeat;
		max-width: 1000px;
		margin: 0 auto;
	}
	.tag-box,
	.date-box,
	.prize-box,
	.step-box,
	.item-box {
		width: 90vw;
		max-width: 900px;
		margin-left: auto;
		margin-right: auto;
	}
	.date-box {
		margin-top: 4vw;
	}
	.prize-box,
	.step-box,
	.item-box {
		margin-top: 10vw;
		scroll-margin-top: 5vw;
	}
	.step-box {
		border-radius: 3vw;
		padding: 3vw;
	}
	.sub-title {
		left: calc(50% - 18vw);
		top: -4vw;
	}
	.sub-title img {
		width: 36vw;
		max-width: 360px;
	}
	.prize-item img,
	.item-item img {
		border-radius: 3vw;
	}
	.step-item {
		display: flex;
	}
	.step-item div {
		margin: 1.5vw;
	}
	.terms-box {
		padding: 5vw 0;
		width: 90vw;
		max-width: 900px;
		margin: 0 auto;
	}
	.note-box {
		border-radius: 2vw;
		margin: 0 auto 2vw;
	}
	.note-box h3 {
		font-size: 1.8rem;
	}
	.note-box p,
	.note-box li {
		font-size: 1.6rem;
	}
	.acd-label {
		padding: 2vw 0;
		cursor: pointer;
	}
	.acd-label img {
		width: 20vw;
	}
	.acd-label:after {
		content: "";
		width: 5vw;
		height: 5vw;
		background: url("../img/terms_open.png") center center/contain;
		display: block;
		position: absolute;
		right: 20px;
		top: 2vw;
	}
	.info-box img {
		width: 60vw;
		max-width: 600px;
	}
	.copyright-box {
		text-align: center;
	}
	.copyright-box img {
		width: 60vw;
		max-width: 600px;
	}
	#to-top {
		bottom: 50px;
		right: 10px;
	}
	#to-top a {
		font-size: 20px;
		padding: 30px 25px;
	}
}
@media screen and (min-width: 1000px) {
	#container {
		background: #fff399 url("../img/bg.png") center top/430px repeat;
	}
	.date-box {
		margin-top: 40px;
	}
	.prize-box,
	.step-box,
	.item-box {
		margin-top: 100px;
		scroll-margin-top: 50px;
	}
	.step-box {
		border-radius: 30px;
		padding: 30px;
	}
	.sub-title {
		left: calc(50% - 180px);
		top: -40px;
	}
	.prize-item img,
	.item-item img {
		border-radius: 30px;
	}
	.step-item div {
		margin: 15px;
	}
	.terms-box {
		padding: 50px 0;
		width: 900px;
	}
	.note-box {
		border-radius: 20px;
		margin: 0 auto 20px;
	}
	.acd-label {
		padding: 20px 0;
	}
	.acd-label img {
		width: 200px;
	}
	.acd-label:after {
		content: "";
		width: 50px;
		height: 50px;
		background: url("../img/terms_open.png") center center/contain;
		display: block;
		position: absolute;
		right: 20px;
		top: 20px;
	}
	.acd-check:checked + .acd-label + .acd-content {
		padding: 5px 0;
	}
	.inner-box {
		padding: 0 30px 30px;
	}
}