.weekly_program {
	padding-bottom: 0;
}

.wrap_weekly_program_contents {
	position: relative;
	z-index: 1;
	overflow: hidden;
	padding-bottom: 80px;
}

.wrap_weekly_program_contents::before {
	content: "";
	display: inline-block;
	width: 2px;
	height: 5000px;
	border-left: 2px dashed #FF8484;
	position: absolute;
	top: 0;
	left: 5%;
	z-index: -1;
}

.weekly_program_contents {
	margin-bottom: 80px;
}

.weekly_program_contents:last-child {
	margin-bottom: 0;
}

.wrap_ttl_weekly_program {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 10px;
}

.week {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	min-width: 136px;
	min-height: 136px;
	max-width: 136px;
	max-height: 136px;
	background: #fff;
}

.week p {
	background: #FFF0F0;
	border: 2px dashed #FF8484;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	min-width: 96px;
	min-height: 96px;
	max-width: 96px;
	max-height: 96px;
	border-radius: 50%;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 900;
	letter-spacing: 0.2em;
}

.weekly_program_contents:nth-child(even) .week p {
	background: #D4F7FF;
	border-color: #72E5FF;
}

.weekly_program_contents:nth-child(1) .week p {
	font-size: 12px;
}

.ttl_h3 {
	margin-bottom: 0;
	width: 100%;
	letter-spacing: 0;
	line-height: 1.5;
}

.weekly_program_text {
	padding-left: 10%;
	letter-spacing: 0.1em;
}

.weekly_program_text p:not(:last-child) {
	margin-bottom: 2em;
}

.img_weekly_program {
	padding-left: 10%;
	margin-top: 40px;
}

@media print, screen and (min-width: 769px) {
	.weekly_program {
		padding-bottom: 160px;
	}
	.wrap_weekly_program_contents {
		padding-bottom: 0;
	}
	.wrap_weekly_program_contents::before {
		height: 2500px;
		border-left: 2px dashed #FF8484;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.weekly_program_contents {
		padding-bottom: 120px;
		margin-bottom: 0;
		max-width: 1100px;
		margin-right: auto;
		position: relative;
		overflow: hidden;
	}
	.weekly_program_contents::before {
		content: none;
		display: inline-block;
		width: 2px;
		height: 400px;
		border-left: 2px dashed #FF8484;
		position: absolute;
		top: 0;
		left: 53%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		z-index: -1;
	}
	.weekly_program_contents:last-child {
		padding-bottom: 0;
	}
	.inner_weekly_program_contents {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		position: relative;
	}
	.wrap_weekly_program_text {
		width: 40%;
		max-width: 440px;
		margin-left: 100px;
		position: relative;
	}
	.wrap_ttl_weekly_program {
		display: block;
		margin-bottom: 32px;
	}
	.week {
		min-width: 160px;
		min-height: 160px;
		max-width: 160px;
		max-height: 160px;
		border-radius: 50%;
		position: absolute;
		top: 50%;
		left: 0;
		-webkit-transform: translate(-100%, -50%);
		transform: translate(-100%, -50%);
	}
	.week p {
		min-width: 120px;
		min-height: 120px;
		max-width: 120px;
		max-height: 120px;
		font-size: 24px;
		font-size: 2.4rem;
	}
	.weekly_program_contents:nth-child(even) {
		margin-right: 0;
		margin-left: auto;
	}
	.weekly_program_contents:nth-child(1) .week p {
		font-size: 16px;
	}
	.weekly_program_contents:nth-child(even) .inner_weekly_program_contents {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		align-items: center;
	}
	.weekly_program_contents:nth-child(even) .wrap_weekly_program_text {
		margin-left: 0;
		margin-right: 100px;
	}
	.weekly_program_contents:nth-child(even) .week {
		left: auto;
		right: 0;
		-webkit-transform: translate(100%, -50%);
		transform: translate(100%, -50%);
	}
	.ttl_h3 {
		font-size: 18px;
		font-size: 1.8rem;
	}
	.weekly_program_text {
		padding-left: 0;
	}
	.img_weekly_program {
		padding-left: 0;
		margin-top: 0;
		width: 51%;
		max-width: 560px;
	}
}