@charset "utf-8";
.container {
		overflow: hidden
}
body {
		background: #E60012;
}
.section_footer {
		margin-top: 90px;
}
.campagin_container {
		padding-top: 120px;
		position: relative;
}
.campagin_container::after {
		content: '';
		display: block;
		position: absolute;
		top: -400px;
		left: 0;
		width: 100%;
		height: 430px;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 3000px;
		background-image: url("../re_images/kv_bottom_bg_pc.svg");
		pointer-events: none;
		z-index: 0;
}
@media(max-width: 767px) {
		.campagin_container::after {
				height: 10vw;
				top: -9vw;
				background-size: 100%;
				background-image: url("../re_images/kv_bottom_bg_sp.png");
		}
}
.campagin_hdr {
		height: 600px;
		background: #2AD2EC;
		display: flex;
		justify-content: center;
		align-items: center;
}
.campagin_hdr_inner {
		width: 900px;
		margin: 0 auto;
		color: #fff;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: flex-end
}
.campaign_hdr_bg-1 img, .campaign_hdr_bg-2 img {
		width: 100%;
		height: auto;
}
.campagin_hdr_inner .campaign_hdr_bg-1 {
		position: absolute;
		left: -90px;
		width: 530px;
}
.campagin_hdr_inner .campaign_hdr_bg-2 {
		position: absolute;
		top: -40px;
		right: -120px;
		width: 120px;
}
@media(max-width: 960px) {
		.campagin_container {
				padding-top: 80px;
				position: relative;
		}
		.campagin_hdr {
				height: 400px;
		}
		.campagin_hdr_inner {
				width: 100%;
				box-sizing: border-box;
				padding: 0 100px;
		}
		.campagin_hdr_inner .campaign_hdr_bg-1 {
				left: 0px;
				width: 424px;
		}
		.campagin_hdr_inner .campaign_hdr_bg-2 {
				top: -40px;
				right: 20px;
				width: 100px;
		}
}
@media(max-width: 767px) {
		.campagin_container {
				padding-top: 60px;
		}
		.campagin_hdr {
				display: block;
				height: 380px;
		}
		.campagin_hdr_inner {
				padding: 100px 20px 0;
				position: static;
				display: block
		}
		.campagin_hdr_inner .campaign_hdr_bg-1 {
				position: static;
				width: 300px;
				margin: 15px auto 0;
		}
		.campagin_hdr_inner .campaign_hdr_bg-2 {
				display: none
		}
}
/* =========== */
.now_campaign_flex {
		display: flex;
		max-width: 1160px;
		margin: 0 auto 80px;
		padding: 0 30px;
		justify-content: space-between;
		flex-wrap: wrap
}
.now_campaign_item, .past_item {
		width: 560px;
		background: #fff;
		border-radius: 24px;
		overflow: hidden;
		min-height: 600px;
		padding: 0 0 45px;
		margin: 0 0 35px;
		position: relative;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		box-shadow: #AE000E 8px 8px 0px;
		box-sizing: border-box;
		color: #4D171B;
}
.past_item {
		padding: 35px;
}
.now_campaign_item img {
		width: 100%;
		height: auto;
}
.now_campaign_caption {
		color: #4D171B;
		background: #fff;
		padding: 30px 30px 15px;
}
.camp_catch {
		font-weight: 700;
		line-height: 1.8;
		margin: 0 0 10px;
}
.camp_hd {
		font-weight: 700;
		font-size: 22px;
		margin: 0 0 10px;
		line-height: 1.6;
}
.camp_date {
		line-height: 1.6;
		font-weight: 600;
		margin: 0 0 25px;
}
.camp_sb {
		font-weight: 600;
		margin: 0 0 5px;
}
.camp_products {
		font-weight: 600;
		list-style: none;
		margin: 0 0 15px
}
.camp_products li {
		margin: 0 0 3px;
		line-height: 1.6;
}
.camp_caption {
		line-height: 1.8;
		font-weight: 400;
		margin: 0 0 30px;
}
.camp_link {
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: 700;
}
.camp_link a {
		width: 250px;
		height: 56px;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #E60012;
		color: #fff;
		text-decoration: none;
		box-sizing: border-box;
		border: 2px solid #E60012;
		border-radius: 60px;
		transition: background 0.4s;
		position: relative;
}
.camp_link a span {
		transform: translateY(-1px);
		display: inline-block;
		position: relative;
}
.camp_link span::after {
		content: '';
		display: block;
		position: absolute;
		top: 1px;
		right: -20px;
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 7px solid transparent;
		border-bottom: 7px solid transparent;
		border-left: 10px solid #fff;
		border-right: 0;
}
@media (hover: hover) {
		.camp_link a:hover {
				background: #fff;
				color: #E60012;
		}
		.camp_link a:hover span::after {
				border-left: 10px solid #E60012;
		}
}
@media(max-width: 767px) {
		.camp_link {
				font-size: 14px;
		}
		.camp_link a {
				height: 50px;
				width: 200px;
		}
}
.end_center {
		display: flex;
		justify-content: center;
		margin: 0 0 50px;
		text-align: center;
		color: #fff;
		padding: 0 20px;
		font-size: 22px;
}
.camp_end {
		font-weight: 700;
		line-height: 1.8;
		margin: 0 0 25px
}
.camp_end_caption {
		line-height: 1.8;
}
/* =============== */
.past_hd {
		height: 80px;
		background: #fff;
		border-radius: 60px;
		margin: 0 0 30px;
		cursor: pointer;
		position: relative;
		font-size: 32px;
		font-weight: 700;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #E60012;
}
.past_hd span {
		transform: translateY(-1px);
		display: inline-block
}
.past_hd .past_hd_trigger {
		position: absolute;
		width: 48px;
		height: 48px;
		border-radius: 50%;
		background: #E60012;
		pointer-events: none;
		top: 16px;
		right: 16px;
}
.past_hd_trigger::before, .past_hd_trigger::after {
		content: '';
		display: block;
		position: absolute;
		width: 20px;
		height: 3px;
		background: #fff;
		top: 22.5px;
		left: 14px;
		border-radius: 60px;
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.past_hd_trigger::after {
		transform: rotate(90deg);
}
.pastOpen .past_hd_trigger::after {
		transform: scaleX(0)
}
.past_cont {
		display: none
}
.past_campaign_inner {
		max-width: 1160px;
		margin: 0 auto;
		padding: 0 30px
}
.past_cont_all {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap
}
.camp_awards {
		display: flex;
		align-items: center;
		margin: 0 0 15px;
		font-weight: 700;
}
.camp_awards li {
		list-style: none;
		margin-right: 25px;
		padding-left: 24px;
		position: relative;
}
.camp_awards li::before {
		content: '';
		display: block;
		position: absolute;
		top: -1px;
		left: 0;
		width: 20px;
		height: 18px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 20px;
		background-image: url("../re_images/icon_award.png")
}
@media(max-width: 1300px) {
		.now_campaign_item, .past_item {
				width: calc(50% - 15px);
				border-radius: 20px;
				padding: 0 0 30px;
				margin: 0 0 35px;
		}
		.now_campaign_caption {
				padding: 25px 25px 15px;
		}
		.past_item {
				padding: 25px;
		}
}
@media(max-width: 960px) {
		.end_center {
				font-size: 18px;
				margin: 0 0 30px;
		}
		.camp_hd {
				font-size: 18px;
		}
		.past_hd {
				font-size: 22px;
		}
}
@media(max-width: 767px) {
		.now_campaign_flex {
				display: block;
				padding: 0 20px;
		}
		.past_cont_all {
				display: block;
		}
		.past_campaign_inner {
				padding: 0 20px
		}
		.now_campaign_item, .past_item {
				width: 100%;
				border-radius: 16px;
				margin: 0 0 35px;
				padding: 0px 0px 30px;
				box-shadow: #AE000E 4px 4px 0px
		}
		.now_campaign_caption {
				padding: 20px 20px 10px;
		}
		.past_item {
				padding: 25px;
		}
		.camp_end {
				margin: 0 0 15px
		}
		.end_center {
				font-size: 16px;
				margin: 0 0 30px;
		}
		.past_hd {
				font-size: 16px;
				height: 64px;
		}
		.past_hd .past_hd_trigger {
				width: 32px;
				height: 32px;
				top: 16px;
				right: 16px;
		}
		.past_hd_trigger::before, .past_hd_trigger::after {
				width: 16px;
				height: 2px;
				top: 15px;
				left: 8px;
		}
		.camp_hd {
				font-size: 20px;
		}
}