@charset "UTF-8";

@media screen and (max-width: 800px) {
	.header .header_inner {
		display: none;
	}
	.main {
		padding-top: 0;
	}
}

/* campaign-section-wrap */
.campaign-section-wrap {
	width: 100%;
	background-color: #fff;
}

@media screen and (max-width: 800px) {
	.campaign-section-wrap {
		min-width: auto;
	}
}

.campaign-section-wrap .campaign-section-inner {
	width: 1024px;
	margin: 0 auto;
	box-sizing: border-box;
}

@media screen and (max-width: 800px) {
	.campaign-section-wrap .campaign-section-inner {
		width: 100%;
		padding: 0 10px;
	}
}

.campaign-section-wrap.sub-page-section-mv .campaign-section-inner {
	width: 980px;
}

@media screen and (max-width: 800px) {
	.campaign-section-wrap.sub-page-section-mv .campaign-section-inner {
		width: 100%;
	}
}

/* section-sdgs */
.section-sdgs {
	margin-bottom: 80px;
	box-sizing: border-box;
}

@media screen and (max-width: 800px) {
	.section-sdgs {
		margin-bottom: 40px;
		padding: 0 10px;
	}
}

/* title-wrap */
.section-sdgs .title-wrap {
	position: relative;
	margin-bottom: 60px;
	padding-top: 90px;
	color: #000;
	text-align: center;
}

@media screen and (max-width: 800px) {
	.section-sdgs .title-wrap {
		margin-bottom: 0;
		padding-top: 50px;
	}
}

.section-sdgs .title-wrap::before {
	position: absolute;
	top: 30px;
	left: 180px;
	width: 146px;
	height: 146px;
	background: url(/campaign/rurubu50th/sdgs/img/bg_title.png) no-repeat;
	background-size: contain;
	content: '';
}

@media screen and (max-width: 800px) {
	.section-sdgs .title-wrap::before {
		top: 20px;
		left: 20px;
		width: 85px;
		height: 85px;
	}
}

.section-sdgs .title-wrap h2 {
	position: relative;
	margin-bottom: 80px;
	font-size: 52px;
	font-weight: 900;
}

@media screen and (max-width: 800px) {
	.section-sdgs .title-wrap h2 {
		margin-bottom: 30px;
		font-size: 28px;
	}
}

/* sdgs-description */
.section-sdgs .sdgs-description {
	position: relative;
	margin-bottom: 110px;
	color: #101010;
	font-size: 29px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-description {
		margin-top: 40px;
		margin-bottom: 50px;
		font-size: 15px;
		line-height: 1.5;
	}
}

.section-sdgs .sdgs-description::before {
	position: absolute;
	top: 82px;
	left: 180px;
	width: 1px;
	height: 60%;
	border-radius: 3px;
	background: #101010;
	transform: rotate(-20deg);
	content: '';
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-description::before {
		content: none;
	}
}

.section-sdgs .sdgs-description::after {
	position: absolute;
	top: 82px;
	right: 190px;
	width: 1px;
	height: 60%;
	border-radius: 3px;
	background: #101010;
	transform: rotate(20deg);
	content: '';
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-description::after {
		content: none;
	}
}

.section-sdgs .sdgs-description span.is-small {
	font-size: 23px;
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-description span.is-small {
		font-size: 12px;
	}
}

.section-sdgs .sdgs-description span.is-red {
	color: #e60012;
}

/* sdgs-present-wrap */
.section-sdgs .sdgs-present-wrap {
	position: relative;
	width: 780px;
	margin: 0 auto 60px;
	padding: 10px;
	box-sizing: border-box;
	box-shadow: 0 3px 6px rgba(0 0 0 / 30%);
	background: linear-gradient(#e60012 0%, #f8e812 50.74%, #0059c3 100%);
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-present-wrap {
		width: 100%;
		margin: 0 auto 20px;
	}
}

.section-sdgs .sdgs-present-wrap .sdgs-present-inner {
	padding: 60px 30px 40px;
	background-color: #fff;
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-present-wrap .sdgs-present-inner {
		padding: 30px 10px 20px;
	}
}

.section-sdgs .sdgs-present-wrap .sdgs-present-title {
	position: absolute;
	top: -46px;
	left: 50%;
	width: 487px;
	height: 82px;
	padding-top: 10px;
	background: url(/campaign/rurubu50th/sdgs/img/present_bg_title_pc.png) no-repeat;
	background-size: contain;
	transform: translateX(-50%);
	color: #e60012;
	font-size: 33px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-present-wrap .sdgs-present-title {
		top: -30px;
		left: 50%;
		width: 100%;
		max-width: 318px;
		height: 54px;
		padding-top: 6px;
		background: url(/campaign/rurubu50th/sdgs/img/present_bg_title_sp.png) no-repeat;
		background-size: contain;
		font-size: 22px;
	}
}

.section-sdgs .sdgs-present-wrap .sdgs-present-lead-text {
	margin-bottom: 20px;
	color: #101010;
	font-size: 29px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-present-wrap .sdgs-present-lead-text {
		font-size: 18px;
	}
}

.section-sdgs .sdgs-present-wrap .sdgs-present-lead-text span.is-red {
	color: #e60012;
}
.section-sdgs .sdgs-present-wrap .sdgs-present-img {
	margin-bottom: 30px;
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-present-wrap .sdgs-present-img {
		margin-bottom: 20px;
	}
}

.section-sdgs .sdgs-present-wrap .sdgs-present-img img {
	width: 718px;
	height: 383px;
	margin: 0 auto;
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-present-wrap .sdgs-present-img img {
		width: 100%;
		max-width: 290px;
		height: auto;
	}
}

.section-sdgs .sdgs-present-wrap .sdgs-present-btn-wrap button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 348px;
	height: 50px;
	margin: 0 auto;
	border: 4px solid #000;
	border-radius: 40px;
	background: #fff;
	transition: all .2s ease;
	color: #e60012;
	font-size: 20px;
	font-weight: 700;
	cursor: pointer;
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-present-wrap .sdgs-present-btn-wrap button {
		width: 100%;
		max-width: 310px;
		font-size: 17px;
	}
}

.section-sdgs .sdgs-present-wrap .sdgs-present-btn-wrap button:hover {
	background-color: #e60012;
	color: #fff;
	text-decoration: none;
}

@media screen and (max-width: 800px) {
	.section-sdgs .sdgs-present-wrap .sdgs-present-btn-wrap button:hover {
		background-color: #fff;
		color: #e60012;
	}
}

.section-sdgs .sdgs-present-wrap .popup-wrap {
	display: none;
}

/* entory-btn-wrap */
.section-sdgs .end-message {
	margin-bottom: 10px;
	text-align: center;
}
.section-sdgs .entory-btn-wrap {
	margin-bottom: 50px;
}

@media screen and (max-width: 800px) {
	.section-sdgs .entory-btn-wrap {
		margin-bottom: 40px;
	}
}

.section-sdgs .entory-btn-wrap .entory-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 520px;
	height: 80px;
	margin: 0 auto;
	border: 4px solid #000;
	border-radius: 40px;
	background: #e60012;
	transition: all .2s ease;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	cursor: pointer;
}

@media screen and (max-width: 800px) {
	.section-sdgs .entory-btn-wrap .entory-btn {
		width: 100%;
		max-width: 310px;
		height: 50px;
		font-size: 24px;
	}
}

.section-sdgs .entory-btn-wrap.is-end .entory-btn {
	background-color: #f2f2f2;
	transition: none;
	color: #707070;
	cursor: default;
}
.section-sdgs .entory-btn-wrap a:hover {
	background-color: #fff;
	color: #e60012;
	text-decoration: none;
}

@media screen and (max-width: 800px) {
	.section-sdgs .entory-btn-wrap a:hover {
		background-color: #e60012;
		color: #fff;
	}
}

/* about-rurubu-sdgs-wrap */
.section-sdgs .about-rurubu-sdgs-wrap {
	margin-bottom: 50px;
}
.section-sdgs .about-rurubu-sdgs-wrap .about-rurubu-sdgs-title {
	margin-bottom: 30px;
	color: #000;
	font-size: 30px;
	font-weight: 900;
	text-align: center;
}

@media screen and (max-width: 800px) {
	.section-sdgs .about-rurubu-sdgs-wrap .about-rurubu-sdgs-title {
		margin-bottom: 20px;
	}
}

.section-sdgs .about-rurubu-sdgs-wrap .about-rurubu-sdgs-title span.is-small {
	font-size: 20px;
}
.section-sdgs .about-rurubu-sdgs-wrap .about-rurubu-sdgs-title span.is-red {
	color: #e71311;
}
.section-sdgs .about-rurubu-sdgs-wrap .about-rurubu-sdgs-title span.is-blue {
	color: #35b5ed;
}
.section-sdgs .about-rurubu-sdgs-wrap .about-rurubu-sdgs-title span.is-green {
	color: #6fba2c;
}
.section-sdgs .about-rurubu-sdgs-wrap .about-rurubu-sdgs-title span.is-purple {
	color: #e7378c;
}
.section-sdgs .about-rurubu-sdgs-wrap .about-rurubu-sdgs-text {
	width: 710px;
	margin: 0 auto;
	color: #141414;
	font-size: 18px;
	line-height: 1.4;
}

@media screen and (max-width: 800px) {
	.section-sdgs .about-rurubu-sdgs-wrap .about-rurubu-sdgs-text {
		width: 100%;
	}
}

/* learn-sdgs-wrap */
.section-sdgs .learn-sdgs-wrap .learn-sdgs-title {
	margin-bottom: 10px;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
}
.section-sdgs .learn-sdgs-wrap .learn-sdgs-btn-wrap button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 348px;
	height: 50px;
	margin: 0 auto;
	border: 4px solid #000;
	border-radius: 40px;
	background: #fff;
	transition: all .2s ease;
	color: #e60012;
	font-size: 20px;
	font-weight: 700;
	cursor: pointer;
}

@media screen and (max-width: 800px) {
	.section-sdgs .learn-sdgs-wrap .learn-sdgs-btn-wrap button {
		width: 100%;
		max-width: 310px;
		font-size: 17px;
	}
}

.section-sdgs .learn-sdgs-wrap .learn-sdgs-btn-wrap button:hover {
	background-color: #e60012;
	color: #fff;
	text-decoration: none;
}

@media screen and (max-width: 800px) {
	.section-sdgs .learn-sdgs-wrap .learn-sdgs-btn-wrap button:hover {
		background-color: #fff;
		color: #e60012;
	}
}

.section-sdgs .learn-sdgs-wrap .popup-wrap {
	display: none;
}

/* bg-campaign-sdgs-popup */
.bg-campaign-sdgs-popup {
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background-color: rgba(0 0 0 / 90%);
	transition: .5s;
	opacity: 0;
}
.bg-campaign-sdgs-popup.is-active {
	visibility: visible;
	opacity: 1;
}
.campaign-sdgs-popup {
	position: absolute;
	top: 50%;
	left: 50%;
	background: linear-gradient(#fff567 0%, #b6ecf5 100%);
	transform: translateX(-50%) translateY(-50%);
}

@media screen and (max-width: 800px) {
	.campaign-sdgs-popup {
		width: 90%;
		max-height: calc(100vh - 110px);
	}
}

.campaign-sdgs-popup .campaign-sdgs-popup-content {
	position: relative;
	width: 645px;
	margin: 20px;
	background: #fff;
	text-align: center;
}

@media screen and (max-width: 800px) {
	.campaign-sdgs-popup .campaign-sdgs-popup-content {
		width: auto;
		margin: 10px;
	}
}

.campaign-sdgs-popup .campaign-sdgs-popup-close-btn {
	display: block;
	position: absolute;
	top: -40px;
	right: -40px;
	width: 37px;
	height: 37px;
	border: 3px solid #fff;
	border-radius: 20px;
	box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
	background-color: #333;
	transition: opacity .3s;
	cursor: pointer;
}

@media screen and (max-width: 800px) {
	.campaign-sdgs-popup .campaign-sdgs-popup-close-btn {
		top: -22px;
		right: -22px;
		width: 22px;
		height: 22px;
	}
}

.campaign-sdgs-popup .campaign-sdgs-popup-close-btn::before,
.campaign-sdgs-popup .campaign-sdgs-popup-close-btn::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px;
	height: 25px;
	background: #fff;
	content: '';
}

@media screen and (max-width: 800px) {
	.campaign-sdgs-popup .campaign-sdgs-popup-close-btn::before,
	.campaign-sdgs-popup .campaign-sdgs-popup-close-btn::after {
		width: 2px;
		height: 15px;
	}
}

.campaign-sdgs-popup .campaign-sdgs-popup-close-btn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.campaign-sdgs-popup .campaign-sdgs-popup-close-btn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.campaign-sdgs-popup .campaign-sdgs-popup-close-btn:hover {
	opacity: .85;
}

@media screen and (max-width: 800px) {
	.campaign-sdgs-popup .campaign-sdgs-popup-close-btn:hover {
		opacity: 1;
	}
}

.campaign-sdgs-popup .campaign-sdgs-popup-text {
	overflow-y: scroll;
	max-height: calc(100vh - 150px);
	padding: 20px;
	line-height: 1.4;
	text-align: left;
	word-break: break-all;
}

@media screen and (max-width: 800px) {
	.campaign-sdgs-popup .campaign-sdgs-popup-text {
		padding: 10px;
		font-size: 14px;
	}
}

.campaign-sdgs-popup .campaign-sdgs-popup-text .popup-title {
	position: relative;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 2px solid #333;
	font-size: 22px;
	font-weight: 700;
}

@media screen and (max-width: 800px) {
	.campaign-sdgs-popup .campaign-sdgs-popup-text .popup-title {
		font-size: 20px;
	}
}

.campaign-sdgs-popup .campaign-sdgs-popup-text .popup-text-title {
	margin-top: 20px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}
.campaign-sdgs-popup .campaign-sdgs-popup-text .popup-text {
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 1.4;
}
.campaign-sdgs-popup .campaign-sdgs-popup-text li {
	margin-bottom: 10px;
	padding-left: 1em;
	text-indent: -1em;
}
.campaign-sdgs-popup .campaign-sdgs-popup-text .popup-img {
	margin-bottom: 20px;
	text-align: center;
}
.campaign-sdgs-popup .campaign-sdgs-popup-text .popup-img img {
	width: 600px;
	margin: 0 auto;
}

@media screen and (max-width: 800px) {
	.campaign-sdgs-popup .campaign-sdgs-popup-text .popup-img img {
		width: 100%;
	}
}
