/* ==================== #sdgs/<hr>.css ==================== */

#sdgs hr {
	border: none;
	margin: 0;
}


@media (max-width: 640px) {
	#sdgs hr {
		height: 2em;
	}
}


@media (min-width: 641px) {
	#sdgs hr {
		height: 1.5em;
	}
}



/* ==================== #sdgs/head.css ==================== */

#sdgs .head h1 {
	margin: 0;
	font-size: inherit;
}

#sdgs .head p {
	margin: 0;
	color: #4a231c;
}


@media (max-width: 640px) {

	#sdgs .head {
		margin-bottom: 1em;
	}

	#sdgs .head p {
		padding: 1em;
		color: #0b6fad;
		font-size: 105%;
	}
}


@media (min-width: 641px) {
	#sdgs .head {
		position: relative;
	}

	#sdgs .head p {
		display: flex;
		flex-direction: column;
		align-items: center;
		position: absolute;
		left: 0;
		right: 0;
		top: 11.5em;
		font-size: 115%;
		color: white;
	}

}



/* ==================== #sdgs/#program/@.css ==================== */

@media (max-width: 640px) {

	#sdgs #program {
		margin-top: 3em;
	}

}


@media (min-width: 641px) {

	#sdgs #program {
		margin-top: 2.5em;
	}

}



/* ==================== #sdgs/#program/> div/@.css ==================== */

#sdgs #program > div {
	position: relative;
}


@media (max-width: 640px) {

	#sdgs #program > div {
		border: 2px solid #0091d7;
		border-radius: 1em;
		background-color: #fceef4;
	}

}


@media (min-width: 641px) {

	#sdgs #program > div {
		width: 720px;
		height: 237px;
		background: url(../images/program_base.svg) no-repeat center top;
		background-size: 100% 100%;
		text-align: left;
	}

}



/* ==================== #sdgs/#program/> div/> img.css ==================== */

@media (max-width: 640px) {

	#sdgs #program > div > img {
		display: block;
		margin: 2em auto 1em;
		width: 55%;
	}

}


@media (min-width: 641px) {

	#sdgs #program > div > img {
		position: absolute;
		left: 20px;
		top: 50%;
		width: 178px;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}

}



/* ==================== #sdgs/#program/> div/<ul>/@.css ==================== */

@media (max-width: 640px) {

	#sdgs #program > div ul {
		margin: 0;
		padding: 0;
		list-style-type: none;
	}

}


@media (min-width: 641px) {

	#sdgs #program > div ul {
		display: grid;
		grid-gap: 30px;
		grid-template-columns: repeat(3, 1fr);
		padding-left: 260px;
		padding-right: 25px;
		padding-top: 15px;
	}

	#sdgs #program > div ul::after {
		content: none;
	}

}



/* ==================== #sdgs/#program/> div/<ul>/<li>.css ==================== */

#sdgs #program > div ul li {
	text-align: justify;
}


@media (max-width: 640px) {

	#sdgs #program > div ul li {
		display: grid;
		grid-template-columns: 45% 1fr;
		grid-gap: 2em;
		align-items: center;
		padding: 1.5em;
		font-size: 95%;
	}

	#sdgs #program > div ul li:nth-of-type(-n+2) {
		position: relative;
	}

	#sdgs #program > div ul li:nth-of-type(-n+2) .img::after {
		content: "";
		display: block;
		position: absolute;
		left: 1em;
		bottom: 0;
		width: 45%;
		height: 1.5em;
		background: url(../images/program_arrow.png) no-repeat center center / contain;
		transform: translate(0, 50%) rotate(90deg);
	}

}


@media (min-width: 641px) {

	#sdgs #program > div ul li {
		display: grid;
		grid-gap: 1em;
		align-content: start;
		font-size: 90%;
		line-height: 1.3;
	}

	#sdgs #program > div ul li .img {
		position: relative;
	}

	#sdgs #program > div ul li .text {
		margin: 0 -0.25em;
	}

	#sdgs #program > div ul li:nth-of-type(-n+2) .img::after {
		content: "";
		display: block;
		position: absolute;
		left: 100%;
		top: 0;
		width: 30px;
		height: 100%;
		background: url(../images/program_arrow.png) no-repeat center center;
		background-size: 40%;
	}

}