@charset "utf-8";
/* -----------------------
  common
-------------------------- */
.wrapper {
	position: relative;
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding-right: 20px;
	padding-left: 20px;
}
.wrapper--wide {
	max-width: 1220px;
	padding-right: 10px;
	padding-left: 10px;
}
.wrapper--narrow {
	max-width: 950px;
	padding-right: 25px;
	padding-left: 25px;
}
.font-bold {
	font-weight: bold;
}
.font-important {
	color: #e50012;
}
.text-center {
	text-align: center;
}
.ul-disc {
	list-style-type: disc;
	margin-bottom: 0;
	padding-left: 1.4em;
	& li:not(:last-child) {
		margin-bottom: 10px;
	}
}
.ol-decimal {
	list-style-type: decimal;
	padding-left: 1.4em;
	& li:not(:last-child) {
		margin-bottom: 10px;
	}
}
.container {
	position: relative;
	padding: 60px 0;
	background: rgba(128,53,35);
	background: linear-gradient(0deg, rgba(222,113,22,1), rgba(211,81,36,1) 20%, rgba(210,67,43,1) 60%, rgba(128,53,35,1) 100%);
}
@media (min-width: 80.001em){
	.wrapper--prize {
		max-width: 1220px;
		padding-right: 10px;
		padding-left: 10px;
	}
}

/* -----------------------
  main
-------------------------- */
.wrapper--main {
	max-width: 1220px;
	padding-right: 0;
	padding-left: 0;
}
.main {
	position: relative;
	padding-bottom: 60px;
	background: rgba(128,53,35);
	background: linear-gradient(0deg, rgba(222,113,22,1), rgba(211,81,36,1) 20%, rgba(210,67,43,1) 60%, rgba(128,53,35,1) 100%);
	&::before {
	display: inline-block;
	position: absolute;
	top: -30px;
	left: 0;
	width: 100%;
	height: 200px;
	background-image: url(../img/bg_decoration.png);
	background-repeat: repeat-x;
	content: '';
	}
}
.main-logo {
	margin: 0 auto;
	padding: 30px 0 60px;
	max-width: 350px;
	text-align: center;
	& a {
		display: inline-block;
		&:hover {
			opacity: .7;
		}
	}
}
.main-title {
	margin-bottom: 50px;
}
.main-date {
	margin-bottom: 30px;
}
.main-date__event {
	margin-bottom: 10px;
}
.main-btn {
	margin: 50px 0;
}
.main-btn__col {
	margin-bottom: 10px;
}
.main-btn__link {
	display: block;
	max-width: 300px;
	width: 100%;
	margin: 0 auto;
	padding: 10px;
	transition: 0.5s;
	border: solid 5px #fff;
	background-color: #008541;
	border-radius: 10px;
	text-align: center;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	&:hover {
		border: solid 5px #008541;
		background-color: #fff;
		color: #008541;
	}
}
.main-btn__link--app {
	background-color: #c02120;
	&:hover {
		border: solid 5px #c02120;
		background-color: #fff;
		color: #c02120;
	}
}
.main-attention {
	width: 100%;
	padding: 20px;
	border-radius: 20px;
	background: #fff;
	font-weight: bold;
}
/* particle */
#particles-js {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
@media (min-width: 45.001em){
	.wrapper--main {
		padding-right: 10px;
		padding-left: 10px;
	}
	.main-logo {
		max-width: 100%;
	}
	.main-date__wrapper {
		display: flex;
		flex-wrap: wrap;
		margin-right: -10px;
		margin-left: -10px;
		align-items: end;
	}
	.main-date__event, .main-date__distribution {
		margin-bottom: 0;
		padding: 0 10px;
	}
	.main-date__event {
		flex-basis: 55%;
		max-width: 55%;
	}
	.main-date__distribution {
		flex-basis: 45%;
		max-width: 45%;
	}
	.main-btn__wrapper {
		display: flex;
		flex-wrap: wrap;
		margin-right: -10px;
		margin-left: -10px;
	}
	.main-btn__col {
		flex-basis: 33.333%;
		max-width: 33.333%;
		padding: 0 10px;
	}
}

/* -----------------------
  detail
-------------------------- */
.detail {
	position: relative;
	padding: 60px 0;
	background-color: #00783a;
}
.detail-prize__col {
	margin-bottom: 30px;
}
.detail-prize__item {
	position: relative;
	padding: 20px;
	background-color: #fff;
	flex-grow: 1;
}
.prize-num {
	position: absolute;
	top: -20px;
	left: -10px;
	max-width: 80px;
}
.prize-logo {
	max-width: 150px;
	margin-left: auto;
	margin-bottom: 40px;
}
.prize-name {
	max-width: 300px;
	margin: 0 auto 10px;
}
.prize-img {
	max-width: 300px;
	margin: 0 auto;
}
.prize-text {
	margin: 5px 0 0;
	font-size: 1.4rem;
}
.detail-prize__other {
	max-width: 800px;
	margin: 0 auto 50px;
	padding: 20px;
	background-color: #fff;
	text-align: center;
}
.detail-app__img {
	margin-bottom: 30px;
}
.detail-app__link {
	display: block;
	max-width: 100%;
	margin: 0 auto;
	padding: 10px;
	transition: 0.5s;
	border: solid 5px #fff;
	background-color: #004da1;
	border-radius: 10px;
	text-align: center;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	&:hover {
		border: solid 5px #004da1;
		background-color: #fff;
		color: #004da1;
	}
}
@media (min-width: 35.001em){
	.detail-prize__wrapper {
		display: flex;
		flex-wrap: wrap;
		margin-right: -12px;
		margin-left: -12px;
	}
	.detail-prize__col {
		flex-basis: 50%;
		max-width: 50%;
		margin-bottom: 40px;
		padding: 0 12px;
		display: flex;
		flex-direction: column;
	}
	.prize-num {
		top: -25px;
	}
	.other-img {
		& img {
			margin: 0 auto;
		}
	}
}
@media (min-width: 45.001em){
	.prize-num {
		max-width: 100px;
	}
}
@media (min-width: 60.001em){
	.detail-prize__wrapper {
		margin-right: -20px;
		margin-left: -20px;
	}
	.detail-prize__col {
		flex-basis: 33.333%;
		max-width: 33.333%;
		padding: 0 20px;
	}
	.detail-app__link {
		max-width: 400px;
	}
}

/* -----------------------
  method
-------------------------- */
.method {
	margin-bottom: 60px;
}
.method-title {
	max-width: 600px;
	margin: 0 auto 10px;
}
.method-flow {
	margin-bottom: 30px;
}

/* -----------------------
  faq
-------------------------- */
.faq-container {
	padding: 20px;
	background: #fff;
}
.faq-group {
	margin-bottom: 30px;
}
.faq-title {
	margin-bottom: 20px;
	padding: 5px;
	border: solid 3px #004c98;
	border-radius: 20px;
	background-color: #004c98;
	text-align: center;
	color: #ffffff;
	font-size: 2.2rem;
	font-weight: bold;
}
.faq-lead {
	font-size: 2rem;
}
.faq-text {
		margin-bottom: 20px;
	&:last-child {
		margin-bottom: 0;
	}
	& dt {
		margin-bottom: 5px;
		padding-bottom: 5px;
		border-bottom: solid 2px #004c98;
		color: #004c98;
		font-size: 1.8rem;
		font-weight: bold;
		&::before {
			margin-right: .5em;
			font-size: 1.8rem;
			content: 'Q';
		}
	}
}
@media (min-width: 45.001em){
	.faq-title {
		margin-bottom: 25px;
		font-size: 2.4rem;
	}
	.faq-lead {
		font-size: 2.2rem;
	}
	.faq-text {
		margin-bottom: 25px;
		&:last-child {
			margin-bottom: 0;
		}
		& dt {
			font-size: 2rem;
			&::before {
				font-size: 2rem;
			}
		}
	}
}
@media (min-width: 60.001em){
	.faq-title {
		font-size: 2.8rem;
	}
	.faq-lead {
		font-size: 2.4rem;
	}
	.faq-text {
		& dt {
			font-size: 2.2rem;
			&::before {
				font-size: 2.2rem;
			}
		}
	}
}

/* -----------------------
  pagetop
-------------------------- */
.pagetop {
	position: fixed;
	bottom: 12px;
	right: 12px;
	z-index: 100;
	& a {
		display: block;
		position: relative;
		width: 50px;
		height: 50px;
		background-color: #c02120;
		border: 1px solid #ffffff;
		border-radius: 50%;
		transition: all .5s ease;
		&::before {
			content: "";
			position: absolute;
			top: 50%;
			left: 50%;
			width: 10px;
			height: 10px;
			border-top: 1px solid #ffffff;
			border-left: 1px solid #ffffff;
			-webkit-transform: translate(-50%, -30%) rotate(45deg);
			transform: translate(-50%, -30%) rotate(45deg);
		}
	}
}
@media (min-width: 35.001em){
	.pagetop {
		bottom: 20px;
		right: 20px;
	}
}
@media (min-width: 45.001em){
	.pagetop {
		bottom: 25px;
		right: 25px;
	}
}

/* -------------------------------- *\
    footer
\* -------------------------------- */
.footer-copyright {
	padding: 10px 0;
	background-color: #000;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
}

/* -------------------------------- *\
    Display
\* -------------------------------- */
/*
 * 要素の表示/非表示を制御する汎用クラス
 */
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }
@media (min-width: 35.001em){
	.d-none-sm { display: none !important; }
	.d-block-sm { display: block !important; }
	.d-inline-sm { display: inline !important; }
	.d-inline-block-sm { display: inline-block !important; }
}
@media (min-width: 45.001em){
	.d-none-md { display: none !important; }
	.d-block-md { display: block !important; }
	.d-inline-md { display: inline !important; }
	.d-inline-block-md { display: inline-block !important; }
}
@media (min-width: 60.001em){
	.d-none-lg { display: none !important; }
	.d-block-lg { display: block !important; }
	.d-inline-lg { display: inline !important; }
	.d-inline-block-lg { display: inline-block !important; }
}

/* -------------------------------- *\
    Spaces
\* -------------------------------- */
.mx-auto, .mr-auto { margin-right: auto !important; }
.mx-auto, .ml-auto { margin-left: auto !important; }

/* Margin Top */
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: 10px!important; }
.mt-2 { margin-top: 20px!important; }
.mt-3 { margin-top: 30px!important; }
.mt-4 { margin-top: 40px!important; }
.mt-5 { margin-top: 50px!important; }

/* Margin Right */
.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: 10px!important; }
.mr-2 { margin-right: 20px!important; }
.mr-3 { margin-right: 30px!important; }
.mr-4 { margin-right: 40px!important; }
.mr-5 { margin-right: 50px!important; }

/* Margin bottom */
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: 10px!important; }
.mb-2 { margin-bottom: 20px!important; }
.mb-3 { margin-bottom: 30px!important; }
.mb-4 { margin-bottom: 40px!important; }
.mb-5 { margin-bottom: 50px!important; }

/* Margin left */
.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: 10px!important; }
.ml-2 { margin-left: 20px!important; }
.ml-3 { margin-left: 30px!important; }
.ml-4 { margin-left: 40px!important; }
.ml-5 { margin-left: 50px!important; }

/* Padding top */
.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: 10px!important; }
.pt-2 { padding-top: 20px!important; }
.pt-3 { padding-top: 30px!important; }
.pt-4 { padding-top: 40px!important; }
.pt-5 { padding-top: 50px!important; }

/* Padding bottom */
.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: 10px!important; }
.pb-2 { padding-bottom: 20px!important; }
.pb-3 { padding-bottom: 30px!important; }
.pb-4 { padding-bottom: 40px!important; }
.pb-5 { padding-bottom: 50px!important; }