@charset "utf-8";
/* CSS Document */
div#new_camp_list_page {
		width: 100%;
		max-width: none;
		margin-bottom: -44px;
}
.new_camp_list .content {
		max-width: 1000px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
}
.new_camp_list {
		border-top: 30px solid #db0012;
		padding-top: 50px;
		padding-bottom: 30px;
		background: rgba(255, 255, 255, 0.68);
}
.new_camp_list.finished {
		background: url('/images/camp_bg_white.gif') center top -47px;
		border-top: none;
		padding-bottom: 60px;
}
.new_camp_list_item {
		width: 49%;
		background: #fff;
		border-radius: 5px;
		overflow: hidden;
		margin-bottom: 20px;
		position: relative;
		box-shadow: 1px 2px 10px -1px rgba(0, 0, 0, 0.2);
}
.new_camp_list_item img {
		width: 102%;
		height: auto;
		margin-left: -1%;
}
.new_camp_list_item:hover {
		opacity: 0.8;
}
.new_camp_list_text {
		padding: 20px 20px 58px;
}
.new_camp_list_item .to_detail {
		background: #db0012;
		color: #fff;
		text-align: center;
		padding: 7px 0 5px;
		font-weight: bold;
		font-size: 16px;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
}
p.to_detail::after {
		content: "\f138";
		font-family: FontAwesome;
		margin-left: 7px;
}
.new_camp_list_text .awards span {
		color: #db0012;
		font-weight: bold;
		font-size: 18px;
		padding-left: 20px;
		background: url(/images/crown_icon.png) no-repeat left center/17px;
		margin-right: 11px;
		height: 17px;
		display: inline-block;
		line-height: 1em;
}
.new_camp_list_text .list_item_title {
		font-size: 23px;
		font-weight: bold;
		line-height: 1.3em;
		margin-bottom: 4px;
		margin-top: 3px;
}
.new_camp_list_text .camp_date {
		color: #db0012;
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 3px;
}
.new_camp_list_text .target_products {
		font-weight: bold;
		font-size: 16px;
		position: relative;
		padding-left: 85px;
		margin-bottom: 5px;
}
.new_camp_list_text .target_products span {
		display: block;
		font-weight: bold;
		line-height: 1.3em;
}
.new_camp_list_text .target_products span.target_title {
		position: absolute;
		top: 0;
		left: 0;
}
.new_camp_list_text .overview {
		font-size: 16px;
		line-height: 1.5em;
}
div#new_camp_finished_text {
		width: 100%;
		margin-bottom: 40px;
		text-align: center;
		position: relative;
}
div#new_camp_finished_text::before {
		content: "";
		position: absolute;
		top: -36px;
		left: 50%;
		width: 138px;
		height: 134px;
		background: url(/images/camp_list_boy.png)no-repeat center/contain;
		transform: translateX(-364px);
}
div#new_camp_finished_text h2 {
		font-size: 18px;
		color: #db0012;
		font-weight: bold;
		margin-bottom: 10px;
}
div#new_camp_finished_text p {
		font-size: 15px;
		font-weight: bold;
		line-height: 1.5em;
}
div#new_camp_finished_text .sp_only {
		display: none;
}
@media screen and (min-width: 0\0) and (min-resolution: + 72dpi) {
		.selector {
				property: value;
		}
		/* IE向けのCSS～START */
		.new_camp_list_text .awards span {
				line-height: 23px;
		}
		.new_camp_list_item .to_detail {
				padding-top: 11px;
		}
}
/************************************
詳細
***************************************/
div#new_camp_page {
		background: #fff;
		width: 100%;
		max-width: none;
		margin-top: 17px;
}
#new_camp_page #main_image img {
		width: 100%;
}
.sp_only {
		display: none;
}
.new_camp .content {
		max-width: 1000px;
		margin: 0 auto;
}
.new_camp:nth-of-type(2n) {
		background: #fdffea;
}
div#overview_head {
		background: #fff;
		padding: 10px 0 0;
		overflow: inherit;
}
p#camp_num {
		font-size: 14px;
		font-weight: bold;
		text-align: right;
}
.overview.new_camp h3 {
		text-align: center;
		font-size: 34px;
		font-weight: bold;
		color: #db0012;
		padding-top: 40px;
		background: url(/images/crown.png) no-repeat center top/auto;
		margin-bottom: 4px;
}
p.overview_text {
		text-align: center;
		font-size: 20px;
		font-weight: bold;
		margin-bottom: 62px;
}
p.overview_text small {
		font-size: 0.8em;
}
.red {
		font-weight: bold;
		color: #db0012;
}
.prize_target {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
}
.prize_target .prize {
		border: 2px solid #db0012;
		border-radius: 17px;
		padding: 48px 30px 30px;
		width: 100%;
		box-sizing: border-box;
		position: relative;
		background: #fff;
		min-height: 380px;
		display: flex;
		align-items: center;
		height: 380px;
}
.prize_wrap {
		width: 420px;
}
p.prize_text {
		font-size: 13px;
		width: 420px;
		margin-top: 10px;
		line-height: 1.4em;
		padding: 0 10px;
}
.prize_target .prize h4 {
		text-align: center;
		position: absolute;
		top: 0;
		width: 100%;
		left: 0;
}
.prize_target .prize h4 span {
		background: #fff;
		padding: 3px 10px;
		font-size: 20px;
		font-weight: bold;
		color: #db0012;
		line-height: 1.2em;
		display: inline-block;
		margin: 0 20px;
		transform: translateY(-50%);
}
.prize_target .prize::before {
		position: absolute;
		content: "";
		top: 2px;
		left: 2px;
		border: 2px solid #db0012;
		width: 99%;
		width: -webkit-calc(100% - 4px);
		width: calc(100% - 4px);
		box-sizing: border-box;
		height: 99%;
		height: -webkit-calc(100% - 4px);
		height: calc(100% - 4px);
		border-radius: 15px;
}
.prize_target .prize img {
		margin: 0 auto;
		display: block;
		max-width: 280px;
		max-height: 220px;
}
.prize_target .target {
		width: 540px;
}
.prize_target .target h4 {
		font-size: 21px;
		font-weight: bold;
		color: #339c33;
		text-align: center;
		line-height: 1em;
		margin-bottom: 10px;
}
.target_list {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 4px;
}
p.target_note {
		font-size: 14px;
		margin-bottom: 14px;
		line-height: 1.5em;
}
.target_list a.target_item {
		width: 32%;
		border: #339c33 solid 2px;
		border-radius: 5px;
		box-sizing: border-box;
		padding: 0;
		margin-right: 2%;
		margin-bottom: 10px;
		background: #fff;
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		pointer-events: none;
		text-decoration: none;
}
.target_list a.target_item.link_mark {
		pointer-events: visible;
}
.target_list a.target_item.link_mark:hover {
		opacity: 0.8;
}
.target_list a.target_item:nth-of-type(3n) {
		margin-right: 0;
}
.target_list a.target_item span {
		display: block;
		width: 100%;
		background: #339c33;
		box-sizing: border-box;
		padding: 8px 10px 6px;
		font-size: 13px;
		line-height: 1.3em;
		color: #fff;
		font-weight: bold;
		position: relative;
}
.target_list a.target_item.link_mark span {
		padding-right: 27px;
}
.target_list a.target_item.link_mark span::after {
		content: "\f138";
		font-family: FontAwesome;
		margin-left: 7px;
		position: absolute;
		top: 50%;
		right: 8px;
		transform: translateY(-50%);
}
.target_list a.target_item img {
		display: block;
		max-width: 150px;
		max-height: 100px;
		margin: 10px auto 10px;
		padding: 6px;
		max-width: 100%;
}
strong {
		font-weight: bold;
}
.new_camp {
		padding: 60px 0 60px;
}
.prize_target .target .win {
		display: flex;
		justify-content: space-between;
		align-items: center;
}
.prize_target .target .win .img {
		width: 23%;
		padding-top: 23%;
		height: 0;
		background: url(/images/homerun.png)no-repeat center/contain;
}
.prize_target .target .win p {
		width: 72%;
		background: #fff;
		box-sizing: border-box;
		padding: 16px 20px 16px;
		font-size: 14px;
}
div#overview_head h2 {
		background: url(/images/overview.png) no-repeat center/contain;
		height: 36px;
		text-indent: -9999px;
		margin-bottom: -30px;
		margin-top: 30px;
}
div#date h2 {
		background: url(/images/date.png) no-repeat center/contain;
		height: 36px;
		text-indent: -9999px;
}
div#way h2 {
		background: url(/images/way.png) no-repeat center/contain;
		height: 36px;
		text-indent: -9999px;
}
div#policy h2 {
		background: url(/images/policy.png) no-repeat center/contain;
		height: 36px;
		text-indent: -9999px;
}
.policy_box {
		background: #fff;
		box-sizing: border-box;
		padding: 30px 40px 10px;
}
.policy_box > div {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin-bottom: 20px;
}
.policy_box > div h3 {
		width: 230px;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.4em;
}
.policy_box > div p {
		width: 950px;
		font-size: 14px;
}
.new_camp h2 {
		margin-bottom: 30px;
}
div#policy {
		margin-bottom: -44px;
		padding-bottom: 90px;
}
.new_camp:nth-of-type(2n + 1) .policy_box {
		background: #f7f7f7;
}
div#date.new_camp p {
		font-size: 20px;
		text-align: center;
		font-weight: bold;
}
div#date.new_camp p span {
		font-size: 33px;
		font-weight: bold;
}
.step_wrap {
		display: flex;
		justify-content: space-between;
}
.way h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		color: #db0012;
		position: relative;
}
.way h2::before, .way h2::after {
		content: "";
		position: absolute;
		width: 30px;
		height: 2px;
		background: #db0012;
		top: 20px;
}
.way h2::before {
		left: 50%;
		margin-left: -90px;
}
.way h2::after {
		right: 50%;
		margin-right: -90px;
}
.way {
		margin-top: 30px;
}
.step {
		width: 31.7%;
		border: 1px solid #cacaca;
		padding: 0 30px 30px;
		margin-top: 30px;
		background: #fff;
}
.step img {
		margin-bottom: 20px;
		width: 100%;
		display: block;
		height: auto;
}
.step p {
		font-size: 14px;
}
.way .step h3 {
		border: 3px solid #db0012;
		border-radius: 4px;
		padding: 10px 22px 8px;
		margin-left: -30px;
		margin-right: 50px;
		margin-top: -27px;
		margin-bottom: 22px;
		background: #fff;
		font-size: 18px;
		font-weight: bold;
		position: relative;
}
.step h3::before {
		content: "";
		position: absolute;
		top: 50%;
		right: -20px;
		border: 10px transparent solid;
		border-left-color: #db0012;
		transform: translateY(-15px);
}
.step h3::after {
		content: "";
		display: block;
		position: absolute;
		top: -29px;
		right: -97px;
		width: 90px;
		height: 92px;
		background: url(/images/camp_boy1.png) no-repeat center/contain;
}
.step1 h3::after {
		width: 110px;
		height: 100px;
		top: -36px;
		right: -115px;
}
.step2 h3::after {
		background-image: url(/images/camp_boy2.png)
}
.step3 h3::after {
		background-image: url(/images/camp_boy3.png)
}
.step .DL {
		font-size: 15px;
		color: #fff;
		background: #339c33;
		font-weight: bold;
		width: 100%;
		padding: 0;
		text-align: center;
		border-radius: 4px;
		margin-top: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 46px;
		text-decoration: none;
}
.step .DL:hover {
		opacity: 0.8;
}
.step .DL::before {
		content: "";
		display: inline-block;
		background: url(/images/doc_icon.png) no-repeat center/contain;
		width: 17px;
		height: 17px;
		margin-right: 4px;
}
.step .address {
		background: #ffeaea;
		margin-top: 11px;
		padding: 10px 16px;
}
.step .address h4 {
		font-weight: bold;
		font-size: 14px;
}
div#message_area p {
		text-align: center;
		font-size: 23px;
		font-weight: bold;
		border: 2px solid #db0012;
		padding: 30px 10px;
		margin-top: 20px;
		margin-bottom: 60px;
}
a#back_campaign_list {
		margin: 60px auto 0px;
		width: 220px;
		font-size: 14px;
		font-weight: bold;
		border: 1px solid #339c33;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff;
		color: #339c33;
		border-radius: 4px;
		padding-top: 2px;
		text-decoration: none;
}
a#back_campaign_list:hover {
		background: #339c33;
		color: #fff;
}
a.to-faq {
		display: block;
		width: 379px;
		margin: 0 auto;
		background: #339c33;
		color: #fff;
		text-align: center;
		font-size: 22px;
		font-weight: bold;
		padding: 13px 0 7px;
		border-radius: 4px;
		margin-top: 60px;
		line-height: 24px;
		position: relative;
		text-decoration: none;
}
a.to-faq::before {
		content: "\f138";
		font-family: FontAwesome;
		margin-left: 7px;
		position: absolute;
		top: 50%;
		right: 12px;
		transform: translateY(-50%);
}
a.to-faq:hover {
		opacity: 0.7;
}
a.to-faq span {
		display: block;
		font-size: 12px;
		color: #fff;
}
@media all and (-ms-high-contrast: none) {
		.way h2::before, .way h2::after {
				top: 14px;
		}
		.way .step h3 {
				padding-bottom: 3px;
		}
		.step .DL {
				margin-top: 5px;
		}
}
@media screen and (max-width: 1500px) {
		.new_camp_list.finished {
				background-attachment: fixed;
				background-position: center top 1px;
		}
}
@media screen and (max-width: 1000px) {
		.new_camp_list_item {
				width: 100%;
				margin-bottom: 15px;
		}
		.new_camp_list_item:hover {
				opacity: 1;
		}
		.new_camp_list .content {
				margin: 0 10px;
		}
		div#new_camp_finished_text h2 {
				margin-bottom: 165px;
		}
		div#new_camp_finished_text::before {
				transform: translateX(-50%);
				top: 72px;
		}
		div#new_camp_finished_text p {
				font-size: 13px;
				line-height: 1.7;
		}
		.new_camp_list_text .list_item_title {
				font-size: 18px;
		}
		.new_camp_list_text .camp_date {
				font-size: 14px;
		}
		.new_camp_list_text .target_products {
				font-size: 14px;
				padding-left: 74px;
		}
		.new_camp_list_text .overview {
				font-size: 14px;
		}
		.new_camp_list_text .awards span {
				font-size: 15px;
		}
		.new_camp_list_item .to_detail {
				font-size: 12px;
		}
		.new_camp_list {
				padding-top: 30px;
		}
		.new_camp_list_text {
				padding: 15px 15px 47px;
		}
		div#new_camp_finished_text .sp_only {
				display: block;
		}
		div#new_camp_finished_text {
				margin-bottom: 20px;
		}
		/************************************
詳細
***************************************/
		.new_camp {
				padding: 30px 0 30px;
				overflow: hidden;
		}
		.overview.new_camp h3 {
				font-size: 22px;
				margin-bottom: 2px;
				background-size: 80px;
				background-position: center top 7px;
		}
		p.overview_text {
				font-size: 15px;
				margin-bottom: 35px;
				text-align: left;
		}
		p.overview_text br {
				display: none;
		}
		.prize_target .prize {
				width: 100%;
				margin-bottom: 10px;
				margin-left: auto;
				margin-right: auto;
				min-height: 274px;
				padding: 48px 40px 40px;
				height: auto;
		}
		.prize_wrap {
				width: 91%;
				margin-left: auto;
				margin-right: auto;
				margin-bottom: 20px;
		}
		p.prize_text {
				width: 100%;
				margin-bottom: 0px;
				font-size: 12px;
		}
		.prize_target .prize img {
				max-width: 100%;
		}
		.prize_target {
				flex-wrap: wrap;
		}
		.prize_target .prize h4 span {
				font-size: 16px;
				line-height: 1.2em;
				padding: 3px 5px;
		}
		.prize_target .target h4 {
				font-size: 17px;
		}
		.prize_target .target {
				width: 100%;
		}
		.prize_target .target .win p {
				font-size: 13px;
		}
		p.target_note {
				font-size: 13px;
		}
		.prize_target .target .win .img {}
		.new_camp .content {
				padding: 0px 10px;
		}
		.prize_target .target .win p {
				padding: 12px 16px 12px;
				width: 74%;
		}
		.new_camp h2 {
				height: 26px !important;
		}
		div#date.new_camp p {
				font-size: 12px;
		}
		div#date.new_camp p span {
				font-size: 18px;
		}
		.target_list a.target_item span {
				font-size: 10px;
				padding: 8px 8px 6px 8px;
		}
		.target_list a.target_item.link_mark span {
				padding-right: 19px;
		}
		.target_list a.target_item span::after {
				right: 6px;
		}
		.step_wrap {
				flex-wrap: wrap;
		}
		.way h2 {
				font-size: 18px;
				height: auto !important;
		}
		.way h2::before, .way h2::after {
				top: 13px;
				width: 20px;
		}
		.way h2::before {
				margin-left: -70px;
		}
		.way h2::after {
				margin-right: -70px;
		}
		.step {
				width: 100%;
				padding: 0 15px 30px;
				margin-bottom: 40px;
		}
		.step3 {
				margin-bottom: 10px;
		}
		.way .step h3 {
				font-size: 16px;
				margin-right: 99px;
				margin-left: -2px;
				padding-left: 18px;
				padding-right: 18px;
				margin-bottom: 22px;
		}
		.step p {}
		.step .DL {
				font-size: 15px;
				width: 260px;
				margin-left: auto;
				margin-right: auto;
		}
		.step .address h4 {}
		.policy_box > div {
				flex-wrap: wrap;
		}
		.policy_box > div h3 {
				width: 100%;
				font-size: 13px;
				text-align: center;
				margin-bottom: 10px;
		}
		.policy_box > div h3 br {
				display: none;
		}
		.policy_box > div p {
				width: 100%;
				font-size: 12px;
		}
		div#way {
				padding-bottom: 0px;
		}
		div#overview_head h2 {
				margin-bottom: -10px;
		}
		p#camp_num {
				font-size: 11px;
		}
		div#policy {
				padding-bottom: 60px;
		}
		.pc_only {
				display: none;
		}
		.sp_only {
				display: block;
		}
		.policy_box {
				padding: 20px 20px 1px;
		}
		div#new_camp_page {
				margin-top: -2px;
		}
		div#message_area p {
				font-size: 14px;
				padding: 15px 10px;
				margin-top: 30px;
				margin-bottom: 20px;
		}
		a#back_campaign_list {
				width: 200px;
				font-size: 14px;
				margin-top: 30px;
		}
		a.to-faq {
				width: 300px;
				font-size: 20px;
		}
		a.to-faq span {
				font-size: 11px;
		}
}
@media screen and (max-width: 640px) {
		.new_camp_list.finished {
				background-size: 99px;
				background-position: center top 0px;
		}
}