.schedule-link {
	display: flex;
	gap: 20px;
}
.schedule-link a {
	display: block;
	flex: 1;
	font-size: 2rem;
	font-weight: 700;
	padding: 55px 20px;
	border-radius: 15px;
	background: var(--color-light-gray);
	position: relative;
}
.schedule-link a span {
	display: inline-block;
}
.schedule-link a::before {
	content: '';
	width: 50px;
	height: 50px;
	background: var(--color-primary);
	border-radius: 15px 0 15px 0;
	position: absolute;
	bottom: 0;
	right: 0;
}
.schedule-link a::after {
	content: '';
	width: 50px;
	height: 50px;
	background: url('../../img/common/icon_arrow_right_w.svg') center center no-repeat;
	background-size: 20px;
	position: absolute;
	bottom: 0;
	right: 0;
}
.schedule-con {
	margin-top: 80px;
	background: var(--color-light-gray);
}
.bg-ttl {
	border-radius: 5px 5px 0 0;
}
.schedule-con-in {
	padding: 0 50px 50px;
	display: flex;
	gap: 50px;
}
.schedule-body {
	flex: 6.4;
}
.schedule-body li {
	display: flex;
	gap: 30px;
}
.schedule-time {
	position: relative;
}
.schedule-time p {
	font-size: 2.7rem;
	font-family: 'Jost', sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 2px solid var(--color-primary);
	color: var(--color-primary);
	background: #fff;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}
.schedule-time::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 100%;
	background: var(--color-primary);
	top: 87px;
	right: 0;
	left: 0;
	margin: auto;
}
.schedule-body li:last-child .schedule-time::after {
	content: none;
}
.schedule-disc {
	padding: 25px 0 15px;
}
.schedule-disc-ttl {
	font-size: 2.2rem;
	color: var(--color-primary);
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 10px;
}
.schedule-image {
	border-radius: 15px;
	overflow: hidden;
}
.schedule-image-list {
	flex: 3.6;
}
.schedule-image-list li + li {
	margin-top: 80px;
}

@media (max-width: 768px) {
	.schedule-link {
		flex-wrap: wrap;
		gap: 3vw;
	}
	.schedule-link a {
		flex: 100%;
		font-size: var(--fs-sp-16);
		padding: 5vw 5vw;
		border-radius: 3vw;
	}
	.schedule-link a::before {
		width: 10vw;
		height: 10vw;
		border-radius: 3vw 0 3vw 0;
	}
	.schedule-link a::after {
		width: 10vw;
		height: 10vw;
		background-size: 4vw;
	}
	.schedule-con {
		margin-top: 10vw;
	}
	.bg-ttl {
		border-radius: 1vw 1vw 0 0;
	}
	.schedule-con-in {
		padding: 0 3vw 5vw;
		display: flex;
		gap: 5vw;
	}
	.schedule-body {
		flex: 100%;
	}
	.schedule-body li {
		display: flex;
		gap: 3vw;
	}
	.schedule-time p {
		font-size: var(--fs-sp-18);
		width: 15vw;
		height: 15vw;
	}
	.schedule-time::after {
		content: '';
		position: absolute;
		width: 2.6vw;
		top: 14vw;
	}
	.schedule-disc {
		padding: 3.5vw 0 3vw;
	}
	.schedule-disc-ttl {
		font-size: var(--fs-sp-18);
		margin-bottom: 1vw;
	}
	.schedule-image {
		border-radius: 3vw;
		margin-top: 5vw;
	}
}
